Продовжу свою розповідь (початок “Fedora 11 – перші враження“). Цього разу буде про:
– Налаштування віртуальних хостів і можливі проблеми з SELinux;
– Apache mod_vhost_alias;
Короткий відступ
В минулій статті я писав, що Fedora 11 працює швидше за Ubuntu 9.04. Виявляється не тільки в мене:
Во-первых, она продемонстрировала замечательное визуальное быстродействие. Я, конечно, прекрасно понимаю всю условность и субъективность этого понятия, но, в сравнении с Xubuntu 9.04 система отличалась, если так можно выразиться, “реактивностью”.
Fedora — не горе: впечатления
Пошук і встановлення необхідних пакетів не викликав жодних питань – “# yum -h” і вперед. Єдине, що потрібно підключити репозиторії rpmfusion для кодеків.
su -c 'rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm' |
І по суті
А от з веб сервером, точніше з налаштуванням віртуальних хостів, проколупався майже цілий день. Справа в тому, що в я хотів покласти сайти в user home директорію (так зроблено на мому VDS і я вже до того звик). То ж створив необхідну директорію і додав в /etc/httpd/conf/httpd.conf наступне:
NameVirtualHost 127.0.0.1:80 <VirtualHost 127.0.0.1:80> DocumentRoot "/home/stfalcon/www/data/my/screensaver.in.ua/public" ServerName screensaver.in.ua.my ServerAlias www.screensaver.in.ua.my ErrorLog "/home/stfalcon/www/log/screensaver.in.ua.my-error_log" CustomLog "/home/stfalcon/www/log/screensaver.in.ua.my-access_log" common </VirtualHost> |
Ну і про “/etc/hosts” не забув. Перезапускаю апач (можна так “# service httpd restart”), лізу на хост, а він мені “Forbidden”… Я вже до нього і так і сяк – не йде :(. Поліз в тенета і на nabble побачив, що це може бути через SELinux.
SELinux (англ. Security-Enhanced Linux — Linux з покращеним рівнем безпеки) — реалізація системи примусового контролю доступу, яка може працювати паралельно з класичною discretionary access control. Входить в стандартне ядро Linux. Також для функціонування SELinux потрібні модифіковані версії деяких утиліт (PS, LS, і тд), які забезпечують підтримку нових функцій ядра, і підтримка з боку файлової системи.
Далі знайшов “Understanding and Customizing the Apache HTTP SELinux Policy” і все стало на свої місця. Щоб довго не мучитись виніс віртуальні хости в “/var/www/data”, перезапустив сервер – “свєршилось чудо” :).
Поки я колупався в конфігах, то побачив в коментах згадку про mod_vhost_alias. Це модуль, що дозволяє автоматично створювати віртуальні хости, замість того, щоб кожний раз додавати їх в конфіг ручками.
Ось таку структуру:
var ----www --------data ------------my ----------------screensaver.in.ua --------------------public ------------work ----------------mota.ru --------------------public |
Я описав так:
UseCanonicalName Off VirtualDocumentRoot /var/www/data/%-1/%-2+/public |
Тепер головне не забуватися додаватии до “/etc/hosts”, щось на зразок:
127.0.0.1 screensaver.in.ua.my mota.ru.work |
🙂
Дякую за увагу 😉