Linux下在Apache+MySql+php
二、Apache的安装 1、RHEL4系统中默认安装了Apache服务器,软件包名称是httpd,版本是2.0.52,它在第二张光盘中,还有相关的软件包httpd-manual、httpd-suexec、system-config-httpd都是系统默认安装的。#rpm -qa |grep httpd
httpd软件包
是Apache服务器的程序软件包
httpd-manual软件包
是Apache服务器的手册文档
Apache服务器RPM安装后的目录和文件
目录或文件 描述
/etc/httpd/ Apache服务器的根目录
/etc/httpd/conf/httpd.conf Apache服务器的主配置文件
/var/www/html/ Apache服务器的文档根目录
/etc/init.d/httpd Apache服务器的启动脚本文件
/var/log/httpd/access_log Apache服务器的访问日志文件
/var/log/httpd/error_log Apache服务器的错误日志文件
2、Apache编译安装
A、编译安装的优点
具有较大的自由度,功能可定制
可及时获得新版本
普遍适用于大多数Linux版本
B、编译安装的步骤
获得源码包
确认编译环境
释放源码包文件
编译前的配置
编译服务器程序
安装已编译完成的程序
1)、获得Apache服务器的源码包
从Apache的官方网站下载源码包
http://httpd.apache.org/download.cgi或用命令#wget http://mirror.vmmatrix.net/apache/httpd/httpd-2.0.59.tar.gz获得源码包文件httpd-2.0.59.tar.gz,大小5MB。
用#ll httpd-2.0.59.tar.gz确认是否下载成功。
2)、确认Linux系统中的编译环境(RHEL4默认不安装linux系统中的开发编译环境)
编译安装需要系统中具备gcc等编译工具
可使用图形界面的软件包管理程序安装完整的编译环境
# system-config-packages
用#rpm -q gcc 查询验证
3)、Apache编译安装
编译步骤操作
A使用tar命令释放源代码安装包 (将源码包负责到/usr/local/src目录中,它是保存编译程序源代码的目录,在它目录下用tar解压)
#cp httpd-2.0.59.tar.gz /usr/local/src
#cd /usr/local/src
# tar zxvf httpd-2.0.59.tar.gz
成功后当前目录下会出现httpd-2.0.59目录,进入该目录
#ls
httpd-2.0.59httpd-2.0.59.tar.gz
#cd httpd-2.0.59
B使用./configure命令进行编译前的配置工作
# ./configure --prefix=/usr/local/apache2 \ (使用“--prefix”选项指定Apache服务器程序将要安装到的系统目录)
> --enable-so --enable-rewrite (使用“--enable-so”选项设置Apache服务器可以使用动态加载模块功能 )
(使用“--enable-rewrite”选项设置Apache服务器具有rewrite功能,可以实现对动态网页地址的重写,从而使网页访问者可以通过更加简单和容易记忆的网页地址访问动态网页系统中的网页 )
C使用make命令进行程序的编译 (该过程是真正将程序源代码转换成可执行程序的过程)
# make
D使用make install命令将已经编译的文件安装到系统中(根据./configure的配置将Apache安装到/usr/local/apache2目录中)
# make install
#ls /usr/local 验证
#du -sh /usr/local/apache2查看apache2目录大小。
E、Apache服务器的目录结构
“/usr/local/apache2/”目录中的子目录 (apache2是apache服务器的根目录)
子目录 描述
bin 保存Apache服务器运行和管理所需的执行程序
lib 保存Apache服务器运行所需的库文件
conf 保存Apache服务器的配置文件
htdocs Apache服务器的文档根目录
manual 保存Apache服务器的帮助手册文件(网页格式)
man 保存Apache服务器的手册页文件(man1和man8)
logs 保存Apache服务器的日志文件 (access_log访问日志文件,error_log错误日志文件)
三、Apache的基本配置
1、Apache服务器的启动和停止
1)使用apachectl脚本控制服务程序
apachectl脚本文件
/usr/local/apache2/bin/apachectl
启动httpd服务程序
apachectl start
重新启动httpd服务程序
apachectl restart
停止httpd服务程序运行
apachectl stop
测试httpd.conf的语法
apachectl -t
(httpd是服务器的执行程序,apachect1是服务程序的启动脚本)
不使用任何参数显示帮助信息
#bin/apachect1
为让系统启动时自动运行要在rc.local中添加启动命令
#vi /etc/rc.local
/usr/local/bin/apachect1start
需要在httpd.conf头部添加ServerName www.benet.com (域名)做为apache服务器设置的主机域名。
还要在授权DNS服务器中添加A记录,以便访问apache服务器主机。
2、apache的配置
1)httpd.conf配置文件解析
httpd.conf配置文件的结构 (由注释行和设置行组成)
注释行以“#”开始
不以“#”开始的行是配置文件中真正有效的设置内容
获得完整的有效配置清单
使用grep命令去除文件中以#开始的行
grep -v "^#" conf/httpd.conf
用wc -1计算httpd.conf文件的行数内容
#wc-1 conf/httpd.conf
#grep -v "^#" conf/httpd.conf| wc -1
httpd.conf中的全局配置
设置项 说明
ServerRoot 设置Apache服务器的根(Root)目录 (如果不使用绝对路径,将被理解为是在服务器的根目录中)
ServerAdmin 设置Apache服务器管理员的E-mail地址 (可以通过该E-mail联系服务器管理员)
ServerName 设置Apache服务器的主机名
DocumentRoot 设置Apache服务器网页(文档)根目录
Listen 设置Apache服务器监听的网络端口号 (默认为80)
PidFile 设置保存httpd服务器程序进程号(PID)的文件 (默认为logs/httpd.pid,logs目录在apache根目录 中)
ErrorLog 设置Apache服务器中错误日志文件的路径和文件名(默认为logs/error_log)
CustomLog 设置Apache服务器中访问日志文件的路径和格式类型
Timeout 设置Web服务器与浏览器之间网络连接的超时秒数 (默认300s)
KeepAlive 设置为Off时服务器不使用保持连接功能(一次连接一次传输),传输的效率比较低;设置为On时( 一次连接多次传输),可以提高服务器传输文件的效率,建议设置保持连接功能有效 MaxKeep
AliveRequests 当KeepAlive为On时,设置客户端每次连接允许请求响应的最大文件数 ,默认设置为100个文件
KeepAliveTimeout用于设置保持连接的超时秒数,默认15s,客户机两次相邻请求超过此值时需要重新进行连接请求。
httpd.conf中的区域设置
除全局设置外,httpd.conf文件中的大多数设置都是包括在“区域”中的
Options FollowSymLinks
AllowOverride None
使用定义根区域的结束
使用定义根区域的开始 (区域设置内容只作用于区域内部)
2)建立系统用户的个人主页
httpd.conf文件配置
在httpd.conf文件中需要进行UserDir的设置
#grep UserDir /usr/local/apache2/conf/httpd.conf
UserDir public_html
切换用户
#su - zhangsan
$ pwd
/home/zhangsan
用户目录设置
用户宿主目录需设置为其他用户可以进入
$ ls -ld.
$ chmod o+x ~
$ ls -ld.
用户宿主目录中需要建立public_html目录
$ mkdir public_html
public_html目录中需要建立index.html文件
$ vi public_html/index.html
访问用户个人主页
http://192.168.1.2/~zhangsan/ (http://192.168.1.2/服务器地址,~zhangsan用户zhangsan的宿主目录,~放在用户名前指定用户宿主目录)
3)域名虚拟主机的配置
httpd.conf文件中添加虚拟主机
NameVirtualHost 192.168.0.2
ServerName www.benet.com
DocumentRoot /home/benet.com
NameVirtualHost用于设置域名虚拟主机使用的IP地址
使用和建立在地址“192.168.0.2:80”上的虚拟主机区域
使用ServerName设置当前虚拟主机所使用的域名
使用DocumentRoot设置当前虚拟主机所使用的文档根目录
实例
#mkedir /home/1benet.com
#echo “www.1benet.com home page” > /home/1benet.com/index.html
#mkedir /home/2benet.com
#echo “www.2benet.com home page” > /home/2benet.com/index.html
#vi /usr/local/apache2/conf/httpd.conf
NameVirtualHost192.168.0.2
ServerNamewww.1benet.com
DocumentRoot/home/1benet.com
页:
[1]