最近抽空在虚拟机上测试成功了LAMP各个最新版本的整合编译安装,算是把之前的博文整合精简,以下内容均在CENTOS6.3(安装minimal desktop和默认开发包)下测试安装成功,并做了相应优化配置,如有遗漏,还请留言指教。
LINUX操作系统:centOS6.3 64bit(安装了系统默认开发包)
APACHE:httpd-2.4.4
MYSQL:mysql-5.6.10
PHP:php-5.4.13
注:推荐安装centos6.3系统时,在系统安装向导中。将默认开发包勾上,避免后期编译报错
[b]一.安装开发包(使用默认CENTOS更新源):[/b]
[url=http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.13.tar.gz/from/http://cdn.mysql.com/]http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.13.tar.gz/from/http://cdn.mysql.com/[/url]
2.安装前的初始配置工作:
[url=http://sourceforge.net/projects/pcre/files/pcre/8.32/pcre-8.32.tar.gz/download]http://sourceforge.net/projects/pcre/files/pcre/8.32/pcre-8.32.tar.gz/download[/url]
# tar -xzvf pcre-8.32.tar.gz
# cd pcre-8.32
# ./configure --prefix=/usr/local/pcre
# make && make install
2.下载apache
其实这里在apache官网找不到httpd-2.4.4-deps.tar.bz2的编译包,不知道官方怎么想的,最后研究了下最近的2.43deps版本,解压该编译包,发现里面放的其实就是apr和apr-util两个apache的依赖包,现在的方法是直接把2.43的包解压到apache安装根目录即可连同apache编译安装,最后能正常安装使用,算是一个无奈之举,但安装起来较网上单独编译安装依赖包要简便一些.
[url=http://archive.apache.org/dist/httpd/httpd-2.4.3-deps.tar.bz2]http://archive.apache.org/dist/httpd/httpd-2.4.3-deps.tar.bz2[/url]
# wget [url=http://archive.apache.org/dist/httpd/httpd-2.4.4.tar.bz2]http://archive.apache.org/dist/httpd/httpd-2.4.4.tar.bz2[/url]
3.解包
注:httpd-2.4.3-deps.tar.bz2已集成APR,安装apache前检查pcre是否安装成功.
[url=http://cn2.php.net/distributions/php-5.4.13.tar.bz2]http://cn2.php.net/distributions/php-5.4.13.tar.bz2[/url]
# tar -jxvf php-5.4.13.tar.bz2
# cd php-5.4.13
此处编译安装了我们项目经常用到的PHP模块,如有其它需要可以自定义添加.
# ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-libxml-dir=/usr/local/lib --with-zlib-dir=/usr/local/lib --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-gd --enable-soap --enable-sockets --enable-xml --enable-mbstring --with-png-dir=/usr/local --with-jpeg-dir=/usr/local --with-curl=/usr/lib --with-freetype-dir=/usr/include/freetype2/freetype/ --enable-bcmath --enable-calendar --enable-zip --enable-maintainer-zts
# 注:其中最后一个参数--enable-maintainer-zts在安装PHP5.4最新版本时必须添加(5.3貌似不需要),表示打开PHP进程安全Thread Safe,默认不添加为NON Thread Safe,开启apache服务会报错.....(此处被坑了一下午...#$%^&*)
# make
# make install
安装结束后:
添加php配置文件,需要CP一个源码里面的php.ini-development或php.ini-production 到/usr/local/php/lib为php.ini
#cd ~/php-5.4.13
#cp php.ini-development /usr/local/php5/lib/php.ini
3.配置APACHE的PHP模块:
编辑Apache配置文件,
# vi /usr/local/apache2/conf/httpd.conf
并添加以下一行:
--------------------------------------------
AddType application/x-httpd-php .php
--------------------------------------------
并在 DirectoryIndex 一行后面加上 index.php
如果PHP无法加载,检查httpd.conf配置下是否有该行配置(默认安装PHP后会自动将该行写入)
LoadModule php5_module modules/libphp5.so
4.测试PHP加载:
注: 编译安装的apache 网页存放路径跟rpm包安装的不一样。编译安装的路径在/usr/local/apache2/htdocs/
可添加以下内容info.php到/usr/local/apache2/htdocs/下,测试php模块是否加载.
# vi /usr/local/apache2/htdocs/info.php
---------------
<?php
echo phpinfo();
?>
---------------
检查80端口是否打开
# lsof -i:80
浏览器输入 http://localhost/info.php
显示有如下测试页面内容,PHP模块即在APACHE下加载成功
[img]http://img.1sucai.cn/uploads/article/2018010710/20180107100138_0_87640.jpg[/img]
[img]http://img.1sucai.cn/uploads/article/2018010710/20180107100139_1_90944.jpg[/img]
[img]http://img.1sucai.cn/uploads/article/2018010710/20180107100139_2_13861.jpg[/img]
测试本地mysql是否正常连接
# vi /usr/local/apache2/htdocs/index.php
---------------------
<html><body><h1>The page to test mysql local connection.</h1></body></html>
<?php
$conn=mysql_connect('localhost','root','123456');
if ($conn)
echo "<h2>Success...</h2>";
else
echo "<h2>Failure...</h2>";
?>
---------------------
浏览器输入 http://localhost
显示如下页面,表示连接成功.
[img]http://img.1sucai.cn/uploads/article/2018010710/20180107100140_3_68832.jpg[/img]
5.PHP配置项: (默认路径/usr/local/php5/lib/php.ini)
# vi /usr/local/php5/lib/php.ini
-------------------------
# 隐藏PHP版本信息:
expose_php = Off
# 关闭警告及错误信息,爆路径:
display_errors = Off
# 调整时区,防止phpinfo()函数报错.
date.timezone =PRC
# 开启php错误日志并设置路径.
log_errors = On
error_log = /usr/local/apache2/logs/php_error.log
--------------大功告成O(∩_∩)O~-----------------