<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>DevOps技术分享 &#187; LAMP</title>
	<atom:link href="http://www.showerlee.com/archives/tag/lamp/feed" rel="self" type="application/rss+xml" />
	<link>http://www.showerlee.com</link>
	<description>与你共同学习运维开发</description>
	<lastBuildDate>Mon, 19 Oct 2020 05:51:41 +0000</lastBuildDate>
	<language>zh-CN</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.6</generator>
		<item>
		<title>LAMP 全功能编译安装 for CentOS6.3笔记</title>
		<link>http://www.showerlee.com/archives/6</link>
		<comments>http://www.showerlee.com/archives/6#comments</comments>
		<pubDate>Fri, 16 Aug 2013 07:43:08 +0000</pubDate>
		<dc:creator>showerlee</dc:creator>
				<category><![CDATA[APACHE]]></category>
		<category><![CDATA[LAMP]]></category>
		<category><![CDATA[MYSQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.showerlee.com/?p=6</guid>
		<description><![CDATA[最近抽空在虚拟机上测试成功了LAMP各个最新版本的整合编译安装,算是把之前的博文整合精简,以下内容均在CENT [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>
	最近抽空在虚拟机上测试成功了<a href="http://www.showerlee.com/archives/tag/lamp" title="查看LAMP中的全部文章" class="tag_link">LAMP</a>各个最新版本的整合编译安装,算是把之前的博文整合精简,以下内容均在CENTOS6.3(安装minimal desktop和默认开发包)下测试安装成功,并做了相应优化配置,如有遗漏,还请留言指教.
</p>
<p>
	&nbsp;
</p>
<p>
	LINUX操作系统:centOS6.3 64bit(安装了系统默认开发包)
</p>
<p>
	<a href="http://www.showerlee.com/archives/tag/apache" title="查看APACHE中的全部文章" class="tag_link">APACHE</a>:httpd-2.4.4
</p>
<p>
	<a href="http://www.showerlee.com/archives/tag/mysql" title="查看MYSQL中的全部文章" class="tag_link">MYSQL</a>:mysql-5.6.10
</p>
<p>
	<a href="http://www.showerlee.com/archives/tag/php" title="查看PHP中的全部文章" class="tag_link">PHP</a>:php-5.4.13
</p>
<p>
	注：推荐安装centos6.3系统时，在系统安装向导中。将默认开发包勾上，避免后期编译报错
</p>
<p>
	&nbsp;
</p>
<p>
	一.安装开发包(使用默认CENTOS更新源):
</p>
<p>
	# yum -y install wget gcc-c++ ncurses ncurses-devel cmake make perl bison openssl openssl-devel gcc* libxml2 libxml2-devel curl-devel libjpeg* libpng* freetype*
</p>
<p>
	二.关闭iptables和SELINUX
</p>
<p>
	# service iptables stop
</p>
<p>
	# setenforce 0
</p>
<p>
	# vi /etc/sysconfig/selinux
</p>
<p>
	---------------
</p>
<p>
	SELINUX=disabled
</p>
<p>
	---------------
</p>
<p>
	&nbsp;
</p>
<p>
	三.安装mysql数据库
</p>
<p>
	1.下载编译包：
</p>
<p>
	# wget <a href="http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.13.tar.gz/from/http://cdn.mysql.com/" rel="nofollow">http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.13.tar.gz/from/http://cdn.mysql.com/</a>
</p>
<p>
	&nbsp;
</p>
<p>
	2.安装前的初始配置工作：
</p>
<p>
	# useradd -d /usr/local/mysql/ mysql &nbsp; #创建一个Mysql用户，指定家目录到/use/local目录下。
</p>
<p>
	# mkdir /usr/local/mysql/data &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
</p>
<p>
	# mkdir /usr/local/mysql/log &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #新建mysql下data和log子目录
</p>
<p>
	# chown -R mysql:mysql /usr/local/mysql/data/
</p>
<p>
	# chown -R mysql:mysql /usr/local/mysql/log/
</p>
<p>
	# chmod 750 /usr/local/mysql/data &nbsp; &nbsp; &nbsp;
</p>
<p>
	# chmod 750 /usr/local/mysql/log &nbsp; &nbsp; &nbsp; #修改目录的所属者以及所属组
</p>
<p>
	&nbsp;
</p>
<p>
	3.解包编译安装
</p>
<p>
	# tar -zxv -f mysql-5.6.10.tar.gz &nbsp; &nbsp; &nbsp;
</p>
<p>
	# cd mysql-5.6.10 &nbsp;
</p>
<p>
	# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
</p>
<p>
	-D<a href="http://www.showerlee.com/archives/tag/mysql" title="查看MYSQL中的全部文章" class="tag_link">MYSQL</a>_UNIX_ADDR=/tmp/mysql.sock \
</p>
<p>
	-DDEFAULT_CHARSET=utf8 \
</p>
<p>
	-DDEFAULT_COLLATION=utf8_general_ci \
</p>
<p>
	-DEXTRA_CHARSETS=all \
</p>
<p>
	-DWITH_MYISAM_STORAGE_ENGINE=1 \
</p>
<p>
	-DWITH_INNOBASE_STORAGE_ENGINE=1 \
</p>
<p>
	-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
</p>
<p>
	-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
</p>
<p>
	-DWITH_MEMORY_STORAGE_ENGINE=1 \
</p>
<p>
	-DWITH_FEDERATED_STORAGE_ENGINE=1 \
</p>
<p>
	-DWITH_READLINE=1 \
</p>
<p>
	-DENABLED_LOCAL_INFILE=1 \
</p>
<p>
	-DMYSQL_DATADIR=/usr/local/mysql/data \
</p>
<p>
	-DMYSQL_USER=mysql \
</p>
<p>
	-DMYSQL_TCP_PORT=3306 \
</p>
<p>
	-DSYSCONFDIR=/etc \
</p>
<p>
	-DWITH_SSL=yes
</p>
<p>
	&nbsp;
</p>
<p>
	# &nbsp;make &amp; make install
</p>
<p>
	&nbsp;
</p>
<p>
	编译注解：
</p>
<p>
	-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #安装目录
</p>
<p>
	-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#Unix socket文件路径,自定义此路径防报错
</p>
<p>
	-DDEFAULT_CHARSET=utf8 \ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#默认字符
</p>
<p>
	-DDEFAULT_COLLATION=utf8_general_ci \ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#校验字符
</p>
<p>
	-DEXTRA_CHARSETS=all \ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #安装所有扩展字符集
</p>
<p>
	-DWITH_MYISAM_STORAGE_ENGINE=1 \ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #安装myisam存储引擎
</p>
<p>
	-DWITH_INNOBASE_STORAGE_ENGINE=1 \ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#安装innodb存储引擎
</p>
<p>
	-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #安装archive存储引擎
</p>
<p>
	-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #安装blackhole存储引擎
</p>
<p>
	-DWITH_MEMORY_STORAGE_ENGINE=1 \ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#安装memory存储引擎
</p>
<p>
	-DWITH_FEDERATED_STORAGE_ENGINE=1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #安装frderated存储引擎
</p>
<p>
	-DWITH_READLINE=1 \ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#快捷键功能
</p>
<p>
	-DENABLED_LOCAL_INFILE=1 \ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#允许从本地导入数据
</p>
<p>
	-DMYSQL_DATADIR=/usr/local/mysql/data \ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#数据库存放目录
</p>
<p>
	-DMYSQL_USER=mysql \ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #数据库属主
</p>
<p>
	-DMYSQL_TCP_PORT=3306 \ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #数据库端口
</p>
<p>
	-DSYSCONFDIR=/etc \ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #MySQL配辑文件
</p>
<p>
	-DWITH_SSL=yes &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #数据库SSL
</p>
<p>
	&nbsp;
</p>
<p>
	4.编写mysql配置项：
</p>
<p>
	# &nbsp;vi /etc/my.cnf
</p>
<p>
	--------------------------------------------
</p>
<p>
	[mysql]</p>
<p># CLIENT #<br />
port &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 3306<br />
socket &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = /tmp/mysql.sock</p>
<p>[mysqld]</p>
<p># GENERAL #<br />
user &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = mysql<br />
default_storage_engine &nbsp; &nbsp; &nbsp; &nbsp; = InnoDB<br />
socket &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = /tmp/mysql.sock<br />
pid_file &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = /var/run/mysqld/mysqld.pid</p>
<p># MyISAM #<br />
key_buffer_size &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 32M<br />
myisam_recover &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = FORCE,BACKUP</p>
<p># SAFETY #<br />
max_allowed_packet &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 16M<br />
max_connect_errors &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 1000000<br />
skip_name_resolve<br />
sql_mode &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY<br />
sysdate_is_now &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 1<br />
innodb &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = FORCE<br />
innodb_strict_mode &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 1</p>
<p># DATA STORAGE #<br />
datadir &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= /usr/local/mysql/data</p>
<p># BINARY LOGGING #<br />
log-bin &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=/usr/local/mysql/log/bin.log<br />
expire_logs_days &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 30<br />
sync_binlog &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1</p>
<p># CACHES AND LIMITS #<br />
key_buffer &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 64M<br />
max_allowed_packet &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 16M<br />
sort_buffer_size &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 16M<br />
read_buffer_size &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 4M<br />
read_rnd_buffer_size &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 16M<br />
thread_stack &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 8M<br />
tmp_table_size &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 8M<br />
max_heap_table_size &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 2M<br />
query_cache_type &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 1<br />
query_cache_size &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 32M<br />
query_cache_limit &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 2M<br />
max_connections &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 2048<br />
thread_cache_size &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 512<br />
open_files_limit &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 65535<br />
table_definition_cache &nbsp; &nbsp; &nbsp; &nbsp; = 400<br />
table_open_cache &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 2048</p>
<p># INNODB #<br />
innodb_log_files_in_group &nbsp; &nbsp; &nbsp;= 2<br />
innodb_log_file_size &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 16M<br />
innodb_flush_log_at_trx_commit = 1<br />
innodb_file_per_table &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= 1<br />
# 128M这个值视服务器内存而定<br />
innodb_buffer_pool_size &nbsp; &nbsp; &nbsp; &nbsp;= 128M
</p>
<p>
	# 移除多余缓存<br />
performance_schema = 0</p>
<p># LOGGING #<br />
log-error=/usr/local/mysql/log/error.log<br />
general_log=1<br />
general_log_file=/usr/local/mysql/log/mysql.log<br />
slow_query_log=1<br />
slow_query_log_file=/usr/local/mysql/log/slowquery.log<br />
log-output=FILE</p>
<p># 避免MySQL的外部锁定，减少出错几率增强稳定性 #<br />
skip-external-locking</p>
<p># 禁止sql读取本地文件 #<br />
local-infile=0
</p>
<p>
	----------------------------------------
</p>
<p>
	&nbsp;
</p>
<p>
	5.将mysql的库文件路径加入系统的库文件搜索路径中
</p>
<p>
	方法一：直接做软链接
</p>
<p>
	# ln -s /usr/local/mysql/lib/ /usr/lib/mysql
</p>
<p>
	方法二：利用ldconfig导入系统库（推荐）
</p>
<p>
	# echo "/usr/local/mysql/lib" &gt;&gt; /etc/ld.so.conf.d/mysql.conf
</p>
<p>
	# ldconfig
</p>
<p>
	&nbsp;
</p>
<p>
	6.输出mysql的头文件到系统头文件
</p>
<p>
	# ln -s /usr/local/mysql/include/mysql /usr/include/mysql
</p>
<p>
	&nbsp;
</p>
<p>
	7.进入安装路径,初始化配置脚本
</p>
<p>
	# cd /usr/local/mysql
</p>
<p>
	# scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data
</p>
<p>
	&nbsp;
</p>
<p>
	8.复制mysql启动脚本到系统服务目录
</p>
<p>
	# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
</p>
<p>
	&nbsp;
</p>
<p>
	9.系统启动项相关配置
</p>
<p>
	# chkconfig --add mysqld &nbsp;#添加开机启动服务
</p>
<p>
	# chkconfig --level 35 mysqld on &nbsp;#设置mysql启动
</p>
<p>
	&nbsp;
</p>
<p>
	10.启动mysql
</p>
<p>
	# service mysqld start &nbsp;
</p>
<p>
	注：编译时若socket路径自定义为/var/lib/mysql/mysql.sock，这里需要创建一个mysql接口的软链接，防止登陆后台或安装论坛报错.
</p>
<p>
	# ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock &nbsp;
</p>
<p>
	&nbsp;
</p>
<p>
	11. 设置初始账户,并登陆后台:
</p>
<p>
	# /usr/local/mysql/bin/mysqladmin -u root password 123456 &nbsp; #设置密码
</p>
<p>
	# /usr/local/mysql/bin/mysql -u root -p123456 &nbsp; &nbsp; #连接数据库
</p>
<p>
	-----------------------------------
</p>
<p>
	mysql&gt; create database phpwind; &nbsp; &nbsp; &nbsp;#创建数据库
</p>
<p>
	mysql&gt; grant all privileges on *.* to root@'%' identified by '123456' with grant option; &nbsp;#给root用户非本地链接所有权限,并改密码和赋予其给其他人下发权限.
</p>
<p>
	mysql&gt; show variables; #查看mysql设置.
</p>
<p>
	-----------------------------------
</p>
<p>
	注:从启MYSQL也可使用以下命令开启此服务
</p>
<p>
	# /usr/local/mysql/bin/safe_mysqld
</p>
<p>
	如果不设置chkconfig启动项,也可在/etc/rc.local下添加如下命令，使mysql服务利用系统启动脚本运行.
</p>
<p>
	# echo "/usr/local/mysql/bin/safe_mysqld --user=mysql &amp;" &gt;&gt;&nbsp;/etc/rc.local
</p>
<p>
	&nbsp;
</p>
<p>
	
</p>
<p>
	12 添加mysql命令集到系统全局变量
</p>
<p>
	注:如果系统之前未安装mysql客户端,可以将编译好的mysql命令集导入系统全局变量
</p>
<p>
	以后就可以直接使用mysql命令集,而不需要使用绝对路径访问.
</p>
<p>
	# echo "PATH=$PATH:/usr/local/mysql/bin;export PATH" &gt;&gt; /etc/profile
</p>
<p>
	# source /etc/profile
</p>
<p>
	
</p>
<p>
	&nbsp;
</p>
<p>
	四.安装apache网站服务
</p>
<p>
	&nbsp;
</p>
<p>
	1.pcre依赖包安装
</p>
<p>
	# wget <a href="http://sourceforge.net/projects/pcre/files/pcre/8.32/pcre-8.32.tar.gz/download" rel="nofollow">http://sourceforge.net/projects/pcre/files/pcre/8.32/pcre-8.32.tar.gz/download</a>
</p>
<p>
	# tar -xzvf pcre-8.32.tar.gz
</p>
<p>
	# cd pcre-8.32
</p>
<p>
	# ./configure --prefix=/usr/local/pcre
</p>
<p>
	# make &amp;&amp; make install
</p>
<p>
	&nbsp;
</p>
<p>
	2.下载apache
</p>
<p>
	其实这里在apache官网找不到httpd-2.4.4-deps.tar.bz2的编译包,不知道官方怎么想的,最后研究了下最近的2.43deps版本,解压该编译包,发现里面放的其实就是apr和apr-util两个apache的依赖包,现在的方法是直接把2.43的包解压到apache安装根目录即可连同apache编译安装,最后能正常安装使用,算是一个无奈之举,但安装起来较网上单独编译安装依赖包要简便一些.
</p>
<p>
	# wget <a href="http://archive.apache.org/dist/httpd/httpd-2.4.3-deps.tar.bz2" rel="nofollow">http://archive.apache.org/dist/httpd/httpd-2.4.3-deps.tar.bz2</a>
</p>
<p>
	# wget <a href="http://archive.apache.org/dist/httpd/httpd-2.4.4.tar.bz2" rel="nofollow">http://archive.apache.org/dist/httpd/httpd-2.4.4.tar.bz2</a>
</p>
<p>
	&nbsp;
</p>
<p>
	3.解包
</p>
<p>
	注:httpd-2.4.3-deps.tar.bz2已集成APR，安装apache前检查pcre是否安装成功.
</p>
<p>
	# tar jxvf httpd-2.4.4.tar.bz2
</p>
<p>
	# tar jxvf httpd-2.4.3-deps.tar.bz2
</p>
<p>
	# cp -rf httpd-2.4.3/* httpd-2.4.4
</p>
<p>
	# cd httpd-2.4.4
</p>
<p>
	&nbsp;
</p>
<p>
	4.伪装Apache版本信息
</p>
<p>
	---------------
</p>
<p>
	修改 include/ap_release.h文件 "Apache" 参数为 "Microsoft-IIS/5.0"
</p>
<p>
	修改 os/unix/os.h文件 "Unix" 参数为 "Win32"
</p>
<p>
	# cd httpd-2.4.4
</p>
<p>
	# vi include/ap_release.h
</p>
<p>
	#define AP_SERVER_BASEPRODUCT "Apache"
</p>
<p>
	改为
</p>
<p>
	#define AP_SERVER_BASEPRODUCT "Microsoft-IIS/5.0"
</p>
<p>
	&nbsp;
</p>
<p>
	# vi os/unix/os.h
</p>
<p>
	#define PLATFORM "Unix"
</p>
<p>
	改成
</p>
<p>
	#define PLATFORM "Win32"
</p>
<p>
	----------------
</p>
<p>
	&nbsp;
</p>
<p>
	--------------随 &nbsp;笔-----------------
</p>
<p>
	这里走了一些弯路,网上很多资料上写到apache2.4版本打开默认多线程模式时,都是在修改conf/extra/httpd-mpm.conf下prefork MPM处参数,但当我实际操作的时候发现,修改后系统的apache进程并未增加,但在2.2下修改此参数则没有任何问题,最近研究worker模式下才发现到,实际你启用worker模式后,执行此命令
</p>
<p>
	# /usr/local/apache2/bin/apachectl -l
</p>
<p>
	返回的结果如下:
</p>
<p>
	core.c
</p>
<p>
	&nbsp;mod_so.c
</p>
<p>
	&nbsp;http_core.c
</p>
<p>
	worker.c
</p>
<p>
	看到worker.c,这里就想到是不是使用默认的线程模式显示的*.c的这个*就是apache根目录conf/extra/httpd-mpm.conf下对应的参数,想到这个疑问然后就使用默认线程模式从新编译了下apache,执行命令
</p>
<p>
	# /usr/local/apache2/bin/apachectl -l
</p>
<p>
	返回:
</p>
<p>
	&nbsp;core.c
</p>
<p>
	&nbsp;mod_so.c
</p>
<p>
	&nbsp;http_core.c
</p>
<p>
	event.c
</p>
<p>
	OK,到conf/extra/httpd-mpm.conf下,查看有如下几行参数
</p>
<p>
	&lt;IfModule mpm_event_module&gt;
</p>
<p>
	&nbsp; &nbsp;StartServers &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;3
</p>
<p>
	&nbsp; &nbsp;MinSpareThreads &nbsp; &nbsp; &nbsp; &nbsp; 75
</p>
<p>
	&nbsp; &nbsp;MaxSpareThreads &nbsp; &nbsp; &nbsp; &nbsp;250
</p>
<p>
	&nbsp; &nbsp;ThreadsPerChild &nbsp; &nbsp; &nbsp; &nbsp; 25
</p>
<p>
	&nbsp; &nbsp;MaxRequestWorkers &nbsp; &nbsp; &nbsp;400
</p>
<p>
	&nbsp; &nbsp;MaxConnectionsPerChild &nbsp; 0
</p>
<p>
	&lt;/IfModule&gt;
</p>
<p>
	将StartServers 参数修改成10
</p>
<p>
	# lsof -i:80
</p>
<p>
	[root@lamp apache2]# lsof -i:80
</p>
<p>
	COMMAND &nbsp; PID &nbsp; USER &nbsp; FD &nbsp; TYPE DEVICE SIZE/OFF NODE NAME
</p>
<p>
	httpd &nbsp; &nbsp;1302 &nbsp; root &nbsp; &nbsp;4u &nbsp;IPv6 106523 &nbsp; &nbsp; &nbsp;0t0 &nbsp;TCP *:http (LISTEN)
</p>
<p>
	httpd &nbsp; 21852 daemon &nbsp; &nbsp;4u &nbsp;IPv6 106523 &nbsp; &nbsp; &nbsp;0t0 &nbsp;TCP *:http (LISTEN)
</p>
<p>
	httpd &nbsp; 21854 daemon &nbsp; &nbsp;4u &nbsp;IPv6 106523 &nbsp; &nbsp; &nbsp;0t0 &nbsp;TCP *:http (LISTEN)
</p>
<p>
	httpd &nbsp; 21855 daemon &nbsp; &nbsp;4u &nbsp;IPv6 106523 &nbsp; &nbsp; &nbsp;0t0 &nbsp;TCP *:http (LISTEN)
</p>
<p>
	httpd &nbsp; 21856 daemon &nbsp; &nbsp;4u &nbsp;IPv6 106523 &nbsp; &nbsp; &nbsp;0t0 &nbsp;TCP *:http (LISTEN)
</p>
<p>
	httpd &nbsp; 21857 daemon &nbsp; &nbsp;4u &nbsp;IPv6 106523 &nbsp; &nbsp; &nbsp;0t0 &nbsp;TCP *:http (LISTEN)
</p>
<p>
	httpd &nbsp; 21858 daemon &nbsp; &nbsp;4u &nbsp;IPv6 106523 &nbsp; &nbsp; &nbsp;0t0 &nbsp;TCP *:http (LISTEN)
</p>
<p>
	httpd &nbsp; 21859 daemon &nbsp; &nbsp;4u &nbsp;IPv6 106523 &nbsp; &nbsp; &nbsp;0t0 &nbsp;TCP *:http (LISTEN)
</p>
<p>
	httpd &nbsp; 21860 daemon &nbsp; &nbsp;4u &nbsp;IPv6 106523 &nbsp; &nbsp; &nbsp;0t0 &nbsp;TCP *:http (LISTEN)
</p>
<p>
	httpd &nbsp; 21936 daemon &nbsp; &nbsp;4u &nbsp;IPv6 106523 &nbsp; &nbsp; &nbsp;0t0 &nbsp;TCP *:http (LISTEN)
</p>
<p>
	httpd &nbsp; 21937 daemon &nbsp; &nbsp;4u &nbsp;IPv6 106523 &nbsp; &nbsp; &nbsp;0t0 &nbsp;TCP *:http (LISTEN)
</p>
<p>
	问题解决,看来2.4版本的apache默认线程是需要修改event参数,这里请注意.
</p>
<p>
	-----------------------------------------------------
</p>
<p>
	&nbsp;
</p>
<p>
	5.编译安装：
</p>
<p>
	编译默认event MPM模式(推荐)
</p>
<p>
	# ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite --with-pcre=/usr/local/pcre/bin/pcre-config
</p>
<p>
	&nbsp;
</p>
<p>
	编译worker MPM模式(可选,能正常开启服务,但本人未做过相关网站测试,不推荐生产环境下使用)
</p>
<p>
	# ./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite &nbsp;-with-mpm=worker&nbsp;--with-pcre=/usr/local/pcre/bin/pcre-config
</p>
<p>
	&nbsp;
</p>
<p>
	# make &amp;&amp; make install
</p>
<p>
	&nbsp;
</p>
<p>
	# &nbsp;防止apache启动报错.
</p>
<p>
	# vi /usr/local/apache2/conf/httpd.conf
</p>
<p>
	------------------------
</p>
<p>
	ServerName localhost:80
</p>
<p>
	------------------------
</p>
<p>
	&nbsp;
</p>
<p>
	6.启动apache
</p>
<p>
	# /usr/local/apache2/bin/apachectl start &nbsp; &nbsp;
</p>
<p>
	设置开机启动
</p>
<p>
	# echo "/usr/local/apache2/bin/apachectl start" &gt;&gt; /etc/rc.local
</p>
<p>
	&nbsp;
</p>
<p>
	7.配置apache:
</p>
<p>
	1).禁止地址目录访问和索引:
</p>
<p>
	#vi /usr/local/apache2/conf/httpd.conf
</p>
<p>
	搜索 &nbsp;Options Indexes FollowSymLinks
</p>
<p>
	将其前面加#注释
</p>
<p>
	-----------------
</p>
<p>
	# Options Indexes FollowSymLinks
</p>
<p>
	-----------------
</p>
<p>
	&nbsp;
</p>
<p>
	2).隐藏版本号:
</p>
<p>
	#vi /usr/local/apache2/conf/httpd.conf
</p>
<p>
	加入以下两行:
</p>
<p>
	------------------
</p>
<p>
	ServerTokens ProductOnly
</p>
<p>
	ServerSignature Off
</p>
<p>
	------------------
</p>
<p>
	&nbsp;
</p>
<p>
	3).优化线程数:
</p>
<p>
	如果apche访问量过大，将会导致页面打开迟缓，下载速度也降低，如果由于经费和环境问题，可以通过对Apache2增加模块MPM来进行优化, 这里我选择线程型MPM加以优化：
</p>
<p>
	注:此方法仅对编译安装apache有效:
</p>
<p>
	a.开启mpm：
</p>
<p>
	#vi /usr/local/apache2/conf/httpd.conf
</p>
<p>
	找到以下这行内容,去掉注释.
</p>
<p>
	Include conf/extra/httpd-mpm.conf （如果没有此段代码可以新加。没有此文件httpd-mpm.conf可以新建，也可以直接加代码到）
</p>
<p>
	b.优化配置：
</p>
<p>
	#vi &nbsp;/usr/local/apache2/conf/extra/httpd-mpm.conf
</p>
<p>
	找到如下代码,修改成以下参数即可.
</p>
<p>
	# event MPM配置:
</p>
<p>
	------------------------
</p>
<p>
	&lt;IfModule mpm_event_module&gt;
</p>
<p>
	&nbsp; StartServers&nbsp;5
</p>
<p>
	&nbsp; ServerLimit&nbsp;5000
</p>
<p>
	&nbsp; MaxClients&nbsp;4000
</p>
<p>
	&nbsp; MinSpareThreads&nbsp;100
</p>
<p>
	&nbsp; MaxSpareThreads&nbsp;400
</p>
<p>
	&nbsp; ThreadLimit&nbsp;200
</p>
<p>
	&nbsp; ThreadsPerChild&nbsp;100
</p>
<p>
	&nbsp; MaxRequestWorkers &nbsp; &nbsp;400
</p>
<p>
	&nbsp; MaxRequestsPerChild &nbsp;100
</p>
<p>
	&lt;/IfModule&gt;
</p>
<p>
	------------------------
</p>
<p>
	&nbsp;
</p>
<p>
	&nbsp;
</p>
<p>
	# worker MPM配置:
</p>
<p>
	-----------------------
</p>
<p>
	&lt;IfModule mpm_event_module&gt;
</p>
<p>
	&nbsp; StartServers&nbsp;5
</p>
<p>
	&nbsp; ServerLimit&nbsp;5000
</p>
<p>
	&nbsp; MaxClients&nbsp;4000
</p>
<p>
	&nbsp; MinSpareThreads&nbsp;100
</p>
<p>
	&nbsp; MaxSpareThreads&nbsp;400
</p>
<p>
	&nbsp; ThreadLimit&nbsp;200
</p>
<p>
	&nbsp; ThreadsPerChild&nbsp;100
</p>
<p>
	&nbsp; MaxRequestWorkers &nbsp; &nbsp;400
</p>
<p>
	&nbsp; MaxRequestsPerChild &nbsp;100
</p>
<p>
	&lt;/IfModule&gt;
</p>
<p>
	-----------------------
</p>
<p>
	------------------------------------------------------
</p>
<p>
	其中最重要的参数是 ThreadsPerChild和 MaxClients：
</p>
<p>
	&nbsp;
</p>
<p>
	#ThreadsPerChild
</p>
<p>
	每个子进程建立的线程数，子进程在启动时建立这些线程后就不再建立新的线程了
</p>
<p>
	#MaxClients
</p>
<p>
	允许同时伺服的最大接入请求数量（在worker下就是最大线程数量）
</p>
<p>
	#ServerLimit：
</p>
<p>
	对最大子进程数的上限，该值必须大于等于MaxClients/ThreadsPerChild
</p>
<p>
	#ThreadLimit：
</p>
<p>
	对ThreadsPerChild的上限，该值必须大于等于 ThreadsPerChild，如果将ThreadLimit设置成一个高出实际需要很多的ThreadsPerChild值，将会有过多的共享内存被 分配，应当和ThreadsPerChild可能达到的最大值保持一致.
</p>
<p>
	#StartServers：
</p>
<p>
	服务器启动时的服务进程数目，该值肯定小于等于ServerLimit
</p>
<p>
	#MinSpareThreads和MaxSpareThreads：
</p>
<p>
	通过新建或结束子进程的方式，将空闲线程的总数维持在这个范围内
</p>
<p>
	#MaxRequestsPerChild：
</p>
<p>
	用于控制服务器建立新进程和结束旧进程的频 率，其实是一个为了防止内存溢出的参数，每个子进程在其生存期内允许伺服的最大请求数量。到达MaxRequestsPerChild的限制后，子进程将 会结束。对于KeepAlive链接，只有第一个请求会被计数。事实上，它改变了每个子进程限制最大链接数量的行为。
</p>
<p>
	&nbsp;
</p>
<p>
	可以通过检查HTTPServer/logs/error_log日志，判断MaxClients是否需要增加，如果有报错，就说明apache自上次重启至今，曾经发生过达到MaxClients的情况：
</p>
<p>
	--------------------------------------------------
</p>
<p>
	4).关闭TRACE Method.
</p>
<p>
	#vi /usr/local/apache2/conf/httpd.conf
</p>
<p>
	-----------------------
</p>
<p>
	TraceEnable off
</p>
<p>
	-----------------------
</p>
<p>
	&nbsp;
</p>
<p>
	5).实现service和chkconfig系统控制httpd开启关闭
</p>
<p>
	&nbsp;
</p>
<p>
	# vi /etc/ld.so.conf.d/apache2.4.4.conf
</p>
<p>
	-----------
</p>
<p>
	/usr/local/apache2/lib
</p>
<p>
	------------
</p>
<p>
	# ldconfig
</p>
<p>
	# cp /usr/local/apache2/bin/apachectl /etc/init.d/httpd
</p>
<p>
	# vi /etc/init.d/httpd
</p>
<p>
	在首行#!/bin/sh 下面添加：
</p>
<p>
	----------------
</p>
<p>
	#chkconfig:345 61 61
</p>
<p>
	#description:Apache httpd
</p>
<p>
	--------------- &nbsp;
</p>
<p>
	# chkconfig --add httpd
</p>
<p>
	# chkconfig httpd on
</p>
<p>
	# service httpd restart
</p>
<p>
	&nbsp;
</p>
<p>
	6).修改log日志格式实现每天保存.
</p>
<p>
	#vi /usr/local/apache2/conf/httpd.conf
</p>
<p>
	找到CustomLog和ErrorLog行,注释掉修改为以下参数
</p>
<p>
	--------------------------------
</p>
<p>
	CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/%Y_%m_%d.access_log 86400 480" combined
</p>
<p>
	ErrorLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/%Y_%m_%d.error_log 86400 480"
