免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1335 | 回复: 0
打印 上一主题 下一主题

RHEL4.0+Pureftp+Webpureftp+Mysql+Zend Optimizer [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-03-23 19:59 |只看该作者 |倒序浏览

                RHEL4.0+Pureftp+Webpureftp+Mysql+Zend Optimizer实现一个功能较全面的FTP服务系统:实验环境:本实验的环境采取系统是RHEL4.0以及上面所提到的相关软件;构成简单的C/S系统,其中RHEL4.0除了成为FTP服务器之外还充当DNS服务器以及WEB服务器角色。服务器IP地址为:192.168.1.10,FQDN为server.jerrywjl.com,客户端为WindowsXP,IP地址为192.168.1.1以下为实验步骤:首先配置基本的网络参数以及相关的FTP和WEB服务,配置的目的是实现三个解析:server.jerrywjl.com、ftp.jerrywjl.com、www.jerrywjl.com这个过程比较简单,所以具体步骤在实验中略过,只是强调一下步骤:1.配置主机名称FQDN;2.配置主机TCP/IP服务以及DNS服务以及启动DNS服务;3.配置并启动Apache服务在Apache主配置文档中更改下面两处:在原来AddDefaultCharset UTF-8下添加一行——AddDefaultCharset GB2312;将文档中的主机名更改为ftp.jerrywjl.com;最后保存并启动服务进行http服务测试。配置完成之后,基本环境算是准备完成,现在安装Mysql并且进行Mysql服务配置与测试:首先装Mysql的软件包:[root@server RPMS]# rpm -ihv --aid mysql-server-4.1.7-4.RHEL4.1.i386.rpm[root@server RPMS]# rpm -ihv --aid mysqlclient10-*[root@server RPMS]# rpm -ihv --aid mysql-devel-4.1.7-4.RHEL4.1.i386.rpm[root@server RPMS]# rpm -ihv --aid php-mysql-4.3.9-3.1.i386.rpm完成之后启动服务,并且设置Mysql服务器密码以及进行登录测试:[root@server ~]# service mysqld startInitializing MySQL database:  [  OK  ]Starting MySQL:  [  OK  ][root@server ~]# chkconfig mysqld on[root@server ~]# mysqladmin -u root password 123456[root@server ~]# mysql -u root -pEnter password:Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 4 to server version: 4.1.7Type 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql> show databases;+-------------+| Database      |+-------------+| mysql           || test             |+-------------+2 rows in set (0.00 sec)mysql> quitBye[root@server ~]#下面开始安装pure-ftpd服务软件,在此之前,首先获取所有的试验中需要的软件包:这就是实验所需要的软件:[root@server ~]# cd /usr/local/packages/[root@server packages]# lspure-ftpd-1.0.20.tar.gz  webpureftp0.1.tar.gz  ZendOptimizer-2.5.10a-linux-glibc21-i386.tar.gz[root@server packages]# lltotal 4656-rwxr-xr-x  1 root root  561412 Mar 21 22:30 pure-ftpd-1.0.20.tar.gz-rwxr-xr-x  1 root root  196917 Mar 21 22:30 webpureftp0.1.tar.gz-rwxr-xr-x  1 root root 3973599 Mar 21 22:30 ZendOptimizer-2.5.10a-linux-glibc21-i386.tar.gz先安装pure-ftpd:[root@server packages]# mkdir temp[root@server packages]# tar -zxf pure-ftpd-1.0.20.tar.gz -C temp/[root@server packages]#[root@server packages]# cd temp/pure-ftpd-1.0.20/[root@server pure-ftpd-1.0.20]#[root@server pure-ftpd-1.0.20]# cd[root@server ~]# vi install_pureftpd                             ————这是pureftpd的安装脚本内容如下:cd /usr/local/packages/temp/pure-ftpd-1.0.20                ————解压后pureftp所在的目录./configure \--prefix=/usr/local/pureftpd \                                       ————指定安装目录--with-mysql \                                                          ————支持使用Mysql保存虚拟帐号--with-virtualchroot \                                                 ————可以使用户在自己主目录下通过添加符号链接的方式访问其他原本                                                                                        不允许chroot的目录--with-virtualhosts \                                                   ————允许虚拟主机--with-virtualroot \                                                    ————支持虚拟root根目录--with-diraliases \                                                      ————支持目录别名--with-uploadscript \                 ————支持当一个上传完成之后,自动启用额外程序和脚本--with-cookie \                         ————支持当用户登录时显示定制信息--with-quotas \                        ————开启磁盘配额功能--with-sysquotas \                    ————允许使用操作系统磁盘配额--with-ratios \                          ————支持上传/下载比例--with-throttling \                     ————支持带宽限制--with-largefile \                       ————支持下载大于2G文件--with-peruserlimits \                 ————开启限制同一个帐号可以同时登录的个数--with-paranoidmsg \                ————无论何种原因登录失败都显示失败原因--with-welcomemsg \                 ———— 显示欢迎信息--with-language=simplified-chinese                                ————使用简体中文作为软件界面完成之后保存退出,给予该文件可执行文件,并且按照脚本方式来执行安装操作。[root@server ~]# chmod 755 install_pureftpd[root@server ~]# ./install_pureftpd上述操作执行了编译前的环境配置,如下:checking for a BSD-compatible install... /usr/bin/install -cchecking whether build environment is sane... yeschecking for gawk... gawkchecking whether make sets $(MAKE)... yeschecking for a BSD-compatible install... /usr/bin/install -cchecking for ranlib... ranlibchecking for gcc... gccchecking for C compiler default output file name... a.outchecking whether the C compiler works... yeschecking whether we are cross compiling... no…………………………………………………………………configure: You have /dev/urandom - Greatconfigure: You have /dev/random - Greatconfigure: creating ./config.statusconfig.status: creating Makefileconfig.status: creating src/Makefileconfig.status: creating pam/Makefileconfig.status: creating man/Makefileconfig.status: creating gui/Makefileconfig.status: creating configuration-file/Makefileconfig.status: creating contrib/Makefileconfig.status: creating m4/Makefileconfig.status: creating configuration-file/pure-ftpd.confconfig.status: creating configuration-file/pure-config.plconfig.status: creating configuration-file/pure-config.pyconfig.status: creating puredb/Makefileconfig.status: creating puredb/src/Makefileconfig.status: creating pure-ftpd.specconfig.status: creating config.hconfig.status: executing depfiles commandsconfigure: +--------------------------------------------------------------------------+configure: | You can subscribe to the Pure-FTPd users mailing-list                                |configure: | to ask for help and to stay informed of new releases.                                 |configure: | Go to http://www.pureftpd.org/ml/ now!                                                 |configure: +--------------------------------------------------------------------------+进入指定目录进行编译并且安装:[root@server ~]# cd /usr/local/packages/temp/pure-ftpd-1.0.20/[root@server ~]# cd /usr/local/packages/temp/pure-ftpd-1.0.20/[root@server pure-ftpd-1.0.20]# make[root@server pure-ftpd-1.0.20]# make install生成配置脚本:[root@server pure-ftpd-1.0.20]# cp configuration-file/pure-config.pl /usr/local/pureftpd/sbin/更改配置脚本权限:[root@server pure-ftpd-1.0.20]# chmod +x /usr/local/pureftpd/sbin/pure-config.pl生成ftp的服务主目录:[root@server pure-ftpd-1.0.20]# mkdir /ftproot以下要生成pure-ftp服务管理脚本:[root@server pure-ftpd-1.0.20]# cd contrib/[root@server contrib]# vi redhat.init将其中下面的语句:fullpath=/usr/local/sbin/$progpureftpwho=/usr/local/sbin/pure-ftpwho更改为:fullpath=/usr/local/pureftpd/sbin/$progpureftpwho=/usr/local/pureftpd/sbin/pure-ftpwho将该文件复制到/etc/init.d目录中并且重命名为pure-ftpd[root@server contrib]# cp redhat.init /etc/init.d/pure-ftpd并且更改该文件为可执行:[root@server contrib]# chmod +x /etc/init.d/pure-ftpd将该服务添加到启动服务列表并配置该服务随系统启动而启动:[root@server contrib]# chkconfig --add pure-ftpd[root@server contrib]# chkconfig pure-ftpd on由于pure-ftpd将FTP匿名用户映射到名为ftp的系统帐号,所以ftp系统帐号的主目录就是FTP匿名用户的主目录。如果需要FTP服务器允许匿名登录,就需要建立一个名为ftp的系统帐号,而且该帐号的主目录必须存在。默认情况下pure-ftpd安装的时候已经建立了ftp帐号,但是该帐号默认的主目录/var/ftp不存在,所以要建立/var/ftp,但是如果系统中已经安装vsftp服务的话,该目录会自动建立。因为如果希望FTP匿名用户能够上传文件,就保证ftp系统帐号对主目录有写入权限:[root@server contrib]# chown ftp.ftp /var/ftp现在开始安装对pure-ftpd进行管理的基于web的管理工具webpureftp,但是因为该软件的PHP源代码使用了ZendEncode进行了加密,所以需要安装Zend Oprimizer才可以执行webpureftp目录中加密的PHP程序。否则会出现乱码。因此现在安装ZendEncode:[root@server ~]# cd /usr/local/packages/[root@server packages]# lspure-ftpd-1.0.20.tar.gz  webpureftp0.1.tar.gztemp                     ZendOptimizer-2.5.10a-linux-glibc21-i386.tar.gz[root@server packages]# tar -zxf ZendOptimizer-2.5.10a-linux-glibc21-i386.tar.gz -C temp/[root@server packages]# cd temp/ZendOptimizer-2.5.10a-linux-glibc21-i386/[root@server ZendOptimizer-2.5.10a-linux-glibc21-i386]# ./install.sh通过上述操作,会有一个安装向导,建议接受全部的默认条件:1.是否接受协议————是2.Zend安装目录是否/usr/local/Zend————是3.确认php.ini配置文件是否在/etc/目录中————是4.是否使用Apache作为默认的WEB服务器————是5.Apache默认的控制路径是否是/usr/sbin/apachectl目录————是6.是否重启Apache服务————是注意这里的提示:The following configuration changes have been made:                                x - The php.ini file has been relocated from /etc to /usr/local/Zend/etc  x           x - A symbolic link for the php.ini file has been created in /etc.        x           x - The original php.ini was backed up to /etc/php.ini-zend_optimizer.bak        x在上述的完成过程中,可能会碰到Zend Optimizer与SELinux的配合问题。主要因为Zend在安装时需要修改/etc/php.ini文件的内容,并将该文件替换为一个符号链接文件,指向/usr/local/Zend/etc/php.ini,所以造成Apache服务器在每次启动都会违反SELinux的规则出错。解决的方法有两种:第一种:在整个配置之前关闭SELinux:[root@server ~]# vi /etc/sysconfig/selinux针对下面的内容:# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:#       enforcing - SELinux security policy is enforced.#       permissive - SELinux prints warnings instead of enforcing.#       disabled - SELinux is fully disabled.SELINUX=enforcing# SELINUXTYPE= type of policy in use. Possible values are:#       targeted - Only targeted network daemons are protected.#       strict - Full SELinux protection.SELINUXTYPE=targeted将SELINUX=enforcing更改为SELINUX=disabled并且重新启动系统第二种:在没有更改该配置文件情况下使用下面命令设置文件相关安全属性:[root@server ~]# rm -f /etc/php.ini[root@server ~]# cp /usr/local/Zend/etc/php.ini /etc/[root@server ~]# chcon -u system_u /etc/php.ini[root@server ~]# chcon -t shlib_t /usr/local/Zend/lib/ZendExtensionManager.so[root@server ~]# chcon -t shlib_t /usr/local/Zend/lib/Optimizer-2.5.10/php-4.3.x/ZendOptimizer.so下面开始生成Mysql数据库,通过webpureftp软件的安装可以实现管理pure-ftpd和mysql结构中的php帐户,方法如下:[root@server ~]# cd /usr/local/packages/[root@server packages]# tar -zxf webpureftp0.1.tar.gz -C temp/下面开始对主配置文件进行修改:[root@server ~]# cd /usr/local/packages/[root@server packages]# tar -zxf webpureftp0.1.tar.gz -C temp/[root@server packages]# cd temp/webpureftp0.1/[root@server webpureftp0.1]#[root@server webpureftp0.1]# vi SQL/pureftp_0.1.sql找到DROP TABLE IF EXISTS `depart_info`;这句,在前面加上:CREATE DATABASE pureftp;USE pureftp;那么整段成为:CREATE DATABASE pureftp;USE pureftp;DROP TABLE IF EXISTS `depart_info`;CREATE TABLE `depart_info` (  `id` int(4) NOT NULL auto_increment,  `name` varchar(30) NOT NULL default '',  PRIMARY KEY  (`id`),  KEY `id` (`id`)) TYPE=MyISAM AUTO_INCREMENT=21 ;保存退出。最后执行命令生成mysql数据库:[root@server webpureftp0.1]# mysql -u root -p Enter password:[root@server webpureftp0.1]#测试:[root@server webpureftp0.1]# mysql -u root -pEnter password:Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 8 to server version: 4.1.7Type 'help;' or '\h' for help. Type '\c' to clear the buffer.mysql> show databases;+-------------+| Database     |+-------------+| mysql          || pureftp        || test            |+-------------+3 rows in set (0.01 sec)mysql> use pureftp;Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -ADatabase changedmysql> show tables;+------------------------+| Tables_in_pureftp         |+------------------------+| depart_info                  || ftp_users                    || ftp_users_info              || user_info                     |+------------------------+4 rows in set (0.00 sec)mysql> quitBye[root@server webpureftp0.1]#现在修改pure-ftpd的主配置文件[root@server webpureftp0.1]# cd docs/[root@server docs]# vi pureftpd-mysql.conf,更改下列语句:将:MYSQLUser       network        更改为:        MYSQLUser       root将:MYSQLPassword   123456        更改为:        MYSQLPassword   123456(由于我这里就是使用123456,所以不改)将:MYSQLDatabase   network                        更改为:        MYSQLDatabase   pureftp完成之后复制下面两个文件到/etc/目录下:[root@server docs]# cp pure-ftpd.conf /etc[root@server docs]# cp pureftpd-mysql.conf /etc最后一步,开始配置webpureftp,进入webpureftp解压目录,也就是刚才的webpureftp0.1编辑config子目录中的config.inc.php文件,将其中的路径修改是实际路径,将口令也修改为实际口令:[root@server docs]# pwd/usr/local/packages/temp/webpureftp0.1/docs[root@server docs]# cd ..[root@server webpureftp0.1]# vi config/config.inc.php下面是原来未修改的内容:$orig_title = "Web PureFTP¹ÜÀìÃ
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP