LAMP环境编译

一、安装

1、安装apr-1.5.1

  1. tar -zxvf apr-1.5.1.tar.gz
  2. cd apr-1.5.1
  3. ./configure --prefix=/usr/local/apr-1.5.1/
  4. make
  5. make install
  6. ln -s /usr/local/apr-1.5.1/bin/apr-1-config /usr/bin/

2、安装apr-util-1.5.4

  1. tar -zxvf apr-util-1.5.4.tar.gz
  2. cd apr-util-1.5.4
  3. ./configure --prefix=/usr/local/apr-util-1.5.4 --with-apr=/usr/local/apr-1.5.1/
  4. make
  5. make install
  6. ln -s /usr/local/apr-util-1.5.4/bin/apu-1-config /usr/bin/

3、httpd-2.4.10

  1. tar -zxvf httpd-2.4.10.tar.gz
  2. cd httpd-2.4.10
  3. ./configure --prefix=/usr/local/httpd-2.4.10 --enable-so --enable-module=so
  4. make
  5. make install

二、配置启动脚本

1、启动脚本,软链

  1. ln -s /usr/local/httpd-2.4.10/bin/apachectl /usr/local/bin/

三、配置文件目录,软链

1、先把设置好软链,复制到到/etc/httpd下

  1. mkdir /etc/httpd
  2. ln -s /usr/local/httpd-2.4.10/conf/ /etc/httpd

2、修改httpd.conf配置文件

  1. vim /usr/local/httpd-2.4.10/conf/httpd.conf
  2. 1) 设置运行用户和组
  3. User evans
  4. Group evans
  5. 2)设置根目录权限
  6. <Directory />
  7. #Options(目录参数)、Indexes FollowSymLinks(Options的参数)
  8. Options Indexes FollowSymLinks
  9. #AllowOverride(允许覆盖参数功能->.htaccess文件),None(不允许),Indexex(允许index方面的覆盖),ALL(全部权限覆盖)
  10. AllowOverride All
  11. </Directory>
  12. 3)把跟目录注释掉 (后续配置虚拟空间,需要这步,否则跳过)
  13. #DocumentRoot
  14. 4)设置默认文件
  15. DirectoryIndex index.php index.html
  16. 5)添加php支持 (全文搜素AddType,在后续追加)
  17. AddType application/x-httpd-php .php
  18. AddType application/x-httpd-php-source .phps
  19. 4)引入自定义的配置文件,全文搜素(Include),在Include群中最后一条添加Include conf/conf.d/*.conf
  20. mkdir /usr/local/httpd-2.4.10/conf/conf.d
  21. touch /usr/local/httpd-2.4.10/conf/conf.d/jason.conf
  22. Include conf/conf.d/*.conf
  23. 5)开启虚拟机-这步过滤掉,走conf.d里的文件 (如果需要开启虚拟机,需要这步,否则跳过)
  24. #Include conf/extra/httpd-vhosts.conf
  25. 6)开启模块(支持URL重写、CGI等)
  26. #注释
  27. 在Apache httpd 2.4以后已经专门有一个模块针对FastCGI的实现,
  28. 此模块为mod_proxy_fcgi.so,它其实是作为mod_proxy.so模块的扩充,所以此两个模块都要加载。
  29. proxy_module
  30. proxy_fcgi_module
  31. rewrite_module
  32. mod_rewrite
  33. 7) ServerName (如果是80,设置为80)
  34. ServerName 0.0.0.0:8080
  35. 8)监听端口 (如果是80,设置为80)
  36. Listen 8080

四、命令

1、测试配置文件(出现Syntax OK 表示正确)

  1. ./apachectl configtest

2、其他命令

  1. 启动
  2. ./apachectl start
  3. 重启
  4. ./apachectl restart
  5. 关闭
  6. ./apachectl stop

五、配置网站

1、创建web目录

  1. 1)root账号创建
  2. mkdir /web
  3. chown -R evans:evans /web
  4. 2)evans账号
  5. mkdir /web/www
  6. echo "<?php echo phpinfo(); ?>" >> /web/www/phpinfo.php

2、配置一个虚拟主机

  1. vim /usr/local/httpd-2.4.10/conf/conf.d/jason.conf
  2. Timeout 300
  3. KeepAlive On
  4. MaxKeepAliveRequests 500
  5. KeepAliveTimeout 15
  6. ServerAdmin 492103904@qq.com
  7. #配置网站根目录
  8. <VirtualHost 121.199.1.100:8080>
  9. DocumentRoot /web/www
  10. ServerName 121.199.1.100
  11. #关闭正向代理
  12. ProxyRequests Off
  13. #php-fpm配置,要跟DocumentRoot配置的目录保持一致
  14. ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/web/www/$1
  15. #ErrorLog logs/dummy-host.example.com-error_log
  16. #CustomLog logs/dummy-host.example.com-access_log common
  17. </VirtualHost>
  18. #zhaopai.jsonlin.cn虚拟主机
  19. <VirtualHost zhaopai.jsonlin.cn:8080>
  20. DocumentRoot "/web/www/zhaopai"
  21. ServerName zhaopai.jsonlin.cn
  22. ProxyRequests Off
  23. ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/web/www/zhaopai/$1
  24. <Directory "/web/www">
  25. Options Indexes FollowSymLinks
  26. AllowOverride ALL
  27. Order allow,deny
  28. Allow from all
  29. </Directory>
  30. </VirtualHost>