一款精美小巧的开源社区论坛系统:Homeland安装教程

说明:最近看到个论坛Homeland,一款基于Rails的开源、免费、不限制商业使用的社区/论坛系统,很轻巧,整体布局页不错,功能也很强大的,支持将文件存储在本地、UpYunAliyun OSS,用户可以在自己的文章中上传微信/支付宝收款码,官方也给出了Docker安装方法,搭建起来自然就变的很简单了,这里就发下。

截图

提示:这里为了展示效果直接用了官方首页截图。

一款精美小巧的开源社区论坛系统:Homeland安装教程 第1张
一款精美小巧的开源社区论坛系统:Homeland安装教程 第2张
一款精美小巧的开源社区论坛系统:Homeland安装教程 第3张
一款精美小巧的开源社区论坛系统:Homeland安装教程 第4张

功能

#简单,却又丰富  你可以使用简单的文本来进行发帖或回帖,但在复杂的时候,你可以可以选择优雅的Markdown语法来编写正文。同时Homeland已经默认提供了一套排版整洁的阅读页面风格。  #@提及功能你可以在发帖或回帖的时候,用类似Twitter或微博的方式@一个你需要提及的人,系统将会发送通知提醒对方。  #丰富的表情系统  在讨论的时候如果附带一些表情,你的意思将能表达的更清楚,Homeland支持Twemoji和系统内置表情。  #SSO单点登录  你可以将Homeland和任何现有系统结合实现单点登录功能,你还可以将Homeland作为SSO的提供址,给其他系统同步账号与登录。  #公共API  Homeland已经内置了一套AP`系统,在你需要的时候你可以基于它开发你的移动应用程序。  #支付宝、微信打赏  支持用户上传个人收款二维码,打赏按钮将会在话题页面显示。  #拖拽上传附件  你可以直接将一个图片拖动到发帖/回帖输入框中来实现快速的上传。此外还可以复制、粘贴来上传哦!  #对SEO友善  Homeland的各方面设计是对SEO友善的,请Google搜索Ruby China查看案例的实际收录效果。

安装

Github地址:http://github.com/ruby-china/homeland
官方论坛:https://www.ruby-china.org/

提示:官方推荐服务器内存为4G,不过博主用512M内存倒是可以,前提加点虚拟内存,内存不够的可以用下Swap一键脚本→传送门。

1、安装Docker
使用以下命令:

#CentOS 6rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm  yum update -y  yum -y install docker-io  service docker start  chkconfig docker on#CentOS 7、Debian、Ubuntucurl -sSL https://get.docker.com/ | sh  systemctl start docker  systemctl enable docker

2、安装Docker Compose
使用以下命令:

curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose  chmod +x /usr/local/bin/docker-compose  #验证是否安装成功  docker-compose --version  #返回以下信息即安装成功  docker-compose version 1.23.2, build 1110ad01

3、安装依赖

#CenOS系统yum install make git -y#Debian/Ubuntu系统apt install git make -y

4、安装Homeland

#下载源码  git clone https://github.com/ruby-china/homeland-docker.git  cd homeland-docker  #新建配置文件  cp app.local.env.example app.local.env  #编辑配置文件nano app.local.env

配置文件参数如下:

#必要参数app_name:网站名称  domain:网站的域名  admin_emails:管理员Email,多个管理员Email,用英文逗号分隔  #可选参数,这些参数也可以自己搭建好了后,在后台进行配置  modules:可拔插组件配置,详见: https://gethomeland.com/docs/configuration/modules/  https:开启Homeland的SSL功能  asset_host:自定义网站静态资源文件的Host,保持为空将不启用      google_analytics_key:Google Analytics统计的key      mailer_provider:邮件发送方式: [smtp, postmark]  mailer_sender:邮件通知发件人  mailer_options:邮件服务详细配置,根据mailer_provider参数有可能不同,详见:https://gethomeland.com/docs/configuration/mailer/github_token:GitHub三方登录Application Token  github_secret:GitHub三方登录Application Secret  default_locale:应用程序语言,默认"zh-CN",可选['zh-CN', 'zh-TW', 'en']  auto_locale:是否自动根据用户浏览器设置,切换到相应的语言,true

