CentOS5/6编译安装LAMP

前端之家收集整理的这篇文章主要介绍了CentOS5/6编译安装LAMP前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、环境说明准备

本次使用CentOS5.5、Centos6.5,编译安装Apache2.4.20、MysqL-5.5.48、@R_301_461@-5.5.30。

编译@R_301_461@以Apache模块方式运行。编译@R_301_461@前需要先编译好Apache和MysqL


1.关闭SELINUX,配置yum源。

  1. setenforce0
  2. sed-i's/SELINUX=enforcing/SELINUX=permissive/g'/etc/selinux/config
  3. ##此处使用的是阿里镜像源作为yum源。
  4. mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup
  5. ##下载CentOS5源
  6. wget-O/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-5.repo
  7. ##下载CentOS6源
  8. wget-O/etc/yum.repos.d/CentOS-Base.repohttp://mirrors.aliyun.com/repo/Centos-6.repo
  9. ##根据系统下载好对应版本的源后,需要yummakecache
  10. yummakecache


2.下载Apache、MysqL、@R_301_461@源码包。

下载apr、apr-util、pcre。此三项为Apache2.4安装所需的依赖包。

其中apr、apr-util是Apache可移植运行库。它们为apache提供运行环境,相当于运行JAVA时所需要的JDK/JRE环境。

pcre提供pcre兼容的正则表达式,为apache的rewrite功能提供支持

  1. wgethttp://apache.fayea.com//apr/apr-1.5.2.tar.gz-O/usr/local/src/apr-1.5.2.tar.gz
  2. wgethttp://apache.fayea.com//apr/apr-util-1.5.4.tar.gz-O/usr/local/src/apr-util-1.5.4.tar.gz
  3. wget--no-check-certificatehttps://ftp.pcre.org/pub/pcre/pcre-8.40.tar.gz-O/usr/local/src/pcre-8.40.tar.gz
  4. ##下载Apache-2.4.20
  5. wgethttp://archive.apache.org/dist/httpd/httpd-2.4.20.tar.gz-O/usr/local/src/httpd-2.4.20.tar.gz
  6. ##下载MysqL-5.5.48
  7. wget--no-check-certificatehttps://cdn.MysqL.com/archives/MysqL-5.5/MysqL-5.5.48.tar.gz-O/usr/local/src/MysqL-5.5.48.tar.gz
  8. ##下载@R_301_461@-5.5.30
  9. wgethttp://cn2.@R_301_461@.net/distributions/@R_301_461@-5.5.30.tar.gz-O/usr/local/src/@R_301_461@-5.5.30.tar.gz
  10.  
  11. wgetftp://mcrypt.hellug.gr/pub/crypto/mcrypt/attic/libmcrypt/libmcrypt-2.5.7.tar.gz-O/usr/local/src/libmcrypt-2.5.7.tar.gz


二、安装Apache、MysqL、@R_301_461@

1.安装依赖包

  1. yuminstall-ygccgcc-c++cmakencurses-develbisonopensslopenssl-devellibxml2libxml2-devellibmcryptlibmcrypt-develzlibzlib-devellibpnglibpng-devellibtooljpeg6libjpeglibjpeg-develfreetypefreetype-develautoconfautomakegdlibXpm-develcurlcurl-devel


2.编译安装apr、apr-util、pcre。

  1. cd/usr/local/src/
  2. tarxfapr-1.5.2.tar.gz
  3. tarxfapr-util-1.5.4.tar.gz
  4. tarxfpcre-8.40.tar.gz
  5. tarxfhttpd-2.4.20.tar.gz
  6. tarxfMysqL-5.5.48.tar.gz
  7. tarxf@R_301_461@-5.5.30.tar.gz
  8. tarxflibmcrypt-2.5.7.tar.gz
  9.  
  10. cd/usr/local/src/apr-1.5.2
  11. ./configure--prefix=/usr/local/apr
  12. make&&makeinstall
  13.  
  14. cd/usr/local/src/apr-util-1.5.4
  15. ./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr/
  16. make&&makeinstall
  17.  
  18. cd/usr/local/src/pcre-8.40
  19. ./configure--prefix=/usr/local/pcre
  20. make&&makeinstall


