安装各种论坛小记

环境

常用操作

数据库操作

  • mysql -uroot -p

    连接数据库,输入账号(root)及密码

  • CREATE USER 'user'@'localhost' IDENTIFIED BY 'password'; 单次操作

    创建用户,用户名user(自定义),密码password(自定义)

  • GRANT ALL PRIVILEGES ON database.* TO 'user'@'localhost'; 单次操作

    授权,将数据库database(下一步建立的),操作授权给用户user(上一步定义的)

  • CREATE DATABASE database;

    创建数据库,database(自定义,例如mybb)为数据库名

  • FLUSH PRIVILEGES; 非必须

    刷新权限配置

  • exit

    退出

得到数据库database(建议每一个论坛或网站设置一个数据库), 用户名user,密码password(明文存储在php脚本里,强烈建议不要和自己的私密密码关联)

apache2 设置

查找apache2配置路径
  • ps -ef | grep apache

    获取进程apache2所在路径,如/usr/sbin/apache2

  • /usr/sbin/apache2 -V | grep SERVER_CONFIG_FILE

    获取配置文件路径,我这里没有成功获取,不过也显示了路径 /etc/apache2/apache2.conf

详细参考这篇stackoverflow回答 如何查找apache的配置文件

配置rewrite
  • 添加如下类似代码(按照文件自带的来修改,仅修改AllowOverride)

    <Directory /wwwroot/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    启用rewrite功能,/wwwroot/为网站的绝对路径,如默认为/var/www/html/

  • sudo a2enmod rewrite

    启用rewrite模板,需要重启apache

详细参考这篇 如何在Ubuntu14.04下开启Apache的rewrite模块

修改默认站点路径
  • 配置文件路径(/etc/apache2/) + ‘sites-enabled/000-default.conf’

  • sudo nano /etc/apache2/sites-enabled/000-default.conf

    打开后前面几行可以找到DocumentRoot,设置该值即可
    如:DocumentRoot /wwwroot

开启SSL
  • sudo a2enmod ssl

    开启SSL模块

  • sudo mkdir /etc/apache2/ssl

  • sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

    生成非签名证书,

  • sudo nano /etc/apache2/sites-available/default-ssl.conf

    打开配置文件并修改

    SSLCertificateFile /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key
  • sudo a2ensite default-ssl.conf

    配置使能 要求重启apache

详情可以参考 如何在Ubuntu14.04下开启Apache的SSL
要建立签名的证书可以参考 Linux下生成能用的SSL证书的步骤
nginx参考这篇 ubuntu 16.04下nginx的自签名证书创建

其他
  • sudo a2ensite sitename

    /etc/apache2/sites-enabled/路径下建立文件sitename.conf,然后就可以启用该文件的配置,如配置环境,设置rewrite等等,参考这篇安装nextcloud文章

  • sudo service apache2 restart

    重启 apache2

  • sudo a2enmod headers

    开启模块headers

PHP配置

  • 查看已安装模块
    sudo apt-cache search php7.0-*

  • 安装模块
    sudo apt-get install php7.0-mbstring
    sudo apt-get install php7.0-curl
    sudo apt-get install php7.0-xml
    sudo apt-get install php7.0-zip
    sudo apt-get install php7.0-gd

  • 设置错误显示
    locate php.ini

    查找php配置文件路径,例如/etc/php/7.0/apache2/php.ini
    修改 display_errors = on

参考文章
如何让PHP显示所有错误
如何安装mbstring扩展
如何在php7下安装ext-curl模块(php70w-common可以一次性安装很多模块)
如何在php7下安装DOM模块(不赞同)
php7.0下zip模块不存在

论坛安装

MyBB

