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
下一篇 2016-12-19

相关推荐

  • Hadoop hdfs 分布式文件系统

    Hadoop简介:一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件…

    Linux干货 2017-04-19
  • 作业权限管理

    一、在/data/testdir里创建的新文件自动属于g1组,组g2的成员如:alice能对这些新文件有读写权限,组g3的成员如:tom只能对新文件有读权限,其它用户(不属于g1,g2,g3)不能访问这个文件夹。 首先创建三个组g1,g2,g3,题目要求在/data/testdir目录里创建的文件自动属于g1组那么首先要将这个目录的属组改为g1,然后通过更改…

    Linux干货 2016-08-03
  • 用户和组相关的配置文件总结

    前言: 在用户管理,组管理过程中,最基本的四个文件就是/etc下面的passwd,shadow,group,gshadow。他们记录了与用户和组相关的信息。是学习和深入了解用户,组的基本。 除了这些基本的配置文件 还有与初始化相关的配置文件。定义用户添加时初始状态的配置文件/etc/default/useradd。 以及用户家目录的内容文件参考目录/etc/…

    Linux干货 2016-10-24
  • Haproxy的基础应用!

            本篇博客主要是和大家共同了解一下Haproxy的功能与基础应用,目的是更加熟练的掌握Haproxy的工作原理,为将来的工种中做好铺垫!       本篇博客共分为两个部分:      …

    2017-05-16
  • 系统管理之磁盘管理(二)磁盘配额,RAID,LVM

    上篇博文给大家介绍了磁盘和文件系统的基础知识,也是最基本的使用.在实际生产环境中,对于磁盘的使用,要求稳定,灵活,那么下面给大家分享下磁盘的高级用法.磁盘配额,RAID,LVM等相关知识. 1.磁盘配额2.磁盘RAID3.LVM 一.磁盘配额 1.概述: • 在内核中执行 • 以文件系统为单位启用 • 对不同组或者用户的策略不同…

    Linux干货 2016-09-05
  • nginx状态监控

    通过查看Nginx的并发连接,我们可以更清除的知道网站的负载情况。Nginx并发查看有两种方法(之所以这么说,是因为笔者只知道两种),一种是通过web界面,一种是通过命令,web查看要比命令查看显示的结果精确一些。下面介绍这两种查看方法 No1、通过浏览器查看 通过web界面查看时Nginx需要开启status模块,也就是安装Nginx时加上 &n…

    Linux干货 2016-10-19