LAMP最新编译安装及简单实例

我的虚拟主机环境

操作系统:Red Hat Enterprise 5.8 

编译安装的软件:

httpd-2.4.2.tar.bz2

mysql-5.5.24-linux2.6-i686.tar.gz

php-5.4.4.tar.bz2  

xcache-2.0.0.tar.bz2

目录:

1、编译安装实现的过程

2、个人主页配置

3、虚拟主机配置

4、别名配置

 

一、编译安装httpd-2.4.2

  
  
  
  
  1. 1、httpd-2.4.2需要较新版本的apr和apr-util,因此需要事先对其进行升级。升级方式有两种,一种是通过源码编译安装,一种是直接升级rpm包,下载好安装包以后使用“rpm -Uvh”进行升级即可。这里选择使源码编译安装。 
  2. 注意:安装这些软件包之前不要忘记安装开发环境了,不然你安装的时候会报很多错的 
  3. yum -y groupinstall "Development Tools" 
  4. yum -y groupinstall "Development Libraries" 
  5.  
  6. 编译安装apr和apr-util 
  7. tar xf apr-1.4.6.tar.bz2  
  8. ./configure --prefix=/usr/local/apr 
  9. make && make install 
  10.  
  11. tar xf apr-util-1.4.1.tar.bz2  
  12. ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr  
  13. make && make install 
  14.  
  15. 注意:httpd-2.4.2编译过程也要依赖于pcre-devel 和openssl-devel软件包,我们yum安装一下 
  16. yum install pcre-devel openssl-devel 
  17.  
  18.  
  19. 2、编译安装httpd-2.4.2.tar.bz2 
  20. tar xf httpd-2.4.2.tar.bz2  
  21. cd httpd-2.4.2  
  22. ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util  
  23. make && make install 
  24.  
  25. 了解更多的编译参数请./configure --help进行查看 

二、安装mysql-5.5.24(这里是绿色版直接解压使用)

   
   
   
   
  1. 新建用户以安全方式运行进程: 
  2. groupadd -r mysql 
  3. useradd  -g mysql -r -s /sbin/nologin mysql
  4. chown mysql:mysql /mydata
  5.  
  6. 解压mysql并创建软链接 
  7. tar xf mysql-5.5.24-linux2.6-i686.tar.gz -C /usr/local  
  8. cd /usr/local 
  9. ln -sv mysql-5.5.24-linux2.6-i686  mysql 
  10.  
  11. 修改属主和组并初始化mysql-5.5.24 
  12. chown -R mysql:mysql  . 
  13. /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/mydata
  14. chown -R root . 
  15.  
  16.  
  17. 为mysql提供主配置文件: 
  18. cd /usr/local/mysql 
  19. cp support-files/my-large.cnf  /etc/my.cnf 
  20.  
  21. 编辑my.cnf文件
  22. vim /etc/my.cnf
    并修改此文件中thread_concurrency的值为你的CPU个数乘以2,比如这里使用如下行: 
  23. thread_concurrency = 2 
  24. datadir = /mydata
  25.  
  26. 为mysql提供sysv服务脚本: 
  27. cd /usr/local/mysql 
  28. cp support-files/mysql.server  /etc/rc.d/init.d/mysqld 
  29.  
  30. 添加至服务列表: 
  31. chkconfig --add mysqld 
  32. chkconfig mysqld on 
  33. 最后就可以启动服务测试使用了。
  34.  
  35. 使用mysql的安装符合系统使用规范,并将其开发组件导出给系统使用 
  36. vim /etc/profile      /添加PATH搜索路径/  PATH=$PATH:/usr/local/mysql/bin:/usr/local/apache/bin 
  37. vim /etc/man.config       /添加man路径/ MANPATH    /usr/local/mysql/man 
  38.  
  39. 使用其mysql和httpd命令生效
  40. export PATH=$PATH:/usr/local/mysql/bin/
  41. export PATH=$PATH:/usr/local/apache/bin/
     
  42. 输出mysql的头文件至系统头文件路径/usr/include: 
  43. 这可以通过简单的创建链接实现: 
  44. ln -sv /usr/local/mysql/include  /usr/include/mysql 
  45. 输出mysql的库文件给系统库查找路径: 
  46. echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf 
  47.  
  48. 最后让系统重新载入系统库: 
  49. ldconfig 

