创作前言:首先感谢各位开发者能发布相关的技术文章,在你们发布的文章中学到了很多知识,在观摩学习中,我深感到一点都不懂的痛(有一步不是很详细就进行不下去),对此我自己在学习过程中进行了总结概括,想帮助后来者在学习这段内容时能用最短的时间,了解这些知识。
正文:(#标识都是root用户登录 $是普通用户登录)
1. 检查Apache服务器
rpm -qa|grep -i httpd
2. 删除已有的Apache服务器软件
dnf remove httpd*
3. 下载Apache服务器软件
dnf -y install httpd*
4. 启动httpd服务程序并加入到启动项
systemctl start httpd
systemctl enable httpd
5. 一般网站的数据会存放到 /var/www/html目录中,现在我们建立网站数据保存目录,并创建首页文件
6. 定义网站数据保存路径的参数DocumentRoot
定义目录权限的参数Directory
vim /etc/httpd/conf/httpd.conf
8. 修改成自己创建的网站数据保存目录
9. 重启httpd服务并在浏览器中运行
10. 浏览器提示权限不足
11. 权限不足的原因:SELinux安全子系统 (SELinux域限制可以确保服务程序做不了出格的事情)(SELinux安全上下文确保文件资源只能被其所属的服务程序进行访问)
12. 查看SELinux服务主配置文件命令
vim /etc/selinux/config
13. SELinux服务有3种配置模式,具体如下:
enforcing:强制启用安全策略模式,将拦截服务的不合法请求。
permissive:遇到服务越权访问时,只发出警告而不强制拦截。
disabled:对于越权的行为不警告也不拦截。
14. 解决权限不足的方法:SELinux服务定义为permissive模式 (临时更改 系统重启失效)
setenforce [0|1]命令修改SELinux当前的运行模式(0为禁用,1为启用)
Getenforce 命令获取SELinux服务模式
15. 在wwwroot目录中执行firefox命令
16. 查看文件的安全上下文值
17. 用户段system_u代表系统进程的身份,角色段object_r代表文件目录的角色,类型段httpd_sys_content_t代表网站服务的系统文件
18. 使用semanage命令将当前网站目录/home/wwwroot的SELinux安全上下文修改为跟原始网站目录的一样
19. 向新的网站数据目录中新添加一条SELinux安全上下文,让这个目录以及里面的所有文件能够被httpd服务程序访问到:
20. Restorecon命令将设置好的SELinux安全上下文立即生效
21.前面的操作,有了一个保存网站的目录,根据域名网站也能正常的访问响应
22.关闭防火墙,让虚拟机能够与pc之间互相访问
查看防火墙命令:systemctl status firewalld
关闭防火墙命令:systemctl stop firewalld.service
23.下载mariadb
24.开启mariadb服务,并配置数据库 具体可以看这个博客如何安装数据库:Discuz论坛搭建详细过程,一看就懂-优快云博客
25.进入数据库
mysql -u root -p
26. 在数据库中创键luntan表
创建表:create Database luntan
查看数据库:show databases
退出:exit
27.安装PHP
yum install php* -y //可能会报错,按提示解决就行
28.下载Discuz! 3.4包 下载地址:Discuz! X3.4 正式版【2023-05-20】 - Discuz! X 程序发布 - Powered by Discuz! (dismall.com)
29.把包放在 /home/wwwroot目录中
30.解压Discuz包
unzip 包名.zip
31.根据之前配置好的域名安装Discuz,ifconfig可以查看IP地址
网址:域名/upload
32.安装Discuz时,文件不可写解决办法:cd到下载解压目录中的upload文件
chmod 777 config/ data/ uc_* -R
33.安装mysqli_connect() 不支持的解决方法 (大概率安装PHP时没下载php-mysqli)
yum install -y php-mysqli
34.PHP不支持XML解决办法(没下载php-xml)
yum install -y php-xml
36. 重启服务
systemctl restart httpd.service
systemctl restart mariadb.service
37.数据库配置