一些 Apache 配置的经验分享

一些 Apache 配置的经验分享

七月 25, 2020 阅读 112 字数 1489 评论 0 喜欢 0

cnVintage 周边开发需要,我在自己的电脑上 (localhost) 安装了 Flarum 系统。因为小众到不能再小众的需求和非主流的软件环境,需要设置一些奇怪又奇怪的选项,这里给同样和我这么无聊的人分享一下经验

文章涉及到的内容:

  1. wampserver (Apache)网页根目录及 Alias 开放来自公网的访问
  2. Flarum 允许来自所有 IP/域名的访问
  3. 在 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

结束

因为不是太有价值的东西,所以一张图也没贴就随便写写,希望真的会帮到和我一样无聊的人(

发表评论

电子邮件地址不会被公开。 必填项已用*标注