三、编译安装php-5.4.4

  1. tar xf php-5.4.4.tar.bz2 
  2. cd php-5.4.4
  3. ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 
  4. make && make install 
  5.  
  6. 为php提供配置文件 
  7. cp php.ini-production /etc/php.ini 
  8.  
  9. 编辑apache配置文件,让apache支持php 
  10. vim /etc/httpd/httpd.conf 
  11. 检查libphp5.so模块是否添加,并且开启 
  12.  
  13. 找到<IfModule mime_module>模块,在里面添加 
  14. AddType application/x-httpd-php  .php 
  15.  
  16. 定位至:DirectoryIndex index.html  
  17. 修改为:DirectoryIndex  index.php  index.html 
  18.     
  19. 保存退出重启httpd 
  20. 重启httpd命令:/usr/local/apache/bin/apachectl restart 
  21. 写一个php测试脚本:echo "<?php phpinfo(); ?>>/usr/local/apache/htdocs/index.php 
  22. 测试结果http://ip/index.php 
  23.  
  24. 提示:这时你可以做一个压力测试,使用apache自带的压力测试工具ab,然后你就知道为什么装xcache了 

四、编译安装xcache-2.0.0

    
    
    
    
  1. XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上的 PHP 性能. 他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接使用缓冲区已编译的代码从而提高速度. 通常能够提高您的页面生成速率 2 到5 倍, 降低服务器负载. 
  2. tar xf xcache-2.0.0.tar.gz 
  3. cd xcache-2.0.0 
  4. /usr/local/php/bin/phpize 
  5. ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config 
  6. make && make install 
  7.  
  8. 安装结束时,会出现类似如下行: 
  9. Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20100525/ 
  10.  
  11. 编辑php.ini,整合php和xcache: 
  12.  
  13. 首先将xcache提供的样例配置导入php.ini 
  14. mkdir /etc/php.d 
  15. cp xcache.ini /etc/php.d 
  16. 说明:xcache.ini文件在xcache的源码目录中。 
  17.  
  18. 接下来编辑/etc/php.d/xcache.ini,找到zend_extension开头的行,修改为如下行: 
  19. zend_extension = /usr/local/php/lib/php/extensions/no-debug-zts-20100525/xcache.so 
  20. 注意:如果php.ini文件中有多条zend_extension指令行,要确保此新增的行排在第一位 
  21. 最后重启apache服务在phpinfo中可以看到xcache是否安装成功 
     

 

1、实现个人主页配置

    
    
    
    
  1. 1、实现个人主页配置 
  2. 所谓个人主页配置,就是显示系统中每个用户家目录中指定的页面,主要参数配置是UserDir 
  3. 编译httpd.conf配置文件,需要修改以下内容 
  4. vim /etc/httpd/httpd.conf 
  5. LoadModule authn_core_module modules/mod_authn_core.so 
  6. LoadModule authz_host_module modules/mod_authz_host.so 
  7. LoadModule userdir_module modules/mod_userdir.so 
  8. Include /etc/httpd/extra/httpd-userdir.conf  
  9. 把前面的#号去掉 
  10. 保存退出 
  11.  
  12. 编辑/etc/httpd/extra/httpd-userdir.conf配置文件,需要修改以下内容 
  13. vim /etc/httpd/extra/httpd-userdir.conf  
  14. UserDir public_html  
  15.  
  16. <Directory "/home/*/public_html"> 
  17.     AllowOverride none 
  18.     Options none 
  19.     Require all granted 
  20. </Directory> 
  21. 保存退出 
  22. 重启httpd 
  23. 重启httpd命令:/usr/local/apache/bin/apachectl restart 
  24.  
  25. 新建用户test和建立public_html目录 
  26. useradd test 
  27. mkdir -p /home/test/public_html /这个目录必须存在,根据上面的参数设置的/ 
  28. chmod o+x /home/test /注意:要给予其他用户访问的权限/ 
  29. echo "<h1>hello</h1>>/home/test/public_html/index.html 
  30.  
  31. 最后测试:http://192.168.184.135/~test/ 


 