</p>
<p>
	---------------------------------
</p>
<p>
	
</p>
<p>
	
</p>
<p>
	7).修改apache权限:
</p>
<p>
	# vi /usr/local/apache2/conf/httpd.conf
</p>
<p>
	------------------
</p>
<p>
	User www
</p>
<p>
	Group www
</p>
<p>
	------------------
</p>
<p>
	注:这里其实就相当于用户执行WEB浏览会触发httpd进程，该进程由于属主属组都为www,所以对属主属组为www的目录都有读写权限，当然前提你的目录u=r+w+x,这样就保证开发人员在执行<a href="http://www.showerlee.com/archives/tag/php" title="查看PHP中的全部文章" class="tag_link">PHP</a>语句时能对项目目录下的文件具有读写权限，避免运维人员手动对需要读写的子目录再设置777权限，保证项目顺利实施.
</p>
<p>&nbsp;</p>
<p>
	
</p>
<p>
	
</p>
<p>
	五.安装php模块
</p>
<p>
	1.处理依赖包
</p>
<p>
	暂无..
</p>
<p>
	2.安装<a href="http://www.showerlee.com/archives/tag/php" title="查看PHP中的全部文章" class="tag_link">PHP</a>
</p>
<p>
	# wget <a href="http://cn2.php.net/distributions/php-5.4.13.tar.bz2" rel="nofollow">http://cn2.php.net/distributions/php-5.4.13.tar.bz2</a>
