基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第1张图片


部署环境

系统:CentOS 6.8 x86_64

Apache:2.4.23

MySQL:5.7.14

PHP:7.0.10

apr:1.5.2

apr-util:1.5.4

boost:1.59.0

cmake:3.6.1

pcre:8.39

软件包准备

这里CentOS6.8系统(无需图形环境)的安装过程略,使用个人电脑(Windows系统)的浏览器访问Apache官方网站 http://www.apache.org/ 点击下载页面标签

wKioL1fGgj7h5wotAAAW5ybFp0Q108.png

点击建议的镜像下载站点

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第2张图片

找到apr目录

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第3张图片

这里下载最新版tar.gz格式的apr软件包,右击选择“复制链接地址”

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第4张图片

登录到CentOS6.8系统,切换到/usr/src目录下,使用curl工具下载刚刚复制的链接文件

curl -O http://mirrors.cnnic.cn/apache/apr/apr-1.5.2.tar.gz

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第5张图片

按照此方法将apr-util软件包也下载到/usr/src目录下

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第6张图片

返回到上一级目录下

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第7张图片

找到httpd目录

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第8张图片

下载最新版Apache软件到/usr/src目录下

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第9张图片

访问pcre官网 http://www.pcre.org/ 进入下载链接

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第10张图片

下载最新版pcre软件包到/usr/src目录下

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第11张图片

访问boost官网 http://www.boost.org/ 进入1.59.0版本信息

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第12张图片

点击.tar.gz格式文件包

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第13张图片

跳转到下载页面,自动激活浏览器下载器,复制下载地址到CentOS系统下载即可。

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第14张图片

访问cmake官网 https://cmake.org/ 下载页面标签

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第15张图片

下载最新发行版本

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第16张图片

访问MySQL官网 https://www.mysql.com/

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第17张图片

由于MySQL已经被Oracle公司收购,MySQL企业版的下载需要Oracle的授权,所以这里下载免费社区版。

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第18张图片

前往下载页面

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第19张图片

可用版本选择源代码包

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第20张图片

通用Linux平台的tar源代码包

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第21张图片

不登录账户,仅下载。

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第22张图片

复制下载器地址进行下载

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第23张图片

访问PHP官网 http://www.php.net/ 下载最新发行版本

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第24张图片

选择距离我们最近的镜像站点,任选一个节点下载。

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第25张图片

复制下载器里链接地址进行下载

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第26张图片

所需软件包下载完成

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第27张图片

部署过程

使用yum安装所必须的系统软件包

yum install -y gcc gcc-c++ ncurses ncurses-devel perl libxml2 libxml2-devel curl-devel libpng-devel

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第28张图片

安装apr软件,解压、配置、有一个无法删除的错误,可以忽略。

tar zxf apr-1.5.2.tar.gz

cd apr-1.5.2

./configure --prefix=/usr/local/apr

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第29张图片

编译安装

make && make install

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第30张图片基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第31张图片

切换到/usr/src目录继续安装apr-util软件

tar zxf apr-util-1.5.4.tar.gz

cd apr-util-1.5.4

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第32张图片

编译安装

make && make install

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第33张图片

切换回/usr/src目录,继续安装pcre软件

tar zxf pcre-8.39.tar.gz

cd pcre-8.39

./configure --prefix=/usr/local/pcre

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第34张图片

编译安装

make && make install

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第35张图片

切换回/usr/src目录,安装Apache

tar zxf httpd-2.4.23.tar.gz

cd httpd-2.4.23

./configure --prefix=/usr/local/apache --enable-so --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre/

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第36张图片

编译安装

make && make install

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第37张图片

切换回/usr/src目录安装boost软件

tar zxf boost_1_59_0.tar.gz

cd boost_1_59_0

./bootstrap.sh

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第38张图片

编译安装,过程比较漫长,耐心等待。

./b2

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第39张图片

安装

./b2 install --prefix=/usr/local/boost

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第40张图片

切换回/usr/src目录,继续安装cmake

tar zxf cmake-3.6.1.tar.gz

cd cmake-3.6.1

./configure --prefix=/usr/local/cmake

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第41张图片

编译安装

make && make install

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第42张图片

切换回/usr/src目录安装MySQL数据库

tar zxf mysql-5.7.14.tar.gz

cd mysql-5.7.14

