论坛服务搭建

[复制链接]
发表于 2025-12-5 02:27:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、实行配景

论坛是互联网的一种应用服务模式。通过这种服务,互联网用户可以在上面欣赏到其他用户在网站发表的各种主题、 文章、资讯信息、题目互换等具有各种体现情势的笔墨。而且用户可以在上面针对某个具体的内容即时地发表自己的 回复、看法、议论等,大概直接发表自己的文章、题目或别的内容。由于论坛的这种特点,使得举世的用户都可以随 时随地举行互换,从而真正做到举世信息的互换。论坛具有多种体现情势,各网站可以按照自己的服务特点操持出适 合自身的论坛情势。比方,各类论坛、在线问答、各种供求信息、网上订购等都可以是论坛的体现情势。论坛现在在 互联网上得到非常广泛的应用,而且反应非常活泼。由于论坛可以使网上信息互换变得非常方便、广泛、及时,因而 对于加深网站的服务深度、进步网站的着名度、拓展网站的互换范围、激活网站的人气都有不小的作用,因此在互联 网的服务中,论坛将是一个告急的内容。
在 Internet飞速发展的二十一世纪的本日,互联网成为人们快速获取、发布和转达互换信息的告急渠道。它在人们政 治、经济、生存、学习等各个方面发挥着告急的作用。随着Internet的飞速发展,现在,国表里大部门构造、学校、 公司、企业都已经或正在创建自己的论坛。由此可见门生校园论在Internet应用上的职位显而易见,它已成为学校及 别的单位信息化创建中倍受人们的器重告急构成部门。 

二、实行目标

本实行旨在资助门生明白项目标实行流程,可以或许将所学知识点串联起来形成一个知识体系。通过本实行,渴望同砚们 可以或许到达如下目标:
1. 深入明白设置堆栈的告急性
2. 把握软件安装步调,软件服务管理
3. 把握文件目次管理、用户权限管理、网络设置干系下令
4. 把握防火墙设置和管理
5. 把握对数据库的安装、设置和操纵
6. 学会通过页面引导来对项目举行设置和管理

三、实行环境

1. 宿主机操纵体系:Windows 11 23H2 专业版
2. 捏造机软件:VMware Workstation 17 Pro
3. 捏造机操纵体系:Redhat-9.2
4. 长途毗连工具:XShell 7.x
5. 论坛步调运行环境:php-8.0.27-1.el9_1.x86_64
6. HTTP服务:httpd-2.4.53-11.el9_2.4.x86_64
7. 数据库:mariadb-3:10.5.16-2.el9_0.x86_64
8. 论坛源码:Discuz_X3.5_SC_UTF8

四、实行步调

论坛服务实行搭建步调如下:
1. 设置本地堆栈

起首在 /etc/yum.repo.d/ 目次下新建一个堆栈文件,如:yum.repo。文件设置内容如下:
  1. [root@localhost yum.repos.d]# vim yum.repo
  2. # 添加如下内容
  3. [baseos]
  4. name=baseos
  5. baseurl=/mnt/BaseOS
  6. gpgcheck=0
  7. [appstream]
  8. name=appstream
  9. baseurl=/mnt/AppStream
  10. gpgcheck=0
复制代码
然后将光盘挂载到 /mnt 目次下:
  1. [root@localhost yum.repos.d]# mount /dev/sr0 /mnt
  2. mount: /mnt: WARNING: source write-protected, mounted read-only.
复制代码
末了验证是否挂载乐成:
  1. [root@localhost yum.repos.d]# ls /mnt
  2. AppStream  EFI   extra_files.json  images    media.repo               RPM-GPG-KEY
  3. redhat-release
  4. BaseOS     EULA  GPL               isolinux  RPM-GPG-KEY-redhat-beta
复制代码
2. 安装PHP运行环境

