centos7.3实现基于源码编译安装LAMP的wordpress应用

前端之家收集整理的这篇文章主要介绍了centos7.3实现基于源码编译安装LAMP的wordpress应用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

wordpress应用

是一款基于PHP开发的博客发布平台。用户可以在支持PHPMysqL的系统上,轻松地搭建wordpress博客系统,并在上面发布自己的博客文章

关于LAMP,之前的文章中已经有过很多的介绍,感兴趣的朋友可以去查看我之前的文章

今天我们直接介绍,如何直接源码编译安装LAMP,并且在配置好环境的系统上部署wordpress应用。

环境准备

  • 软件环境

首先我们需要准备安装 LAMP所需要的一些软件环境。可以到相关的网站上去下载源码包。

[root@localhostsrc]#ls
apr-1.6.2.tar.gzhttpd-2.4.27.tar.bz2PHP-7.1.10.tar.xz
apr-util-1.6.0.tar.gzmariadb-10.2.8-linux-x86_64.tar.gzwordpress-4.8-zh_CN.tar.gz
  • 安装开发包组

因为我们这个实验是需要通过大量的编译来安装相关的软件,所以需要对实验环境提前安装开发包组。
执行yum groupinstall "development tools"就可以安装开发包组。

  • 硬件环境

实验过程中,为了尽可能地模仿实际生产环境,我们使用两台虚拟机来进行实验。一台虚拟机负责安装 Apache+PHP+wordpress,另一台虚拟机安装MariaDB,用来提供数据库服务。

源码编译安装HTTP-2.4

在之前的文章中,我们曾经介绍过如何在CentOS 6 上编译安装HTTPD 2.4,所以这里我们也是只列出关键步骤,不做详细解释。

#源码文件的存放路径

[root@localhostsrc]#pwd
/usr/local/src[root@localhostsrc]#tarxvfapr-1.6.2.tar.gz

[root@localhostsrc]#tarxvfapr-util-1.6.0.tar.gz
[root@localhostsrc]#tarxvfhttpd-2.4.27.tar.bz2
  • 将apr和apr-util复制到http目录下

这样做的目的是编译httpd的时候直接指定apr和apr-util的路径就可以。

[root@localhostsrc]#cp-rapr-1.6.2httpd-2.4.27/srclib/apr

[root@localhostsrc]#cp-rapr-util-1.6.0httpd-2.4.27/srclib/apr-util
  • 安装所需要的额外的软件包

[root@localhostsrc]#yuminstallopenssl-develexpat-develpcre-devel
  • 编译HTTPD

#进入到http源码目录下
[root@localhostsrc]#cdhttpd-2.4.27/

#配置Httpd编译选项
[root@localhosthttpd-2.4.27]#./configure\
>--prefix=/app/httpd24\
>--sysconfdir=/etc/httpd24\
>--enable-so\
>--enable-ssl\
>--enable-rewrite\
>--with-zlib\
>--with-pcre\
>--with-included-apr\
>--enable-modules=most\
>--enable-mpms-shared=all\
>--with-mpm=prefork


#进行安装
[root@localhosthttpd-2.4.27]#make-j2&&makeinstall
  • 将命令选项添加到环境变量

/etc/profile.d/目录下,新建一个lamp.sh 的shell脚本文件,然后将安装好的httpd路径添加到环境变量中。

#安装好的程序添加到环境变量中
[root@localhostprofile.d]#echo'PATH=/app/httpd24/bin/:$PATH'>lamp.sh

#使环境变量生效
[root@localhostprofile.d]#.lamp.sh

#启动httpd服务
[root@localhostprofile.d]#apachectlstart

二进制安装MariaDB

切换到第二台主机上,将mariadb的二进制源码文件下载下来。 回到/usr/local/src/路径下,解压mariadb到/usr/local/目录下,并创建MysqL 软连接

#解压MysqL到指定路径
[root@localhostlocal]#tarxvfmariadb-10.2.8-linux-x86_64.tar.gz-C/usr/local/

#创建软连接
[root@localhostlocal]#ln-smariadb-10.2.8-linux-x86_64/MysqL
#创建用户,并创建用户的家目录同时指定数据库文件的存储路径
[root@localhostlocal]#useradd-r-m-d/app/MysqLdb-s/sbin/nologinMysqL

