设为首页 收藏本站
查看: 1120|回复: 0

[经验分享] redhat下搭建php+apache+mysql+vsftp

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-6 13:53:54 | 显示全部楼层 |阅读模式
  作者:dugu
  一直不太瞧得起只会装装系统,搭个服务器之类的网管工作,这里绝没有瞧不起网管的意思,只是觉得装系统,搭服务器这种活儿太没有技术含量了。但今天无聊之余,想学学php的时候,发现原服务器的搭建,也不是一件容易的事情(windows例外啦)。花了一天,环境确实搭好了,至于为什么这儿要敲这个命令,那儿要复制那个文件,不懂……自我鄙视下 DSC0000.gif
  系统环境:
  [iyunv@redhat root]# cat /proc/version(网上刚刚学习到两招版本查看方法)
Linux version 2.4.20-8 (bhcompile@porky.devel.redhat.com) (gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)) #1 Thu Mar 13 17:54:28 EST 2003
[iyunv@redhat root]# cat /etc/redhat-release
Red Hat Linux release 9 (Shrike)
  步骤一:安装vsftp(目的:win和linux之间的文件交换啊,我是在vmware里面跑redhat的)
  一开始,没有想过去安装linux下的ftp server,毕竟windows下,我有一个20cn FTPServer,mini版的,非常小,win下偶的最爱(毕竟偶bt到为了传个小文件啥的,就去装个Serv-U)。可惜的是,redhat下,ftp确实下载回来了,但所有文件都会小上几百~几k的字节,rpm签名自检全部失败,木有办法,只有想着装一个linux下的ftp啦。ms有很多选择:wu-ftpd、proftpd之类好象用的比较广,不过baidu上,还是看到一个vsftp,very secure ftp,名字很喜欢,看了下介绍,感觉比的上win下的Serv-U的功能了。好了,就是它!
  版本:vsftpd-2.0.5.tar.gz
  下载地址:http://vsftpd.beasts.org/
  1、解压:tar xzvf vsftpd-2.0.5.tar.gz
  2、源码安装的话,我都是放到这个目录:mv vsftpd-2.0.5 /usr/local/src/
  3、这里没有configure,不用编译,直接:make
  4、确实是否存在用户nobody、ftp(用户目录要求在/var/ftp中:useradd -d /var/ftp ftp),是否存在目录/var/ftp、/usr/share/empty,不存在的话,建立之。
  5、chown root.root /var/ftp、chmod og-w /var/ftp,不知道为什么要设置这两个权限,看到别人的教程如此,先照做
  6、安装:make install
  此时按照其他的教程,没有其他说明了,但是我遇到了错误:
  install: 无法创建一般文件‘/usr/local/man/man8/vsftpd.8’: 没有那个文件或目录