论坛是以 PHP 语言开辟的,必要运行在 PHP 环境下。实行如下下令安装 PHP 语言运行环境:
  1. [root@localhost yum.repos.d]# dnf install -y php*
  2. ..........
  3. Installed:
  4.   apr-1.7.0-11.el9.x86_64                                apr-util-1.6.1-20.el9.x86_64
  5.   apr-util-bdb-1.6.1-20.el9.x86_64                       apr-util-openssl-1.6.1
  6. 20.el9.x86_64
  7.   autoconf-2.69-38.el9.noarch                            automake-1.16.2-6.el9.noarch
  8.   cmake-filesystem-3.20.2-8.el9.x86_64                   gcc-11.3.1-4.3.el9.x86_64
  9.   gcc-c++-11.3.1-4.3.el9.x86_64                          glibc-devel-2.34
  10. 60.el9.x86_64
  11. glibc-headers-2.34-60.el9.x86_64                       httpd-2.4.53
  12. 11.el9_2.4.x86_64
  13.   httpd-core-2.4.53-11.el9_2.4.x86_64                    httpd-filesystem-2.4.53
  14. 11.el9_2.4.noarch
  15.   httpd-tools-2.4.53-11.el9_2.4.x86_64                   kernel-headers-5.14.0
  16. 284.11.1.el9_2.x86_64
  17.   ..........
  18.   php-process-8.0.27-1.el9_1.x86_64                      php-snmp-8.0.27
  19. 1.el9_1.x86_64
  20.   php-soap-8.0.27-1.el9_1.x86_64                         php-xml-8.0.27
  21. 1.el9_1.x86_64
  22.   redhat-logos-httpd-90.4-1.el9.noarch                   rrdtool-1.7.2-21.el9.x86_64
  23.   tokyocabinet-1.4.48-19.el9.x86_64                      unixODBC-2.3.9-4.el9.x86_64
  24.   xz-devel-5.2.5-8.el9_0.x86_64                          zlib-devel-1.2.11
  25. 39.el9.x86_64
  26. Complete!
复制代码
3. 安装HTTPD服务
由于论坛是通过欣赏器访问的,而欣赏器访问服务器是通过 HTTP 协议访问的,而处理处罚 HTTP 协议是通过 HTTPD 服 务实现的,因此必要安装 HTTPD 服务。实行如下下令来安装 HTTPD 服务:
  1. [root@localhost yum.repos.d]# dnf install -y httpd
  2. Updating Subscription Management repositories.
  3. Unable to read consumer identity
  4. This system is not registered with an entitlement server. You can use subscription
  5. manager to register.
  6. Last metadata expiration check: 0:03:30 ago on Mon 25 Mar 2024 02:37:41 PM CST.
  7. Package httpd-2.4.53-11.el9_2.4.x86_64 is already installed.
  8. Dependencies resolved.
  9. Nothing to do.
  10. Complete!
复制代码
4. 安装数据库

论坛的数据是存在数据库中的,在 Linux 中保举使用 Mariadb 数据库,它与 MySQL 数据库是同出一源的。安装数 据库时必要安装客户端和服务端,实行如下下令来安装:
  1. [root@localhost yum.repos.d]# dnf install -y mariadb mariadb-server
  2. ......
  3. Installed:
  4.   mariadb-3:10.5.16-2.el9_0.x86_64                              mariadb-backup
  5. 3:10.5.16-2.el9_0.x86_64   
  6.   mariadb-common-3:10.5.16-2.el9_0.x86_64                       mariadb-errmsg
  7. 3:10.5.16-2.el9_0.x86_64
  8.   mariadb-gssapi-server-3:10.5.16-2.el9_0.x86_64                mariadb-server
  9. 3:10.5.16-2.el9_0.x86_64
  10.   mariadb-server-utils-3:10.5.16-2.el9_0.x86_64                 mysql-selinux-1.0.5
  11. 1.el9_0.noarch
  12.   perl-DBD-MariaDB-1.21-16.el9_0.x86_64                         perl-DBI-1.643
  13. 9.el9.x86_64
  14.   perl-Math-BigInt-1:1.9998.18-460.el9.noarch                   perl-Math-Complex
  15. 1.59-480.el9.noarch
  16.   perl-Sys-Hostname-1.23-480.el9.x86_64
  17. Complete!
