李涤 介绍:本文将介绍如何利用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 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 ServerAdmin webmaster@study.com DocumentRoot /var/www/html/gzprice ServerName www.gzprice.com ErrorLog logs/study.com-error_log CustomLog logs/study.com-Access_log common 注:在域名服务器中,要将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包,可以方便快捷地完成开发系统的整合。
|