if [ -x /etc/xinetd.d ]; then /
  我的解决方法(建立它说得不存在的目录):mkdir -p  /usr/local/man/man8/
  7、(这一步,我没有成功,跳过去了,后面的步骤用了不同的安装方法:
  vi /etc/xinetd.d/vsftpd
  把disable=yes改成no,保存退出。然后service xinetd restart,OK!新装的vsftp已经可以工作了!
  说明:默认安装的vsftpd是以xinetd的方式启动的。你需要上述操作,一会儿,我们再来讲把它改成独立启动的服务。 )
  因为上面这一步我做了后,发现vsftpd仍然没有启动,21端口根本没有开放,网上搜索了下,好像这一步的目的是将vsftp和xinetd服务关联起来,达到启动xinetd就可以启动vsftp的目的,因为没有成功,我又修改回disable=yes
  ——明白问题出在什么地方了,步骤7之所以失败,是因为当时已经执行了步骤9,导致vsftp不会在xinetd中执行,将步骤9中的listen=YES,删除。然后将步骤7的disable=yes改成no,(如果vsftp已经在运行,kill掉)此时重启service xinetd restart,可以看到21端口开放了!
  8、复制配置文件到/etc下:cp vsftpd.conf /etc
  9、编辑:vi /etc/vsftpd.conf,在/etc/vsftpd.conf中加入listen=YES(此句意思是vsftp不在inetd中运行)
  10、运行/usr/local/sbin/vsftpd &
  ok,此时ftp 127.0.0.1,可以登录,不过此时只能匿名登陆,为了可以使用本地用户登陆,做以下修改:
  11、vi /etc/vsftpd.conf
  把anonmous_enable=YES改成NO(禁掉匿名链接,不安全)
  把local_enable=YES前的注释去掉(打开本地用户连接的权限)
  把write_enable=YES前的注释去掉(打开本地用户的写权限)
  把local_umask=022前的注释去掉 (用于设定本地用户上载文件的 umask 值. 注意! 如果您要指定一个八进制的数字, 首位应当是 "0", 否则将视作 10 进制数字.)
  12、cp RedHat/vsftpd.pam /etc/pam.d/ftp(注意,没有这一步将不能使用本地用户登录!)
  13、kill掉vsfptd进程,然后重新运行/usr/local/sbin/vsftpd &
  大功告成!当然仅仅指ftp安装完成了,实际配置等,非常繁琐,参考收藏中的文章,链接后面给出)


  
  步骤二:安装mysql(这个很简单,rpm包)
  版本:
  MySQL-server-5.1.7-0.i386.rpm、MySQL-client-5.1.7-0.i386.rpm、MySQL-devel-5.1.7-0.i386.rpm
  下载地址:http://www.mysql.cn
  1、rpm -ivh MySQL-server-5.1.7-0.i386.rpm,然后启动服务service mysql start(或者mysqld_safe &)
  2、rpm -ivh MySQL-client-5.1.7-0.i386.rpm
  3、rpm -ivh MySQL-devel-5.1.7-0.i386.rpm
  最后,执行mysqladmin、mysqlshow等,查看是否正确
  
  步骤三:安装apache(这个,因为当初安装redhat的时候,已经安装了apache,本来想跳过去,不再安装的,可惜后面遇到问题了,不得已,先卸载旧版本,再安装最新版本
  后面安装php遇到的问题:
    Sorry, I cannot run apxs.  Possible reasons follow:
  1. Perl is not installed
2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs
3. Apache was not built using --enable-so (the apxs usage page is displayed)


  开始因为确认perl已经安装,偶就以为是什么apxs的问题,找了一堆自己也看不懂的文章、论坛,慢慢摸索,有了点线索:
    apxs是一个为Apache HTTP服务器编译和安装扩展模块的工具,用于编译一个或多个源程序或目标代码文件为动态共享对象,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中。
    因此,要使用这个扩展机制,你的平台必须支持DSO特性,而且Apache httpd必须内建了mod_so模块。apxs工具能自动探测是否具备这样的条件,你也可以自己用这个命令手动探测:
      $ httpd
-l   可惜的是,偶执行httpd -l后,发现存在mod_so:
[iyunv@redhat php-5.2.2]# httpd -l
Compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c
  怎么办?因为不知道redhat当初怎么装的apache,算了卸载,俺自己装一遍:
  哪里知道,卸载又有问题了:
  执行:rpm -e httpd,结果:
  [iyunv@redhat root]# rpm -e httpd
error: Failed dependencies:
        httpd-mmn = 20020628 is needed by (installed) mod_perl-1.99_07-5
        httpd-mmn = 20020628 is needed by (installed) mod_python-3.0.1-3
        httpd-mmn = 20020628 is needed by (installed) mod_ssl-2.0.40-21
        httpd-mmn = 20020628 is needed by (installed) php-4.2.2-17
        libapr.so.0 is needed by (installed) mod_perl-1.99_07-5
        libaprutil.so.0 is needed by (installed) mod_perl-1.99_07-5
        webserver is needed by (installed) webalizer-2.01_10-11
        httpd >= 2.0.40 is needed by (installed) mod_perl-1.99_07-5
        httpd >= 2.0.40 is needed by (installed) mod_python-3.0.1-3
        httpd is needed by (installed) mod_ssl-2.0.40-21
        httpd is needed by (installed) redhat-config-httpd-1.0.1-18
  继续找资料,原来如此:
  [iyunv@redhat root]# rpm -qa|grep httpd
httpd-manual-2.0.40-21
httpd-2.0.40-21
redhat-config-httpd-1.0.1-18
  然后一个一个卸载掉:
  [iyunv@redhat root]# rpm -e httpd-manual-2.0.40-21

[iyunv@redhat root]# rpm -e redhat-config-httpd-1.0.1-18
warning: /etc/alchemist/namespace/apache/local.adl saved as /etc/alchemist/namespace/apache/local.adl.rpmsave
  [iyunv@redhat root]# rpm -e httpd-2.0.40-21
error: Failed dependencies:
        httpd-mmn = 20020628 is needed by (installed) mod_perl-1.99_07-5
        httpd-mmn = 20020628 is needed by (installed) mod_python-3.0.1-3
        httpd-mmn = 20020628 is needed by (installed) mod_ssl-2.0.40-21
        httpd-mmn = 20020628 is needed by (installed) php-4.2.2-17
        libapr.so.0 is needed by (installed) mod_perl-1.99_07-5
        libaprutil.so.0 is needed by (installed) mod_perl-1.99_07-5
        webserver is needed by (installed) webalizer-2.01_10-11
        httpd >= 2.0.40 is needed by (installed) mod_perl-1.99_07-5
        httpd >= 2.0.40 is needed by (installed) mod_python-3.0.1-3
        httpd is needed by (installed) mod_ssl-2.0.40-21
        httpd is needed by (installed) redhat-config-httpd-1.0.1-18
  还是有一个没有卸载掉,how to?继续找资料,原来……太狠了,将所有的依存的服务也卸载掉:
  [iyunv@redhat root]# rpm -e mod_perl-1.99_07-5
[iyunv@redhat root]# rpm -e mod_python-3.0.1-3
[iyunv@redhat root]# rpm -e mod_ssl-2.0.40-21
[iyunv@redhat root]# rpm -e webalizer-2.01_10-11
[iyunv@redhat root]# rpm -e httpd-2.0.40-21
warning: /etc/httpd/conf/httpd.conf saved as /etc/httpd/conf/httpd.conf.rpmsave
      ok,卸载成功,不急,卸载过程中,发现redhat已经安装过php环境,晕,不过为了学习php安装,咱也将其卸载掉,过程如下:
  [iyunv@redhat root]# rpm -qa|grep php
php-ldap-4.2.2-17
php-imap-4.2.2-17
php-4.2.2-17
[iyunv@redhat root]# rpm -e php-ldap-4.2.2-17
[iyunv@redhat root]# rpm -e php-imap-4.2.2-17
[iyunv@redhat root]# rpm -e php-4.2.2-17
[iyunv@redhat root]# whereis php
php:
  然后重新安装apache。
  )
  前面的步骤很无奈,不过学会了卸载rpm的安装包,值!
  版本:httpd-2.2.4.tar.gz
  下载地址:http://www.apache.org
  1、tar xzvf httpd-2.2.4.tar.gz
  2、mv httpd-2.2.4 /usr/local/src
  3、cd /usr/local/src/,执行:configure --prefix=/etc/httpd  --enable-module=so (为了不必每次configure都要执行./configure,可以在环境变量中,添加当前路径:vi /root/.bash_profile,修改PATH=xxxx:.(就是添加一个冒号和点号))
  4、执行:make
  5、执行:make install
  6、启动服务:/etc/httpd/bin/apachectl start,这里会有提示:没有域名之类的信息,可以到:vi /etc/httpd/conf/httpd.conf,修改ServerName 10.0.0.x:80即可
  7、为了便于在webmin这类管理工具管理apache,可以:cp /etc/httpd/bin/httpd /usr/sbin/
  ok,apache安装大功告成!
  
  
  
  步骤四:安装图形开发库(n麻烦,而且工具下载n繁琐)
  版本:一共要安装5个,而且顺序不可颠倒
  gd-2.0.33.tar.gz
