环境介绍:两台linux系统(一台BIND服务器,一台用于安装Apache程序),一台用于测试
RHEL4系统中默认安装了Apache服务器,软件包的名称是httpd,而不是apache,版本为2.0.52。如果httpd软件包没有被安装在系统中,可以从RHEL4第2张安装光盘中安装该软件包。
相关Apache服务器软件包作用:
Httpd软件包是Apache服务器程序软件包,包括服务器的执行程序、配置文件、启动脚本等必备文件
Httpd-manual软件包是Apache服务器的手册文档,该软件包中以网页的形式包括了Apache服务器的完整说明文档,内容相当详细,是Apache服务器的重要文件之一。
REHL4系统中安装httpd软件包之后(RPM包进行安装) ,与Apache服务器相关的重要目录和文件如下:
/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服务器的错误日志文件
编译安装Apache:
准备GCC环境:
准备GCC环境后,进行如下操作:
示:cp httpd-2.0.59.tar.gz /usr/local/src/
即将httpd源码包复制至/usr/local/src/
示:tar �Czxvf httpd-2.0.59.tar.gz
上面指令为进行源码包解压
进入解压后目录,进行编译前的配置:
进行编译服务器程序,并安装已经编译完成的程序:
可以看到在执行makl install命令之后/usr/local/目录中多了一个apache2目录,大小约21M:
Bin目录中包括了Apache服务器运行和管理所需的执行程序,其中httpd是服务器的执行程序,apachectl是服务器的启动脚本
Lib目录中保存了Apache服务器运行所需的库文件
Conf目录用于保存Apache服务器的配置文件,其中httpd.conf是Apache服务器的主配置文件
Htdocs目录是Apache服务器的文档根目录,该目录将作为Web服务器的根目录
Manual目录中保存了Apache服务器的帮助手册文件,文件是网页格式的,可以通过访问Apache服务器中的/manual目录阅读该目录下的帮助文件内容
Man目录用于保存Apache服务器手册页文件,文件被分别保存在man1和man8两个子目录中,可用man命令阅读指定的手册页文件查询目录的帮助信息
Logs目录是用于保存Apache服务器的日志文件,其中access_log文件是访问日志文件,error_log文件是错误日志文件
Apache服务器的启动和停止:
注:编译安装类似于Windows中的绿色版软件,它并未写入系统的注册表中,则不能使用service命令来启动或停止服务
在XP客户机上查看Apache测试页:
在实际的应用系统中,Apache服务器需要设置为在linux系统启动时自动运行,因此需要将apachectl脚本的启动命令加入rc.local 文件,之后每次系统启动都将自动启动Apache服务器
示:vi /etc/rc.local
调整Apache服务器的默认设置:
从httpd服务程序的启动信息可以看出,Apache服务器的主机名没有进行正确的配置,需要对/usr/local/apache2/conf/目录中的httpd.conf配置文件的内容调整:
示:vi /usr/local/apache2/confi/httpd.conf
重启httpd服务器程序并测试httpd.conf的语法:
建立系统用户的个人主页:
查看httpd.conf配置文件:
示:vi /usr/local/apache2/conf/httpd.conf
创建本地用户,并使用本地用户登录,创建目录public_html且建立和编辑index.html文件:
更改tom宿主目录的权限:
注:-R表示向下继承权限
在XP客户机上测试:
域名虚拟主机的配置:
基于域名的虚拟主机是Apache服务器的又一个重点应用,下面将通过为 www.yunjing1.com和 www.yunjing2.com在Apache服务器中配置虚拟主机:
在/目录下创建目录并在子目录下创建yunjing1和yunjing2的根目录和主页:
示:vi index.html
示:vi /wwwroot/yunjing2_html/index.html
在Apache服务器的httpd.conf配置文件中进行域名虚拟主机的设置内容:
重启apachectl服务程序:
在XP客户机上测试:
Apache与其它应用程序的协作:
LAMP网页应用架构
Web应用是最早体现出Linux系统应用价值的领域之一,在Linux系统中使用Apache和其它开源软件可以构建出非常优秀的Web应用系统,这个成熟的应用模式通常被称为LAMP架构,整个结构有以下组成部分
使用Linux操作系统作为整个Web服务体系的构建平台,Linux表示LAMP中的L
使用Apache作为前端的Web服务器,Apache代表LAMP中的A
使用MySQL作为后端的SQL数据库服务器,MySQL代表LAMP中的M
使用Perl、PHP或python语言作为动态网页的编程语言编写各种功能的应用系统,3种以字母P开始的编程语言共同代表LAMP中的P
配置Apache、PHP、MySQL协同工作
安装并管理MySQL服务器
由于是手动安装MySQL数据库,因此需要在系统中建立名为mysql的用户和组,并指定mysql用户的宿主目录是/usr/local/mysql/data
使用tar命令将下载的mysql软件包释放到/usr/local/目录中,压缩包会释放到名为mysql-3.23.58-pc-linux-i686的子目录中,为了便于管理,需要使用ln命令建立该目录的符号链接目录为mysql(这里做的是软链接):
在/var/lib/目录下建立名为mysql的子目录,并使用chown命令设置该目录和MySQL服务器安装目录的属主和属组:
进入MySQL服务器程序的目录,复制mysql的配置文件my.cnf到/etc目录中,并执行mysql_install_db命令初始化MySQL服务器中的数据库:
注:如果MySQL的RPM软件包在系统中已经安装,/etc/目录中会存在my.cnf文件,将提示覆盖原有的my.cnf文件,选择y进行覆盖即可
示:./scripts/mysql_install_db
再次使用chown命令设置/var/lib/mysql/和/usr/local/mysql/data/两个目录中的所有文件都属于mysql用户和mysql用户组,以保证mysql系统用户对新建立的数据库文件有足够的访问权限:
使用权safe_mysqld命令启动MySQL服务器运行,并使用命令选项―user指定MySQL数据库服务程序以系统用户mysql的身份运行
由于MySQL 数据库的管理员用户root的寝口令为空,所以mysql数据库程序启动后的第一件工作就是为MySQL数据库中的root用户设置口令:
成功为数据库用户root设置口令后执行MySQL程序可以进入MySQL数据库的交互界面,在MySQL命令中需要使用-u选项指定登录数据库使用的用户名,使用-p选项设置提示用户输入口令,登录后创建用于phpBB的数据库:
安装并管理PHP环境:
安装flex-2.5.4a-33.i386.rpm软件包,若不安装待会编译准备时可能出错
将php-4.4.4.tar.gz软件包减压至/usr/local/src/下,并进入该减压目录:
进入php-4.4.4目录后,使用./configure命令进行编译前的准备工作:
编译准备完成之后,使用make;make install命令进行编译并安装:
经过了漫长的编译和安装过程之后,PHP程序就已经安装到Linux系统中了,但是PHP程序还没有配置文件,需要将PHP的配置模板文件php.ini-dist(此文件即在减压后的源码包中)复制到PHP的配置目录中作为配置文件使用:
进行Apache服务器中的设置:
由于PHP程序需要和Apache服务器配合工作,因此需要在Apache服务器的主配置文件httpd.conf中进行PHP的相关设置。
编辑httpd.conf文件,确认LoadModule php4_module modules/libphp4.so设置行已经有效,并在相应的位置(通过查找AddType关键字)添加设置行AddType application/x-httpd-php .php,以便Apache服务器能够识别php类型的文件:
注:在整个过程中可在末行模式(:)下通过/命令来查看相关行
回车后按大写N找到如下位置,并添加相关行:
在http.conf文件中查找DriectoryIndex关键字,并在该设置行的末尾添加index.php,以便Apache服务器能够正确处理php类型的index文件:
对httpd.conf文件完成以上设置后,使用apachectl脚本停止httpd服务器程序,然后再启动httpd服务程序:
使用vi编辑器在Apache服务器在文档根目录中建立名为test.php的测试文件,其内容如下:
完成之后便可在XP客户机上进行测试了,测试前请先做如下操作:
将之前做的虚拟目录注释:
示:vi /usr/local/apache2/conf/httpd.conf
重启服务:
示:/usr/local/apache2/bin/apachectl restart
在XP上正式测试:
安装phpBB论坛系统:
phpBB是优秀的论坛程序,其运行环境为LAMP,是典型的LAMP架构程序。phpBB是PHP语言编写的Web程序,其源代码可以从phpBB官方网站的下载页面进行下载:
注: http://www.phpbb.com/downloads.php
使用tar命令将phpBB2-2.0.21.tar.gz 的程序包释放到Apache服务器的文档根目录中,释放过程会建立名为phpBB2的子目录:
使用chown命令将phpBB2子目录及其下所有文件的属主和属组都设置为nobody,以便Apache服务器有足够的权限访问phpBB程序:
在将phpBB2论坛配置好之后,建议使用apachectl启动脚本重启httpd服务的执行程序:
示:/usr/local/apache2/bin/apachectl restart
在XP上访问phpBB2论坛,并进行相关设置:
在浏览器中见安装结束画面后,先不要急于访问phpBB论坛程序的页面,出于安全性考虑,需要先删除phpBB2程序目录中的install和contrib两个子目录:
从上面看来我们的phpBB2论坛成功搭建了