Вот что я пытаюсь сделать.
Я попытался добавить еще одну папку в apache, и при попытке доступа получаю следующую ошибку testing/index.html
.
Идея в том, что я бы хотел, чтобы для каждого покупателя была папка вроде /home/neagoe/Work/InterWebs/Projects/[PROJECT NAME]/CustomerProjects/website/dist
.
Forbidden
You don't have permission to access /index.html on this server.
Apache/2.2.22 (Ubuntu) Server at testing Port 80
Вот шаги, которым я следовал:
Шаг 1:
sudo chmod a+x /home/neagoe/Work/InterWebs/Projects/testing/CustomerProjects/website/dist
Шаг 2:
sudo chown -R www-data:www-data /home/neagoe/Work/InterWebs/Projects/testing/CustomerProjects/website/dist
sudo chmod -R 775 /home/neagoe/Work/InterWebs/Projects/testing/CustomerProjects/website/dist
Шаг 3:
sudo adduser $USER www-data
Шаг 4:
sudo a2enmod userdir
Шаг 5:
sudo cp /etc/apache/sites-available/default /etc/apache/sites-available/testing
Я редактировал файл /etc/apache/sites-available/testing
так это выглядит так:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName testing
DocumentRoot /home/neagoe/Work/InterWebs/Projects/testing/CustomerProjects/website/dist
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/neagoe/Work/InterWebs/Projects/testing/CustomerProjects/website/dist/ >
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Шаг 6:
Я отредактировал хосты ("/ etc / hosts") так, чтобы это выглядело так:
127.0.0.1 localhost
127.0.0.1 testing
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Шаг 7:
sudo a2ensite testing
sudo service apache2 restart
Я искал в Интернете около 2 часов, но не могу понять, что пошло не так. Все страницы, которые я нашел, выполнили те же шаги, что описаны выше.
Я знаю, что в Интернете есть похожие вопросы, но ответ - изменить разрешение на каталог, который я сделал на Шаг 2.
Прошу прощения, если это действительно дубликат, но я не смог найти правильный ответ.
Спасибо!
PS. Я спрашивал об этом также на AskUbuntu, но не получил никаких ответов, поэтому пытаюсь здесь удачи.
Редактировать:
В журнале ошибок или журнале доступа не так много информации.
На access.log
:
::1 - - [10/Aug/2013:11:23:28 +0300] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.2.22 (Ubuntu) (internal dummy connection)"
::1 - - [10/Aug/2013:11:23:29 +0300] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.2.22 (Ubuntu) (internal dummy connection)"
::1 - - [10/Aug/2013:11:23:31 +0300] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.2.22 (Ubuntu) (internal dummy connection)"
::1 - - [10/Aug/2013:11:23:32 +0300] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.2.22 (Ubuntu) (internal dummy connection)"
::1 - - [10/Aug/2013:11:23:33 +0300] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.2.22 (Ubuntu) (internal dummy connection)"
::1 - - [10/Aug/2013:11:23:34 +0300] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.2.22 (Ubuntu) (internal dummy connection)"
::1 - - [10/Aug/2013:11:23:35 +0300] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.2.22 (Ubuntu) (internal dummy connection)"
127.0.0.1 - - [10/Aug/2013:11:23:23 +0300] "POST /wordpress-testing/wp-cron.php?doing_wp_cron=1376123003.7026669979095458984375 HTTP/1.0" 200 705 "-" "WordPress/3.6; http://localhost/wordpress-testing"
::1 - - [10/Aug/2013:11:23:36 +0300] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.2.22 (Ubuntu) (internal dummy connection)"
::1 - - [10/Aug/2013:11:23:37 +0300] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.2.22 (Ubuntu) (internal dummy connection)"
::1 - - [10/Aug/2013:11:23:38 +0300] "OPTIONS * HTTP/1.0" 200 126 "-" "Apache/2.2.22 (Ubuntu) (internal dummy connection)"
127.0.0.1 - - [10/Aug/2013:11:31:32 +0300] "GET /index.html HTTP/1.1" 200 485 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:23.0) Gecko/20100101 Firefox/23.0"
И последняя строка повторяется примерно 200 рядов.
На error.log
:
1. Эти строки время от времени повторяются.
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525 /msql.so' - /usr/lib/php5/20100525/msql.so: cannot open shared object file: No such file or directory in Unknown on line 0
[Sat Aug 10 13:06:42 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.4.9-4ubuntu2.2 configured -- resuming normal operations
[Sat Aug 10 13:07:36 2013] [notice] caught SIGTERM, shutting down
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/msql.so' - /usr/lib/php5/20100525/msql.so: cannot open shared object file: No such file or directory in Unknown on line 0
[Sat Aug 10 13:07:37 2013] [notice] Apache/2.2.22 (Ubuntu) PHP/5.4.9-4ubuntu2.2 configured -- resuming normal operations
2. И это преобладающая ошибка. (сотни строк)
[Sat Aug 10 13:07:40 2013] [error] [client 127.0.0.1] (13)Permission denied: access to /index.html denied
Вам необходимо убедиться, что все каталоги, ведущие к последнему каталогу, доступны Apache.
/home/neagoe/Work/InterWebs/Projects/testing/CustomerProjects/website/dist
Чаще всего у домашнего каталога (/ home / neagoe) будет разрешение 750 или 700, чтобы другие пользователи не могли получить к нему доступ. Это будет проблемой для Apache.
В таком случае вы можете chmod 755
это (сначала подумайте, есть ли какие-либо риски безопасности в вашей среде) или chmod 750
(не забудьте добавить Apache в группу, которой принадлежат каталоги в этом случае).
Выше есть каталоги /home/neagoe/Work/InterWebs/Projects/testing/CustomerProjects/website/dist/
которые отменяют разрешения. Попробуйте изменить корневой каталог на
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
Хотя это нежелательное решение, которое может помочь отсеять места, где вас блокируют. Затем я бы попробовал смесь Allow
и Deny
в корневом каталоге, пока вы не получите приемлемое сочетание безопасности и функциональности.