AMH 5.X下安装 Flarum
如果移动端访问不佳,请尝试–>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。
流程:
- 登录到AMH的管理面板
- 软件下载 > fileinfo-1.0 > 下载并安装到对应的环境
- 软件下载 > mcrypt-1.0 > 下载并安装到对应的环境
- 软件下载 > 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的过程
- 在AMH控制面板下创建好一个站点(这里指定为
A站点),并做好域名解析,确认可以正常访问 - 删除
A站点下的所有文件 - 创建好一个Flarum使用的MySQL数据库和对应的用户
- SSH下进入
A站点根目录(cd /home/wwwroot/环境/domain/主域名/web/) - 执行安装命令:
composer create-project flarum/flarum . --stability=beta - 配置
A站点的Nginx配置文件(/home/wwwroot/环境/vhost/主域名.conf):参见官方安装文档。特别注意:location ~* \.php$下的参数以自动生成的为准,还需要删除自动生成的ErrorPage的配置信息。 - 重载Nginx并访问
A站点,填写相关安装信息。(遇到文件读写权限问题,查看下文问题集锦)
安装Flarum中文语言包
为了便于操作,我们安装中文语言包来进行默认语言的切换。
尝试了几种安装方式,这里推荐使用命令行安装:
- SSH下进入
A站点根目录 - 执行
composer require jsthon/flarum-ext-simplified-chinese即可 - 访问
A站点,进入后台修改勾选中文扩展,并修改默认语言。
问题集锦
可能遇到的问题:
-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
这里有一些讨论:
- https://discuss.flarum.org/d/823-directorys-are-not-writable/46
- https://discuss.flarum.org/d/2209-directory-not-writable/3
上面的讨论使用的用户组和AMH的不一样,AMH网站的用户组是www,结合实际情况才能真正解决问题。
其他
查看我们的成果:Cafeting的论坛
AMH集成环境相对于通常的直接安装环境有很多的区别,使用的时候务必要考虑到。
如果有什么问题,可以在博客下留言或者通过下面的方式联系我:
AMH 5.X下安装 Flarum的更多相关文章
- 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一)
相关连接导航 在windows下安装gulp —— 基于 Gulp 的前端集成解决方案(一) 执行 $Gulp 时发生了什么 —— 基于 Gulp 的前端集成解决方案(二) 常用 Gulp 插件汇总 ...
- Ubuntu1604下安装Liggghts及CFDEM Coupling
部分内容参考http://www.linuxdiyf.com/linux/16315.html LIGGGHTS是一款开源的DEM软件,来自于著名的分子动力学软件LAMMPS,目前借助于CFDEM C ...
- 在Ubuntu下安装ovs-dpdk
在Ubuntu下安装ovs-dpdk 参考资料:https://software.intel.com/zh-cn/articles/using-open-vswitch-with-dpdk-on-ub ...
- 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 ...
- Mac-OSX的Python3.5虚拟环境下安装Opencv
Mac-OSX的Python3.5虚拟环境下安装Opencv 1 关键词 关键词:Mac,OSX,Python3.5,Virtualenv,Opencv 2 概述 本文是一篇 环境搭建 的基础 ...
- Ubuntu 下安装QT
Ubuntu 下安装QT 本文使用的环境 QT Library: qt-everywhere-opensource-src-4.7.4.tar.gz QT Creator: qt-creator-li ...
- CentOS下安装hadoop
CentOS下安装hadoop 用户配置 添加用户 adduser hadoop passwd hadoop 权限配置 chmod u+w /etc/sudoers vi /etc/sudoers 在 ...
- Linux下安装Hadoop完全分布式(Ubuntu12.10)
Hadoop的安装非常简单,可以在官网上下载到最近的几个版本,最好使用稳定版.本例在3台机器集群安装.hadoop版本如下: 工具/原料 hadoop-0.20.2.tar.gz Ubuntu12.1 ...
- CentOS下安装使用start-stop-daemon
CentOS下安装使用start-stop-daemon 在centos下下了个自启动的服务器脚本 执行的时候发现找不到start-stop-daemon命令 好吧 执行手动编译一下 加上这个命令 w ...
随机推荐
- POJ1830开关问题
这题答案就是2^自由元的数目,原因是自由元可以取1或者0,所以就是ans<<1 由于只要求自由元的数目,所以高斯消元可以直接消后面的,不做前面的了,对答案没有影响 #include< ...
- 51Nod 1530 稳定方块
瓦西亚和皮台亚摆放了m个方块.方块被编号为0到m-1(每个号码出现恰好一次).现在建立一个座标系OX表示地面,OY的方向是竖直向上的.每一方块的左下角有一个座标而且是整点座标. 摆放好的方块一定要是稳 ...
- poj2449 (第k条最短路)
题意:求n个点中,a到b的第k条最短路 思路: 用最短路求出估价函数的h,再在搜索过程中记录g,利用A*求出 最开始想到的便是A*和最短路,但是脑子抽了,居然一个一个去求- -,TL了后才发现可以倒着 ...
- [BZOJ]1017 魔兽地图DotR(JSOI2008)
BZOJ第一页做着做着就能碰到毒题,做到BZOJ1082小C就忍了,没想到下一题就是这种东西.这种题目不拖出来枭首示众怎么对得起小C流逝的青春啊. Description DotR (Defense ...
- hdu 1402 FFT(模板)
A * B Problem Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- [Noi2013]向量内积
来自FallDream的博客,未经允许,请勿转载,谢谢. 两个d 维向量A=[a1,a2,...,ad]与B=[b1,b2,...,bd]的内积为其相对应维度的权值的乘积和,即: $\sum_{i=1 ...
- 【集训第二天·翻水的老师】--ac自动机+splay树
今天是第二天集训.(其实已经是第三天了,只是昨天并没有机会来写总结,现在补上) 上午大家心情都很愉快,因为老师讲了splay树和ac自动机. 但到了下午,我们的教练竟然跑出去耍了(excuse me? ...
- Linux 基本概念和操作
我们在使用Linux时,不是直接和系统打交道,而是通过shell的中间程序.在图形界面下为了实现窗口的输入和输出,linux系统为我们提供了终端模拟器Terminal,常见的终端模拟器有 gnome- ...
- LAN、WAN、WLAN、WiFi之间的区别
感觉这几个概念让人傻傻分不清,下面以最常见的路由器来解释这几个概念. LAN 1 LAN,全称Local Area Network,中文名叫做局域网. 顾名思义,LAN是指在某一区域内由多台计算机 ...
- Linux学习之CentOS(十三)-----磁盘管理之 磁盘与目录的容量(转) df 与du 命令
磁盘与目录的容量 现在我们知道磁盘的整体数据是在 superblock 区块中,但是每个各别文件的容量则在 inode 当中记载的. 那在文字接口底下该如何叫出这几个数据呢?底下就让我们来谈一谈这两个 ...