правильные шаги для обслуживания виртуальных хостов Apache из $ HOME в Fedora - PullRequest
0 голосов
/ 07 ноября 2018

Я тестирую Fedora 29 (я был пользователем Debian последние 10 лет) для веб-разработки, и мне очень трудно пытаться заставить виртуальные хосты работать в Apache (я полагаю, это непонимание с моей стороны, если честно).

Это структура папок, с которой я хочу работать (я знаю, что я отклоняюсь от стандартного способа / var / www / html):

/home
    /julio
        /Projects
            /Web
                /meca-innotech.com

Пока что для работы с виртуальными хостами я создал «основные» папки и символические ссылки (только одну для тестирования):

/etc
    /httpd
        /sites-available
            meca-innotech.com.conf
            template.conf
        /sites-enabled
            meca-innotech.com.conf -> /etc/httpd/sites-available/foo.conf

Чтобы это работало, я также внес изменение в /etc/httpd/conf/httpd.conf:

# Virtual host definitions
IncludeOptional sites-enabled/*.conf

Мое определение виртуального хоста выглядит так:

<VirtualHost *:80>
    ServerName meca-innotech.com
    DocumentRoot /home/julio/Projects/Web/meca-innotech.com
</VirtualHost>

Чтобы убедиться, что Apache разрешает допустимое полное доменное имя, я добавил соответствующую строку в /etc/hosts:

192.168.1.77    jmecahansen-E1-570G.meca-innotech.com    jmecahansen-E1-570G
127.0.0.1       meca-innotech.com

Я тоже настроил /etc/sysconfig/network:

HOSTNAME=jmecahansen-E1-570G

Я запустил httpd -S, и он не показал никаких ошибок. Я также запустил службу Apache с sudo systemctl start httpd и все прошло нормально.

Проблема в том, что я, вероятно, не имею правильных разрешений или мне не хватает того, чего я не вижу сам. Например, я прочитал (в SO, сообщениях в блогах, некоторых сайтах Google и выводе /var/log/httpd/error_log) ваш домашний каталог должен быть, по крайней мере, исполняемым. Это означает, что каталог /home/julio необходимо преобразовать в chmod либо в 710, либо в 711.

Еще одна вещь, которую я прочитал, это то, что Apache должен быть связан с вашей группой пользователей, поэтому я попытался использовать usermod -a -G julio apache, но это, похоже, не помогает.

В других источниках информации говорится, что вам нужно включить расширение Apache Userdir и запустить некоторые команды, связанные с SELinux, которые я совсем не понимаю.

Может быть, я переусердствовал, и все сводится к тому, чтобы следовать стандартному пути /var/www/html и гарантировать, что мой пользователь является членом Apache и имеет соответствующие разрешения для вышеупомянутого пути.

В любом случае, я был бы очень признателен за помощь. Можете ли вы дать мне подсказку? :)

...