2、虚拟主机配置

   
   
   
   
  1. 编辑httpd.conf配置文件,需要修改以下内容 
  2. vim /etc/httpd/httpd.conf 
  3. LoadModule log_config_module modules/mod_log_config.so 
  4. Include /etc/httpd/extra/httpd-vhosts.conf 
  5. 把前面的#号去掉 
  6. #DocumentRoot "/usr/local/apache/htdocs" /前面加个#号,注释掉/ 
  7. 保存退出 
  8.  
  9. 编辑/etc/httpd/extra/httpd-vhosts.conf配置文件,需要修改以下内容 
  10. <VirtualHost *:80>    /这个是支持虚拟主机模块容器,指定80端口/     
  11. ServerName www.test.com  /虚拟主机FQDN/ 
  12. DocumentRoot /www/users/test.com  /虚拟主机网页存放目录/ 
  13. ErrorLog /var/log/httpd/test.com-error_log  /虚拟主机错误日志/ 
  14. CustomLog /var/log/httpd/test.com-access_log common /虚拟主机访问日志,并定义日志级别common/ 
  15.      <Directory "/www/users/test.com"> /对虚拟主机的网页目录进行权限设置,这个很重要必须设置不然不能访问这个是对于Apache/2.4.2而言的/ 
  16.       Options indexes  
  17.       AllowOverride none 
  18.       Require all granted 
  19.       </Directory> 
  20. </VirtualHost> 
  21. 保存退出 
  22. /usr/local/apache/bin/httpd -S 执行这个命令看看虚拟主机设置是否有误 
  23. 重启httpd 
  24. 重启httpd命令:/usr/local/apache/bin/apachectl restart 
  25. 提示:事先必须做好域名解析才可以正常访问 
  26.  
  27. mkdir -p /www/users/test.com 
  28. echo "<?php phpinfo(); ?>" >/www/users/test.com/index.php 
  29. 最后测试访问:http://www.test.com 

 

 

3、别名配置(包括Alias和ScriptAlias) 
  
  
  
  
  1. 编辑httpd.conf配置文件,需要修改以下内容 
  2. LoadModule alias_module modules/mod_alias.so 
  3. LoadModule cgi_module modules/mod_cgi.so 
  4. 把前面的#号去掉 
  5. 保存退出 
  6.  
  7. 编辑/etc/httpd/extra/httpd-vhosts.conf配置文件,需要修改以下内容,还是刚才的虚拟主机test.com 
  8. <VirtualHost *:80> 
  9. ServerName www.test.com 
  10. DocumentRoot /www/users/test.com 
  11. Alias /data "/www/users/test.com"  /做别名访问/ 
  12. ScriptAlias /cgi-bin/ "/www/cgi-bin/"  /CGI路径别名/ 
  13. <Directory "/www/cgi-bin"> /对这个目录进行访问控制 
  14.     AllowOverride None 
  15.     Options None 
  16.     Require all granted 
  17. </Directory> 
  18. ErrorLog /var/log/httpd/test.com-error_log 
  19. CustomLog /var/log/httpd/test.com-access_log common 
  20.         <Directory "/www/users/test.com"> 
  21.          Options indexes 
  22.          AllowOverride none 
  23.          Require all granted 
  24.         </Directory> 
  25. </VirtualHost 
  26.  
  27. 建立目录和脚本 
  28. mkdir /data 
  29. mkdir /www/cgi-bin 
  30. cd /www/cgi-bin 
  31. vim test.sh 
  32. #!/bin/bash 
  33. echo "Content-type:text/html" 
  34. echo 
  35. data 
  36. echo  
  37. ps auxf 
  38.  
  39. 最后测试访问: 
  40. Alias效果访问:http://www.test.com/data 
  41. ScriptAlias效果访问:http://www.test.com/cgi-bin/test.sh   

Alias效果访问:http://www.test.com/data 

 

 


ScriptAlias效果访问:http://www.test.com/cgi-bin/test.sh 

 1、更多的参数及实例请参考Apache/2.4.2官方手册:http://httpd.apache.org/docs/2.4/

你可能感兴趣的:(apache,PHP,lamp,httpd)