标签:
CentOS 6.5下源码安装LAMP(Linux+Apache+Mysql+Php)环境
一. 系统环境:
Linux系统版本: CentOS release 6.5
Apache版本: httpd-2.2.24
PHP 版本: php-5.6.11
二.安装前准备:
1.查看是否安装GCC ,GCC-C++编译器,如果没有则进行安装:
查看是否安装的命令:
#gcc –v
若未安装在服务器联网情况下可以使用下列命令安装:
#yum install gcc
#yum install gcc-c++
2.查看和卸载默认的低版本环境(系统安装时自带的rpm包安装环境)
检查是否安装以apache为例:
#rpm –qa | grep httpd
出现下图的情况说明已安装:
3.卸载低版本环境:
#rpm –e httpd*
#rpm –e php* (有时可能需要先卸载mysql,再卸载php)
#rpm –e mysql*
三.相关库文件与插件准备:
1.在安装PHP之前需要安装最新的版本库文件:
Libxml2,libmcrypt,gd2 (gd2库是为了让PHP5支持GIF,PNG和JPG等图片格式,所以在安装gd2之前还需要先安装 zlib,libpng,freetype和jpegsrc等库文件)
四.安装LAMP:
1.安装库文件:
a.安装libxml2 版本:libxml2-2.6.30.tar.gz
# ./configure –prefix=/usr/local/libxml
#make && make install
b.安装libmcrypt 版本:libmcrypt-2.5.8.tar.gz
#./configure –prefix=/usr/local/libmcrypt
#make && make install
c.安装zlib 版本:zlib-1.2.3.tar.gz
#./configure
#make &&make install
d.安装libpng 版本:libpng-1.2.52.tar.gz
#./configure –prefix=/usr/local/libpng
#make && make install
e.安装jpeg6 版本:jpegsrc.v8b.tar.gz (此软件安装时需要手动创建目录)
#mkdir /usr/local/jpeg6
# mkdir /usr/local/jpeg6/bin
# mkdir /usr/local/jpeg6/lib
# mkdir /usr/local/jpeg6/include
# mkdir /usr/local/jpeg6/man/man1
#./configure –prefix=/usr/local/jpeg6/ --enable-shared –enable-static
#make && make install
f.安装freetype 版本:freetype-2.3.5.tar.gz
#./configure –prefix=/usr/local/freetype
#make
#make install
g.安装autoconf 版本:autoconf-2.61.tar.gz
#./configure
#make && make install
h.安装GD库 版本:gd-2.0.33.tar.gz
# /configure \
--prefix=/usr/local/gd2/ \
--enable-m4_pattern_allow \
--with-zlib=/usr/local/zlib/ \
--with-jpeg=/usr/local/jpeg6/ \
--with-png=/usr/local/libpng/ \
--with-freetype=/usr/local/freetype/
#make (注:到这一步安装时一般会出现报错:)
报错信息:
make[2]: *** [gd_png.lo] Error 1
make[2]: Leaving directory `/usr/local/src/gd-2.0.35‘
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/gd-2.0.35‘
make: *** [all] Error 2
原因分析与解决方法:
(1) 出现此报错主要因为gd库文件中的gd_png.c这个文件里的png_h没有找到。
(2) 我们直接#vim gd_png.c 将文件中的include “png.h”改为 include “/usr/local/libpng/include/png.h”就可以解决该问题,/usr/local/libpng/为先前的libpng的安装路径。
(3) 更改完成后最后再执行 #make && make install
五.安装apache,
(1)安装apache时先安装所需插件:
#yum install -y openssl mod_ssl
#yum install openssl-devel –y
(2)安装apr可移植运行库:
#[httpd-2.2.24]# cd srclib/apr
#[httpd-2.2.24/srclib/apr]# ./configure --prefix=/usr/local/apr
#[httpd-2.2.24/srclib/apr]# make
#[httpd-2.2.24/srclib/apr]# make install
#[httpd-2.2.24/srclib/apr]# cd ../apr-util/
#mkdir /usr/local/apr-util
#[httpd-2.2.24/srclib/apr-util]#./configure--prefix=/usr/local/apr-util --with-apr=/usr/local/apr
#[httpd-2.2.24/srclib/apr-util]# make
#[httpd-2.2.24/srclib/apr-util]# make install
(3)安装APACHE:
#cd httpd-2.2.24
#./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --enable-dav --enable-dav-fs --enable-modules=most --enable-mods-shared=all --enable-deflate --enable-ssl --with-apr-util=/usr/local/apr-util --enable-so --enable-rewrite --with-mpm=prefork
部分模块功能说明:
a. --enable-mods-shared=all动态加载所有模块
b. --enable-dav --enable-dav-fs部分系统具备文件上传功能,因此开启dav支持。
c. --enable-deflate提供了压缩功能,一方面节约带宽,另一方面提高用户访问效率
d. --enable-expires 对网站图片,js,css等内容,提供浏览器缓存的功能。
e. --with-mpm=prefork,选择prefork模式,prefork提供了比worker模式更稳定的性能。
(4)加载模块
a. mod_ssl.so模块加载操作
#cd http-2.2.24/modules/ssl
#/usr/local/apache/bin/apxs -a –I –c mod_ssl.c -lcrypto -lssl –ldl
b. mod_speling.so模块加载操作(关闭区分大小写敏感的)
# cd http-2.2.24/modules/ mappers
#/usr/local/ apache/bin/apxs -c -i -a mod_speling.c
(4) 编辑apache的配置文件:
4.1 prefork模式设定,在安装目录
/usr/local/apache/conf/extra/httpd-mpm.conf下进行编辑:
#vim httpd-mpm.config
将原来默认配置:
<IfModule mpm_prefork_module>
StartServers 5 //服务器进程开始子过程数量
MinSpareServers 5 //空闲时服务器最小进程数
MaxSpareServers 10 //空闲时服务器最大进程数
MaxRequestWorkers 250 //允许的最大数量的服务器进程
MaxConnectionsPerChild 0 //服务器进程最大连接数
</IfModule>
更改为如下:
<IfModule mpm_prefork_module>
ServerLimit 20000 //设置为两万让MaxClient支持更多的进程
StartServers 20
MinSpareServers 20
MaxSpareServers 50
MaxClients 1000
MaxRequestsPerChild 10000 //设置为非0可防止内存泄漏,闲时回收进程数量
</IfModule>
4.2 /usr/local/apache/conf下httpd.conf配置文件修改:
#vim httpd.conf
ServerRoot "/usr/local/apache" //apache的安装路径该配置在30行
Listen 80 //配置监听端口为80 该配置在41行附近
LoadModule speling_module modules/mod_speling.so
CheckSpelling On // 关闭大小写区分 56行附近
LoadModule php5_module modules/libphp5.so //加载PHP解释器 58行
Addtype plication/x-httpd-php .php .phtml //apache与PHP整合 59行
User apache //启动apache所使用的用户
Group apache //启动apache所使用的用户所属的用户组
ServerName localhost:80 //默认服务器和端口 106行附近
123 <Directory /> // apache的根目录访问权限
124 Options none
125 AllowOverride None
126 Order deny,allow
127 allow from all
128 </Directory>
<Directory "/www"> //apache的默认根目录与访问权限设置
153 Options none
165 Order allow,deny
166 Allow from all
167
168 </Directory>
174 <IfModule dir_module> //默认首页配置174---176行
175 DirectoryIndex index.html index.php
176 </IfModule>
182 <FilesMatch "^\.ht"> //.ht文件访问设置,默认配置既可,默认可访问
183 Order allow,deny
184 Deny from all
185 Satisfy All
186 </FilesMatch>
195 ErrorLog "logs/error_log" //错误日志目录配置路径
386 Include conf/extra/httpd-mpm.conf //启用MPM模块
404 Include conf/extra/httpd-vhosts.conf//启用虚拟主机配置
416 Include conf/extra/httpd-ssl.conf //启用证书支持
4.3 SSL配置/usr/local/apache/conf/extra/httpd-ssl.conf
#vim httpd-ssl.conf
37 Listen 443 //启用HTTPS所使用的443端口
78 DocumentRoot "/www" //需要使用HTTPS协议传输文件路径
79 ServerName localhost:443 //所有域名都跳转443
80 ServerAdmin you@example.com
81 ErrorLog "/usr/local/apache/logs/error_log"
82 TransferLog "/usr/local/apache/logs/access_log"
(注:每行前的数字为所在配置文件中行数)
未完待续--------------
CentOS 6.5下源码安装LAMP(Linux+Apache+Mysql+Php)环境
标签:
原文地址:http://www.cnblogs.com/lhlucky/p/luckly2016good.html