</p>
<p>
	# tar -jxvf php-5.4.13.tar.bz2
</p>
<p>
	# cd php-5.4.13
</p>
<p>
	此处编译安装了我们项目经常用到的<a href="http://www.showerlee.com/archives/tag/php" title="查看PHP中的全部文章" class="tag_link">PHP</a>模块,如有其它需要可以自定义添加.
</p>
<p>
	# ./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 &nbsp;--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&nbsp;--with-pdo-mysql=/usr/local/mysql&nbsp;LIBS="-liconv"
</p>
<p>
	
</p>
<p>
	
</p>
<p>
	#注:其中最后一个参数--enable-maintainer-zts在安装<a href="http://www.showerlee.com/archives/tag/php" title="查看PHP中的全部文章" class="tag_link">PHP</a>5.4最新版本时必须添加(5.3貌似不需要),表示打开<a href="http://www.showerlee.com/archives/tag/php" title="查看PHP中的全部文章" class="tag_link">PHP</a>进程安全Thread Safe,默认不添加为NON&nbsp;Thread Safe,开启apache服务会报错.....(此处被坑了一下午...#$%^&amp;*)
</p>
<p>
	# make
</p>
<p>
	# make install
</p>
<p>
	&nbsp;
</p>
<p>
	安装结束后:
