Я размещаю веб-сайт на своем частном сервере (Raspeberry Pi 3, работающем под управлением Raspbian, на основе 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 my-email@mail.com
    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.

Проблема в том, что когда я пытаюсь получить доступ к дополнительному сайту для завершения настройки 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 ответ1

0

Ну, я не могу сказать наверняка, поможет ли это, но директива Alias выглядит ненужной в этом случае. public-ip:port/my-secondary-site вероятно, должен быть доступен без него.

Кроме того, если вы хотите дать my-secondary-site действительное доменное имя, я бы разбил его на отдельный виртуальный хост, когда вы это сделаете.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .