杜郎俊赏 - dujun.io

开源实例之SForum

前言

SForum(原 SuperForum)是一款高性能组件化的论坛程序,基于 PHP 开发(Hyperf 框架)。

项目地址

类别描述
官网https://www.sforum.cn
论坛https://www.runpod.cn
仓库https://github.com/zhuchunshu/SForum
QQ 群798695907

实例地址

https://sforum.dujun.eu.org

实例配置

配置描述
系统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)。

后记

本实例仅供参考,不定期重置数据。

体验更多开源实例

标签: 开源实例 PHP
日期:2023-02-06