入门篇:Ubuntu用apache做web服务器

一、安装Apache

Ubuntu提供了3个apache2的软件包,它们分别是apache2-mpm-worker、apache2-mpm-prefork、apache2-mpm-event。如果你在安装Ubuntu操作系统《入门篇:ubuntu server 安装教程》的时候你选择安装了LAMP包的话,那么安装的是apache2-mpm-prefork。如果你没有选择安装LAMP包,安装完系统之后,执行下面的命令安装apache2这个软件包时,安装的是apache2-mpm-worker:
sudo apt-get install apache2

二、配置Apache
在Ubuntu中,Apache的软件包时由ubuntu官方核心开发组维护的。他们在编译apache时,只编译进了很少的模块。如果需要其它的模块,则需要手工添加。这也大大增强了apache的可定制性和灵活性。可以使用apache2 -l命令查到被编译进apache2的模块。

1、Apache配置文件说明
Ubuntu和Debian对apache2软件包做了很多定制,很多配置文件的布局都和原来的apache2的布局不同。以下是/etc/apache2目录下各个配置文件的说明:

*apache2.conf——全局配置文件
*conf.d/——该目录存放一些一般性的配置
*envvars——存放环境变量,一般不需要修改
*httpd.conf——用户配置文件
*mods-available/——该目录下是已经安装的可用模块
*mods-enabled/——该目录下是已经启用的模块
*ports.conf——httpd服务的端口
*sites-available/——该目录下是可用的虚拟主机
*sites-enabled/——该目录下是已经启用的虚拟主机

其中,apache2.conf是apache2的主配置文件,它会读取上面列出的所有目录和文件(sites-available目录除外,因为apache不需要知道有哪些虚拟主机可用,它只需要加载那些已经启用的虚拟主机就可以了。)

2、Apache模块
新安装的Apache编译加载的模块很少,很多模块要手动安装或者加载。可以使用a2enmod查看可用的模块和用a2dismod查看已经启用的模块。如果你要用的模块还没有安装,但是你又不知道这个模块在Ubuntu中的确切名称,则可以先用apt-get search libapache2-mod命令进行搜索,找到正确的软件包名称后,再用apt-get install来安装。

3、Apache网页文件默认存放的位置
在默认情况下,apache把网站文件放在/etc/www目录下。通过DocumentRoot关键字的设置,你可以把任意目录指定为网页文件的根目录。你也可以在里面建立多个网页文件的目录,如:
/var/www/www.aliwo.net
/var/www/bbs.aliwo.net
……
也就是说每个网站有自己单独的文件夹,这样管理起来比较清晰。另外/var分区需要大一些,因为mysql数据库文件和日志文件,以及网站日志文件都保存在这里。

4、Apache虚拟机设置
apache既支持基于域名的虚拟主机,也支持基于IP的虚拟主机。

Ubuntu的Apache2为提供虚拟主机支持做了很好的配置。如果你的服务器只有一个网站,基本上不用修改配置,虚拟机就可以用了;如果有多个网站,则可以复制defualt虚拟主机的配置文件进行修改,这样可以很快的建立多个网站。

每个apache的虚拟主机都有单独的配置文件。这些虚拟主机的配置文件放在/etc/apache2/sites-available目录下。上面提到的default虚拟主机,位于这个目录里。如果你在浏览器中访问服务器的IP地址,出现页面“It Worker!”,表明网站已经在提供服务了。

4.1创建一个新的虚拟主机
要创建一个新网站,你需要创建一个新的虚拟主机。假设我现在要创建一个域名为www.aliwo.net的虚拟主机:
*先将default虚拟主机复制一份,以便用来修改:
sudo cp default www.aliwo.net

*然后编辑www.aliwo.net
sudo nano www.aliwo.net

www.aliwo.net内容如下:

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www
<Directory />
FCGIWrapper /usr/bin/php5-cgi .php
Options ExecCGI SymLinksIfOwnerMatch
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory “/usr/lib/cgi-bin”>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ “/usr/share/doc/”
<Directory “/usr/share/doc/”>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>

修改后:

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.aliwo.net
ServerAlias aliwo.net
DocumentRoot /var/www/www.aliwo.com
<Directory />
FCGIWrapper /usr/bin/php5-cgi .php
Options ExecCGI SymLinksIfOwnerMatch
AllowOverride None
</Directory>
<Directory /var/www/www.aliwo.com>
Options FollowSymLinks MultiViews
AllowOverride ALL
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory “/usr/lib/cgi-bin”>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
#日志
CustomLog /var/log/apache2/access.log combined
Alias /doc/ “/usr/share/doc/”
<Directory “/usr/share/doc/”>
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>

4.2、启动www.aliwo.net
sudo a2ensite www.aliwo.net
同时禁止default(即禁止使用IP访问)。
sudo a2dissite default

5、建立网站目录
#cd /var/www
#mkdir /var/www/www.aliwo.net
然后把网页文件上传到目录里面。

6、重启apache2,生效网站:
sudo /etc/init.d/apache2 restart