freetype-2.2.1.tar.gz
jpegsrc.v6b.tar.gz
libpng-1.2.12.tar.gz
libxml2-2.6.26.tar.gz
zlib-1.2.3.tar.gz
  下载地址(非官方,给一个收集比较全地址):http://down.itlearner.com/class/Site.shtml
  1、先装jpegsrc.v6b.tar.gz:,装之前locate libjpeg.a,找不到这个文件,安装完成后,可以找到这个文件
  (步骤tar xzvf jpegsrc.v6b.tar.gz,mv jpeg-6b /usr/local/src/,configure,make,make install(这里,会遇到报错“无法创建一般文件xxx”,此时直接mkdir -p xxx,然后make install即可),make install-lib)
  2、再装freetype-2.2.1.tar.gz:
  (步骤tar xzvf freetype-2.2.1.tar.gz,mv freetype-2.2.1 /usr/local/src/,configure(这里会看到最后一行显示“configure Nothing to be done for `unix'.”不要担心,执行echo $?,如果显示0,表示没有问题,继续后面的步骤),make,make install)
  3、然后装zlib-1.2.3.tar.gz:
  (步骤tar xzvf zlib-1.2.3.tar.gz,mv zlib-1.2.3 /usr/local/src/,configure,make,make install)
  4、在然后装libpng-1.2.12.tar.gz:
  (步骤tar xzvf libpng-1.2.12.tar.gz,mv libpng-1.2.12 /usr/local/src/,configure(这个1.2.12版本存在configure,看到网上教程中1.2.5不存在configure,需要将cp usr/local/src/libpng-1.2.12/scripts/makefile.gcmmx makefile),make,make install)
  5、此时装gd-2.0.33.tar.gz:
  (步骤tar xzvf gd-2.0.33.tar.gz,mv gd-2.0.33 /usr/local/src/,configure,make,make install)
  6、最后装libxml2-2.6.26.tar.gz:
  (步骤tar xzvf libxml2-2.6.26.tar.gz,mv libxml2-2.6.26 /usr/local/src/,configure,make,make install)
  ok,图形库大功告成!
  
  步骤五:安装php(注意redhat可能已经安装过了,前面有讲如何卸载的)
  版本:php-5.2.2.tar.gz
  下载地址:http://ww.php.net
  1、tar xzvf php-5.2.2.tar.gz
  2、mv php-5.2.2 /usr/local/src/
  3、configure  --prefix=/usr/local/php --with-apxs2=/etc/httpd/bin/apxs --with-gd --with-jpeg-dir --with-ttf --with-zlib-dir --with-png-dir --with-mysql --enable-track-vars,此时,configure到最后会有报错:make: *** [libphp5.la] Error 1,解决方法,执行:
  configure  --prefix=/usr/local/php --with-apxs2=/etc/httpd/bin/apxs --with-gd --with-jpeg-dir --with-ttf --with-zlib-dir --with-png-dir --with-mysql-dir --enable-track-vars
  上面就是将--with-mysql后面添加了-dir,至于为什么这样?我也不知道……
  4、make (执行完一遍后,在执行一遍make测试下,应该看到两行信息:诸如build complete之类,表示make成功)
  5、make install
  6、执行:libtool --finish /usr/local/src/php-5.2.2
  7、chmod 755 /etc/httpd/modules/libphp5.so
  8、cp php.ini-dist /usr/local/php/lib/php.ini
  ok,php安装成功!可以到apache的etc/httpd/htdoc/目录下,vi ../conf/httpd.conf,配置LoadModule 看到是否存在LoadModule php5_module       modules/libphp5.so,添加:AddType application/x-httpd-php .php,AddType application/x-httpd-php-source .phps,添加DirectoryIndex index.php
  最后在htdoc目录下,建立一个index.php执行一遍即可
  步骤六:安装Zend Optimizer
  版本:ZendOptimizer-3.2.8-linux-glibc21-i386.tar.gz
  下载地址:http://www.zend.com/
  1、tar xvzf ZendOptimizer-3.2.8-linux-glibc21-i386.tar.gz
  2、mv ZendOptimizer-3.2.8-linux-glibc21-i386 /usr/local/src/
  3、install.sh,按照提示输入路径等即可
  4、执行phpinfo(),查看Zend版本是否正确
             版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-135969-1-1.html 上篇帖子: 在Linux的vsftp中增加ftp用户,限制用户路径 下篇帖子: Linux下java web服务器搭建(vsftp配置介绍)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表