如果移动端访问不佳,请尝试–>Github版

背景

最近无意间发现几个开源软件的Bug反馈系统使用的是Flarum,Flarum是一款优雅简洁论坛软件,看起来还是相当不错的,一时抑制不住想要尝试一下。

由于服务器使用的是AMH集成环境,它相对于通常的直接安装环境有很多的区别,这导致安装过程中产生里不少问题。这里做个总结。

Flarum

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

AMH

AMH 是国内首个开源的主机面板,AMH 支持用户自由弹性组建运行环境与切换环境,您可以下载安装不同版本的WEB服务器、数据库、脚本软件自由组合创建您需要的运行环境。

我使用的是AMH5.X的付费版本,4.X的免费版本也可以参考本教程。

目前服务器环境是LNMP:

CentOS-6.6 64位

lnmp-2.5

mysql-generic-5.5.40

nginx-generic-1.6.0

php-7.0

Composer

Composer是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer 会帮你安装这些依赖的库文件。

Composer是安装Flarum的必要工具。

安装PHP扩展

这里需要安装Flarum所需要的必要的PHP扩展,先看下系统需求:

Flarum 系统需求

服务器: Apache (需要支持 mod_rewrite)、Nginx、Lighttpd

PHP 5.5+,需要开启的扩展:mbstring, pdo_mysql, openssl, json, gd, dom, fileinfo

MySQL 5.5+

**特别注意:**PHP是5.5+、MySQL 5.5+,如果版本过低可以使用AMH安装更高版本,AMH支持多版本PHP和MySQL。

流程:

  1. 登录到AMH的管理面板
  2. 软件下载 > fileinfo-1.0 > 下载并安装到对应的环境
  3. 软件下载 > mcrypt-1.0 > 下载并安装到对应的环境
  4. 软件下载 > pdo_mysql-1.0 > 下载并安装到对应的环境

安装Composer

Flarum官网的文档要求使用Composer命令行的方式进行安装,所以需要先安装Composer:

使用SSH方式登录服务器之后:执行

curl -sS https://getcomposer.org/installer | php

注意: 如果上述方法由于某些原因失败了,你还可以通过 php >下载安装器:

php -r "readfile('https://getcomposer.org/installer');" | php

这里你可能会遇到 -bash php command not found的错误提示,请参考下文的问题集锦

PS:安装Composer文档

安装Flarum

环境搭建好了,这里讲解安装Flarum的过程

官方安装文档

  1. 在AMH控制面板下创建好一个站点(这里指定为A站点),并做好域名解析,确认可以正常访问
  2. 删除A站点下的所有文件
  3. 创建好一个Flarum使用的MySQL数据库和对应的用户
  4. SSH下进入A站点根目录(cd /home/wwwroot/环境/domain/主域名/web/
  5. 执行安装命令:composer create-project flarum/flarum . --stability=beta
  6. 配置A站点的Nginx配置文件(/home/wwwroot/环境/vhost/主域名.conf):参见官方安装文档。特别注意:location ~* \.php$下的参数以自动生成的为准,还需要删除自动生成的ErrorPage的配置信息。
  7. 重载Nginx并访问A站点,填写相关安装信息。(遇到文件读写权限问题,查看下文问题集锦)

安装Flarum中文语言包

为了便于操作,我们安装中文语言包来进行默认语言的切换。

尝试了几种安装方式,这里推荐使用命令行安装:

  1. SSH下进入A站点根目录
  2. 执行composer require jsthon/flarum-ext-simplified-chinese即可
  3. 访问A站点,进入后台修改勾选中文扩展,并修改默认语言。

其他语言和扩展:https://discuss.flarum.org/d/1534-extension-list

问题集锦

可能遇到的问题:

-bash php command not found

Composer的安装和使用是使用的php-cli的方式,AMH支持多版本的PHP,环境变量里并未指定php-cli的版本,这里需要我们把指定版本的PHP加入到环境变量里。

~/.bash_profile里加入:

PATH=$PATH:/usr/local/php-版本/bin
export PATH

保存修改后执行source ~/.bash_profile使得修改生效。

PS:如果你使用的是其他发行版的Linux,请自行搜索如何设置PHP加入到环境变量

requires ext-fileinfo * 或者 request for intervention/image

参见:

简单来说,就是咱们在AMH里安装的PHP扩展并没有影响到php-cli方式运行PHP的配置,需要我们手动同步一下配置:

cp /home/wwwroot/环境/etc/amh-php.ini /usr/local/php-版本/etc/php.ini

重载Nginx即可生效。

Please chmod this directory to 0775

当你访问通过composer安装好的A站点时,遇到里类似的权限读写问题,对于AMH环境,我们需要执行:

sudo chown www:www -R /home/wwwroot/环境/domain/主域名/web

这里有一些讨论:

上面的讨论使用的用户组和AMH的不一样,AMH网站的用户组是www,结合实际情况才能真正解决问题。

其他

查看我们的成果:Cafeting的论坛

官方文档 适应最新版的Flarum,推荐

中文文档 较旧,有一定参考意义

AMH集成环境相对于通常的直接安装环境有很多的区别,使用的时候务必要考虑到。

如果有什么问题,可以在博客下留言或者通过下面的方式联系我:

你可以关注的我GithubCSDN微博

AMH 5.X下安装 Flarum的更多相关文章

  1. 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)

    相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...

  2. Ubuntu1604下安装Liggghts及CFDEM Coupling

    部分内容参考http://www.linuxdiyf.com/linux/16315.html LIGGGHTS是一款开源的DEM软件,来自于著名的分子动力学软件LAMMPS,目前借助于CFDEM C ...

  3. 在Ubuntu下安装ovs-dpdk

    在Ubuntu下安装ovs-dpdk 参考资料:https://software.intel.com/zh-cn/articles/using-open-vswitch-with-dpdk-on-ub ...

  4. CentOS 6.3下 安装 Mono 3.2 和Jexus 5.4

    最新更新参看: Centos 7.0 安装Mono 3.4 和 Jexus 5.6 2012年初写过一篇<32和64位的CentOS 6.0下 安装 Mono 2.10.8 和Jexus 5.0 ...

  5. Mac-OSX的Python3.5虚拟环境下安装Opencv

    Mac-OSX的Python3.5虚拟环境下安装Opencv 1   关键词 关键词:Mac,OSX,Python3.5,Virtualenv,Opencv 2   概述 本文是一篇 环境搭建 的基础 ...

  6. Ubuntu 下安装QT

    Ubuntu 下安装QT 本文使用的环境 QT Library: qt-everywhere-opensource-src-4.7.4.tar.gz QT Creator: qt-creator-li ...

  7. CentOS下安装hadoop

    CentOS下安装hadoop 用户配置 添加用户 adduser hadoop passwd hadoop 权限配置 chmod u+w /etc/sudoers vi /etc/sudoers 在 ...

  8. Linux下安装Hadoop完全分布式(Ubuntu12.10)

    Hadoop的安装非常简单,可以在官网上下载到最近的几个版本,最好使用稳定版.本例在3台机器集群安装.hadoop版本如下: 工具/原料 hadoop-0.20.2.tar.gz Ubuntu12.1 ...

  9. CentOS下安装使用start-stop-daemon

    CentOS下安装使用start-stop-daemon 在centos下下了个自启动的服务器脚本 执行的时候发现找不到start-stop-daemon命令 好吧 执行手动编译一下 加上这个命令 w ...

