项目介绍
LNMP是LINUX+NGINX+MYAQL或MARIADB+PHP的缩写,是一起使用来运行动态网站或者服务器的自由软件名称
DISCUZ:是通用的社区论坛软件系统
WORKPRESS:是一款能让您建立出色网站、博客或应用程序的开源软件。
项目背景
你就职的公司在阿里云有一台ECS服务器,该服务器运行RHEL9,现计划在公司的阿里云ECS服务器中搭建论坛系统(BBS)和内容管理系统(CMS)
项目要求
1.配置服务器环境使之保证Discuz与Wordpress正常运行
2.安装Discuz与Wordpress,并按照企业要求设置板块
3.配置服务器安全
discuz
一、搭建LNMP环境
## 下载nginx、maridb-service和php
yum install -y nginx mariadb-server php
systemctl enable --now nginx.service
systemctl enable --now mariadb
## 防火墙放行
firewall-cmd --add-service=mysql
firewall-cmd --add-service=mysql --permanent
firewall-cmd --reload
## 临时关闭selinux
setenforce 0
ss -ltpn #查看端口占用情况
二、下载discuz
## wget下载压缩包 -O指定文件名称 discuz.zip
wget -O discuz.zip https://gitee.com/Discuz/DiscuzX/attach_files/1345207/download
## 解压压缩包 -d指定名称
unzip discuz.zip -d _tmp
## 进入配置文件查找网页根目录
cat /etc/nginx/nginx.conf
## 将解压的文件移动到网页根目录下
mv _tmp/upload/ /usr/share/nginx/html
systemctl restart nginx
三、安装前条件检查
## 赋予文件可写权限
vim dir.txt
for dir in $(cat dir.txt); do chmod o+w ${dir}; done
chmod -R /usr/share/nginx/html/upload
## 函数依赖安装
yum install -y php-mysql # rhel7以下的环境安装
yum install -y php-mysqlnd # rhel8以上的环境安装
yum install -y maridb-service
## 为maridb配置安全环境
mysql_secure_installation
安装完成
## 为maridb修改root密码
mysqladmin -uroot password "123456"
此时尝试进入论坛,显示
四、修改Discuz配置文件
cat config_global.php # 查看discuz的全局配置文件
vim config_global.php
可以看到还没修改的数据库用户和明文密码(分析:由于修改了密码导致无法访问discuz),修改后可正常访问。但是此配置文件如果这样写密码和用户名暴露无遗,非常非常不安全
## 创建一个账号discuz只能访问ultrax数据库
mysql -uroot -p(密码)
grant all on ultrax.* to 'discuz'@'localhost' identified by '密码';
修改配置文件账号为普通数据库人员,这样子既保证了数据库安全也可以正常访问discuz
五、进入discuz论坛管理
重新进入web安装向导,重新安装,重新选择正确的数据库用户名与密码
重新安装即可登录admin管理员
## 进入管理中心后会要求删除安装程序
rm ./data/install.lock
rm ./install/index.php
rm ./uc_server/install/index.php
六、安装完成后设置selinux
restorecon -Rv bbs
## 开启httpd可以网络连接数据库的sebool值
getsebool -a |grep db| grep httpd
setsebool -P httpd_can_network_connect_db on
开启后发现无法访问数据库写入模块(分析:原因是普通httpd的上下文标签没有写入权限)
## 修改data文件夹下的上下文标签
semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/nginx/html/bbs/data(/.*)?'
restorecon -Rv /usr/share/nginx/html/bbs/data
wordpress
一、下载安装wordpress
wget https://cn.wordpress.org/latest-zh_CN.zip
unzip latest-zh_CN.zip -d wordpress
mv wordpress/wordpress /usr/share/nginx/html/wordpress # 将workpress移动到网页根目录下
## 创建一个账号wordpress只能访问wordpress数据库
mysql -uroot -p(密码)
> create database wordpress;
> grant all on wordpress.* to 'wordpress'@'localhost' identified by '密码';
> exit;
填写数据库信息
进入wp-config.php修改配置信息
二、配置selinux
## 和discuz一样重新打标签可以给予wordpress正常的httpd上下文标签
restorecon -Rv /usr/share/nginx/html/wordpress/
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论