</p>
<p>
	添加php配置文件,需要CP一个源码里面的php.ini-development或php.ini-production &nbsp;到/usr/local/php/lib为php.ini
</p>
<p>
	#cd ~/php-5.4.13
</p>
<p>
	#cp php.ini-development /usr/local/php5/lib/php.ini
</p>
<p>
	&nbsp;
</p>
<p>
	3.配置<a href="http://www.showerlee.com/archives/tag/apache" title="查看APACHE中的全部文章" class="tag_link">APACHE</a>的<a href="http://www.showerlee.com/archives/tag/php" title="查看PHP中的全部文章" class="tag_link">PHP</a>模块:
</p>
<p>
	编辑Apache配置文件，
</p>
<p>
	# vi /usr/local/apache2/conf/httpd.conf
</p>
<p>
	并添加以下一行：
</p>
<p>
	--------------------------------------------
</p>
<p>
	AddType application/x-httpd-php .php
</p>
<p>
	--------------------------------------------
</p>
<p>
	并在 DirectoryIndex 一行后面加上 index.php
</p>
<p>
	如果<a href="http://www.showerlee.com/archives/tag/php" title="查看PHP中的全部文章" class="tag_link">PHP</a>无法加载，检查httpd.conf配置下是否有该行配置(默认安装<a href="http://www.showerlee.com/archives/tag/php" title="查看PHP中的全部文章" class="tag_link">PHP</a>后会自动将该行写入)
