Homeland是开源、免费、不限制商业使用的社区/论坛系统,不过唯一的问题就是安装稍微麻烦点。不过官方给出了docker安装,所以这篇文章就来试试在宝塔环境下docker安装homeland。
宝塔服务器面板,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV9ub2NxdmI=
之前介绍的论坛程序安装教程:
1)宝塔面板安装discourse论坛程序:https://www.vps100.net/12801.html
2)宝塔面板安装Homeland:https://www.vps100.net/12632.html
3)宝塔面板部署NodeBB:https://www.vps100.net/12504.html
4)宝塔面板安装Flarum:https://www.vps100.net/12468.html
1、简介
官网:https://homeland.ruby-china.org/zh-CN/
项目:https://github.com/ruby-china/homeland
官方社区:https://ruby-china.org/
站长搭建的演示:https://home.dayu.shop/
2、准备
- 宝塔面板
- docker管理器(软件商店中搜索安装)
- docker-compose(安装教程:https://www.vps100.net/263.html)
- 准备好一个域名
- nginx1.19
3、部署
1)下载源码
yum -y install git git clone https://github.com/ruby-china/homeland-docker.git cd homeland-docker/
2)新建配置文件并进行编辑:
cp app.local.env.example app.local.env vi app.local.env
配置文件参数如下:
此处为隐藏的内容 发表评论并刷新,方可查看
发表评论
注意:
1.admin_emails请一定要修改成你自己的邮箱,这款论坛程序是根据邮箱来添加管理员账号的。也就是说你在这里配置好你的邮箱地址,待会在前台注册用户的时候填写和这个地址相同的邮箱,那么你注册的账号就是管理员。
3.domain修改成你自己的域名,app_name则是你的论坛名字,这个在安装完成之后也可以在后台设置。
3)确认无误后开始安装
make install
期间又类似的警告不用管:
4)完成之后运行如下命令
make start
安装完成截图:
注意:运行的前提是服务器80
和443
端口不被占用,如果你想用其它端口访问,就需要在编译环境前改下docker-compose.yml
文件,大致修改最下面的port
端口,比如用8081
访问,修改如下:
ports: - "8081:80"
4、效果
以上完成后,就可以直接用域名访问你的站点了。
前端:
后台:
5、邮件配置
关于邮件的配置,这里照搬一下官方的文档,因为我没有配置,不知道有没有什么坑:
官方文档:https://homeland.ruby-china.org/docs/configuration/mailer/
vi app.local.env
添加如下参数:
mailer_provider=smtp mailer_sender=no-reply@your-domain.com mailer_options_address=smtp.gmail.com mailer_options_port=587 mailer_options_domain=your-domain.com mailer_options_user_name=no-reply@your-domain.com mailer_options_password=your-password mailer_options_authentication=plain mailer_options_enable_starttls_auto=true
6、相关命令
#更新应用程序,当homeland/homeland这个Docker Image版本变化的时候,需要执行,合并数据库、编译Assets make update #启动所有服务,将会自动启动所有的服务 make start #停止所有服务 make stop #硬重启服务 make restart #查看服务状态 make status 进入Rails控制台 make console #停止所有服务,包括数据库 make stop-all 重建搜索索引 make reindex
最后有其他的配置问题可以自行看下官方文档,然后慢慢琢磨。
7、最后
用宝塔来搭建整个过程还不算太复杂,感兴趣的可以直接折腾试试。安装的注意点,就是80和443端口不能被占用。