进入到刚刚创建的MysqL 路径,利用MysqL自带的脚本文件,创建数据库

[root@localhostMysqL]#scripts/MysqL_install_db--datadir=/app/MysqLdb--user=MysqL
#创建MysqL配置文件路径
[root@localhostMysqL]#mkdir/etc/MysqL

#根据官方提供的MysqL配置文件模板来进行配置
[root@localhostMysqL]#cpsupport-files/my-large.cnf/etc/MysqL/my.cnf

配置文件创建成功之后,需要配置文件内容进行修改 ,而且要注意,不能写错,一旦出错,MysqL就启动不了了,如下图所示。

<a href=MysqL配置" style="border:0px;vertical-align:middle;" src="http://ot2trm1s2.bkt.clouddn.com/Linux/2017-10-11-linux-middle-command-8/MysqL%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%BF%AE%E6%94%B9.png">

配置文件一样,可以直接根据安装文件提供的脚本,复制过来。

#直接参考MysqL.server这个脚本
[root@localhostMysqL]#cpsupport-files/MysqL.server/etc/init.d/MysqLd

#将MysqL服务添加到开机启动
[root@localhostMysqL]#chkconfig--addMysqLd

此时如果启动MysqLd 服务的话,会提示出错,也是MysqL的日志文件还没有创建。可以根据提示信息创建日志文件

#创建日志文件路径
[root@localhostMysqL]#mkdir/var/log/mariadb

#修改日志文件路径的权限,以便MysqL数据库能够创建日志文件
[root@localhostMysqL]#chownMysqL/var/log/mariadb/

#启动MysqL服务
[root@localhostMysqL]#serviceMysqLdstart

同样的,也是在/etc/profile.d/路径下创建一个lamp.sh文件,将MysqL的变量添加进去。

#因为我们的MysqL是安装在另外一台主机上的,所以这里环境变量内容,没有httpd的。
[root@localhostprofile.d]#echo'PATH=/usr/local/MysqL/bin/:$PATH'>lamp.sh

#使环境变量生效
[root@localhostprofile.d]#.lamp.sh

这个过程在之前介绍如何安装MariaDB的文章中已经有所介绍,所以这里就不详细介绍了,我们直接执行命令,然后进行安全初始化。

#执行MysqL的安全初始化的脚本
[root@localhostMysqL]#MysqL_secure_installation
#允许172网段的主机通过root用户链接MysqL
grantallon*.*toroot@'172.%'identifiedby'centos';


#创建wpdb用来给wordpress使用
createdatabasewpdb;
grantallonwpdb.*towpuser@'172.%'identifiedby'centos';
grantallonwpdb.*towpuser@'localhost'identifiedby'centos';

源码编译安装PHP

这里有一些地方需要注意,编译安装PHP的时候,PHP-5.X 和PHP-7.X 版本不一样,编译选项也有一些不一致。

切换回之前安装HTTPD 的主机,切换到源码路径下。

#加压PHP源码包
[root@localhostsrc]#tarxvfPHP-7.1.10.tar.xz

#安装编译PHP源码时所需要的包
[root@localhostsrc]#yuminstalllibxml2-develbzip2-devellibmcrypt-devel
  • 配置PHP的编译选项,并进行安装

#这里有一点要注意在PHP5.x的版本中是不存在--enable-MysqLnd
#这个选项的,相反,使用了MysqL路径来指定
[root@localhostPHP-7.1.10]#./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\
>--with-apxs2=/app/httpd24/bin/apxs\
>--with-mcrypt\
>--with-config-file-path=/etc\
>--with-config-file-scan-dir=/etc/PHP.d\
>--enable-maintainer-zts\
>--disable-fileinfo

#进行编译安装
[root@localhostPHP-7.1.10]#make-j2&&makeinstall

在解压的目录下面,有一PHP配置文件的模板。 我们可以直接参考。

<a href=PHP配置参考" style="border:0px;vertical-align:middle;" src="http://ot2trm1s2.bkt.clouddn.com/Linux/2017-10-11-linux-middle-command-8/PHP%E9%85%8D%E7%BD%AE%E5%8F%82%E8%80%83.png">