配置选项官方说的很详细了,还有很多高级设置,比如文件上传配置等可以查看官方文档→传送门

以下在原有配置参数下设置的基本参数,如下:

app_name=MOERATS  domain=bbs.moerats.com  admin_emails=moerats@live.com

编译环境:

make install

如果出现Index does not exist(Elasticsearch::Transport::Transport::Errors::NotFound)提示,为正常情况。

启动程序:

make start

然后就可以使用域名访问了,但前提是服务器80443端口不被占用,如果你想用其它端口访问,就需要在编译环境前改下docker-compose.yml文件,大致修改最下面的port端口,比如用8080访问,修改如下:

ports:  - "8080:80"

配置SSL证书

编辑app.local.env文件,新增参数:

https=ture  cert_domain=bbs.moerats.com

然后开始配置SSL

make install_ssl

重启:

make restart

然后就可以直接打开了。

不过这里博主安装ssl的时候,出现点问题,https站点也会打不开,不知道是使用姿势问题还是最新的Dokcer配置有点小问题,然后使用之前的老版本安装倒是没这个ssl问题,出于强迫症,博主肯定想用下最新的,所以这里就想了个解决办法,就说一下。

这里是接着上面出错后才开始继续,如果以后申请/配置ssl没问题了是最好的,那么该步可以省掉了。

#关闭程序的容器make stop-all#清空镜像docker rm $(docker ps -aq)  docker rmi $(docker images -q)  docker volume rm $(docker volume ls -q)#进入源码文件夹cd homeland-docker#然后编辑docker-compose.ymlnano docker-compose.yml

大致修改如下:

#在指定的地方volumes下面新增2行代码app: &app_base    container_name: 'homeland_app'    .    volumes:      - ./etc/homeland.conf:/etc/nginx/homeland.conf      - ./etc/nginx.conf:/etc/nginx/nginx.conf#在最下面修改下nginx启动参数web:    <<: *app_base    .  command: nginx -c /etc/nginx/nginx.conf

然后使用Ctrl+xy保存退出。

接下来下载2个配置文件到etc文件夹,使用命令:

#进入源码文件夹的ect目录 cd etc wget https://www.moerats.com/usr/down/homeland-docker-conf.zip  #解压并删除 unzip homeland-docker-conf.zip && rm -rf homeland-docker-conf.zip #开始安装容器环境 cd .. make install #最后启动 make start

不出意外的话,这里SSL就配置好了,也可以访问了。

然后进入后,使用你设置好的管理员邮箱进行注册,那该邮箱立即变成管理员。

相关命令

#更新应用程序,当homeland/homeland这个Docker Image版本变化的时候,需要执行,合并数据库、编译Assets make update #启动所有服务,将会自动启动所有的服务     make start  #停止所有服务      make stop#硬重启服务      make restart  #查看服务状态      make status 进入Rails控制台     make console     #停止所有服务,包括数据库 make stop-all     重建搜索索引 make reindex

最后有其他的配置问题可以自行看下官方文档,然后慢慢琢磨。


Tips:本文仅代表作者观点,不代表本站立场。如侵犯到您的合法权益,请联系我们删除侵权资源! 如您遇到资源链接失效,请您通过评论或工单的方式通知管理员! 未经许可,不得转载。
九牛网 » 一款精美小巧的开源社区论坛系统:Homeland安装教程

1 评论

  1. Tor6

    越看越像xiuno系统

发表评论

欢迎 访客 发表评论

定制开发服务!

技术支持 联系我们
注册
用户名
密码
确认密码
邮箱
验证码
找回密码
用户名
邮箱
※ 重置链接将发送到邮箱