/usr/local/cmake/bin/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/usr/local/mysql/etc -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_BOOST=/usr/local/boost/include

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第43张图片

编译安装,漫长地等待。

make && make install

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第44张图片

创建mysql用户以及相关的目录

useradd -M -s /sbin/nologin mysql

mkdir -p /usr/local/mysql/etc

mkdir -p /usr/local/mysql/data

mkdir -p /usr/local/mysql/log

mkdir -p /usr/local/mysql/run

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第45张图片

删除默认配置文件/etc/my.cnf

rm -f /etc/my.cnf

wKioL1fH_T7wo_WNAAAKdnXzoAE850.png

新建配置文件 /usr/local/mysql/etc/my.conf 内容如下:

[mysqld]

datadir=/usr/local/mysql/data

socket=/usr/local/mysql/mysql.sock

user=mysql

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0


[mysqld_safe]     

log-error=/usr/local/mysql/log/mysqld.log

pid-file=/usr/local/mysql/run/mysqld.pid

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第46张图片

为目录添加mysql用户权限

chown -R mysql:mysql /usr/local/mysql

wKiom1fJKOLCop6YAAAK24goYQc843.png

初始化数据库,注意会生成临时登录账户和密码。

/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第47张图片

启动数据库服务

/usr/local/mysql/bin/mysqld_safe &

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第48张图片
使用生成的临时密码登录数据库

/usr/local/mysql/bin/mysql -u root -p

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第49张图片

修改数据库登录密码

alter user 'root'@'localhost' identified by 'A2c@1B3';

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第50张图片

修改启动脚本文件 /usr/local/mysql/support-files/mysql.server 以下参数

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

mysqld_pid_file_path=/usr/local/mysql/run/mysqld.pid

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第51张图片

测试启动脚本

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第52张图片

查看mysql进程与端口状态

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第53张图片切换回/usr/src目录,安装php。

tar zxf php-7.0.10.tar.gz

cd php-7.0.10

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-apxs2=/usr/local/apache/bin/apxs --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mbstring --with-curl --with-gd --enable-fpm

wKiom1fHmmbCnT4zAAAqnRIciVo572.png基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第54张图片

编译安装

make && make install

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第55张图片

拷贝配置文件

cp php.ini-production /usr/local/php/etc/php.ini

wKioL1fHnVaCCHKaAAARYtJencI115.png

修改配置文件 /usr/local/php/etc/php.ini 修改参数,去掉前面的分号。

date.timezone = Asia/Shanghai

wKiom1fHnfejP_03AAANMlHlg4o597.png

修改Apache配置文件/usr/local/apache/conf/httpd.conf,修改ServerName并添加php索引。

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第56张图片

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第57张图片

在末尾添加

    SetHandler application/x-httpd-php


    SetHandler application/x-httpd-php-source

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第58张图片

在Apache文档目录创建php测试文件index.php

/usr/local/apache/htdocs/index.html

vi /usr/local/apache/htdocs/index.php

内容如下

phpinfo();

?>

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第59张图片

启动Apache服务,查看进程与端口状态。

/usr/local/apache/bin/apachectl start

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第60张图片

使用浏览器访问服务器IP即可查看到php测试页面正常显示。

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第61张图片

MySQL有关的信息

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第62张图片

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第63张图片

创建Apache与MySQL开机自启动脚本

cp /usr/local/apache/bin/apachectl /etc/init.d/

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql

编辑/etc/init.d/apachectl添加

# chkconfig: 2345 65 35

# description: A very fast and reliable apache engine.

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第64张图片

添加到chkconfig服务管理

chkconfig --add apachectl

chkconfig --add mysql

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第65张图片

关于MySQL的error日志记录的时间始终比系统时间慢8个小时的问题!

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第66张图片

是因为MySQL 5.7版本中新增了 log_timestamps 这个参数,而且默认采用UTC时间。

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第67张图片

将其修改为系统时间即可

SET GLOBAL log_timestamps = SYSTEM;

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第68张图片

这样设置的全局变量在mysql服务重启后便会失效,若要永久生效需要在配置文件 /usr/local/mysql/etc/my.cnf 中加入

log_timestamps=SYSTEM

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第69张图片

重启MySQL服务 service mysql restart,再次查看error日志,发现已经与系统时间一致。

基于CentOS 6.8平台最新源代码包编译安装LAMP环境搭建(Apache+MySQL+PHP)_第70张图片