因 cnVintage 周边开发需要,我在自己的电脑上 (localhost) 安装了 Flarum 系统。因为小众到不能再小众的需求和非主流的软件环境,需要设置一些奇怪又奇怪的选项,这里给同样和我这么无聊的人分享一下经验
文章涉及到的内容:
- wampserver (Apache)网页根目录及 Alias 开放来自公网的访问
- Flarum 允许来自所有 IP/域名的访问
- 在 Apache 的 Alias 功能中正确设置伪静态
wampserver 网页根目录及 Alias 开放来自公网的访问
这个很好说,也是本篇最没必要讲的内容。但因为知识结构的原因这里拿来凑数(
需要修改的有 httpd.conf 和 httpd-vhost.conf 两个文件;
先看 httpd.conf
用搜索功能或者直接去找在第 248行 左右的内容,会有这样的字段。
<Directory />
AllowOverride none
Require all denied
</Directory>
改为
<Directory />
AllowOverride none
#Require all denied
Require all granted
</Directory>
再看 httpd-vhost.conf
一样的,找到 Require local,在前面加个 # 号注释掉,然后回车到下一行写上 Require all granted,变成这样:
#Require local
Require all granted
然后是 Alias 的公网访问
在 wampserver 的安装目录找到 alias 文件夹,然后找到你刚刚创建的的配置文件,和前面一样,在配置文件里找到 Require local,在前面加个 # 号注释掉,然后回车到下一行写上 Require all granted
Flarum 允许来自所有 IP/域名的访问
我设置这个选项的理由很简单,我有两个网卡,两个 IP,希望这两个 IP 都可以访问 Flarum。那么,在 flarum 目录下找到配置文件 config.php,然后用顺手的编辑器打开。
找到下面的 url 和 cdn_url,按需要改成下面的样子
‘url’ => ‘//’ . $_SERVER[‘HTTP_HOST’],
‘cdn_url’ => ‘//’ . $_SERVER[‘HTTP_HOST’],
这里要提一下,在 PHP 中,小数点符号用于连接两个字符串。所以如果你的页面不打算部署在网站的根目录,那就在后面加上你的下一级目录。就像这样
‘url’ => ‘//’ . $_SERVER[‘HTTP_HOST’] . ‘/flarum’,
‘cdn_url’ => ‘//’ . $_SERVER[‘HTTP_HOST’] . ‘/flarum’,
这样,flarum 就可以正确响应来自所有地址的访问了。
在 Apache 的 Alias 功能中正确设置伪静态
Apache 的 .htaccess 默认是不会对 Alias 别名生效的。但一些程序,例如这里提到的 Flarum 对伪静态是强需求的,想要在使用 Alias 的同时应用 .htaccess 文件则需要对 .htaccess 文件进行一些简单的修改。
首先,在 .htaccess 文件的开头,加上这样一行
Options +FollowSymlinks
然后,在 RewriteEngine on 的下一行写上
RewriteBase /flarum
注意了,这里的 /flarum 应该填你自己的 Alias,因为上面设置允许来自所有 IP/域名的访问时,我就是以 /flarum 为例的,所以这里才需要填写 /flarum
结束
因为不是太有价值的东西,所以一张图也没贴就随便写写,希望真的会帮到和我一样无聊的人(