LAMP编译安装

所谓的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)启动服务并测试

结果.png

使用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

mysql.png

(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

测试,发现能正常启动和关闭

添加后.png

(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)测试

成功.png

至此,编译成功了。


二.安装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)修改配置文件

配置.png

(6)测试结果

wordpress.png

至此,wordpress安装完成。

三.总结

由于之前使用yum来安装的,很顺利,但这次使用编译安装的时候遇到了很多问题,但是很多问题通过错误提示,看错误日志就能解决,不能解决的google一下就行,希望大家遇到错误的时候也不要害怕。最后,最近看到一句话,很有道理,与大家分享,与大家共勉:正确的判断来源于经验,经验来源于错误的判断。


原创文章,作者:zhangbao,如若转载,请注明出处:http://www.178linux.com/64006

(0)
zhangbaozhangbao
上一篇 2016-12-19 15:42
下一篇 2016-12-19 16:08

相关推荐

  • linux下的打包与压缩

    linux压缩或解压缩工具有很多,除了已经很少有人使用的compress外,现在常用的还有tar,bzip2,xz 和gzip等,我们来说说它们的用法。 先来说bzip2。bunzip2和bzcat可以由bzip2指定选项来执行同样的结果,这里只介绍bzip2的用法。使用bzip2这个工具创建的文件以.bz2,.bz,.tbz,.tar.bz2或者…

    Linux干货 2017-04-16
  • 第一周作业

    一:计算机的组成和功能 主要分为五个部分:控制器、运算器、存储器、输入、输出 CPU :包含控制器和运算器、寄存器、缓存 存储器:内存,RAM(Random Access Memory) 输入:下指令,提供数据等 输出:输出数据加工的结果     微型计算机系统组成:      …

    Linux干货 2016-12-06
  • Linux文件系统

    Linux文件系统 根目录下的文件 / ├── bin 存放用户使用的基本命令(可执行程序,二进制文件) 不能单独分区的 ├── boot 跟内核有关的文件 grub 内核和BootLoader ├── cgroup 用来资源限制资源隔离 docker 容器化 ├── dev device 设备文件 b block device 块设备 硬盘或者CD-rom…

    Linux干货 2017-04-01
  • 从Linux小白到大牛——与狼共舞的日子5

    马哥教育网络班21期+第5周课程练习 1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行。 [root@localhost ~]# grep '^[[:space:]]\+' /boot/grub/grub.conf 2、显示/etc/rc.d/rc.sysinit文件中以…

    Linux干货 2016-08-31
  • Linux如何快速查找需要执行的命令

    大家知道,对于熟悉命令行的用户来说,命令行操作比图形界面操作高效、简洁,那么Linux是如何快速找到命令的位置呢?今天刚学了这一部分,与大家分享。         Linux将命令分为内部命令和外部命令,这是由于一些命令是常用的,需要常驻内存以减少检索时间,所以集成在shell之…

    2017-07-15
  • 第一周作业

    一、计算机的基本组成和功能   cpu包括运算器、控制器、寄存器、缓存       运算器:计算功能,对数据进行加工处理的的部件;       控制器:负责从存储器取出指令,控制cpu计算器之间的运行结果和状态;       寄存器:暂存指令和数据的地方,存储…

    Linux干货 2016-12-04