开源实例之SForum
前言
SForum(原 SuperForum)是一款高性能组件化的论坛程序,基于 PHP 开发(Hyperf 框架)。
项目地址
类别 | 描述 |
---|---|
官网 | https://www.sforum.cn |
论坛 | https://www.runpod.cn |
仓库 | https://github.com/zhuchunshu/SForum |
QQ 群 | 798695907 |
实例地址
实例配置
配置 | 描述 |
---|---|
系统 | Debian |
服务端 | PHP 8.0 |
数据库 | MariaDB 10.5 |
缓存 | Redis |
程序 | SForum 2.2.8 |
实例部署
SForum 原生安装需要一定开发基础,不过官方提供了便捷的 Docker 部署。以下安装过程以 Debian 11 系统为例介绍 Docker部署和原生安装的方法。
Docker部署
安装 docker
sudo apt install docker.io docker-compose
下载yml
wget https://raw.githubusercontent.com/zhuchunshu/SForum/master/docker-compose.yml
文件内容如下:
version: '3'
services:
web:
#zhuchunshu/sforum:v2 or ghcr.io/zhuchunshu/sforum:v2
image: zhuchunshu/sforum
ports:
- "9501:9501"
environment:
- DB_HOST=db
- REDIS_HOST=redis
- DB_DATABASE=sforum
- DB_USERNAME=sforum
- DB_PASSWORD=sforum
depends_on:
- db
- redis
networks:
- sf
volumes:
- sforum:/data
restart: always
redis:
image: redis:7.0
restart: always
networks:
- sf
volumes:
- redis:/data
- redis:/usr/local/etc/redis/redis.conf
- redis:/logs
db:
image: mariadb:10.5.18
restart: always
environment:
MARIADB_ROOT_PASSWORD: sforum
MARIADB_DATABASE: sforum
MARIADB_USER: sforum
MARIADB_PASSWORD: sforum
networks:
- sf
volumes:
- db:/var/lib/mysql
networks:
sf:
external: false
volumes:
sforum:
driver: local
db:
driver: local
redis:
driver: local
启动SForum
docker-compose up -d
程序启动后监听在 9501 端口,使用 Nginx 反代即可,下文有具体描述。
原生安装
原生安装 SForum 需要安装 PHP、MySQL、Redis、Nginx、composer。
安装 PHP
SForum 目前支持 PHP8.0,需要使用 PPA 源安装:
curl -sSL https://packages.sury.org/php/README.txt | bash -x
apt install php8.0
所需 PHP 扩展:
apt install php8.0-curl php8.0-xml php8.0-gd php8.0-mbstring php8.0-redis php8.0-swoole php8.0-bcmath
安装 MySQL
本例使用 MariaDB。
apt install mariadb-server-10.5
创建一个数据库,用于后续安装程序。
安装 Redis
apt install redis-server
安装 Nginx
apt install nginx
安装composer
apt install git zip unzip
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer
安装SForum
composer create-project zhuchunshu/sforum
进入安装目录,按照提示,连续执行命令即可完成安装(启动服务也是此命令):
php CodeFec CodeFec
Nginx反代设置
本例完整配置如下:
server {
listen 80;
listen 443 ssl http2;
server_name sforum.dujun.eu.org;
add_header "Access-Control-Allow-Origin" "*" always;
add_header "Access-Control-Allow-Credentials" "true" always;
add_header "Access-Control-Allow-Methods" "GET,HEAD,POST" always;
location / {
proxy_pass http://127.0.0.1:9501;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_set_header Origin http://$host;
proxy_redirect default;
}
ssl_certificate /root/.acme.sh/dujun.eu.org/fullchain.cer;
ssl_certificate_key /root/.acme.sh/dujun.eu.org/dujun.eu.org.key;
ssl_trusted_certificate /root/.acme.sh/dujun.eu.org/ca.cer;
}
实例体验
特别说明:为方便体验,对程序做了修改(包括自动填写用户名、密码、验证码、取消发帖/回帖时间限制等)。体验原版可以访问官方演示站http://demo.sforum.cn/admin(账号/密码:demo/demo)。
后记
本实例仅供参考,不定期重置数据。