3.编译安装Apache-2.4.20

  1. cd/usr/local/src/httpd-2.4.20
  2. ./configure--prefix=/usr/local/apache-2.4.20--with-apr=/usr/local/apr/--with-apr-util=/usr/local/apr-util/--with-pcre=/usr/local/pcre/--enable-so--enable-modules=most--enable-mods-shared=most--enable-rewrite--enable-ssl--enable-mpms-shared=all
  3. make&&makeinstall
  4.  
  5. ln-s/usr/local/apache-2.4.20/usr/local/apache
  6.  
  7. ##配置apache开机自动启动
  8. echo'/usr/local/apache/bin/apachectlstart'>>/etc/rc.local


4.编译安装MysqL

  1. mkdir-p/mydata/data
  2. useradd-rMysqL
  3. chown-RMysqL:MysqL/mydata/data
  4.  
  5. cd/usr/local/src/MysqL-5.5.48
  6. cmake\
  7. -DCMAKE_INSTALL_PREFIX=/usr/local/MysqL-5.5.48\
  8. -DMysqL_DATADIR=/mydata/data\
  9. -DSYSCONFDIR=/etc/my.cnf\
  10. -DWITH_MYISAM_STORAGE_ENGINE=1\
  11. -DWITH_INNOBASE_STORAGE_ENGINE=1\
  12. -DWITH_MEMORY_STORAGE_ENGINE=1\
  13. -DWITH_PARTITION_STORAGE_ENGINE=1\
  14. -DWITH_READLINE=1\
  15. -DMysqL_UNIX_ADDR=/mydata/data/MysqLd.sock\
  16. -DENABLED_LOCAL_INFILE=1\
  17. -DEXTRA_CHARSETS=all\
  18. -DDEFAULT_CHARSET=utf8\
  19. -DDEFAULT_COLLATION=utf8_general_ci\
  20. -DMysqL_TCP_PORT=3306
  21. make&&makeinstall
  22.  
  23. ln-s/usr/local/MysqL-5.5.48/usr/local/MysqL
  24. ln-s/usr/local/MysqL/include/*/usr/local/include/
  25.  
  26. ##创建MysqL配置文件
  27. cat>/etc/my.cnf<<EOF
  28. [MysqLd]
  29. datadir=/mydata/data
  30. user=MysqL
  31. socket=/mydata/data/MysqLd.sock
  32. #Disablingsymbolic-linksisrecommendedtopreventassortedsecurityrisks
  33. symbolic-links=0
  34. [MysqLd_safe]
  35. log-error=/mydata/data/MysqLd.log
  36. pid-file=/mydata/data/MysqLd.pid
  37. EOF
  38.  
  39. ##配置MysqL启动脚本及开机自动启动
  40. cp/usr/local/MysqL/support-files/MysqL.server/etc/init.d/MysqLd
  41. chkconfig--addMysqLd
  42. chkconfigMysqLd--level345on
  43.  
  44. ##初始化MysqL
  45. /usr/local/MysqL/scripts/MysqL_install_db--basedir=/usr/local/MysqL--datadir=/mydata/data/--user=MysqL
  46. ln-s/usr/local/MysqL/bin/*/usr/bin/
  47. /etc/init.d/MysqLdstart
  48. /usr/local/MysqL/bin/MysqL_secure_installation