这样一个站点就建立了,以后要建立新的网站,就复制www.aliwo.net这个虚拟机的配置文件,修改servername和网站目录路径就可以了。

出处:http://blog.csdn.net/rookieding/article/details/7314054

入门篇:Ubuntu用apache做web服务器,布布扣,bubuko.com

时间: 2024-11-18 08:02:06

入门篇:Ubuntu用apache做web服务器的相关文章

Ubuntu 用 apache2 搭建 web 服务器 建wordpress博客

主要有5个步骤分别是: 1: 安装mysql. 2: 安装apache2 3: 安装php5 及其组件 4: 安装wordpress 第1步:安装mysql  这步非常简单.... sudo apt-get install mysql-server 输入用户名和密码..... 测试一下....就完成了 第2步: 安装apache2 sudo apt-get install apache2 安装完成 在浏览器里输入127.0.0.1就可以看到apache2的测试页 **apache2安装好后,默认

【我的技术我做主】Apache Httpd Web服务器详解

一.简介 Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器.Apache的特点是简单.速度快.性能稳定,并可做代理服务器来使用. Apache官网:http://apache.org/ Apache Httpd网站:http://httpd.apache.org/ Apache httpd Web服务器特性

Nginx是什么,有什么优点?为什么选择Nginx做web服务器软件?(经典经典)

1.基础知识 代理服务器:    一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端.应用比如:GoAgent,FQ神器.    一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接.或者获得目标服务器的指定资源. Web代理(proxy)服务器是网络的中间实体. 代理位于Web客户端和Web服务器之间,扮演“中间人”的角色.HTTP的代理服务器即是Web服务器又是Web客户端.    代

Nodejs做web服务器的一个简单逻辑和实现

本文写了自己对"Nodejs做web服务器的一个简单逻辑和实现",如果不太合理,或者了解这部分的大神,欢迎拍死.哈哈,新手. 昨天开始学习Nodejs,w3cschool看了一遍.感觉其上的内容,一上来就开始介绍Nodejs的模块.看来后来,连如何"从零创建一个nodejs版的web服务器"都没能明白.可能是自己太过肤浅,或者,陷到了WAMP的思维里,不能自拔吧.后来在nodejs中文社区发了个帖子.感觉自己算是明白了点儿.写出来,希望和大家一起学习,同时也希望得到

树莓派做web服务器(nginx、Apache)

一想到Linux Web服务器,我们首先想到的是: Apache + MySql + Php. Apache:是世界使用排名第一的Web服务器软件. 可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件. MySQL:是一个关系型数据库管理系统,由瑞典MySQL AB公司开发.是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(关系数据库管理系统)应用软件之一. PHP:(外文名: Hypertext Preproces

NodeMCU入门(4):搭建Web服务器,配置网络连接

准备工作 1.NodeMCU模块 2.ESPlorer v0.2.0-rc6 3.NodeMCU-HTTP-Server 搭建web服务器 下载https://github.com/wangzexi/NodeMCU-HTTP-Server文件,并上传到NodeMCU中 修改init.lua文件,可参看NodeMCU-HTTP-Server Example -- init.lua --------------------- -- wifi --------------------- print('

使用Arduino UART-WiFi模块做web服务器

一.硬件准备 1.选择硬件,主要有2种: 一种是官方推荐的Arduino WiFi Shield(比较贵,大概要300~400块 淘宝网 :但是资料齐全): 一种是UART-WiFi模块,不仅支持Arduino,而且支持所有串口的单片机都可以和其模块通信(大概100块左右,淘宝网,资料较少). 最后选择了UART-WIFI模块,也走了条坎坷的路,也许到了不少东东. 2.   UART-WIFI模块介绍 图片 接口   双排(2 x 4)插针式接口   支持波特率范围:1200~115200bps

6-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案升级篇-优化升级(安装Apache (Web服务器)软件,测试HTTP)

为了和SDK升级保持协议一致,花了两天时间实现了用LUA开发,MQTT+HTTP方式实现远程升级 安装Apache主要是为了实现通过HTTP下载资源 升级介绍: 1,用户点击检查更新时,APP用HTTP访问云端的更新信息,版本号,升级文件的位置,和这次升级的内容 2,APP通过MQTT把信息(版本号,升级文件的位置)发给设备,设备对比版本号以后把信息通过MQTT发给APP 3,APP根据设备返回的信息判断是不是需要升级,如果需要,弹出一个对话框(设备的版本号,云端的版本号,更新的内容),如果不需

Ubuntu server搭建Java web服务器

1. 在Ubuntu server中安装ssh,如果是购买服务器的话,这已经是安装的了,包括vim 获取超级权限 先更新安装包 开始安装ssh ssh已经启动了 2. 安装Xshell并创建连接安装Xshell 建立连接 单击确定 3. Xshell实现Windows上传/下载文件到Ubuntu3.1上传文件获取超级权限 安装rz/sz工具 切到相应目录,在输入rz 3.2下载文件切入到相应文件夹,输入sz 文件名 4. 用root权限安装MySQL,需要安装以下三个1. apt-get ins