</p>
<p>
	LoadModule php5_module modules/libphp5.so
</p>
<p>
	&nbsp;
</p>
<p>
	4.测试<a href="http://www.showerlee.com/archives/tag/php" title="查看PHP中的全部文章" class="tag_link">PHP</a>加载:
</p>
<p>
	注: 编译安装的apache 网页存放路径跟rpm包安装的不一样。编译安装的路径在/usr/local/apache2/htdocs/
</p>
<p>
	可添加以下内容info.php到/usr/local/apache2/htdocs/下,测试php模块是否加载.
</p>
<p>
	# vi &nbsp;/usr/local/apache2/htdocs/info.php
</p>
<p>
	---------------
</p>
<p>
	&lt;?php
</p>
<p>
	echo phpinfo();
</p>
<p>
	?&gt;
</p>
<p>
	---------------
</p>
<p>
	检查80端口是否打开
</p>
<p>
	# lsof -i:80
</p>
<p>
	浏览器输入 <a href="http://localhost/info.php" rel="nofollow">http://localhost/info.php</a>
</p>
<p>
	显示有如下测试页面内容,PHP模块即在<a href="http://www.showerlee.com/archives/tag/apache" title="查看APACHE中的全部文章" class="tag_link">APACHE</a>下加载成功
</p>
<p>
	<a href="http://www.showerlee.com/wp-content/uploads/2013/08/image001.png"><img onerror="javascript:this.src='http://www.showerlee.com/wp-content/themes/BYMT/images/images_error.jpg'" alt="image001" height="564" src="http://www.showerlee.com/wp-content/uploads/2013/08/image001.png" width="609" /></a>
