Установка сервера LAMP (PHP+Apache2+Mysql) c настройкой виртуальных хостов


    Каждому начинающему линуксоуиду рано или поздно приходило в голову поднять на машине локальный сервер И так как в линуксе это делается буквально за одну минуту, то обычно особых затруднений это ни у кого не вызывает. Тем более что установить необходимое програмное обеспечение на UBUNTU LINUX можно даже не прибегая к коммандной строке и при этом всего пару раз кликнув мышкой.

Для этого выбираем в меню: Система -> Администрирование -> Менеджер пакетов Synaptic
    Потом в окне Synaptic выбираем: Правка -> Отметить пакеты для Задачи…
    Далее в открывшемся списке отмечаем галочкой пакет: LAMP server. Жмём ОК. И соглашаемся с добавлением необходимых для LAMP компонентов.
    В Synaptic нажимаем кнопку Применить и… собственно всё. Ждём процесса окончания загрузки и установки LAMP.

    Но вот локальный сервер установлен и запущен, долгожданная надпись “It’s Work!” появилась, по адресу locahost/phpmyadmin открывается панель авторизации phpMyAdmin – вроде все работает, но возникает законный вопрос - а дальше что?

    Дело в том, что в LINUX -е локальный сервер организован немного по другому, чем в WINDOWS работает, к примеру, Денвер. Да и с правами доступа CHMOD в папку, где по умолчанию находится локальный сервер тоже не все ладно. Читать от туда пользователь может, а изменить что либо ему без установки дополнительных прав вряд ли что то получится.

    Так что с добавлением локального виртуального хоста, где собственно и должен находится тестируемый сайт у новичка- линуксоида могут возникнуть некоторые проблемы.
   Конечно для опытного юзера с ясной головой и прямыми руками это семечки, но ведь все мы когда-то начинали.

   Побродив по просторам интернета я обнаружил интересную вещь. По установке сервера информации масса, а по организации локального хоста в локальной же папке конечного пользователя почти ничего нет.
    В этой публикации я постараюсь устранить этот пробел и объединить воедино мануал по установке сервера и организации локального хоста в конечной папке с помошью командной строки.    Я опишу процесс установки PHP+Apache2+Mysql c настройкой виртуальных хостов.

Сам процесс установки достаточно простой:

1. Устанавливаем PHP:

sudo apt-get install php5

На вопросы отвечаем y (yes)

2. Устанавливаем apache2:

sudo apt-get install apache2

3. Устанавливаем mysql:

sudo apt-get install mysql-server-5.0

4. Устанавливаем phpMyAdmin:

sudo apt-get install phpmyadmin

Когда выскочит окно настроек – не забываем указать что используем apache2! Иначе phpMyAdmin грузиться не будет!
Если Вы все сделали правильно, по адресу http://localhost у Вас должна появляться надпись “It’s Work!”
А по адресу http://localhost/phpmyadmin – панель авторизации phpmyadmin

Далее нам необходимо настроить виртуальные узлы.
Итак, для начала переходим в домашнюю папку и создаем там любой каталог, например public_html (именно в этом каталоге и будут размещаться ваши сайты на реальных серверах)

Для копирования файла настройки из виртуального узла по умолчанию в новый файл (mysite) введите в командной строке следующую команду:

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mysite

Запустите приложение gedit и отредактируйте в нем новый файл настройки (mysite):

gksudo gedit /etc/apache2/sites-available/mysite

Измените корневой узел документов, указав в нем новое местоположение:
/home/<user>/public_html/
Измените «Directory directive» путем замены
<Directory /var/www/>
на
<Directory /home/user/public_html/>
Сохраните файл mysite

Активация нового виртуального узла
Для отключения виртуального узла по умолчанию и включения нового узла запустите терминал и выполните следующие две служебные программы в окне терминала:

sudo a2dissite default && sudo a2ensite mysite

Перезапустите сервер HTTP Apache:

sudo /etc/init.d/apache2 restart

После этого небольшого тюнинга по адресу http://localhost нам выводится содержимое папки «public_html». Но порой работаешь сразу над несколькими проектами – и теперь нам необходимо создать домены в этой папке с соответствующими привязками.

Итак, идем в папку /etc/apache2/sites-available/ и создаем там файл vhosts.conf

После этого открываем его любым текстовым редактором и добавляем туда такой текст:

<VirtualHost *:80>
ServerName first.site
ServerAlias www.first.site
DocumentRoot /home/<user>/public_html/first.site
</VirtualHost>
<VirtualHost *:80>
ServerName second.site
ServerAlias www.second.site
DocumentRoot /home/<user>/public_html/second.site
</VirtualHost>

Сохраняем документ, идем в свою папку public_html и там создаем соответственно папки first.site и second.site

Далее открываем в текстовом редакторе файл /etc/hosts и добавляем в конце следующий текст:

127.0.0.1 first.site
127.0.0.1 second.site

После этого активируем vhosts.conf в apache:

cd /etc/apache2/sites-enabled/
sudo ln -s ../sites-available/vhosts.conf

Все! задача выполнена. Все, что теперь осталось – только перегрузить сервер

sudo /etc/init.d/apache2 restart

После этого, набрав в адресной строке адреса http://first.site или http://second.site Вы должны увидеть содержимое соответствующих папок.

PS: как выяснилось позже, у установленного таким образом апача отсутствует mod_rewrite, что делает невозможным использование .htaccess. Решение:

a2enmod rewrite
nano /etc/apache2/sites-available/default (меняем у элемента “AllowOverride none” на “AllowOverride all”)
/etc/init.d/apache2 restart (рестарт апача)

Автор: Сергей Зарубин

Дата: 2011-03-28

Колличество просмотров: 8078

Нравится

Комментарии к заметке:

Комментарий добавил(а): Viktorminator
Дата: 2011-05-10

Спасибо за толковый пост. Воспользовался инструкциями для установки локалхоста.

Комментарий добавил(а): Сергей Зарубин
Дата: 2011-05-10

Всегда пожалуйста. В ближайшее время планирую разместить много интересной и, надеюсь, полезной информации.

Комментарий добавил(а): Алекс
Дата: 2013-07-01

Здорово, понятно и главное понимаешь что делаешь благодаря объяснениям.

Спасибо.



Добавить новый комментарий


Введите число с картинки:

captcha