复制代码
5. 启动HTTPD服务

安装好以上干系软件后,我们就可以启动 HTTPD 服务了,实行如下下令来启动:
  1. [root@localhost yum.repos.d]# systemctl start httpd
复制代码
实行后,我们可以通过如下下令来检察服务是否乐成启动:
  1. [root@localhost yum.repos.d]# netstat -lntup | grep httpd
  2. tcp6       0      0 :::80                   :::*                    LISTEN     
  3. 39790/httpd
复制代码
如果能看到如上信息,表现 HTTPD 服务已经乐成启动,并监听在 80 端口上。
6. 设置防火墙

由于 Redhat 体系是有防火墙安全服务的,而 HTTP 服务要想客户端可以或许访问,必要将其添加到防火墙列表中,同时 还必要将 80 端标语也添加到防火墙列表中。可实行如下下令来检察现在的 HTTP 服务和 80 端口是否在防火墙列表中。
  1. [root@localhost yum.repos.d]# firewall-cmd --list-all
  2. public (active)
  3.   target: default
  4.   icmp-block-inversion: no
  5.   interfaces: ens160
  6.   sources:
  7.   services: cockpit dhcpv6-client ssh
  8.   ports:
  9.   protocols:
  10.   forward: yes
  11.   masquerade: no
  12.   forward-ports:
  13.   source-ports:
  14.   icmp-blocks:
  15.   rich rules:
复制代码
可以发现,并没有在防火墙列表中,我们必要实行如下下令来将 http 服务和 80 端口添加到防火墙列表中。
  1. # 将 http 服务添加到防火墙中
  2. [root@localhost yum.repos.d]# firewall-cmd --permanent --add-service=http
  3. success
  4. # 将 80 端口添加到防火墙中
  5. [root@localhost yum.repos.d]# firewall-cmd --permanent --add-port=80/tcp
  6. success
  7. # 重新加载防火墙
  8. [root@localhost yum.repos.d]# firewall-cmd --reload
  9. success
复制代码
再次实行如下下令来检察防火墙列表信息:
  1. [root@localhost yum.repos.d]# firewall-cmd --list-all
  2. public (active)
  3.   target: default
  4.   icmp-block-inversion: no
  5.   interfaces: ens160
  6.   sources:
  7.   services: cockpit dhcpv6-client http ssh
  8.   ports: 80/tcp
  9.   protocols:
  10.   forward: yes
  11.   masquerade: no
  12.   forward-ports:
  13.   source-ports:
  14.   icmp-blocks:
  15.   rich rules:
复制代码
可以发现,http 服务和 80 端口已经乐成添加到了防火墙列表中。 为了防止客户端还大概无法访问服务,我们可以将 selinux 服务关闭。实行如下下令来关闭:
  1. [root@localhost yum.repos.d]# setenforce 0
复制代码
7. 启动数据库

接下来我们启动 Mariadb 数据库,实行如下下令:
  1. [root@localhost yum.repos.d]# systemctl start mariadb.service
复制代码
8. 设置数据库

当数据库服务启动后,我们必要对其举行设置。
起首实行如下的下令来进入到数据库中:
  1. [root@localhost yum.repos.d]# mysql -uroot -p
  2. Enter password:             # 在此处直接回车即可
  3. Welcome to the MariaDB monitor.  Commands end with ; or \g.
  4. Your MariaDB connection id is 3
  5. Server version: 10.5.16-MariaDB MariaDB Server
  6. Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
  7. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  8. MariaDB [(none)]>
