Делаем свой мини-хостинг: Работа с LAMP

Опубликовано: Комментариев: 3

Данная статья является продолжением записи Делаем свой мини-хостинг: Установка LAMP Итак, Я хотел чтобы мои сайты размещались непосредственно в моем домашнем каталоге, а не на системном разделе, так в случае чего мои файлы будут всегда целы.Кстати, еще можно и перенести папку с базами данных Mysql, но об этом не сейчас. Итак, для начала создадим папку для наших будущих сайтов. К примеру Я создаю папку www по адресу /home/user/www/ и тут будут находиться все мои сайты. Активация Mod Rewrite Чтобы можно было выставлять нормальные SEO заточеные ЧПУ на wordpress необходимо будет активировать mod rewrite.

 sudo a2enmod rewrite
После чего перезагружаем Apache для активации новых настроек конфигурации, по подсказке запустив уже знакомую команду
 /etc/init.d/apache2 restart
или аналогичную команду для перезапуска apache:
 service apache2 reload

Отличия в настройке Apache 2.2 и Apache 2.4

ВНИМАНИЕ! На момент создания моей статьи, актуальной версией Apache была 2.2, а где-то в 2012м или 2013м году появилась новая ветка 2.4. Так что, как верно подметил в комментариях Natte, по состоянию на 2015й год нужно немного обновить информацию. Применимо к этой статье основным изменением является новый формат файла настроек. В версии Apache 2.2 файл настроек именовался:
/etc/apache2/sites-available/default
А уже в версии 2.4 он имеет следующий вид:
/etc/apache2/sites-available/000-default.conf
Таким образом, просмотрев содержимое каталога sites-available вы сразу же заметите какая у Вас версия Apache установлена:
$ls /etc/apache2/sites-available/
000-default.conf default-ssl.conf
Либо можно запустить команду dpkg:
$ dpkg -l apache2
||/ Имя            Версия       Архитектура  Описание
+++-==============-============-============-=================================
ii  apache2        2.4.7-1ubunt i386         Apache HTTP Server

Настройка доступных сайтов в Apache

Первым делом сохраним резервную копию настроек:
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf.backup
или же для старой версии Apache:
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/default.backup
Далее по тексту статьи я буду использовать файл конфигурации для последней актуальной версии Apache 2.4, который имеет название 000-default.conf, а если Вы редактируете более старую версию - то подставляйте название файла настроек default. Думаю, что с этим разобрались! Теперь я бы посоветовал добавить сразу строчку, позволяющую сайту работать с модулем mod rewrite, который необходим для многих CMS систем. И чтобы не править каждый вновь созданный файл, мы добавим данный модуль в стандартную запись виртуального хостинга сайтов, чтобы все время не править конфиг при создании новых проектов.Так сказать "установил и забыл" ;) Пишем:
 sudo gedit /etc/apache2/sites-available/000-default.conf
находим там этот кусок текста Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all и меняем AllowOverride None на AllowOverride All. Сохранили документ и вышли. Теперь создадим непосредственно свой первый сайт site.lan: 1. Для начала необходимо создать новую запись виртуального хостинга для него в папке /etc/apache2/sites-available/, мы просто напросто скопируем стандартный default конфиг и переименуем его в название нашего нового сайта
 sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/site.conf
  а в прошлой версии Apache 2.2 выполняем вот так:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/site.lan
2. Откройте ново созданный файл site.conf (или site.lan для старой версии) и проведите манипуляции:
 sudo gedit /etc/apache2/sites-available/site.conf
тут нам необходимо будет заменить все /var/www/ на /home/user/www/site.lan (для переноса файлов сайта к себе в папку, не забудьте создать и папку site.lan ;) ) перед строкой "DocumentRoot /home/user/www/site/site.lan/" добавить строку "ServerName site.lan" В итоге у нас получается что-то вроде такого:
ServerName site.lan DocumentRoot /home/user/www/site.lan/
3. Теперь добавим наш сайт:
sudo a2ensite site.conf
или для старой версии:
sudo a2ensite site.lan
4. Редактируем файл hosts ВНИМАНИЕ! Если Вы планируете поднимать неймсервер и создавать свою локальную DNS зону - то запись в /etc/hosts не требуется!
sudo gedit /etc/hosts
и добавьте в него:
 127.0.1.1 site.lan
Стоит отметить, чтобы не путать читателей, что в данном случае мы добавляем уже сам адрес сайта, который вписали в ServerName в пункте 2. Т.е. что для старой, что для новой версии Apache, тут ничего не изменится. 5. И перезапустите Apache, чтоб настройки вступили в силу:
 sudo /etc/init.d/apache2 reload
Вот и все! Очень легко и просто. Для добавления других сайтов используйте шаги 1-3, с учетом того что имя сайта должно быть от того что уже существует, тобиш site.lan в нашем случае,а добавление IP в /etc/hosts производим по нарастающей, адрес для следующего проекта, к примеру, 127.0.1.2, для третьего 127.0.1.3 и так далее. От спонсора: Приёмы по эффективному продвижению интернет ресурса в поисковых машинах и есть ничто иное как раскрутка сайта. Задачи, которые ставит перед собой раскрутка сайта заключаются в привлечении целевой аудитории для достижения определённых задач проекта. Наша компания предоставляет услуги раскрутки сайтов в крупнейших поисковых системах Яндекс и Гугл. Мы поможем открыть Ваш веб-проект для посетителей из Украины, СНГ и остальных уголков мира.

Комментариев: 3
Natte 2015-09-27 10:38:44
Спасибо! А на момент 2015 года, эта информация не нуждается в обновлении ?
Slicks 2015-10-02 18:31:59
Natte, состоянием на 2015й года <b>информация нуждается в обновлении</b>. У Apache изменились файлы конфигов в новой версии. Всё забываю написать про это. P.S. Спасибо, что напомнили! Постараюсь заняться этим в ближайшее время и написать обновление
Slicks 2015-10-15 10:11:42
Информация актуальна на момент 2015 года для версий Apache 2.4