5.编译安装@R_301_461@

  1. cd/usr/local/src/libmcrypt-2.5.7
  2. ./configure--prefix=/usr/local/libmcrypt
  3. make&&makeinstall
  4.  
  5. cd/usr/local/src/@R_301_461@-5.5.30
  6. ./configure\
  7. --prefix=/usr/local/@R_301_461@5.5.30\
  8. --with-config-file-path=/usr/local/@R_301_461@/etc\
  9. --with-apxs2=/usr/local/apache/bin/apxs\
  10. --with-MysqL=/usr/local/MysqL/\
  11. --with-libxml-dir\
  12. --with-png-dir\
  13. --with-jpeg-dir\
  14. --with-freetype-dir\
  15. --with-gd\
  16. --with-zlib-dir\
  17. --with-MysqLi\
  18. --with-xpm-dir=/usr/lib64/\
  19. --with-curl\
  20. --enable-soap\
  21. --enable-mbstring=all\
  22. --enable-sockets\
  23. --enable-maintainer-zts\
  24. --with-mcrypt=/usr/local/libmcrypt/
  25. ##注意:当Apache使用event或worker时,编译@R_301_461@需要使用--enable-maintainer-zts参数,当Apache以prefork工作时则不需要使用--enable-maintainer-zts参数。
  26. ##上文中编译Apache时使用了--enable-mpms-shared=all参数,默认会将三种模式以动态模块的方式编译,默认使用event模式,所以此处编译@R_301_461@需要添加--enable-maintainer-zts参数。
  27. make&&makeinstall
  28.  
  29. ln-s/usr/local/@R_301_461@5.5.30/usr/local/@R_301_461@
  30. cp/usr/local/src/@R_301_461@-5.5.30/@R_301_461@.ini-production/usr/local/@R_301_461@/etc/@R_301_461@.ini


三、配置apache站点及防火墙

1.配置Apache

  1. cp/usr/local/apache/conf/httpd.conf/usr/local/apache/conf/httpd.conf.back
  2. mkdir-p/usr/local/apache/conf/conf.d/
  3.  
  4. cat>>/usr/local/apache/conf/httpd.conf<<EOF
  5. #######
  6. ServerNamelocalhost:80
  7. AddTypeapplication/x-httpd-@R_301_461@.@R_301_461@
  8. TraceEnableoff
  9. ServerTokensProd
  10. ServerSignatureOff
  11. EOF
  12.  
  13. ##配置站点www.a.com,仅需将"web=www.a.com"修改成对应站点名称,运行以下脚本即可创建虚拟主机以及相应的目录。
  14. web=www.a.com
  15. mkdir-p/www/$web
  16.  
  17. cat>>/usr/local/apache/conf/httpd.conf<<EOF
  18. ########
  19. Includeconf/conf.d/$web.conf
  20. ########
  21. EOF
  22.  
  23. cat>/usr/local/apache/conf/conf.d/$web.conf<<EOF
  24. <VirtualHost*:80>
  25. DocumentRoot"/www/$web/"
  26. ServerName$web
  27. ErrorLog"|/usr/local/apache/bin/rotatelogs/usr/local/apache/logs/$web-%Y%m%d_error.log86400480"
  28. CustomLog"|/usr/local/apache/bin/rotatelogs/usr/local/apache/logs/$web-%Y%m%d_access.log86400480"common
  29. </VirtualHost>
  30. <Directory"/www/$web/">
  31. OptionsIndexesFollowSymLinks
  32. AllowOverrideAll
  33. Requireallgranted
  34. DirectoryIndexindex.@R_301_461@index.Htmlindex.html
  35. </Directory>
  36. EOF