MyBB是国际上非常优秀的免费论坛软件,最大的特色是简单但是功能却出奇的强大。支持多国语言,可以分别设置前台后台的语言,每个用户也可以设置自己使用何种语言访问论坛包括自己的时区等,自定义功能强大到没有做不到只有想不到。

  • 下载

    mybb_1808.zip 1.8.8版本

  • 上传

    解压上传Upload目录下所有文件到网站目录下,如我这里上传到根目录下的mybb目录下

  • 中文支持 非必须

    在官网主页 Extend - Translations下,最后一页可以找到中文语言包,直达地址,长期支持页面
    解压中文包(inc&install)后将其拷贝到网站目录下,如我这里为mybb目录

  • 打开网页进行安装

    一直下一步到安装环境检测
    xml扩展参考本文php部分 php7.0-xml
    目录及文件可写 (查看提示然后添加相应的文件)
    chmod 777 inc/ cache/ uploads/ uploads/avatars/ inc/config.default.php inc/settings.php

  • 建立数据库并安装

    参考本文数据库部分进行创建数据
    填写数据库信息,用户名,密码,名称

  • 然后一直下一步,设置管理员账号,最后安装成功

  • 删除install目录(rm -rf install),或者改名称(mv install install_)

  • 重新刷新打开网页即可访问

  • 问题1:注册时没有显示验证码

    安装php插件 sudo apt-get install php7.0-gd

phpBB

phpBB是一个论坛软件,使用PHP语言开发的并开放其原始码。模块化设计,具专业性、安全性高、支持多国语系、支持多种数据库和自定义的版面设计等优越性能,而且功能强大。

  • 下载

    由于3.1.x在php7下存在bug,故只能使用3.2.x
    本文使用phpBB3.2.0-RC1
    如果需要稳定还是应该使用3.1.x,一个简单的方案是使用php7以下版本,另外一个思路就是修改安装文件使其能安装(还不如改进3.2.x),并且遇到bug后能自行修复
    相关详情

  • 上传

    直接上传所有文件(phpBB3目录里的)到网站目录下,这里为phpbb

  • 中文支持

    目前仅有3.1.10的语言包,但不妨碍使用.
    下载地址 马上就要出3.2.0的语言包了
    解压目录里面的所有目录(language,styles)到根目录下,如这里为phpbb

  • 文件可写

    sudo chmod 777 cache/ store/ files/ config.php images/avatars/upload/
    根据提示来添加读写文件及目录

  • 按本文创建数据库,然后一直下一步即可

  • 删除install目录 rm -rf install

  • 问题1:警告提示需要建立索引

    按照提示点击一下,然后选择对应的数据库,如我这里为mysql,找到对应的按钮,点击按钮create index即可,还需要点击最后的native index对应的按钮。

Phorum

Phorum是一个基于PHP+MySQL开发的开源论坛项目。它的特点是速度快,功能强大,面向模块化设计,安装简单。此外Phorum还集成电子报。

  • 下载 最新版本 5.2.22(这里我解压目录里面所有文件到phorum下)

  • 中文支持 拷贝到./include/lang目录下

  • 配置

    cp include/db/config.php.sample include/db/config.php 复制一个配置文件
    nano include/db/config.php 修改配置文件
    按照本文数据库部分创建一个数据库
    修改name-数据库名称,user-账号,password-密码

  • 打开页面,根据提示跳转到/phorum/admin.php进行安装

  • 然后一直下一步直到成功,no errors

PunBB

PunBB是个快速、轻量的PHP架构网络论坛,以GNU的标准释放。它的首要原则为快速、轻巧、与其它论坛相比更少量的图像。PunBB比起其它论坛功能较少,但也因此更快速、更小巧,并正确的支持XHTML与CSS架构页面。此外,PunBB可在任何支持PHP语言的作业系统上运作,PunBB可以在MySQL、PostgreSQL、SQLite等数据库下储存信息。

  • 下载最新版 这里为PunBB 1.4.4

  • 上传,解压并拷贝目录里面所有的文件到网站下,这里为punbb

  • 中文支持,在主页的wiki页面里可以找到PunBB 1.3 language packs,然后下载即可,如果需要完善的翻译可以找到通过英文的修改成中文即可。文件解压后拷贝到./lang目录下

  • 直接浏览器打开punbb页面,提示需要安装,然后点击运行install.php

  • 进入后更换语言以及按照本文创建数据库,然后一直下一步

  • 文件目录无法写入警告

    sudo chmod 777 cache/ img/avatars/

  • 下载config.php然后上传到网站根目录下即可

