1、nfs server导出/data/application/web,在目录中提供wordpress;
2、nfs client挂载nfs server导出的文件系统至/var/www/html;
3、客户端1(lamp)部署wordpress,并让其正常访问;要确保能正常发文章,上传图片;
4、客户端2(lamp),挂载nsf server导出的文件系统至/var/www/html;验证其wordpress是否可被访问;要确保能正常发文章,上传图片
部署环境(CentOS 7.7.1980):
nfs server IP:192.168.10.101 提供共享目录,提供mariadb数据库
nfs客户端1 IP:192.168.10.102 nfs client,httpd,php,php-mysql
nfs客户端2 IP:192.168.10.103 nfs client,httpd,php,php-mysql
一、创建nfs服务端共享目录及mariadb数据库
服务端安装nfs-utils程序包
# yum install nfs-utils -y
然后创建一个需要导出的目录/data/application/web
# mkdir -pv /data/application/web
编辑/etc/exports,定义哪个共享目录,允许哪些人访问,具备哪些权限(man exports可以查看配置帮助)。此处设置为no_root_squash,不压缩root用户
开启nfs服务,会附带启动rpc辅助类服务
# systemctl start nfs.service
下载安装MariaDB数据库
# yum -y install mariadb-server
初始化配置mariadb
# vim /etc/my.cnf.d/server.cnf
启动MariaDB
# systemctl start mariadb
对Mysql进行安全加固
# mysql_secure_installation
连入Mysql
# mysql -uroot -h127.0.0.1 -plhp@ssw0rd
在mariadb中创建数据库以及用户名密码为wordpress提供;
MariaDB [(none)]> GRANT ALL ON wpdb.* TO 'wpuser'@'192.168.10.%' IDENTIFIED BY 'wppassword';
刷新授权表
MariaDB [(none)]> FLUSH PRIVILEGES;
创建数据库wpdb
MariaDB [(none)]> CREATE DATABASE wpdb;
二、客户端挂载共享目录并部署wordpress
安装httpd服务,nfs服务(挂载服务端使用)
# yum install httpd nfs-utils -y
在客户端1挂载共享目录,使用mount -t ,相当于mount.nfs
# mount -t nfs -rw 192.168.10.101:/data/application/web /var/www/html
mount选项挂载为rw,以保持和nfs服务端定义的权限一致,避免用户产生权限不一致的错觉
安装php,php-mysql,此处使用Moudule方式安装lamp
# yum install php php-mysql -y
由于上一步安装的php,php-mysql版本太低,无法匹配我下载的wordpress使用,这里我又重新下载了新版本
(1)更换RPM源
#CentOs 7.X:
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
(2)删除原来安装的php相关包
# yum remove php*
(3)安装php,php-mysql;php 7.0/7.1/7.2 分别表示为 70w/71w/72w
# yum install -y php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-fpm php71w-gd php71w-mbstring php71w-mysqlnd php71w-opcache php71w-pdo php71w-xml php71w-ldap
(4)重启httpd
# systemctl restart httpd
创建测试页/var/www/html/phpinfo.php
vim /var/www/html/phpinfo.php
关闭防火墙和selinux
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
访问测试
安装wordpress服务,使其在客户端能正常访问
上传WordPress-master.zip至客户端1:/var/www/html
解压并改名
cd /var/www/html/
unzip WordPress-master.zip
mv WordPress-master wordpress
编辑 wp-config.php
cd wordpress/
cp wp-config-sample.php wp-config.php
vim wp-config.php
将数据库信息填入以下位置
浏览器访问,在写博客前已经尝试创建了wordpress账号和帖子,所以访问时已经连接wpuser用户。默认使用root用户安装后,/var/www/html下的权限为744,需要更改运行httpd的用户以及nfs挂载映射的用户的权限()。此处为了方便实验,直接将挂载点和共享目录的文件权限设置为777。
三、客户端挂载共享目录
安装httpd服务,nfs服务(挂载服务端使用)
# yum install httpd nfs-utils -y
在客户端1挂载共享目录,使用mount -t ,相当于mount.nfs
# mount -t nfs -rw 192.168.10.101:/data/application/web /var/www/html
mount选项挂载为rw,以保持和nfs服务端定义的权限一致,避免用户产生权限不一致的错觉
更换RPM源
#CentOs 7.X:
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
安装php,php-mysql; php 7.0/7.1/7.2 分别表示为 70w/71w/72w
# yum install -y php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-fpm php71w-gd php71w-mbstring php71w-mysqlnd php71w-opcache php71w-pdo php71w-xml php71w-ldap
启动httpd
# systemctl restart httpd
关闭防火墙和selinux
# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0