2.配置防火墙

  1. ##配置防火墙规则,外网允许80、22端口通过防火墙,允许内网流量(eth0为内外网卡)
  2. ##需要注意检查eth0是否为外网网卡,若是外网网卡,需要去掉iptables-AINPUT-ieth0-jACCEPT规则。
  3. ##此外192.168.175.0/24,需要修改成自己的内网网段。
  4. ##防火墙以脚本形式保存,开机自动读取脚本加载防火墙配置,故对防火墙做的任何修改一定要及时保存到脚本中,以免下次重启后防火墙规则出现错误
  5. mkdir-p/www/scripts/
  6.  
  7. cat>/www/scripts/iptables.sh<<EOF
  8. iptables-PINPUTACCEPT
  9. iptables-F
  10. #enabletheportinput
  11. iptables-AINPUT-ptcp--dport80-jACCEPT
  12. iptables-AINPUT-ptcp--dport22-jACCEPT
  13. iptables-AINPUT-s192.168.175.0/24-ptcp--dport3306-jACCEPT
  14. #enableping
  15. iptables-AINPUT-picmp--icmp-typeecho-reply-jACCEPT
  16. iptables-AINPUT-picmp--icmp-typeecho-request-jACCEPT
  17. #enabletheinterfaceinput
  18. iptables-AINPUT-ieth0-jACCEPT
  19. iptables-AINPUT-ilo-jACCEPT
  20. iptables-AINPUT-mstate--stateRELATED,ESTABLISHED-jACCEPT
  21. iptables-AINPUT-ptcp-mtcp--tcp-flagsFIN,SYN,RST,PSH,ACK,URGNONE-jDROP
  22. iptables-AINPUT-ptcp-mtcp--tcp-flagsFIN,SYNFIN,SYN-jDROP
  23. iptables-AINPUT-ptcp-mtcp--tcp-flagsSYN,RSTSYN,RST-jDROP
  24. iptables-AINPUT-ptcp-mtcp--tcp-flagsFIN,RSTFIN,ACKFIN-jDROP
  25. iptables-AINPUT-ptcp-mtcp--tcp-flagsPSH,ACKPSH-jDROP
  26. iptables-AINPUT-ptcp-mtcp--tcp-flagsACK,URGURG-jDROP
  27. iptables-PINPUTDROP
  28. iptables-POUTPUTACCEPT
  29. iptables-PFORWARDDROP
  30. EOF
  31.  
  32. chmod+x/www/scripts/iptables.sh
  33. /www/scripts/iptables.sh
  34.  
  35. ##将防火墙规则加到开机自动启动
  36. echo'/www/scripts/iptables.sh'>>/etc/rc.local


四、编译安装@R_301_461@扩展模块(编译PDO)

  1. wgethttp://pecl.@R_301_461@.net/get/PDO_MysqL-1.0.2.tgz-O/usr/local/src/PDO_MysqL-1.0.2.tgz
  2.  
  3. cd/usr/local/src/
  4. tarxfPDO_MysqL-1.0.2.tgz
  5.  
  6. cdPDO_MysqL-1.0.2
  7. /usr/local/@R_301_461@/bin/@R_301_461@ize
  8. ./configure-with-@R_301_461@-config=/usr/local/@R_301_461@/bin/@R_301_461@-config-with-pdo-MysqL=/usr/local/MysqL
  9. make&&makeinstall
  10.  
  11. echo'extension=pdo_MysqL.so'>>/usr/local/@R_301_461@/etc/@R_301_461@.ini
  12. /usr/local/apache/bin/apachectlrestart


五、@R_301_461@及数据库连接测试页

1.@R_301_461@测试页@R_301_461@info.@R_301_461@

  1. <?@R_301_461@
  2. echo'<pre>';
  3. var_dump(get_loaded_extensions());
  4. echo@R_301_461@info();
  5. ?>


2.MysqL连接测试MysqL.@R_301_461@

  1. <?@R_301_461@
  2. $link=MysqL_connect("127.0.0.1","root","123456");
  3. if(!$link)echo"FAILD";
  4. elseecho"OK!";
  5. ?>


3.MysqLi连接测试MysqLi.@R_301_461@

  1. <?@R_301_461@
  2. $link=newMysqLi('localhost','root','123456','MysqL');
  3. if(!$link)echo"FAILD";
  4. elseecho"OK!";
  5. ?>


4.pdo连接测试pdo.@R_301_461@

  1. <?@R_301_461@
  2. $db=newPDO('MysqL:host=localhost;dbname=MysqL','123456');
  3. if(!$db)echo"FAILD";
  4. elseecho"OK!";
  5. ?>

猜你在找的CentOS相关文章