当前位置:Linux教程 - RedHat - apache - 不编译完全配置RedHat Linux7.1下的Apache、DB3、 GD、LDAP、Mysql、Php4、SSL

apache - 不编译完全配置RedHat Linux7.1下的Apache、DB3、 GD、LDAP、Mysql、Php4、SSL

不编译完全配置RedHat Linux7.1下的Apache、DB3、 GD、LDAP、Mysql、Php4、SSL
2004-04-23 15:18 pm
来自:Linux文档
现载:Www.8s8s.coM
地址:无名

介绍:本文将介绍如何利用RedHat Linux的RPM包来建立一个具有实用意义开发与运用环境,省去了对各个软件包的编译步骤,方便快速。

一、操作系统的安装

红帽子Linux7.1的安装, 最常用的安装方式有两种:文本界面和图形界面。两种界面下都有很详细的系统安装向导,依顺序一步一步来,安装即可完成。我使用Linux的目的是用来做服务器,所以只选择了文本界面下的sever模式,Xwindows、KDE、Gnorm都没有要,总共不到600M。

值得注意的有几点:(1)分区的时候最好有个好的规划,特别是有多个硬盘的情况下;(2)配置防火墙选项时我选用High并选择了其它服务,如:DHCP,Email,FTP,Telnet,WWW,SSH等。(3)不用的包就不要装。

二、RPM包的安装

系统安装完成以后,根据需要添加所需的包。在配置Apache、Php4、Mysql、LDAP、GD、DB3、SSL时,表中的这些包将用到:

第一张盘:
apache-1.3.19-5.i386.rpm


gdbm-1.8.0-5.i386.rpm
nss_ldap-149-1.i386.rpm


openldap-2.0.7-14.i386.rpm
openldap-clients-2.0.7-14.i386.rpm


openssh-2.5.2p2-5.i386.rpm
openssl-0.9.6-3.i386.rpm


openssl-devel-0.9.6-3.i386.rpm
openssh-server-2.5.2p2-5.i386.rpm


php-4.0.4pl1-9.i386.rpm
php-imap-4.0.4pl1-9.i386.rpm


php-ldap-4.0.4pl1-9.i386.rpm

第二张盘:
apache-devel-1.3.19-5.i386.rpm


apache-manual-1.3.19-5.i386.rpm
auth_ldap-1.4.7-2.i386.rpm


db3-utils-3.1.17-7.i386.rpm
gdbm-devel-1.8.0-5.i386.rpm


gd-devel-1.8.3-7.i386.rpm
imap-2000-9.i386.rpm


imap-devel-2000-9.i386.rpm
mysql-3.23.36-1.i386.rpm


mysqlclient9-3.23.22-4.i386.rpm
mysql-devel-3.23.36-1.i386.rpm


mysql-server-3.23.36-1.i386.rpm
nss_db-2.2-3.i386.rpm


nss_db-compat-2.2-3.i386.rpm
openldap12-1.2.11-4.i386.rpm


openldap-devel-2.0.7-14.i386.rpm
openldap-servers-2.0.7-14.i386.rpm


openssl095a-0.9.5a-1.i386.rpm
php-devel-4.0.4pl1-9.i386.rpm


php-manual-4.0.4pl1-9.i386.rpm
php-mysql-4.0.4pl1-9.i386.rpm




(1)建子目录:

#mkdir /usr/local/rpm

(2)复制表中所列出的包到/usr/local/rpm下:

例如:

#cp php* /usr/local/rpm/ (将所有php开头的文件复制到/usr/local/rpm下)

(3)进入子目录/usr/local/rpm,并解包

#cd /usr/local/rpm

#rpm –Uvh *

这些包就会自动装上,大概十来分钟。比编译要方便快捷很多,在一台i486机上要装这样一套系统,全部编译下来得花十来个小时,可见rpm的效率还是很高的(我用的就是i486/8M内存/800M硬盘,经过多少次不眠之夜的编译,已尝够了编译的苦)。

三、系统的各个服务的设置

1. WW服务器的配置

修改/etc/httpd/conf/httpd.conf设置www服务器名,网页存放路径、缺省网页名、php网页扩展名、虚拟主机等

