Apache Отклоненное Разрешение Virtualhosts. Попробованный все я могу придумать

Я использую апачский virtualhosts для пары сайтов, я хочу убежать свой сервер человечности 14.04. Моя установка работает, если сайты находятся под /var/www но если я пытаюсь работать один под /home/myuser/www/sitename/ я получаю 403 ошибки полномочий. Я проверил полномочия теперь. Мои / полномочия корневого каталога

drwxr-xr-x 5 root root 4096 Mar 7 02:05 .

Вот ls - al from home/myuser/www

    myuser@zeppelin:~/www$ ls -al
    total 24
    drwxrwxr-x  3 myuser www-data 4096 Sep  3 19:39 .
    drwxrwxr-x 18 myuser myuser     4096 Sep  3 19:29 ..
    -rwxr-xr-x  1 myuser www-data 4096 Sep  3 19:39 ._.DS_Store
    -rwxr-xr-x  1 myuser www-data 6148 Sep  3 19:39 .DS_Store
    drwxrwxr-x  2 myuser www-data 4096 Sep  3 20:18 sitename

Вот результаты ps auxwww | grep -i apache

root     17188  0.0  0.9 178496 17520 ?        Ss   20:25   0:00 /usr/sbin/apache2 -k start
www-data 17190  0.0  0.1  20488  2396 ?        S    20:25   0:00 /usr/sbin/apache2 -k start
www-data 17193  0.0  1.3 180792 23560 ?        S    20:25   0:00 /usr/sbin/apache2 -k start
www-data 17194  0.1  1.4 180740 26432 ?        S    20:25   0:01 /usr/sbin/apache2 -k start
www-data 17195  0.1  1.6 181472 29616 ?        S    20:25   0:01 /usr/sbin/apache2 -k start
www-data 17196  0.0  0.3 178544  5652 ?        S    20:25   0:00 /usr/sbin/apache2 -k start
www-data 17197  0.0  1.1 179960 21176 ?        S    20:25   0:00 /usr/sbin/apache2 -k start
www-data 17202  0.0  1.2 180804 23296 ?        S    20:25   0:00 /usr/sbin/apache2 -k start
www-data 17203  0.0  1.1 179960 21176 ?        S    20:25   0:00 /usr/sbin/apache2 -k start
www-data 17204  0.0  1.4 182564 25304 ?        S    20:25   0:00 /usr/sbin/apache2 -k start
www-data 17205  0.0  1.2 180804 23284 ?        S    20:25   0:00 /usr/sbin/apache2 -k start
myuser   17307  0.0  0.0   4688   812 pts/0    S+   20:47   0:00 grep --color=auto -i apache

И затем вот мой vhost файл

  #
  #  Example.com (/etc/apache2/sites-available/www.example.com)
  #
  <Directory /home/myuser/www/sitename>
    Order allow, deny
    Allow from all
    Options FollowSymLinks Includes ExecCGI
    AllowOverride All
    DirectoryIndex index.php index.htm index.html
  </Directory>

  <VirtualHost *:80>
        ServerName www.sitename.com
        ServerAlias sitename.com

        # Indexes + Directory Root.
        DirectoryIndex  index.php index.html
        DocumentRoot /home/myuser/www/sitename/


        # Logfiles
         ErrorLog ${APACHE_LOG_DIR}/error.log
         CustomLog ${APACHE_LOG_DIR}/access.log combined

  </VirtualHost>
-1
задан 4 September 2014 в 10:46
2 ответа

Там было изменение по сравнению с apache 2.2 и 2.4, которое изменило то, как вы это делаете. (И для 2.2 вы тоже сделали это неправильно...)

Вам не хватает "Require all granted" (или для 2.2 это были бы "Order allow,deny" и "Allow from all"):

<Directory /home/myuser/www/sitename>
    Require all granted
    Options FollowSymLinks Includes ExecCGI
    AllowOverride All
    DirectoryIndex index.php index.htm index.html
</Directory>
0
ответ дан 5 December 2019 в 21:01

Похоже, что разрешения неправильные. Процессы Apache работают как www-data, а ваш dir - это мой пользователь.

Либо измените пользователя, который работает с apache, на моего пользователя, либо смените владельца файлов с именами сайтов на www-data. Вы также можете создать сим-ссылку с именем сайта в файле /var/www. Это более чистый способ настройки веб-сервера.

-1
ответ дан 5 December 2019 в 21:01

Теги

Похожие вопросы