Недавно я переключился с Ubuntu на Fedora Workstation в качестве среды разработки, чтобы лучше понимать серверы CentOS (а также по другим причинам).
Я пытался настроить локальный стек LAMP для разработки.
Вот что у меня есть банкомат:
httpd Apache/2.4.16 (Fedora), runs as apache/apache,
mod_php is disabled,
handler is
"proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
php 5.6.14
php-fpm runs as apache/apache,
path is /run/php-fpm/www.sock, process type is mpm_event
/etc/httpd/conf.d/php.conf
<IfModule !mod_php5.c>
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
</FilesMatch>
</IfModule>
Я действительно не пробовал ни одну из настроек в /etc/httpd/conf/httpd.conf
. Сервер и PHP работают нормально для /var/www/html
, но когда я пытаюсь создать новый VirtualHost
, Я получил 403
для всех каталогов. Я пытаюсь перейти на новый виртуальный хост, добавив файл конфигурации:
/etc/httpd/conf.d/sites.conf
<VirtualHost *:80>
ServerName site1.local
ServerAlias site1alias.local
DocumentRoot /home/myuser/Projects/site1/www
<Directory /home/myuser/Projects/site1/www>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
httpd -S
AH00558: httpd: Could not reliably determine the server's
fully qualified domain name, using ::1.
Set the 'ServerName' directive globally to suppress this message
VirtualHost configuration:
*:80 site1.local (/etc/httpd/conf.d/sites.conf:4)
ServerRoot: "/etc/httpd"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/etc/httpd/logs/error_log"
Mutex default: dir="/run/httpd/" mechanism=default
Mutex authdigest-opaque: using_defaults
Mutex proxy-balancer-shm: using_defaults
Mutex rewrite-map: using_defaults
Mutex authdigest-client: using_defaults
Mutex lua-ivm-shm: using_defaults
Mutex proxy: using_defaults
Mutex authn-socache: using_defaults
PidFile: "/run/httpd/httpd.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="apache" id=48
Group: name="apache" id=48
/ etc / hosts
127.0.0.1 localhost gpc local localhost.localdomain site1.local site1alias.local
::1 localhost gpc local localhost.localdomain
SELinux установлен на «разрешающий» с помощью setenforce 0
(кажется, показывает предупреждения, но разрешает действия).
Всякий раз, когда я пытаюсь просмотреть http://localhost/
или http://site1.local/
, Я получил
Forbidden: You don't have permission to access / on this server.
Возможно
AH00558: httpd: Could not reliably determine the server's
fully qualified domain name, using ::1.
Set the 'ServerName' directive globally to suppress this message
имеет какое-то отношение к этому? Я пробовал ченинг ServerName localhost
директива в /etc/httpd/conf/httpd.conf
но это не имело никакого эффекта. У меня заканчиваются идеи здесь. Чувствую, что в конфигурации чего-то не хватает. Любая помощь или совет будут очень благодарны.
РЕДАКТИРОВАТЬ:
Записи из /var/log/httpd/error_log
:
[Sat Oct 31 17:29:33.253428 2015] [core:notice] [pid 844:tid 140376890374272] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Sat Oct 31 17:29:33.259649 2015] [suexec:notice] [pid 844:tid 140376890374272] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using ::1. Set the 'ServerName' directive globally to suppress this message
[Sat Oct 31 17:29:33.274149 2015] [auth_digest:notice] [pid 844:tid 140376890374272] AH01757: generating secret for digest authentication ...
[Sat Oct 31 17:29:33.275309 2015] [lbmethod_heartbeat:notice] [pid 844:tid 140376890374272] AH02282: No slotmem from mod_heartmonitor
[Sat Oct 31 17:29:33.279406 2015] [mpm_event:notice] [pid 844:tid 140376890374272] AH00489: Apache/2.4.16 (Fedora) configured -- resuming normal operations
[Sat Oct 31 17:29:33.279437 2015] [core:notice] [pid 844:tid 140376890374272] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
[Sat Oct 31 17:30:18.500583 2015] [core:error] [pid 937:tid 140376476202752] (13)Permission denied: [client 127.0.0.1:42036] AH00035: access to / denied (filesystem path '/home/myuser/Projects') because search permissions are missing on a component of the path
[Sat Oct 31 17:30:18.667997 2015] [core:error] [pid 937:tid 140376459417344] (13)Permission denied: [client 127.0.0.1:42036] AH00035: access to /favicon.ico denied (filesystem path '/home/myuser/Projects') because search permissions are missing on a component of the path, referer: http://site1.local/
Разрешения
apache/apache 755 /var/www/html/
apache/apache 755 /home/myuser/Projects/site1/
Вот твоя ошибка. Смотри внимательно:
[Sat Oct 31 17:30:18.500583 2015] [core:error] [pid 937:tid 140376476202752] (13)Permission denied: [client 127.0.0.1:42036] AH00035: access to / denied (filesystem path '/home/myuser/Projects') because search permissions are missing on a component of the path
[Sat Oct 31 17:30:18.667997 2015] [core:error] [pid 937:tid 140376459417344] (13)Permission denied: [client 127.0.0.1:42036] AH00035: access to /favicon.ico denied (filesystem path '/home/myuser/Projects') because search permissions are missing on a component of the path, referer: http://site1.local/
Это происходит потому, что у Apache нет разрешения на поиск (спуститься, x
разрешение) один из родительских каталогов.
Чтобы решить проблему, сначала проверьте, какой родительский каталог не имеет необходимых разрешений, например с участием namei -l /home/myuser/Projects/index.php
. Найдите каталог, в котором отсутствует x
разрешения для всех пользователей и дайте правильные разрешения с помощью chmod a+x /directory
.
Ошибка не может квалифицироваться, что fqdn не имеет к этому никакого отношения, вы можете исправить это, добавив запись в / etc / hosts с вашим внешним IP-адресом, а затем именем хоста. По поводу ошибки php: что-нибудь в логах apache?
РЕДАКТИРОВАТЬ:
Пожалуйста, проверьте разрешения / home / myuser / Projects, он должен быть доступен для чтения для пользователя httpd apache (по крайней мере, r-x)