(1)设置www服务器名(第402行)

ServerName {http://www.gzprice.com/}

(2)网页存放路径(第409行和1065行)

DocumentRoot "/var/www/html"

(3)缺省网页名(第494行)

DirectoryIndex index.html index.htm index.shtml index.php index.php4 index.php3 index.cgi

(4)php网页扩展名(第796行)

AddType application/x-httpd-php .php4 .php3 .phtml .php

(5)虚拟主机(第1030行和1031行)

NameVirtualHost 12.34.56.78:8080(指定端口)或

NameVirtualHost 12.34.56.78



<VirtualHost 12.34.56.78>

ServerAdmin [email protected]

DocumentRoot /var/www/html/gzprice

ServerName www.gzprice.com

ErrorLog logs/study.com-error_log

CustomLog logs/study.com-access_log common

</VirtualHost>

注:在域名服务器中,要将{http://www.gzprice.com/}解析到12.34.56.78

2. mysql服务器的配置

可执行文件都在/usr/bin/下,运行

#/usr/bin/mysql_install_db (添加缺省的数据库及表)

#/usr/bin/safe_mysqld & (在后台运行mysql数据库)

#/usr/bin/mysql (进入到mysql数据库中)

在提示符mysql>下键入:

GRANT ALL PRIVILEGES on *.* to leedee@'%' IDENTIFIED BY '123456789';

这里给用户leedee一个类似root的权限,密码为“123456789”。关于mysql的安全机制及用户管理,详情可参考mysql的使用手册。





四、系统防火增的配置及各个服务的启动



在Linux下有一个基于文本的设置文件,/usr/sbin/setup, 很简洁,也好用。

#/usr/sbin/setup

(1)防火增的配置

选Firewall configuration:

弹出界面:

选择High->Customize



本机将为网内的用户提供DHCP, SSH,TELNET,WWW,EMAIL,FTP服务,所以这些服务我都选上了。

(2)启动系统的各项服务

选System services:

把需要的服务都选上,如:dhcpd( IP地址动态分态),httpd(WWW 服务器),imap()

ldap(),mysql(),named(),telnet(),wu-ftpd()等。

还有一个重要的连接:

#ln –s /var/lib/mysql/mysql.sock /tmp/mysql.sock(有的软件只连接/tmp/mysql.sock)

重新启动系统,上面选中的服务都会自动执行。





五、测试系统

a) 在本机Linux系统上的测试

#telnet localhost 80

系统弹出:

Trying 127.0.0.1...

Connected to lover.gzprice.com.

Escape character is '^]'.

输入:

HEAD / HTTP /1.1 (连击Enter键两次,你会看到下面的内容)

HTTP/1.1 200 OK

Date: Tue, 07 Aug 2001 06:20:34 GMT

Server: Apache/1.3.19 (Unix) (Red-Hat/Linux) mod_ssl/2.8.1 OpenSSL/0.9.6 PHP/4.0.4pl1

Last-Modified: Thu, 29 Mar 2001 17:53:01 GMT

ETag: "130d-b4a-3ac3767d"

Accept-Ranges: bytes

Content-Length: 2890

Connection: close

Content-Type: text/html



Connection closed by foreign host.



再到windows系统上测试一下。



b) 在MS Windows系统上的测试

在linux系统下,

#vi /var/www/html/test.php

输入以下内容:

<?

phpinfo();

?>

存盘退出:wq

在windows系统下,用IE浏览:

{http://172.18.200.1/test.php}

php的信息全出来了。

这就是在编译时所有的选择,注意到“—without-mysql”, 因加入了php-mysql*的rpm包,所以mysql与php已经挂在了一起!

IMAP

LDAP

MYSQL

XML

Imap,ldap,mysql,gd…都出来了,好了,一个成功的开始!



六、结束语

Linux下Apache、DB3、 GD、LDAP、Mysql、Php4、SSL的整合是一个热点也是一个难点,全部编译下来不但要从网上下很多补丁,而且费时费力。利用REDHAT Linux提供的rpm包,可以方便快捷地完成开发系统的整合。



作者:李涤

电邮:[email protected]

日期:2001/08/07