想把xiunobbs数据转换成SForum,由于最新版本的SForum没有转换工具支持
于是采用Sforum v2.2.2测试

测试环境

  • Ubuntu 22.0.4
  • php8.0
  • mariadb10.6
  • composer
  • redis
  • nginx or apache

测试程序

sforum v2.2.2

xiuno2sforum v2.2.2

PHP

安装PPA 源

需要使用 PPA 源安装:

1
2
3
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

安装php8.0

1
apt install php8.0
1
apt install -y php8.0-dev

安装拓展

1
apt install php8.0-curl php8.0-xml php8.0-gd php8.0-mbstring php8.0-redis php8.0-swoole php8.0-bcmath php-intl -y

查看php版本

1
php -v

查看拓展

1
php -m

切换PHP版本

1
update-alternatives --config php

切换到

1
update-alternatives --set php /usr/bin/php8.0

PHP 扩展 ZipArchive

上传压缩包提示500错误,打开日志发现是缺少组件

服务器上存在多个php版本,手动指定php-config文件

1
./configure --with-php-config=/www/server/php/73/bin/php-config

安装ZipArchive扩展

编译ZipArchive
1
2
3
4
5
6
7
8
cd ~
wget http://pecl.php.net/get/zip
tar -zxvf zip
cd zip-x.x.x
phpize
./configure
make
make install

成功安装zip之后会返回一个路径:

类似

1
Installing shared extensions:     /www/server/php/8/lib/php/extensions/no-debug-non-zts-20180731/

加到php.ini中:

1
extension=/www/server/php/8/lib/php/extensions/no-debug-non-zts-20180731/zip.so


php.ini中添加

1
extension=zip.so

提示checking for libzip... not found

编译libzip
1
2
3
4
5
6
7
wget https://libzip.org/download/libzip-1.3.2.tar.gz
tar xvf libzip-1.3.2.tar.gz
cd libzip-1.3.2
./configure
make
make install
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"

在使用插件转换数据中一直报错无法使用的class medoo

所以使用cpmposer安装

1
composer require catfan/Medoo

mariadb

创建数据库

Mariadb创建数据库、用户及授权

数据导入

导入sql备份文件

进入数据库

1
mysql -uroot -p

使用数据库bbs

1
use bbs

导入sql路径

1
source /root/bbs.sql;

安装 Redis

1
apt install redis-server

安装 Nginx

1
apt install nginx

安装composer

1
2
3
4
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 v2.2.2

1
composer create-project zhuchunshu/sforum=v2.2.2 sforum

进入安装目录,

1
cd sforum

按照提示,连续执行命令即可完成安装(启动服务也是此命令):

1
php CodeFec CodeFec