WordPress应用
是一款基于PHP开发的博客发布平台。用户可以在支持PHP和MySql的系统上,轻松地搭建WordPress博客系统,并在上面发布自己的博客文章。
关于LAMP,之前的文章中已经有过很多的介绍,感兴趣的朋友可以去查看我之前的文章。
今天我们直接介绍,如何直接源码编译安装LAMP,并且在配置好环境的系统上部署WordPress应用。
使用脚本一键安装LAMP
在实际生产中,手动操作,人肉运维往往费时费力, 这里给大家推荐一个一键安装LAMP的脚本,这是我的github,可以关注一下,脚本还有很多需要完善的地方,欢迎留言一起讨论。
一键安装LAMP的Shell脚本
本着学习为主的理念,今天,我们是要手动编译安装一下LAMP。这样的话,查看脚本也就会非常简单了。
环境准备
软件环境
首先我们需要准备安装 LAMP所需要的一些软件环境。可以到相关的网站上去下载源码包。
[root@localhost src]#ls apr-1.6.2.tar.gz httpd-2.4.27.tar.bz2 php-7.1.10.tar.xz apr-util-1.6.0.tar.gz mariadb-10.2.8-linux-x86_64.tar.gz wordpress-4.8-zh_CN.tar.gz
安装开发包组
因为我们这个实验是需要通过大量的编译来安装相关的软件,所以需要对实验环境提前安装开发包组。
执行yum groupinstall "development tools"
就可以安装开发包组。
硬件环境
实验过程中,为了尽可能地模仿实际生产环境,我们使用两台虚拟机来进行实验。一台虚拟机负责安装 Apache+PHP+WordPress,另一台虚拟机安装MariaDB,用来提供数据库服务。
源码编译安装HTTP-2.4
在之前的文章中,我们曾经介绍过如何在CentOS 6 上编译安装HTTPD 2.4,所以这里我们也是只列出关键步骤,不做详细解释。
解压源码文件
# 源码文件的存放路径 [root@localhost src]#pwd /usr/local/src [root@localhost src]#tar xvf apr-1.6.2.tar.gz [root@localhost src]#tar xvf apr-util-1.6.0.tar.gz [root@localhost src]#tar xvf httpd-2.4.27.tar.bz2
将apr和apr-util复制到http目录下
这样做的目的是编译httpd的时候直接指定apr和apr-util的路径就可以。
[root@localhost src]#cp -r apr-1.6.2 httpd-2.4.27/srclib/apr [root@localhost src]#cp -r apr-util-1.6.0 httpd-2.4.27/srclib/apr-util
安装所需要的额外的软件包
[root@localhost src]#yum install openssl-devel expat-devel pcre-devel
编译HTTPD
# 进入到http 源码目录下 [root@localhost src]#cd httpd-2.4.27/ # 配置Httpd编译选项 [root@localhost httpd-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@localhost httpd-2.4.27]#make -j 2 && make install
将命令选项添加到环境变量
在
/etc/profile.d/
目录下,新建一个lamp.sh 的shell脚本文件,然后将安装好的httpd路径添加到环境变量中。
# 安装好的程序添加到环境变量中 [root@localhost profile.d]#echo 'PATH=/app/httpd24/bin/:$PATH' > lamp.sh # 使环境变量生效 [root@localhost profile.d]# . lamp.sh # 启动httpd 服务 [root@localhost profile.d]#apachectl start
二进制安装MariaDB
解压二进制文件
切换到第二台主机上,将mariadb的二进制源码文件下载下来。 回到
/usr/local/src/
路径下,解压mariadb到/usr/local/
目录下,并创建mysql 软连接
# 解压mysql 到指定路径 [root@localhost local]#tar xvf mariadb-10.2.8-linux-x86_64.tar.gz -C /usr/local/ # 创建软连接 [root@localhost local]#ln -s mariadb-10.2.8-linux-x86_64/ mysql
创建用户,并指定MySQL数据库文件存储路径
# 创建 用户,并创建用户的家目录 同时指定数据库文件的存储路径 [root@localhost local]#useradd -r -m -d /app/mysqldb -s /sbin/nologin mysql
创建数据库文件
进入到刚刚创建的mysql 路径,利用mysql自带的脚本文件,创建数据库
[root@localhost mysql]#scripts/mysql_install_db --datadir=/app/mysqldb --user=mysql
创建mysql的配置文件,并修改文件内容
# 创建mysql 的配置文件路径 [root@localhost mysql]#mkdir /etc/mysql # 根据官方提供的mysql的配置文件模板来进行配置 [root@localhost mysql]#cp support-files/my-large.cnf /etc/mysql/my.cnf
配置文件创建成功之后,需要配置文件内容进行修改 ,而且要注意,不能写错,一旦出错,mysql就启动不了了,如下图所示。
创建mysql的启动脚本并添加到开机启动
与配置文件一样,可以直接根据安装文件提供的脚本,复制过来。
# 直接参考 mysql.server 这个脚本 [root@localhost mysql]#cp support-files/mysql.server /etc/init.d/mysqld # 将mysql 服务添加到开机启动 [root@localhost mysql]#chkconfig --add mysqld
此时如果启动mysqld 服务的话,会提示出错,也是mysql的日志文件还没有创建。可以根据提示信息创建日志文件。
创建mysql的日志文件
# 创建日志文件路径 [root@localhost mysql]#mkdir /var/log/mariadb # 修改日志文件路径的权限,以便mysql数据库能够创建日志文件 [root@localhost mysql]#chown mysql /var/log/mariadb/ # 启动mysql 服务 [root@localhost mysql]#service mysqld start
添加mysql的环境变量
同样的,也是在
/etc/profile.d/
路径下创建一个lamp.sh文件,将mysql的变量添加进去。
# 因为我们的mysql是安装在另外一台主机上的,所以这里环境变量内容,没有httpd的。 [root@localhost profile.d]#echo 'PATH=/usr/local/mysql/bin/:$PATH' > lamp.sh # 使环境变量生效 [root@localhost profile.d]# . lamp.sh
进行mysql的安全初始化,删除测试库,删除匿名用户
这个过程在之前介绍如何安装MariaDB的文章中已经有所介绍,所以这里就不详细介绍了,我们直接执行命令,然后进行安全初始化。
# 执行mysql 的安全初始化的脚本 [root@localhost mysql]#mysql_secure_installation
创建WordPress的应用数据库以及用户,并给用户赋权限
# 允许172网段的主机通过root用户链接mysql grant all on *.* to root@'172.%' identified by 'centos'; # 创建wpdb用来给wordpress使用 create database wpdb; grant all on wpdb.* to wpuser@'172.%' identified by 'centos'; grant all on wpdb.* to wpuser@'localhost' identified by 'centos';
源码编译安装php
这里有一些地方需要注意,编译安装PHP的时候,PHP-5.X 和PHP-7.X 版本不一样,编译选项也有一些不一致。
切换回之前安装HTTPD 的主机,切换到源码路径下。
安装缺少的包,解压PHP源文件
# 加压PHP源码包 [root@localhost src]# tar xvf php-7.1.10.tar.xz # 安装编译PHP源码时所需要的包 [root@localhost src]# yum install libxml2-devel bzip2-devel libmcrypt-devel
配置PHP的编译选项,并进行安装
# 这里有一点要注意在PHP 5.x 的版本中是不存在 --enable-mysqlnd # 这个选项的,相反,使用了mysql路径来指定 [root@localhost php-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@localhost php-7.1.10]#make -j 2 && make install
准备PHP的配置文件
在解压的目录下面,有一php配置文件的模板。 我们可以直接参考。
# 直接参考PHP的配置文件 [root@localhost php-7.1.10]#cp php.ini-production /etc/php.ini
给Httpd配置文件添加支持PHP的MIME类型
在之前安装的HTTPD的配置文件中,添加 MIME类型,同时修改主页,支持PHP。
同时修改默认注解的支持类型,使其支持PHP文件。
测试PHP程序与数据库的链接
PHP程序配置结束之后,重新启动httpd服务。同时在httpd主页所在的目录下添加一个index.php文件。
# 因为我们是手动安装httpd的服务,所以主页目录位于我们指定的httpd安装路径下。 [root@localhost htdocs]#pwd /app/httpd24/htdocs # 下面这段代码用来测试PHP是否能够成功链接数据库 [root@localhost htdocs]#cat index.php close(); phpinfo(); ?>
链接成功的界面如下图所示。
配置WordPress
解压WordPress源码到HTTPD网站目录下
将WordPress源码解压到HTTPD网站目录
/app/httpd24/htdocs/
下
[root@localhost src]#tar xvf wordpress-4.8-zh_CN.tar.gz -C /app/httpd24/htdocs/
修改wordpress的配置文件中mysql的相关设置
参考WordPress官方提供的配置文件,创建一个配置文件,并修其中对mysql数据库的相关配置。
# 参考官方的配置文件,创建一个新的配置文件 [root@localhost wordpress]#cp wp-config-sample.php wp-config.php
同时修改这个配置文件中,关于数据库的配置。
初始化wordPress
通过浏览器访问
http://webserv/wordpress/
,其中webserv指的就是安装httpd服务的那台主机的ip,这样就可以进行WordPress的初始化配置。
配置成功之后,可以看到之前创建的数据库中会多出几张表,这些表格就是wordpress所需要的表。
MariaDB [wpdb]> show tables; +-----------------------+ | 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 | +-----------------------+ 12 rows in set (0.00 sec)
初始化成功之后,再访问
http://webserv/wordpress/
就可以查看主机的博客主页了。
经过上面的步骤我们成功地从无到有安装了LAMP+WordPress,在实际生产中,WordPress也有可能是其他地PHP应用。也有可能是Linux+Nginx+MariaDB+Python的组合形式,所以实际生产中还是需要根据实际情况做出自己的选择。
同时,在实际生产者中,每次都耗费这么长的时间去安装LAMP应用还是挺不可取的。所以最好将安装过程写成一个安装脚本,那样的话,获取会事半功倍。
个人博客地址:http://www.pojun.tech/ 欢迎访问