随机推荐

  1. 【BZOJ2705】【Sdoi2012】Longge的问题

    Description Longge的数学成绩非常好,并且他非常乐于挑战高难度的数学问题.现在问题来了:给定一个整数N,你需要求出\(\Sigma gcd(i, N) (1 \leq i \leq N ...

  2. ●洛谷P2606 [ZJOI2010]排列计数

    题链: https://www.luogu.org/problemnew/show/P2606题解: 组合数(DP),Lucas定理 首先应该容易看出,这个排列其实是一个小顶堆. 然后我们可以考虑dp ...

  3. UVA11552:Fewest Flops

    发现如果只有一块就是种类的数目,也就是同种放在一起, 再考虑多块,如果违背的上面的规律,可以发现不会更优, 于是问题就是求在满足同种类放在一起的前提下,尽量使得相邻块的两端一模一样 然后dp一下就可以 ...

  4. ●BOZJ 2127 happiness

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2127 题解: 和 BZOJ 3984 建图类似(最小割模型).但是这个建图方法效率有点低.另 ...

  5. 【LA 3027 Corporative Network】

    ·一些很可爱的询问和修改,放松地去用并查集解决. ·英文题,述大意: 输入n(5<=n<=20000)表示树有n个节点,并且会EOF结束地读入不超过 20000个操作,一共有两种:    ...

  6. Unix系统的文件目录项的内容是什么,这样处理的好处是什么?

    (Unix系统采用树型目录结构,而且目录中带有交叉勾链.每个目录表称为一个目录文件.一个目录文件是由目录项组成的.) 每个目录项包含16个字节,一个辅存磁盘块(512B)包含32个目录项.在目录项中, ...

  7. JS 中判断空值 undefined 和 null

    1.JS 中如何判断 undefined JavaScript 中有两个特殊数据类型:undefined 和 null,下节介绍了 null 的判断,下面谈谈 undefined 的判断. 以下是不正 ...

  8. Oracle10g以上sysaux表空间的维护和清理

    SYSAUX表空间在Oracle 10g中引入,其作为SYSTEM表空间的辅助表空间.之前,一些使用独立表空间或系统表空间的数据库组件,现在SYSAUX表空间中存在.通过分离这些组件,减轻了SYSTE ...

  9. Ambari2.6.0 安装HDP2.6.3(离线安装)

    一.下载安装包 因为使用在线安装特别慢,所有的安装包加起来有9个G左右,所以本教程是通过迅雷下载包,然后上传到服务器,通过配置本地源的方式来实现的离线安装.通过ambari安装需要下载下面的三个主要包 ...

  10. ignorable tips

    枚举 索引从0开始 sort 默认升序排列  Array.Sort(intSort); //复制数组 Array.Copy(intSort,intNew,3); intsort 源数组 intnew ...