我在自己的私人服务器(运行 Raspbian 的 Raspeberry Pi 3,基于 Ubuntu 16.04)上托管了一个网站,并在其上安装了 LAMP(如下这分步指南)和 WordPress(以下这一)。
我将 WordPress 安装在“辅助”站点中,这意味着它位于“主”站点文件夹内的文件夹中。主站点位置是/var/www/my-main-site/
,其中包含文件夹/var/www/my-main-site/my-secondary-site
,所有 WordPress 文件都位于该文件夹中(下面我复制了文件夹结构及其权限)。
可以通过别名访问辅助站点,我在文件中配置了别名,/etc/apache2/sites-enabled/my-main-site.conf
如下所示
<VirtualHost *:port>
ServerAdmin [email protected]
ServerName my-public-ip:port
Alias "/my-secondary-site" "/var/www/my-main-site/my-secondary-site"
DocumentRoot /var/www/my-main-site/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
在使用两个示例文件进行测试时.html
,一切正常:我可以通过访问我的主站点my-public-ip:port
,通过访问辅助站点my-public-ip:port/my-secondary-site
。 经过这次测试,我安装了 WordPress。
问题是,当我尝试通过 Web 界面访问辅助站点以完成 WordPress 配置时,出现此错误
Forbidden
You don't have permission to access /my-secondary-site on this server.
Server unable to read htaccess file, denying access to be safe
下列的步骤 3从指南中我.htaccess
通过在末尾添加这些行来启用覆盖/etc/apache2/apache2.conf
<Directory /var/www/my-main-site/>
AllowOverride All
</Directory>
下列的步骤5之后,我按照如下方式更改了我的文件夹的权限(请注意,my-user 是我用来通过 ssh 连接的用户,具有 root 权限):
drwxr-xr-x 4 my-user www-data 4096 May 1 11:48 my-main-site
/* which contains these two folders*/
---> drwxr-xr-x 2 my-user www-data 4096 May 1 11:01 public_html
---> drwxr-sr-x 5 my-user www-data 4096 May 1 14:22 my-secondary-site
/* files and folders in /var/www/my-main-site/my-secondary-site
---> -rw-r--r-- 1 my-user www-data 147 May 1 11:50 index.html
---> -rw-r--r-- 1 my-user www-data 418 Sep 25 2013 index.php
---> -rw-r--r-- 1 my-user www-data 19935 Jan 6 20:32 license.txt
---> -rw-r--r-- 1 my-user www-data 7415 Mar 18 17:13 readme.html
---> -rw-r--r-- 1 my-user www-data 5438 Mar 18 16:07 wp-activate.php
---> drwxr-sr-x 9 my-user www-data 4096 Apr 3 22:19 wp-admin
---> -rw-r--r-- 1 my-user www-data 364 Dec 19 2015 wp-blog-header.php
---> -rw-r--r-- 1 my-user www-data 1627 Aug 29 2016 wp-comments-post.php
---> -rw-r--r-- 1 my-user www-data 2853 Dec 16 2015 wp-config-sample.php
---> -rw-r--r-- 1 my-user www-data 3261 May 1 12:59 wp-config.php
---> drwxrwsr-x 5 my-user www-data 4096 May 1 12:35 wp-content
---> -rw-r--r-- 1 my-user www-data 3669 Aug 20 2017 wp-cron.php
---> drwxr-sr-x 18 my-user www-data 12288 Apr 3 22:19 wp-includes
---> -rw-r--r-- 1 my-user www-data 2422 Nov 21 2016 wp-links-opml.php
---> -rw-r--r-- 1 my-user www-data 3306 Aug 22 2017 wp-load.php
---> -rw-r--r-- 1 my-user www-data 36593 Apr 3 17:22 wp-login.php
---> -rw-r--r-- 1 my-user www-data 8048 Jan 11 2017 wp-mail.php
---> -rw-r--r-- 1 my-user www-data 16246 Oct 4 2017 wp-settings.php
---> -rw-r--r-- 1 my-user www-data 30071 Oct 18 2017 wp-signup.php
---> -rw-r--r-- 1 my-user www-data 4620 Oct 24 2017 wp-trackback.php
---> -rw-r--r-- 1 my-user www-data 3065 Aug 31 2016 xmlrpc.php
我尝试通过 将 的所有权授予用户/var/www/my-primary-site
,但问题仍然存在。www-data
sudo chown -R www-data /var/www/my-primary-site/
我还尝试更改文件/etc/apache2/apache2.conf
以允许覆盖整个/var/www/
文件夹,如下所示,但没有任何改变。
/* From... */
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
/* .... to */
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
有任何想法吗?
答案1
好吧,我不能肯定地说这是否有帮助,但Alias
在这种情况下该指令看起来是不必要的。public-ip:port/my-secondary-site
没有它应该也可以访问。
另外,还有一个问题,如果您打算提供my-secondary-site
一个实际的域名,我会将其拆分为一个单独的虚拟主机。