RHEL4上安装httpd-2.2.4+mysql-5.0.45+php-5.2.3+discuz-6.0+dns
一.准备工作

1.
检查是否已经安装了mysql的相关软件包,如果有,则需先御载

# rpm -qa | grep mysql
如果有,会出现下面的两个软件包
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
接下来,我们御载以上两个包
# rpm -e mysql --nodeps
# rpm -e mysqlclient10

2.
检查是否已经安装了libpnglibxmlgdjpeg(libjpeg)zlibfreetype几个软件包,如果没有,请根据自己的情况查漏补缺

# rpm -qa | grep libpng
libpng-1.2.7-1
libpng10-1.0.16-1
libpng10-devel-1.0.16-1
libpng-devel-1.2.7-1

# rpm -qa | grep ^libxml
libxml2-python-2.6.16-6
libxml2-devel-2.6.16-6
libxml2-2.6.16-6

# rpm -qa | grep ^gd-
gd-2.0.28-4
gd-devel-2.0.28-4

# rpm -qa | grep jpeg
libjpeg-6b-33
libjpeg-devel-6b-33

# rpm -qa | grep zlib
zlib-1.2.1.2-1.2
zlib-devel-1.2.1.2-1.2

# rpm -qa | grep freetype
freetype-2.1.9-1
freetype-devel-2.1.9-1

请确保你的软件包的版本号等于或高于以上显示的版本

二、安装mysql-5.0.45
先建立一个mysql用户
#useradd mysql
#tar zxvf mysql-5.0.45.tar.gz
#cd mysql-5.0.45
编译前先rpm -q gcc,g++,如没有,从光盘时找rpm包安装上或在图形界面下startx;system-config-packages 安装gcc
#./configure --prefix=/usr/local/mysql --enable-thread-safe-client --enable-local-infile --with-charset=gbk --with-extra-charset=all --with-low-memory 如下图:
#make
#make install
拷贝主配置文件到/etc目录
#cp support-files/my-medium.cnf /etc/my.cnf
注意:文件support-files/my-medium.cnf在解压目录中
初始化数据库,安装数据库系统自身必须的数据库和表,并修改相应的权限
#cd /usr/local/mysql
#chown -R mysql.mysql .
#bin/mysql_install_db --user=mysql 
如下图:
 
 
 
初始化数据库后会在mysql目录中多出个var目录,这时再把文件属主改回root用户,才能再次改变var的属主
#chown -R root .
#chown -R mysql var

启动mysql
#bin/mysqld_safe --user=mysql &
拷贝启动脚本到相应的目录,并修改其权限
cp /usr/local/src/mysql-5.0.45/support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod 700 /etc/rc.d/init.d/mysqld
使mysql能在系统启动时自动启动
#chkconfig --add mysqld
#chkconfig --level 2345 mysqld on
测试
#/usr/local/mysql/bin/mysqladmin ping
#/usr/local/mysql/bin/mysqladmin version
#/usr/local/mysql/bin/mysql
添加root密码
#/usr/local/mysql/bin/mysqladmin -u root password  'new-password'
如下图:
 
说明:此root用户为mysqlroot用户,默认密码为空
登录:/usr/local/mysql/bin/mysql -u root -p
按提示输入密码
查看有哪些数据库:>show databases;
创建数据库:>create database phpbb;
使用某一数据库:>use phpbb;
查看数据库中的表:>show tables;
退出数据库:>\q  如下图所示:
 
三、安装httpd-2.2.4
#tar jxvf httpd-2.2.4.tar.bz2
#cd httpd-2.2.4
#./configure --prefix=/usr/local/apache --enable-so --enable-ssl  --enable-track-vars --enable-rewrite  --enable-mods-shared=most
如下图所示:
 
 
#make
#make install
#echo "/usr/local/apache/bin/apachectl -k start" >> /etc/rc.local(
系统启动时服务自动启动)
安装完成后开启apache服务
命令:# /usr/local/apache/bin/apachectl start
测试一下:
 
下面开始配置虚拟主机,做一个web站点和一个Discuz论坛
网站就找一个关于C++的网站,本人正在学习C++ …….
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.pidlogs目录在apache根目录                             中)
ErrorLog              设置Apache服务器中错误日志文件的路径和文件名(默认为logs/error_log
CustomLog   设置Apache服务器中访问日志文件的路径和格式类型
Timeout               设置Web服务器与浏览器之间网络连接的超时秒数 (默认300s
KeepAlive      设置为Off时服务器不使用保持连接功能(一次连接一次传输),传输的效率比较低;设置为On时(                            一次连接多次传输),可以提高服务器传输文件的效率,建议设置保持连接功能有效                      MaxKeep
AliveRequests      KeepAliveOn时,设置客户端每次连接允许请求响应的最大文件数 ,默认设置为100个文件
KeepAliveTimeout用于设置保持连接的超时秒数,默认15s,客户机两次相邻请求超过此值时需要重新进行连接请求。
httpd.conf中的区域设置
除全局设置外,httpd.conf文件中的大多数设置都是包括在“区域”中的
<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory> 
使用</Directory>定义根区域的结束
使用<Directory />定义根区域的开始 (区域设置内容只作用于区域内部)
(2)建立系统用户的个人主页 (这一步可做可不做)
httpd.conf文件配置
httpd.conf文件中需要进行UserDir的设置
#grep UserDir /usr/local/apache/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.10.100/~zhangsan/ (http://192.168.10.100/服务器地址,~zhangsan用户zhangsan的宿主目录,~放在用户名前指定用
3)域名虚拟主机的配置
httpd.conf文件中添加虚拟主机
NameVirtualHost 192.168.10.100
<VirtualHost 192.168.10.100:80>
    ServerName www.cqyang.com
    DocumentRoot /var/c++
</VirtualHost>
NameVirtualHost用于设置域名虚拟主机使用的IP地址
使用<VirtualHost 192.168.10.100:80></VirtualHost>建立在地址“192.168.10.100:80上的虚拟主机区域
使用ServerName设置当前虚拟主机所使用的域名
使用DocumentRoot设置当前虚拟主机所使用的文档根目录
实例
#mkedir /var/c++  //c++这个文档中放入以c++网页
#mkedir /var/bbs   //discuz论坛所需要的文件
#vi /usr/local/apache/conf/httpd.conf
NameVirtualHost  192.168.10.100
 
<VirtualHost  192.168.10.100:80>
ServerName  www.cqyang.com
DocumentRoot  /var/c++
</VirtualHost>
 
<VirtualHost  192.168.10.100:80>
ServerName  bbs.cqyang.com
DocumentRoot  /var/bbs
</VirtualHost> 
配置完成时如下图所示:
 
 
测试一下如下图: