如何搞个论坛-Homeland

目录 文章

不等不靠,有囧有料。攻城狮,是一种精神,亦是一种品质。

Homeland 是一款精美小巧的开源社区论坛系统,它的功能由 Ruby China 的多年沉淀而来,小巧而实用。开源、免费、不限制商业使用的社区/论坛系统。

Homeland 包含一个论坛的必要功能,简约而不简单,同时页面浏览有非常快速的响应。

本篇就分享基于Docker方式搭建Homeland,以及阐述一些搭建过程遇到的一些问题。

系统要求

    Linux Server [2 Core CPU, 2G Memory, 50G Disk, 64 位] – 建议 Ubuntu Server 16.04

安装 Docker

通过SSH连接服务器,执行如下命令安装Docker

root@localhost:~# curl -sSL https://get.docker.com/ | sh

安装完成后执行如下命令测试是否安装成功:

root@localhost:~# docker info
root@localhost:~# docker-compose version

如果提示如下命令:

root@localhost:~# docker-compose version
The program 'docker-compose' is currently not installed. You can install it by typing:
apt install docker-compose

说明服务器还没有安装docker-compose,此时运行如下命令进行安装。

root@localhost:~# apt install docker-compose

获取项目

运行如下命令

root@localhost:~# git clone https://github.com/ruby-china/homeland-docker.git
root@localhost:~# cd homeland-docker/

项目配置

Homeland 的应用程序配置主要基于 app.local.env 文件,具体可以参考 app.default.env ,根据自己的需要调整。

  • NOTE: Docker 模式依靠环境变量文件 app.local.env (此文件需要手工创建) 来配置应用。

下面贴出简思录之前搭建Homeland项目时候的配置文件供参考,并且进行一些细则说明

RAILS_ENV=production
RAILS_LOG_TO_STDOUT=true
secret_key_base=
app_name=简思录
modules=home,topic,wiki,site,note,team
profile_fields=company,twitter,website,qq,wechat,tagline,location
domain=jiansilu.com
https=false
default_locale=zh-CN
auto_locale=false
admin_emails=keyboardstaff@gmail.com
asset_host=
google_analytics_key=

# [Puma] number of processes for Puma & Nginx
workers=2
min_threads=8
max_threads=16

# [DB]
db_host=postgresql
db_port=5432
db_name=homeland
db_username=postgres
db_password=
db_pool=64

# [Nginx]
nginx_worker_connections=65535

# [Rack Limit]
rack_attack=false
rack_attack.limit=
rack_attack.period=

# [Email Server]
mailer_provider=smtp
mailer_sender=info@jiansilu.com
mailer_options.address=smtp.exmail.qq.com
mailer_options.port=587
mailer_options.domain=jiansilu.com
mailer_options.user_name=info@jiansilu.com
mailer_options.password=
mailer_options.authentication=plain
mailer_options.enable_starttls_auto=true

# [OAuth Thrift Website login]
github_token=
github_secret=

# [SSO]
# http://gethomeland.com/docs/sso/as-client/
sso.enable=false
# http://gethomeland.com/docs/sso/as-provider/
sso.enable_provider=false
sso.url=
sso.secret=

# [Upload Config]
# can be  upyun/aliyun/file
# http://gethomeland.com/docs/configuration/upload/
upload_provider=file
upload_access_id=
upload_access_secret=
upload_bucket=
upload_aliyun_internal=
upload_aliyun_area=
upload_url=

说明一下配置项

app_name= 项目名称,例如 简思录

modules= 组件配置,例如是否开启首页、维基、酷站、头条等等,我当时的配置为 home,topic,wiki,site,note,team ,说明只开启了首页、论坛、维基、酷站、笔记本、团队组件配置。

profile_fields= 用户资料组件,默认是 all 开启全部,我当时的配置为 company,twitter,website,qq,wechat,tagline,location ,说明只开启了所在公司、推特、个人网站、QQ、微信、签名、城市。

domain= 网站域名,例如 jiansilu.com

https= 是否开启SSL功能,如果开启,则网站会强制跳转到https。

admin_emails= 管理员的邮箱,例如 keyboardstaff@gmail.com,安装完成后,当注册的账户是这个邮箱的时候就会获得管理员权限。

主要配置就这些,其他的没什么好说的,需要才配置。

编译环境

把前面的配置文件设置好后,另保存命名为 app.local.env 文件,然后上传至 /root/homeland-docker 目录。然后执行如下命令进行编译

root@localhost:/root/homeland-docker# make install

编辑完成后执行如下命令进行启动

root@localhost:/root/homeland-docker# make start

启动完成后就可以进行访问域名或IP了。

这里强调一下,如果站点需要开启SSL功能,一定要先执行 make install 命令后,再执行一遍 make install_ssl 命令,才能正常开启SSL功能。另外开启SSL功能的话配置文件里的 https= 需要设置成 https=true 方能访问域名进行自动跳转到https,否则http和https都能访问。

最后关于SSL功能如何自定义证书,我今天研究了下,其实只需要替换 /root/homeland-docker/shared/ssl 目录下的两个文件就可以了。

homeland.crt 和 homeland.key

好了,基本上就是这样了,有问题欢迎留言!

暂无评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注