所谓的LAMP是指构建在Linux之上经典的一种web架构方式,其中L指的是Linux,A指的是Apache的httpd,M指的是Mysql或MariaDB,P指的是PHP,这种组合方式的基本工作模式是有httpd负责接收和相应用户的请求,然后将需要处理的php页面交由后端的php应用程序处理,而php应用程序处理php页面时的数据存储在Mysql数据库中,最后在由httpd将结果返还给客户端,本文主要介绍如何使用源代码编译构建这种组合。
一.程序版本及其编译环境
Linux:CentOS7 |
httpd:2.4.6 |
mysql:5.6.13 |
php:5.4.26 |
1.首先解决依赖关系2.安装httpd
(1).httpd2.4以后的版本要求arp(Apache Portable Runtime)的版本是1.4以上,以及安装apr-util
tar -xf apr-1.4.6.tar.bz2 cd apr-1.4.6 ./configure –prefix=/use/local/apr make & make install |
tar -xf apr-util-1.5.2.tar.bz2 cd apr-util-1.5.2 ./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr make & make install |
(2)httpd也依赖于pcre-devel,因此需要安装
yum -y install pcre-devel |
(3)ssl模块依赖openssl-devel
yum -y install openssl-devel |
(4)安装zlib库
yum -y install zlib |
(4)编译安装httpd
tar -xf httpd-2.4.6.tar.bz2 cd httpd-2.4.6 ./configure –prefix=/usr/local/httpd –sysconfdir=/etc/httpd –enable-so –enable-ssl –enable-cgi –enable-rewrite –enable-zlib –enable-module=most –enable-mpms-shared=all –with-mpm=prefork –with-apr=/usr/share/apr –with-apr-util=/usr/share/apr-util |
(5)在主配置文件中指明pid文件
PidFile "/var/run/httpd.pid" |
(6)启动服务并测试
使用curl命令也能正常的请求到资源
修改根文档目录时要注意对应文件的权限,否则可能会出错。
2.安装mysql
(1)由于mysql使用的cmake项目构建工具,因此先安装cmake
yum -y install cmake |
(2)创建运行mysql的用户
groupadd -r mysql useradd -g mysql -r mysql |
(3)安装 Curses library
yum -y install ncurses-devel |
(3)解压展开
tar -xf mysql-5.6.13.tar.gz |
(4)编译安装mysql
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci make & make install |
(5)启动服务并测试
/usr/local/mysql56/support-files/mysql.server start |
(6)为mysql提供sysv分格的启动脚本
cp /usr/local/mysql56/support-files/mysql.server /etc/rc.d/init.d/mysqld chmod +x /etc/rc.d/init.d/mysqld |
将mysql添加至服务列表
chkconfig –add mysqld chkconfig mysqld on |
测试,发现能正常启动和关闭
(7).配置环境变量,方便使用mysql客户端连接工具,编辑/etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH |
保存退出后,读取一下配置文件
. /etc/profile.d/mysql.sh |
3.安装php
(1)先安装php会使用到的依赖程序
yum -y install bzip2-devel libmcrypt-devel libxml2-devel |
(2)解压展开
tar -xf php-5.4.26.tar.bz2 cd php-5.4.26 |
(3)编译
./configure –prefix=/usr/local/php54 –with-mysql=/usr/local/mysql56 –with-openssl –with-mysqli=/usr/local/mysql56/bin/mysql_config –enable-mbstring –with-zlib –enable-sockets –with-mcrypt –with-apxs2=/usr/local/httpd/bin/apxs –with-libxml-dir=/usr/ –with-config-file-path=/usr/local/php56 make make install |
注意:这一步最好将make和make install分开,否则可能会报错
(4)为php提供配置文件
cp php.ini-production /etc/php.ini |
(5)修改httpd的主配置文件,使之能支持php,添加如下内容
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps |
并将DirectoryIndex index.html 改为DirectoryIndex index.php index.html
(6)测试
至此,编译成功了。
二.安装wordpress
1.在mysql中创建wordpress使用的数据库,并做授权
create database wordpress; grant all privileges on wordpress.* to "wordpress"@"localhost" identified by "wordpress"; |
2.下载wordprss并安装之
(1)下载wordprss最新版本
wget http://wordpress.org/latest.tar.gz |
(2)解压
tar -xf latest.tar.gz |
(3)将wordprss复制到httpd的根文档目录之下
cp -R wordpress/* /httpd/wordpress |
(4)给wordpress提供配置文件
cp wp-config-sample.php wp-config.php |
(5)修改配置文件
(6)测试结果
至此,wordpress安装完成。
三.总结
由于之前使用yum来安装的,很顺利,但这次使用编译安装的时候遇到了很多问题,但是很多问题通过错误提示,看错误日志就能解决,不能解决的google一下就行,希望大家遇到错误的时候也不要害怕。最后,最近看到一句话,很有道理,与大家分享,与大家共勉:正确的判断来源于经验,经验来源于错误的判断。
原创文章,作者:zhangbao,如若转载,请注明出处:http://www.178linux.com/64006