Linux
系统的应用越来越广泛了,学习
linux
系统的网管兄弟也有增加的趋势。很久以前就有些想法,要将自己学的
linux
知识整理一下。最近,终于下定决心,挤出时间开始动手写些东西了。虽然不一定好,不过,留些笔记至少可以方便记忆。
Apache
是
Linux
服务里面用得最多的之一,今天我们就从它开始来一次
Linux
服务部署之旅。
本文分以下章节介绍:
1. 安装Apache
2. 配置Apache
3. 配置虚拟主机
4. 管理日志文件
5. 配置PHP运行环境
一、安装
Apache
下载地址:
http://httpd.apache.org/
1.
安装
Apache
# tar zxvf httpd- 2.2.11 .tar.gz
# cd httpd- 2.2.11
# ./configure --prefix=/usr/local/apache --enable-so
//
编译时加上加载模块参数
--enable-so
# make
# make install
2.
配置系统启动时自动启动
Apache
服务。
# vi /etc/rc.d/rc.local
//
在
rc.local
上加入一行
/usr/local/apache/bin/apachectl
�C
k start
。
二、配置
Apache
1.
修改
httpd.conf
文件
# vi /usr/local/apache/conf/httpd.conf
1
)
设置根目录的路径
根目录是指
Apache
存放配置文件和日志文件的目录,配置参数为
ServerRoot
,默认位于“
/usr/local/apache
”。命令如下:
2
)
设置监听
IP
地址及端口号
默认侦听本机所有
IP
地址的
TCP80
端口,命令如下:
Listen 80
用户也可以按自己的需求,使用多个
Listen
语句在多个地址和端口上侦听客户端请求。比如:
Listen 192.168.99.9:80
Linsten 172.16.0.20:8080
3
)
设置系统管理员
E-mail
4
)
设置服务器主机的名称
参数
ServerName
用来设置服务器的主机名称,如果没有域名则填入服务器的
IP
地址,比如服务器的
IP
地址为
192.168.99.9
:
5
)
设置主目录的路径
用户可以使用参数
DocumentRoot
配置服务器主目录默认路径,比如,主目录路径为:
6
)
设置默认文件
Apache
的默认文件名为
index.html
,可以使用
Directory Index
参数来配置,比如,将
index.php
设置为默认文件名:
7
)测试:
打开浏览器,输入地址:
http://192.168.99.9
,可以打开站点了:
2.
配置目录权限
使用
<Directory
目录路径
>
和
</Directory>
设置目录的权限。比如:
<Directory
“
/var/www/icons
”
>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
说明:
1
)定义目录特性选项
Options
可选参数:
Indexes
:该特性表明目录允许“目录浏览”;
MultiViews
:该特性表明目录允许内容协商的多重试图;
All
:包含了除
MultiViews
外的所有特性;
ExecCGI
:该特性表明允许在该目录下执行
CGI
脚本;
FollowSymLinks
:该特性表明允许在该目录下使用符号连接。
2
)
.htaccess
文件
可以通过
.htaccess
文件(访问控制文件)设置目录的权限。
AccessFileName .htaccess
配置参数
AllowOverride
指定目录的
.htaccess
文件中指令的类型,包括
All
、
None
与
Options
、
FileInfo
、
AuthConfig
、
Limit
的任意组合。一般将
AllowOverride
设置为“
None
”,禁止使用
.htaccess
文件,当
AllowOverride
参数为
All
时,
.htaccess
文件可以覆盖任何以前的配置。
3
)设置访问控制
使用
Order
选项来定义访问权限。
比如以下语句表明允许所有客户机的访问:
Order allow,deny
Allow from all
以下语句表明只允许网段
192.168.99.0/24
的客户机访问,但
IP
地址为
192.168.99.254
这个客户机除外:
Order allow,deny
Allow from 192.168.99.0/24
Deny from 192.168.99.254
用户可以根据需要,按上述方法配置自己的目录权限。
3.
创建虚拟目录
使用
Alias
选项创建虚拟目录,比如,建立“
/icons/
”这个虚拟目录,其对应的物理路径为“
/var/www/icons/
”:
Alias /icons/ “/var/www/icons/”
4.
用户认证
比如,有一个名为
myweb
的虚拟目录,其对应的物理路径是“
/usr/local/myweb
”,现对其启用用户认证功能,只允许用户
Tonyguo
和
Wayne
访问。
1
)建立虚拟目录并设置用户认证:
2)
建立口令文件并为用户设置口令
-c
选项表示无论口令文件是否已经存在,都会重新写入文件并删除原内容。所以第二个用户
wayne
不需要使用
-c
选项。
3
)测试
在浏览器中输入:
http://192.168.99.9/myweb
,可以看到如下对话框:
输入用户名和密码后就可以访问网站了:
三、配置虚拟主机
1.
配置基于
IP
的虚拟主机
1
)
IP
地址相同,但端口号不同的虚拟主机配置
比如使用
192.168.99.9
的两个不同端口
80
和
8080
发布两个不同站点
,
虚拟主机分别对应的目录为
/usr/local/apache/htdocs/web1
和
/usr/local/apache/htdocs/web2
:
Listen 80
Listen 8080
<VirtualHost 192.168.99.9:80>
ServerSignature email
DocumentRoot /usr/local/apache/htdocs/web1
DirectoryIndex index.html index.htm
LogLevel warm
HostNameLookups off
</VirtualHost>
<VirtualHost 192.168.99.9:8080>
ServerSignature email
DocumentRoot /usr/local/apache/htdocs/web2
DirectoryIndex index.html index.htm
LogLevel warm
HostNameLookups off
</VirtualHost>
2
)配置基于域名的虚拟主机
比如服务器有两个
IP
地址
192.168.99.9
和
192.168.99.10
,使用这两个
IP
创建两台虚拟主机,虚拟主机分别对应的目录为
/usr/local/apache/htdocs/web1
和
/usr/local/apache/htdocs/web2
。设置方法如下:
<VirtualHost 192.168.99.9>
ServerName 192.168.99.9:80
DocumentRoot /usr/local/apache/htdocs/web1
DirectoryIndex index.html index.htm
</VirtualHost>
<VirtualHost 192.168.99.10>
ServerName 192.168.99.10:80
DocumentRoot /usr/local/apache/htdocs/web2
DirectoryIndex index.html index.htm
</VirtualHost>
2.
配置基于域名的虚拟主机
比如有两个域名
guoxuemin.cn
和
tonyguo.com
需要使用同一台服务器
192.168.99.9
,那么可以这样配置:
NameVirtualHost 192.168.99.9
<VirtualHost www.guoxuemin.cn>
ServerName www.guoxuemin.cn:80
DocumentRoot /usr/local/apache/htdocs/web1
DirectoryIndex index.html index.htm
ErrorLog logs/web1/error_log
Customlog logs/web1/access_log combined
</VirtualHost>
<VirtualHost www.tonyguo.com>
ServerName www.tonyguo.com:80
DocumentRoot /usr/local/apache/htdocs/web2
DirectoryIndex index.html index.htm
ErrorLog logs/web1/error_log
Customlog logs/web1/access_log combined
</VirtualHost>
未完,待续。。。