LAMP工作原理
WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可把 WordPress当作一个内容管理系统(CMS)来使用。
测试环境部署:
服务器LAP(linux+apache+php),系统:centos8,IP:192.168.131.38
服务器LM(linu+mysql),系统:centos7.9, IP:192.168.131.28
好了,我们部署好测试环境,就正式开始搭建安装了,安装顺序没什么具体顺序,我这里首先选择在LAP上源码编译安装apache和php
安装前确保准备好相关的软件安装包,可以到各网站官网下载,我这里使用的是较新版的安装包
apache安装包:httpd-2.4.41.tar.bz2、apr-1.7.0.tar.bz2、apr-util-1.6.1.tar.bz2、php-7.3.10.tar
php安装包:php-7.3.10.tar
第一步安装配置apache:
tar xvf httpd-2.4.41.tar.bz2 //分别解压软件包
tar xvf apr-1.7.0.tar.bz2
tar xvf apr-util-1.6.1.tar.bz2
tar xvf php-7.3.10.tar
mv apr-1.7.0 httpd-2.4.41/srclib/apr //分别把apr和apr-util移动到httpd-2.4.41/srclib/目录下,并改回原名
mv apr-util-1.6.1 httpd-2.4.41/srclib/apr-util
dnf install gcc pcre-devel openssl-devel expat-devel //安装apache安装编译依赖软件包
cd /httpd-2.4.41
./configure \ //执行配置选项
--prefix=/app/httpd24 \ //软装安装路径可以自定义,我这里选择在/app/httpd24/目录下
--enable-so \
--enable-ssl \
--enable-cgi \
--enable-rewrite \
--with-zlib \
--with-pcre \
--with-included-apr \ //把复制到srclib目录下的apr加入配置项
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=prefork
make && make install //上述操作执行无错误情况下,执行编译安装
编译安装正常完成后,需要更改配置:
useradd -r -s /sbin/nologin apache //创建Apache系统用户
echo ‘PATH=/app/httpd24/bin:$PATH’ > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh //更改并加载PATH变量
vim /app/httpd24/conf/httpd.conf //进入到apache配置文件里,更改服务属主属组为apache,如下:
user apache
group apache
把apache服务添加到systemd服务管理
vim /usr/lib/systemd/system/httpd.service //把下面的代码写入到此文件中并保存
[Unit]
Description=The Apache HTTP Server
After=network.target remote-fs.target nss-lookup.target
Documentation=man:httpd(8)
Documentation=man:apachectl(8)
[Service]
Type=forking
#EnvironmentFile=/etc/sysconfig/httpd
ExecStart=/app/httpd24/bin/httpd $OPTIONS -k start
ExecReload=/app/httpd24/bin/httpd $OPTIONS -k graceful
ExecStop=/bin/kill -WINCH ${MAINPID}
# We want systemd to give httpd some time to finish gracefully, but still want
# it to kill httpd after TimeoutStopSec if something went wrong during the
# graceful stop. Normally, Systemd sends SIGTERM signal right after the
# ExecStop, which would kill httpd. We are sending useless SIGCONT here to give
# httpd time to finish.
KillSignal=SIGCONT
PrivateTmp=true
[Install]
WantedBy=multi-user.target
启动服务并设置开机自启:systemctl enable --now httpd ,正常启动后会看见80端口被打开。
如果使用systemd服务管理启动报错,可以执行下面命令开启apache服务:
apachectl start #开启apache服务
apachectl stop #关闭apache服务
vim /etc/rc.d/rc.local #设置开机自动启动
/app/httpd24/bin/apachectl start
chmod +x /etc/rc.d/rc.loca
第二步安装配置PHP
dnf install -y libxml2-devel bzip2-devel libmcrypt-devel #安装php编译相关依赖包
cd php-7.3.10
./configure --prefix=/app/php \ #执行配置选项
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-openssl \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--with-config-file-path=/etc \
--with-config-file-scan-dir=/etc/php.d \
--enable-mbstring \
--enable-xml \
--enable-sockets \
--enable-fpm \
--enable-maintainer-zts \
--disable-fileinfo
make && make install #编译安装
正确安装编译后,修改服务配置:
cd php-7.3.10
cp php.ini-production /etc/php.ini //复制生成文件模板改名php.ini
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm //复制启动文件并改名
chmod +x /etc/init.d/php-fpm //为启动文件添加执行权限
cd /app/php/etc
cp php-fpm.conf.default php-fpm.conf //复制模板配置文件并改名
cp php-fpm.d/www.conf.default php-fpm.d/www.conf
service php-fpm start //启动PHP服务,正确开启会打开9000端口
第三步配置apache支持php
进入到httpd配置文件:vim /app/httpd24/conf/httpd.conf
启动proxy_module和proxy_fcgi模块
修改默认首页优先为php文件页面:
虚拟主机配置:
文件配置完成后,保存并重启apache服务:systemctl restart httpd
确认apache和php服务都正常开启:
第四步准备wordpress文件配置
首先下载wordpress网站PHP程序安装包,这里实验环境下使用的是:wordpress-5.2.3-zh_CN.zip
unzip wordpress-5.2.3-zh_CN.zip #解压
cp wordpress /app/httpd24/htdocs/ #复制wordpress文件到服务网站显示默认目录下
#注意wordpress目录权限,开始需要给执行、写入权限,登录完成后因为安全原因建议取消acl权限
setfacl –R –m u:apache:rwx /app/httpd24/htdocs/wordpress/
cd /app/httpd24/htdocs/wordpress/
cp wp-config-sample.php wp-config.php #复制链接mysql数据库配置文件
vim wp-config.php #修改连接数据库配置文件,如下图:
至此服务器LAP上的搭建全部完成,现在还需要根据上面wp-config.php配置文件里填写的数据库配置信息到LM服务器上安装配置mysql数据库。
第五步安装配置mysql数据库
首先在LA机器上准备好mysql安装包,这里测试实验使用的是mysql-5.7.27-el7-x86_64.tar.gz,我们讲二进制安装数据库,具体安装步骤请参照我的mysql相关博客https://blog.csdn.net/Real_cTo/article/details/102140493
数据库安装完成后,首先要创建wordpress数据库
mysql> create database wordpress;
在上面wp-config.php配置文件中我是直接使用root连接数据库的,工作中需要建立单独用户,并只对相关库授权
mysql> grant all on wordpress.* to ’wpuser‘@'%' identified by "real";
第六步测试
可以在Windows端用浏览器测试,首先将www.real.com域名写入到hosts文件,文件路径 C:\Windows\System32\drivers\etc\hosts
写入: 192.168.131.38 www.real.com,建议使用Notepad++打开文件,可以直接保存
打开任意浏览器输入:www.real.com
注册站点:
测试完成: