平时非常喜欢论坛,一直有建个论坛玩玩的想法。像 Discuz 这种论坛程序 VPS 肯定是玩不转的,而且也用不上那么多功能。
最近迷上了 V2EX 这个轻型论坛,基于话题而非版块的划分太适合小论坛。
然后我发现自己关注的知乎用户 林灿斌 竟然有一个轻型的开源论坛项目,轻到能在5美元一个月的 VPS上跑,这说的不就是 DigitalOcean 的 VPS 么!建站时机已到!
# lincanbin/Carbon-Forum · GitHub
Carbon Forum,一个高性能的、高安全性的、基于话题的PHP轻论坛。
优秀的架构,高效的代码,每个页面平均执行时间仅为1~5毫秒,同时恰当地使用异步加载技术,在SEO与用户体验间取得平衡。
论坛摒弃了版块、节点等概念,发帖时无需选择板块,系统根据帖子内容自动推荐话题供用户选择,并且有功能强大而不显冗余的富文本编辑器。
支持关注用户、关注话题等功能,可以作为一个社交网站使用。
Carbon Forum 安装起来很简单,甚至比 WordPress 还简单,但是安装过程中遇到的几个问题麻烦了半天,一步一步记下来。
# Ubuntu + Apache2 Virtual Host 配置
我希望通过子域名 bbs.*.com 来实现论坛的访问,主域名留给博客,这时候就需要设置 Virtual Host 。
搭建 Carbon Forum 除了用到 bbs 子域名,还可以设置一个移动版域名,所以要设置3个 Virtual Host 。
在 /etc/apache2/sites-available/ 目录下有一个 default.conf 的配置文件,复制文件命名为要设定的域名,配置3个。
- umi.im.conf
- bbs.umi.im.conf
- m.umi.im.conf
以上3个分别为 WordPress 博客域名,Carbon 论坛域名,Carbon 论坛移动版域名。
# # DocumentRoot 是网站文件存放的根目录,论坛移动版域名也设定为 Carbon 文件存放目录 # ServerName 是网站域名 # <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot /var/www/html/bbs ServerName bbs.umi.im ErrorLog ${APACHE_LOG_DIR}/bbs.bakahouse.com-error.log CustomLog ${APACHE_LOG_DIR}/bbs.bakahouse.com-access.log combined </VirtualHost>
接着通过 a2ensite 激活 Virtual Host 配置,再重启 Apache2 。
# a2ensite umi.im # a2ensite bbs.umi.im # a2ensite m.umi.im # service apache2 restart
我的论坛 Virtual Host 路径是 /var/www/html/bbs ,把扔到对应的路径上就好了。
# 开启伪静态
开启Apache2 伪静态 rewrite 支持,这一步出问题可能导致接下来安装完成后页面 404 。
# a2enmod rewrite
然后修改 /etc/apache2/apache2.conf ,把 AllowOverride None 改为 AllowOverride All ,可能有4行。
# 安装
先登录 phpmyadmin 添加个数据库,名字随意。
打开域名 bbs.umi.im/install 开始安装,输入数据库名字、数据库账号密码就安装完成,然后手动删除 install 和 update 目录。
另外还要给目录 777 权限,用 FTP 软件 FlashFXP 或者 Winscp都可以很简单的设置。