复制代码
阐明:新安装的数据库,初始暗码为空。因此在输入暗码提示处直接回车即可登录乐成。
然后创建一个数据库,名称我们取名为 luntan
  1. # 查看目前的所有数据库信息
  2. MariaDB [(none)]> show databases;
  3. +--------------------+
  4. | Database           |
  5. +--------------------+
  6. | information_schema |
  7. | mysql              |
  8. | performance_schema |
  9. +--------------------+
  10. 3 rows in set (0.000 sec)
  11. # 创建luntan数据库
  12. MariaDB [(none)]> create database luntan;
  13. Query OK, 1 row affected (0.000 sec)
  14. # 再次查看确认
  15. MariaDB [(none)]> show databases;
  16. +--------------------+
  17. | Database           |
  18. +--------------------+
  19. | information_schema |
  20. | luntan             |
  21. | mysql              |
  22. | performance_schema |
  23. +--------------------+
  24. 4 rows in set (0.000 sec)
复制代码
接下来我们修改数据库的 root 用户的暗码:
  1. MariaDB [(none)]> alter user 'root'@'localhost' identified by 'redhat123';
  2. Query OK, 0 rows affected (0.001 sec)
复制代码
实行完上面的修改暗码语句后,我们实行 exit 下令来退出数据库,然后重新通过用户名和暗码来登录数据库
  1. [root@localhost yum.repos.d]# mysql -uroot -predhat123
  2. Welcome to the MariaDB monitor.  Commands end with ; or \g.
  3. Your MariaDB connection id is 4
  4. Server version: 10.5.16-MariaDB MariaDB Server
  5. Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
  6. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
  7. MariaDB [(none)]>
复制代码
要选择数据库:
  1. # 选择数据库
  2. MariaDB [(none)]> use luntan;
  3. Database changed
  4. # 查看数据库下所有表信息
  5. MariaDB [luntan]> show tables;
  6. Empty set (0.000 sec)
复制代码
9. 安装论坛步调

有了上面的全部环境后,我们就可以通过上传软件将论坛源步调(Discuz_X3.5_SC_UTF8_20230520.zip)文件上传 到 Redhat 体系的 /var/www/html/ 目次下。
  1. [root@localhost html]# ll
  2. total 11500-rw-r--r--. 1 root root 11775903 Feb 23 16:02 Discuz_X3.5_SC_UTF8_20230520.zip
复制代码
然后进入到这个目次下:
  1. [root@localhost yum.repos.d]# cd /var/www/html/
  2. [root@localhost html]#
复制代码
接着在这个目次下实行如下下令来解压这个文件:
  1. [root@localhost html]# unzip Discuz_X3.5_SC_UTF8_20230520.zip
  2. ......
  3.   inflating: upload/uc_server/view/default/pm_nav.htm  
  4.   inflating: upload/uc_server/view/default/pm_send.htm  
  5.   inflating: upload/uc_server/view/default/pm_view.htm  
  6.   inflating: upload/uc_server/view/default/templates.lang.php  
  7.   inflating: upload/uc_server/view/default/user_avatar.htm  
  8. extracting: upload/uc_server/view/index.htm  
  9.   inflating: utility.html
复制代码
解压完成后,检察解压的目次:
  1. [root@localhost html]# ll
  2. total 11624-rw-r--r--.  1 root root 11775903 Mar 25 14:56 Discuz_X3.5_SC_UTF8_20230520.zip-rw-r--r--.  1 root root     8181 May 20  2023 LICENSE-rw-r--r--.  1 root root    33294 Dec 21  2022 qqqun.png
  3. drwxr-xr-x.  2 root root      124 May 20  2023 readme-rw-r--r--.  1 root root    70226 Mar 16  2023 readme.html
  4. drwxr-xr-x. 12 root root     4096 May 20  2023 upload-rw-r--r--.  1 root root      140 Feb 12  2023 utility.html
复制代码
末了我们进入到 upload 目次
  1. [root@localhost html]# cd upload/
  2. [root@localhost upload]#