</p>
<p>
	&nbsp;
</p>
<p>
	&nbsp;<a href="http://www.showerlee.com/wp-content/uploads/2013/08/image003.png"><img onerror="javascript:this.src='http://www.showerlee.com/wp-content/themes/BYMT/images/images_error.jpg'" alt="image003" height="527" src="http://www.showerlee.com/wp-content/uploads/2013/08/image003.png" width="672" /></a>&nbsp;&nbsp;<a href="http://www.showerlee.com/wp-content/uploads/2013/08/image002.png"><img onerror="javascript:this.src='http://www.showerlee.com/wp-content/themes/BYMT/images/images_error.jpg'" alt="image002" height="224" src="http://www.showerlee.com/wp-content/uploads/2013/08/image002.png" width="658" /></a>
</p>
<p>
	&nbsp;&nbsp;
</p>
<p>
	测试本地mysql是否正常连接
</p>
<p>
	# vi &nbsp;/usr/local/apache2/htdocs/index.php
</p>
<p>
	---------------------
</p>
<p>
	&lt;html&gt;&lt;body&gt;&lt;h1&gt;The page to test mysql local connection.&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;
</p>
<p>
	&lt;?php
</p>
<p>
	&nbsp;$conn=mysql_connect('localhost','root','123456');
</p>
<p>
	&nbsp;if ($conn)