FluxBB

FluxBB是个快速、轻巧的PHP架构的网络论坛系统,以GPL协议发行。FluxBB的宗旨是变得与别的论坛系统相比更快、更小、少图形,也具有较少的功能与更精简的程式码。

  • 下载 最新版 这里是1.5.10

  • 中文支持

    官方版,1.5.6
    较新版,1.5.9

  • 文件读写权限 chmod 777 cache/ img/avatars/

  • 按照本文数据库部分创建数据库

  • 类似PunBB一直下一步然后下载config.phh,上传到服务根目录下

  • 按照提示一直进行即可

Vanilla

Vanilla是一套非常灵活的PHP+MySQL开源论坛。它的特点在于各种配置,功能,操作界面风格都很简洁,素雅。另外Vanilla默认会在首页 中直接列出所有贴子,按照时间顺序,把最新的讨论贴放在最前面风格类似于Blog。Vanilla还具有很强的扩展性,可通过插件来扩展其功能。

  • 下载最新版

  • 上传到服务器,这里为/vanilla/

  • 中文支持,拷贝到locales目录下

  • 文件可读写 sudo chmod 777 conf/ uploads/ cache/ cache/Smarty/compile/

  • 必须开启 rewrite mod ,参照本文apache配置

  • 按照本文创建数据库,然后按照提示安装即可.

  • 问题1:中文支持

    进入 Addons - Locales, Enable 中文,然后设置默认的locale为cn即可

Flarum

Flarum 是一款现代的,优雅的,简洁的,强大的论坛软件。Flarum 让在线交流变得更加轻松愉快。

在线安装模式
  • 安装composer

    sudo apt-get update
    sudo apt-get install composer

  • 验证

    composer

  • 下载

    切换到根目录下,这里我的为flarum
    composer create-project flarum/flarum . --stability=beta

离线下载
  • 按照在线安装模式安装好后打包拷贝到无法在线安装的机器上即可

  • 直接下载 ,不能保证一直可用,而且有些插件无法更新

安装过程
  • 错误解决

    提示少了各种模块,按照本文php部分进行安装如下模块
    php7.0-mbstring php7.0-curl php7.0-xml php7.0-gd

  • 可读写目录 sudo chmod 777 flarum/ flarum/assets/ flarum/storage/

  • 必须开启rewrite 参考apche部分进行开启

  • 错误排查 开启后才能知道哪里报错,官方文档

    按照php部分开启错误提示
    修改config.php文件,将debug改为true

  • 错误1Invalid command 'Header'

    开启header 模块,sudo a2enmod headers,然后重启apache

  • 错误2Less.php cache directory isn't writable: /var/www/html/flarum/storage/less/

    目录权限不够,修改 sudo chmod 777 storage/less/

  • 错误3Deprecated: The third argument to Zend\Stratigility\MiddlewarePipe() ($out) will be required starting with Stratigility version 2; please see https://docs.zendframework.com/zend-stratigility/migration/to-v2/ for more details on how to update your application to remove this message. in /home/user/public_html/forum/vendor/zendframework/zend-

    添加 “zendframework/zend-stratigility”: “1.2.1” 到 composer.json文件里,然后删除 composer.lock ,最后 composer update即可.(离线下载无此问题)

  • 错误4:打开网页一片空白,查看 error_log文件有错误 file_put_contents(/var/www/html/flarum/storage/views/3400ba4efd081c2

    文件权限问题,sudo chmod 777 storage/views/

  • 错误5:无法发帖子,查看 error_log文件有错误:/var/www/html/flarum/storage/formatter/Renderer_

    还是权限问题,添加sudo chmod 777 storage/formatter/
    为了以防再次发生,同时加入其它几个目录权限
    sudo chmod 777 storage/cache/ storage/logs/ storage/tmp/

中文支持
参考flarum中文论坛或者自行翻译

由于flarum不稳定,故出现问题可以去官网找寻问题答案或者自行解决

共同问题

  • 每个论坛安装后都需要设置时区

猜你喜欢

转载自blog.csdn.net/wangzuochuan/article/details/53452040
今日推荐