复制代码
该目次下全部文件列表如下:
  1. [root@localhost upload]# ll
  2. total 72
  3. -rw-r--r--.  1 root root 2869 May 20  2023 admin.php
  4. drwxr-xr-x. 10 root root  149 May 20  2023 api
  5. -rw-r--r--.  1 root root  727 May 20  2023 api.php
  6. drwxr-xr-x.  2 root root   23 May 20  2023 archiver
  7. drwxr-xr-x.  2 root root   90 May 20  2023 config
  8. -rw-r--r--.  1 root root 1040 May 20  2023 connect.php
  9. -rw-r--r--.  1 root root  106 May 20  2023 crossdomain.xml
  10. drwxr-xr-x. 12 root root  178 May 20  2023 data
  11. -rw-r--r--.  1 root root 5558 May 20  2023 favicon.ico
  12. -rw-r--r--.  1 root root 2357 May 20  2023 forum.php
  13. -rw-r--r--.  1 root root  906 May 20  2023 group.php
  14. -rw-r--r--.  1 root root 1325 May 20  2023 home.php
  15. -rw-r--r--.  1 root root 6912 May 20  2023 index.php
  16. drwxr-xr-x.  5 root root   64 May 20  2023 install
  17. -rw-r--r--.  1 root root  998 May 20  2023 member.php
  18. -rw-r--r--.  1 root root 2410 May 20  2023 misc.php
  19. -rw-r--r--.  1 root root 1790 May 20  2023 plugin.php
  20. -rw-r--r--.  1 root root 1086 May 20  2023 portal.php
  21. -rw-r--r--.  1 root root  639 May 20  2023 robots.txt
  22. -rw-r--r--.  1 root root 1755 May 20  2023 search.php
  23. drwxr-xr-x. 10 root root  168 May 20  2023 source
  24. drwxr-xr-x.  7 root root   86 May 20  2023 static
  25. drwxr-xr-x.  3 root root   38 May 20  2023 template
  26. drwxr-xr-x.  8 root root  146 May 20  2023 uc_client
  27. drwxr-xr-x. 13 root root 4096 May 20  2023 uc_server
复制代码
10. 设置论坛

打开欣赏器并在地点栏中输入:http://192.168.72.128/upload,就会看到如下界面。

留意:请输入你自己服务器的 IP 地点。
点击“同意”按钮来继承答应协议并进入到下一个设置界面。

从页面中可以发现,很多文件和目次的当前状态都是不可写,因此我们必要实行如下下令来为它们设置可操纵权限。
  1. [root@localhost upload]# chmod -R 777 data/ uc_client/ uc_server/ config/
复制代码
实行完下令后再次革新页面,可以发现全部的告诫信息都没有了。如下图所示:

点击“下一步”按钮进入到下一个设置界面:

在这个界面中接纳默认选项即可,然后点击“下一步”按钮。

在这个设置页面中,我们必要填写服务器的地点、数据库名、数据库用户名、数据库暗码、管理员暗码等信息。前四 个信息我们在第 8 步设置数据库中设置了干系的信息:数据库名为 luntan,数据库用户名为 root,数据库暗码为 redhat123。
此处我将管理员暗码也设置为redhat123 设置好相应数据库信息后,点击“下一步”按钮后就会开始安装,安装好后的界面如下图所示:

我们可以选择“进入管理背景”,也可以选择“安装插件模板”,还可以选择“直接访问站点”。此处我们选择“直接访问站 点”来进入论坛步调。



五、实行结论

1. 本实行的实行必要具备独立设置堆栈和目次挂载本事。
2. 由于涉及到文件权限管理,因此必要对权限管理干系下令有肯定相识。
3. 必要有肯定的数据库的根本操纵本事。
4. 必要有肯定的安全管理本事。
5. 通过本实行可以或许将干系知道串联起来。

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表