</p>
<p>
	&nbsp; &nbsp;echo "&lt;h2&gt;Success...&lt;/h2&gt;";
</p>
<p>
	&nbsp;else
</p>
<p>
	&nbsp; &nbsp;echo "&lt;h2&gt;Failure...&lt;/h2&gt;";
</p>
<p>
	&nbsp;
</p>
<p>
	?&gt;
</p>
<p>
	---------------------
</p>
<p>
	浏览器输入 <a href="http://localhost" rel="nofollow">http://localhost</a>
</p>
<p>
	显示如下页面,表示连接成功.
</p>
<p>
	&nbsp;
</p>
<p>
	&nbsp;<a href="http://www.showerlee.com/wp-content/uploads/2013/08/image004.jpg"><img onerror="javascript:this.src='http://www.showerlee.com/wp-content/themes/BYMT/images/images_error.jpg'" alt="image004" height="140" src="http://www.showerlee.com/wp-content/uploads/2013/08/image004.jpg" width="650" /></a>
</p>
<p>
	&nbsp;
</p>
<p>
	5.PHP配置项: (默认路径/usr/local/php5/lib/php.ini)
</p>
<p>
	# vi /usr/local/php5/lib/php.ini
</p>
<p>
	-------------------------
</p>
<p>
	# 隐藏PHP版本信息：
</p>
<p>
	expose_php = Off
</p>
<p>
	# 关闭警告及错误信息,爆路径:
</p>
<p>
	display_errors = Off
</p>
<p>
	# 调整时区,防止phpinfo()函数报错.
</p>
<p>
	date.timezone =PRC
</p>
<p>
	# 开启php错误日志并设置路径.
</p>
<p>
	log_errors = On
</p>
<p>
	error_log = /usr/local/apache2/logs/php_error.log
</p>
<p>
	&nbsp;
</p>
<p>
	--------------大功告成O(∩_∩)O~-----------------
</p>
<p>
	&nbsp;
</p>
<p>
	觉得不错,请大家回帖支持下....
</p>
<p>
	&nbsp;</p>
<div>声明: 本文采用 <a rel="external" href="http://creativecommons.org/licenses/by-nc-sa/3.0/deed.zh" title="署名-非商业性使用-相同方式共享 3.0 Unported">CC BY-NC-SA 3.0</a> 协议进行授权</div><div>转载请注明来源：<a rel="external" title="DevOps技术分享" href="http://www.showerlee.com/archives/6">DevOps技术分享</a></div><div>本文链接地址：<a rel="external" title="LAMP 全功能编译安装 for CentOS6.3笔记" href="http://www.showerlee.com/archives/6">http://www.showerlee.com/archives/6</a></div>]]></content:encoded>
			<wfw:commentRss>http://www.showerlee.com/archives/6/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
