系统平台:

CentOS release 6.9 (Final)
内核 2.6.32-696.el6.x86_64

去官网下载源码包

1,下载httpd2.4源码包 http://httpd.apache.org/download.cgi#apache24

以及apr源码包: apr-1.6.3.tar.gz , apr-util-1.6.1.tar.gz

http://apr.apache.org/download.cgi

2,下载mariadb-10.2源码包

http://mariadb.org/download/

3下载php7.2源码包

http://php.net/downloads.php

所有源码包

    apr-1.6.3.tar.bz2       httpd-2.4.29.tar.bz2    php-7.2.1.tar.bz2
    apr-util-1.6.1.tar.bz2  mariadb-10.2.12.tar.gz  wordpress-4.9.1-zh_CN.tar.gz

配置yum源

1.进入/etc/yum.repos.d/
    cd  /etc/yum.repos.d/
2.将里面的文件所有文件都清除或是移到一个空目录里,个人建议直接删了。
    rm -rf  * 
3.创建一个yum源配置文件,"注意:后缀必须是repo"
    touch  base.repo 
4.在文件里面添加这么几行配置

vim  base.repo
#光盘源
[base]    
name=centos-6.9
baseurl=http://mirrors.aliyun.com/centos/6/os/x86_64/
gpgcheck=0
enable=1
#epel源
[epel]
name=centos-epel
baseurl=http://mirrors.aliyun.com/epel/6/x86_64/
gpgcheck=0
enable=1

4.查看是否已经生成yum源了
[root@centos6 yum.repos.d]# yum repolist
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
base                                                                    | 3.7 kB     00:00     
epel                                                                    | 4.7 kB     00:00     
epel/primary_db                                                         | 6.0 MB     00:15     
repo id                                   repo name                                      status
base                                      centos-6.9                                      6,706
epel                                      centos-epel                                    12,449
repolist: 19,155

(一)编译mariadb数据库

1,安装相关依赖包

 yum groupinstall "development tools" #开发包组
 yum install cmake ncurses-devel libaio-devel openssl-devel -y  "注意:clang来自epel源" 

2,解压mariadb之人一临时目录

tar vxf mariadb-10.2.12.tar.gz -C /app/sdb

3,进入/app/sdb/mariadb-10.2.12

cd /app/sdb/mariadb-10.2.12

cmake . \
 -DCMAKE_INSTALL_PREFIX=/usr/local/mariadb-10.2.12 \
 -DSYSCONFDIR=/etc \
 -DDEFAULT_CHARSET=utf8 \
 -DDEFAULT_COLLATION=utf8_general_ci \
 -DWITH_EXTRA_CHARSETS=all \
 -DWITH_READLINE=1 \
 -DWITH_SSL=system \
 -DWITH_ZLIB=system \
 -DWITH_EMBEDDED_SERVER=1 \
 -DENABLED_LOCAL_INFILE=1 \
 -DWITH_MYISAM_STORAGE_ENGINE=1 \
 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
 -DWITH_MEMORY_STORAGE_ENGINE=1 \
 -DWITH_PARTITION_STORAGE_ENGINE=1 \
 -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
 -DWITH_DEBUG=0

 make -j 4  && make install

4,创建软连接mysql解压后的mariadb目录

ln -s mariadb-10.2.12/ mysql

5,创建用户mysql系统账号

useradd -r -s /sbin/nologin mysql

6,修改mysql文件夹的所属者喝所在属组

chown -R mysql.mysql /usr/local/mysql/

7,添加PATH变量

echo 'PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile.d/mysql.sh

检查文件
#cat /etc/profile.d/mysql.sh

加载环境变量文件 并检查

#source /etc/profile.d/mysql.sh
#echo $PATH

#mysql -V
mysql  Ver 15.1 Distrib 10.2.12-MariaDB, for Linux (x86_64) using readline 5.1

8,创建数据库存放文件夹并且修改权限

mkdir -pv /data/sqldb/3306/{log,data,pid,socket,tmp}
chown -R mysql.mysql /data/sqldb/
chmod -R 770 /data/sqldb/

9,复制主配置文件my.cnf

"这里先要确认下本机的内存多少,以便使用一个参考模板."
grep memory support-files/*
找到适合本机内存的模板

Centos-6 编译安装实现LAMP,wordpress最新版

本机内存为1G,所以选择了my-huge.cnf这个配置文件

#\cp /usr/local/mysql/support-files/my-huge.cnf /etc/my.cnf

10,修改配置文件

[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
pid-file        =/data/sqldb/3306/pid/mysql.pid
datadir         =/data/sqldb/3306/data
tmpdir          =/data/sqldb/3306/tmp

11,安装数据库相关文件

mysql_install_db --defaults-file=/etc/my.cnf --user=mysql

"这时候会在/data/sqldb/3306/data目录下生成一些文件"

[root@centos6 support-files]# ls /data/sqldb/3306/data/
mysql  mysql-bin.000001  mysql-bin.000002  mysql-bin.index  test

12,复制服务脚本至/etc/init.d/目录下并改名为mysqld

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

13,添加mysqld服务脚本至开机自动启动,并启动mysqld服务

chkconfig --add mysqld
chkconfig --list  mysqld
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

service  mysqld  start

14,运行安全脚本

"mysql_secure_installation"

第一项问你:输入root密码  回车即可,因为没有
第二项问你:需要设置root密码么,当然要  敲Y
第三项问你:需要删除空账号用户么,当然要  敲Y
第四项问你:禁止root用户远程登入么,根据你们公司的需要
第五项问你:需要删除test测试数据哭么,我不需要
第六项问你:现在重新加载权限表吗 ,当然

15,创建一个wordpress专有数据库,以及专门管理这个数据库的用户

    首先登入mysql数据库
    mysql -uroot -p  #-p需要输入root密码
    创建数据库
    create database wordpress;
    创建管理员用户
    grant all on wordpress.* to li@'localhost' identified by 'liliang';

    "注意:这里的all 表示拥有对这个数据库里的所有表wordpress.*的所有权限,用户名是li 只能在本机(localhost)登入,密码:liliang"

OK数据库已经配置完成,下面编译安装httpd程序

(二) 编译httpd2.4

"注意:httpd2.4 依赖apr 1.4+以上 ,apr-util-1.4+以上"

1,解压缩包至任意目录

 tar apr-1.6.3.tar.bz2 
 tar apr-util-1.6.1.tar.bz2
 tar httpd-2.4.29.tar.bz2

2,复制apr以及apr-util整个解压包目录,复制到httpd-2.4.29/srclib/目录下,并且改成相对应的名字

     cp -r apr-1.6.3 httpd-2.4.29/srclib/apr
     cp -r apr-util-1.6.1 httpd-2.4.29/srclib/apr-util

3,安装相关的依赖包

    yum install   pcre-devel openssl-devel expat-devel -y

    4,开始编译
    ./configure \
    --prefix=/app/httpd24 \
    --enable-so \
    --enable-ssl \
    --enable-cgi \
    --enable-rewrite \
    -with-zlib \
    --with-pcre  \
    --with-included-apr \ #"注意这一项是指定apr程序的"
    -enable-modules=most \
    --enable-mpms-shared=all \
    -with-mpm=prefork  

    make -j 4 &&make install

4.添加PATH变量

     echo 'PATH=/app/httpd24/bin:$PATH' >/etc/profile.d/httpd24.sh

    检查文件
    #cat /etc/profile.d/httpd24.sh

    加载环境变量文件 并检查

    source /etc/profile.d/httpd24.sh
    echo $PATH

5,创建apache用户

    useradd -r -s /sbin/nologin apache 

6,修改httpd配置文件

        修改那些指令

        User apache  
        Group apache

        取消下面两行的注释 作用:支持php-fpm模式

        LoadModule proxy_module modules/mod_proxy.so 
        LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so 

        将这个语句块修改为如下:

        "作用就是让用户访问是不用输路径"

        <IfModule dir_module>
            DirectoryIndex index.html index.php 
        </IfModule>

        加下面四行 
        #这两行的作用就是让httpd能识别php程序文件
        AddType application/x-httpd-php .php  
        AddType application/x-httpd-php-source .phps 
        #关闭请求转发功能
        ProxyRequests Off 
        #当用户访问 php后缀的程序文件,自动把请求发送给本记得fcgi程序处理之后在发送给用户
        ProxyPassMatch^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1  

7,将服务设置为开机自动启动

    方法一: 写入 /etc/rc.d/rc.local 
     vim /etc/rc.d/rc.local 
     /app/httpd24/bin/apachectl start
     方法二:修改原有的 服务脚本   /etc/init.d/httpd/ 并改名httpd24
        cd /etc/init.d
        mv httpd   httpd24
        将文件中的这几项修改为如下:
        vim httpd24  
        apachectl=/app/http24/bin/apachectl
        httpd=${HTTPD-/app/httpd24/bin/httpd}
        pidfile=${PIDFILE-/app/httpd24/logs/httpd.pid}

       将httpd24加入服务,并设为开机自动启动
        chkconfig --add httpd24
        查看
        chkconfig --list  httpd24
        httpd24         0:off   1:off   2:off   3:off   4:off   5:off   6:off
        设为开机自动启动
        chkconfig  httpd24  on

OK  httpd程序编译配置完成,下面编译php7.2程序

(三)编译php7.2

解压缩包至任意目录

tar  vxf  php-7.2.1.tar.bz2

安装相关软件包

yum install libxml2-devel  bzip2-devel libmcrypt-devel -y

开始编译

cd php-7.2.1

./configure --prefix=/app/php \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-openssl \
--with-pdo-mysql=mysqlnd \
--enable-mbstring \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--enable-sockets \
--enable-fpm \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--enable-maintainer-zts \
--disable-fileinfo

还在这个目录下把php配置文件复制到/etc/php.ini

[root@centos6 php-7.2.1]# cp php.  #按两下Tab键会提示出如下信息
php.gif              php.ini-development #这个是开发用的   php.ini-production #这个是生产用的,复制这个

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

修改两个文件名

 mv php-fpm.conf.default php-fpm.conf
 cp php-fpm.d/www.conf.default php-fpm.d/www.conf

复制sapi/fpm/init.d.php-fpm启动脚本至/etc/init.d/目录下并改名为fpm-php,并且加上执行权限,并且加入chkconfig管理,设置为开机自动启动,最后启动服务

1,复制
cp sapi/fpm/init.d.php-fpm /etc/init.d/fpm-php
2,添加执行权限
chmod  +x /etc/init.d/fpm-php
3,加入服务chkconfig管理
chkconfig --add fpm-php
4,设为开机自动启动
chkconfig fpm-php on
5,查看是否添加成功
chkconfig --list  fpm-php
fpm-php         0:off   1:off   2:on    3:on    4:on    5:on    6:off
6,启动服务
service fpm-php start

(四)配置wordpress

解压缩包wordpress-4.9.1-zh_CN.tar.gz至任意目录

tar vxf wordpress-4.9.1-zh_CN.tar.gz 

将wordpress整个目录里的所有文件复制到/app/httpd24/htdocs/目录下,并且将/app/httpd24/htdocs/目录下的index.html文件删除掉

    cd wordpress

    cp * -r /app/httpd24/htdocs/

    rm /app/httpd24/htdocs/index.html

修改配置文件,将wp-config-sample.php 复制一份改名为wp-config.php,而后在修改wp-config.php文件

 cp wp-config-sample.php   wp-config.php

    vim wp-config.php   #"这些就是在编译安装是创建的数据库信息将他们修改为这样即可"

    // ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
    /** WordPress数据库的名称 */
    define('DB_NAME', 'wordpress');

    /** MySQL数据库用户名 */
    define('DB_USER', 'li');

    /** MySQL数据库密码 */
    define('DB_PASSWORD', 'liliang');

    /** MySQL主机 */
    define('DB_HOST', 'localhost');

使用浏览器访问主站点进行配置wordpress

Centos-6 编译安装实现LAMP,wordpress最新版
Centos-6 编译安装实现LAMP,wordpress最新版
Centos-6 编译安装实现LAMP,wordpress最新版