在centos6.5上编译安装LAMP
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在centos6.5上编译安装LAMP相关的知识,希望对你有一定的参考价值。
LAMP组合的编译安装
基于centos6.5实现
httpd+php
modules把php编译成httpd的DSO对象
prefork:libphp5
event,worker:libphp5-zts
cgi
fastcgifpm:php作为独立的服务
httpd对fastcgi协议的支持
httpd-2.2需要额外安装fcgi模块
httpd-2.4自带fcgi模块
安装次序
httpdMariadbphp
安装开发环境httpd安装依赖pcre因此要安装pcre-devel
1.yum groupinstall "Development Tools" "Server Platform Development" -y
yum install pcre-devel -y
2.安装新版apr
#tar xf apr-1.5.0.tar.bz2
#cd apr-1.5.0
#ls
#./configure --prefix=/usr/local/apr为了防止覆盖系统已安装的版本
#make && make install
安装新版apr-util
#tar xf apr-util-1.5.3.tar.bz2
#cd apr-util-1.5.3
#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
#make && make install
httpd的编译安装
#tar xf httpd-2.4.9.tar.bz2
#cd httpd-2.4.9
#groupadd -r apache添加系统组
#useradd -r -g apache apache添加系统用户
#id apache
注意首先安装pcre-devel包
yum -y install pcre-devel
#./configure --help|less
#./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event
注意--sysconfdir=/etc/httpd24默认配置文件目录
--prefix=/usr/local/apache默认安装目录
#make && make install
#cd /etc/rc.d/init.d/
发现/etc/rc.d/init.d/下没有httpd这个文件执行rpm -q httpd命令提示package httpd is not installed即需要安装httpd包执行yum install httpd* -y。
#cp httpd httpd24
#vim httpd24
将上如中的参数修改如下
chkconfig --add httpd24
chkconfig --list httpd24
chkconfig httpd24 on
启动服务
/usr/local/apache/bin/apachectl
提示错误
AH00558: httpd: Could not reliably determine the server‘s fully qualified domain name, using ::1. Set the ‘ServerName‘ directive globally to suppress this message
解决办法
如果想使用apachectl启动服务需要
vim /etc/profile.d/httpd.sh
export PATH=/usr/local/apache/bin:$PATH
./etc/profile.d/httpd.sh重读配置文件
echo $PATH
httpd -t
提示错误httpd: Could not reliably determine the server‘s fully qualified domain name, using ::1 for ServerName
Syntax OK
解决办法
hash -r
service httpd start
ss -tnl
ps aux|grep httpd验证是否运行event进程
查看80端口是否被占用ss -tnl
关闭selinux
如果访问不了清空一下访问规则
iptables -L -n
iptables -F
setenforce 0
service httpd start
httpd -M 查看装载的模块
cd /etc/httpd24目录
vim httpd.conf下启用或禁用某一模块
3.安装mariadbl
#tar xf mariadb-5.5.36-linux-i686.tar.gz -C /usr/local
#mkdir -pv /mydata/data
#useradd -r mysql
#chown -R mysql.mysql /mydata/data/
#cd /usr/local
# ln -sv mariadb-5.5.36-linux-i686 mysql
#cd mysql
#chown -R root.mysql ./*
#
#[[email protected] mysql]#scripts/mysql_install_db --datadir=/mydata/data/ --user=mysql 初始化操作
提示错误-bash: scripts/mysql_install_db: No such file or directory
解决办法
发现先前安装的mariadb版本为mariadb-10.0.13.tar换包。
#mkdir /etc/mysql
#cp support-files/my-large.cnf /etc/mysql/my.cnf
#vim /etc/mysql/my.cnf
#cp support-files/mysql.server /etc/rc.d/init.d/mysqld
#chkconfig --add mysqld
#service mysqld start
#ss -tnl
#/usr/local/mysql/bin/mysql
# mysql_secure_installation安全初始化(方法)
提示-bash: mysql_secure_installation: command not found
解决办法
#yum install mysql* -y
再次执行mysql_secure_installation
4.安装phpl
#cd /mnt
#tar xf php-5.4.26.tar.bz2
# cd php-5.4.26
解决依赖关系
请配置好yum源系统安装源及epel源后执行如下命令
yum -y groupinstall “Desktop Platform Development”
yum -y install bzip2-devel libmcrypt-devel libxml2-devel
编译安装php-5.4.26
首先下载源码包至本地目录
tar xf php-5.4.26
cd php-5.4.26
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysql=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freeytpe-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts
报错
configure: error: xml2-config not found. Please check your libxml2 installation.
解决办法yum install libxml2-devel -y
configure: error: mcrypt.h not found. Please reinstall libmcrypt.
解决办法yum install libmcrypt libmcrypt-devel mcrypt mhash -y
configure: error: Cannot find MySQL header files under /usr/local/mysql/bin/mysql_config
Note that the MySQL client library is not bundled anymore!
解决办法
--with-mysql=/usr/local/mysql/bin/mysql_config改为--with-mysql
make && make install
用-z多启用几个线程
说明
这里为了支持apache的worker或event这两个MPM编译时使用了--enable-maintainer-zts选项。
如果视频PHP5.3以上版本为了连接MySQL数据库可以指定mysqlnd这样在本机就不需要先安装MySQL或MySQL开发包了。mysqlnd从php5.3开始可用可以编译时绑定到它而不用和具体的MySQL客户端绑定形成依赖但从PHP5.4开始它就是默认设置了。
为php提供配置文件
cp php.ini-production /etc/php.ini
问题service httpd24 reload
Reloadinghttpd: [FAILED]
解决办法
修改httpd.pid的位置
vim /etc/rc.d/init.d/httpd24
改为
3.编辑apache配置文件httpd.conf,以apache支持php
cd /etc/httpd24
cp httpd.conf{,.bak}
vim httpd.conf.bak
首先确保
其次添加如下两行
AddType application/x-httpd-php.php
AddType application/x-httpd-php-spurce.phps
定位至DirectoryIndex index.html
修改为:
DirectoryIndexindex.phpindex.html
而后重新启动httpd或让其重新载入配置文件即可测试php是否已经可以正常使用。
cd /usr/local/apache/
cd htdocs/
mv index.html index.php
vim index.php
测试页面index.php示例如下
<?php
$conn = mysql_connect(‘127.0.0.1‘,‘root‘,‘beijing‘);
if($conn)
echo "ok";
else
echo "Failure";
mysql_close();
phpinfo();
?>
以上是关于在centos6.5上编译安装LAMP的主要内容,如果未能解决你的问题,请参考以下文章
在CentOS6上编译安装实现LAMP(php-modules)+phpMyAdmin安装过程全记录