#直接参考PHP配置文件
[root@localhostPHP-7.1.10]#cpPHP.ini-production/etc/PHP.ini

在之前安装的HTTPD的配置文件中,添加 MIME类型,同时修改主页,支持PHP
同时修改默认注解的支持类型,使其支持PHP文件

<a href=PHP的MIME配置" style="border:0px;vertical-align:middle;" src="http://ot2trm1s2.bkt.clouddn.com/Linux/2017-10-11-linux-middle-command-8/PHPMIME.png">

测试PHP程序与数据库链接

PHP程序配置结束之后,重新启动httpd服务。同时在httpd主页所在的目录下添加一个index.PHP文件

#因为我们是手动安装httpd的服务,所以主页目录位于我们指定的httpd安装路径下。
[root@localhosthtdocs]#pwd
/app/httpd24/htdocs

#下面这段代码用来测试PHP是否能够成功链接数据库
[root@localhosthtdocs]#catindex.PHP
<?PHP
$MysqLi=newMysqLi("172.18.2.77","root","centos");
if(MysqLi_connect_errno()){
echo"连接数据库失败!";
$MysqLi=null;
exit;
}
echo"连接数据库成功!";
$MysqLi->close();
PHPinfo();
?>

链接成功的界面如下图所示。

<a href=PHP 链接数据库" style="border:0px;vertical-align:middle;" src="http://ot2trm1s2.bkt.clouddn.com/Linux/2017-10-11-linux-middle-command-8/PHP%E9%93%BE%E6%8E%A5MysqL.png">

配置wordpress

  • 解压wordpress源码到HTTPD网站目录下

wordpress源码解压到HTTPD网站目录/app/httpd24/htdocs/

[root@localhostsrc]#tarxvfwordpress-4.8-zh_CN.tar.gz-C/app/httpd24/htdocs/

参考wordpress官方提供的配置文件,创建一个配置文件,并修其中对MysqL数据库的相关配置。

#参考官方的配置文件,创建一个新的配置文件
[root@localhostwordpress]#cpwp-config-sample.PHPwp-config.php

同时修改这个配置文件中,关于数据库的配置。

<a href=wordpress -MysqL" style="border:0px;vertical-align:middle;" src="http://ot2trm1s2.bkt.clouddn.com/Linux/2017-10-11-linux-middle-command-8/wordpress-MysqL.png">

通过浏览器访问http://webserv/wordpress/,其中webserv指的就是安装httpd服务的那台主机的ip,这样就可以进行wordpress的初始化配置。

<a href=wordpress初始化配置" style="border:0px;vertical-align:middle;" src="http://ot2trm1s2.bkt.clouddn.com/Linux/2017-10-11-linux-middle-command-8/WrodPress%E5%88%9D%E5%A7%8B%E5%8C%96.gif">

配置成功之后,可以看到之前创建的数据库中会多出几张表,这些表格就是wordpress所需要的表。

MariaDB[wpdb]>showtables;
+-----------------------+
|Tables_in_wpdb|
+-----------------------+
|wp_commentMeta|
|wp_comments|
|wp_links|
|wp_options|
|wp_postMeta|
|wp_posts|
|wp_term_relationships|
|wp_term_taxonomy|
|wp_termMeta|
|wp_terms|
|wp_userMeta|
|wp_users|
+-----------------------+
12rowsinset(0.00sec)

初始化成功之后,再访问http://webserv/wordpress/就可以查看主机的博客主页了。

<a href=wordpress-index" style="border:0px;vertical-align:middle;" src="http://ot2trm1s2.bkt.clouddn.com/Linux/2017-10-11-linux-middle-command-8/wordpress-index.png">

经过上面的步骤我们成功地从无到有安装了LAMP+wordpress,在实际生产中,wordpress也有可能是其他地。也有可能是Linux+Nginx+MariaDB+Python的组合形式,所以实际生产中还是需要根据实际情况做出自己的选择。

同时,在实际生产者中,每次都耗费这么长的时间去安装LAMP应用还是挺不可取的。所以最好将安装过程写成一个安装脚本,那样的话,获取会事半功倍。




个人博客地址:http://www.pojun.tech/欢迎访问

猜你在找的CentOS相关文章