LAMP на ноутбуке

2 марта 2009
Рубрика: Ubuntu, Заметки
Теги: , , , , ,

Zeboton

LAMP — это аббревиатура от Linux Apache MySQL PHP. То есть это полноценный Web-сервер. Так как ноутбук это мобильное устройство, а в моём случае это даже не ноутбук, а нетбук MSI Wind, то я его часто ношу с собой. Иногда между встречами образуется достаточно серьёзный промежуток времени и его хочется потратить с большей продуктивностью. Поэтому я и решил установить на нетбук LAMP. Установка LAMP описана очень подробно во многих источниках, но при установке у меня было одно маленькое требование, которое нигде, где я смотрел, не описано.

Процесс установки LAMP в Ubuntu элементарен:

  1. Открываем менеджер пакетов Synaptic (Система → Администрирование → Менеджер пакетов Synaptic).
  2. В меню Synaptic выбираем Правка → Отметить пакеты для Задачи….
  3. В открывшемся окне ставим галочку напротив мета-пакета LAMP и щёлкаем на кнопке OK.

Настроить LAMP немного сложнее. Первое что я делаю, так это изменяю папку отображаемую web-сервером Apache с /var/www/ на /home/serg/Projects/project1. Для этого редактиру конфигурационный файл Apache:
sudo nano /etc/apache2/sites-available/default

И заменяю в нём все упоминания /var/www/ на /home/serg/Projects/project1
Делаю я это из-за того что раздел /home при установке я вынес в отдельный логический диск и если нужно будет переустановить систему, то раздел /var потеряется, а /home — нет.

Но этот способ подходит, если у вас только один проект, а что если проектов несколько? Ничего сложного — создадим для каждого проекта виртуальных хост:
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/project2
sudo nano /etc/apache2/sites-available/project2

Указываем в файле имя на которое должен откликаться этот хост путём добавления перед директивой DocumentRoot директивы ServerName c желаемым именем, изменяем значение директивы AllowOverride на All (это я делаю так как использую модуль Apache mod_rewrite), изменяем домашнюю папку хоста и имя файла в который будут писаться ошибки на нужные пути, а также удаляем лишние строчки. Вот как выглядит файл у меня:
NameVirtualHost *
<VirtualHost *>
ServerName project2
ServerAdmin webmaster@localhost
DocumentRoot /home/serg/Projects/project2
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/serg/Projects/project2>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/error_project2.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access_project2.log combined
ServerSignature On
</VirtualHost>

Теперь установим модуль Apache mod_rewrite:
sudo a2enmod rewrite

Для того чтобы компьютер знал что нужно обращаться к себе для отображения сайта http://project2 нужно указать это в файле /etc/hosts:
sudo nano /etc/hosts

Добавляем к строчке 127.0.0.1 имя виртуального хоста:
127.0.0.1 localhost project2

Активируем виртуальный хост:
sudo a2ensite project2

Перезапускаем web-сервер Apache:
sudo /etc/init.d/apache2 restart

Вот теперь у нас LAMP настроен и самое время перейти к моему маленькому требованию. Так как большую часть времени я работаю за нетбуком, когда он подключён к Интернету, то мне не нужно, чтобы в это время работал LAMP и кушал хоть какие-либо ресурсы, а по-умолчанию Apache и MySQL запускаются при старте системы. Для решения этой задачи можно воспользоваться утилитой rcconf:
sudo apt-get install rcconf
sudo rcconf

Убираем «галочки» у Apache и MySQL.

Всё, теперь при загрузке компьютера Apache и MySQL запускаться не будут. Чтобы из включить нужно выполнить:
sudo /etc/init.d/mysql start && sudo /etc/init.d/apache2 start
Если есть какие-либо вопросы по этой теме — оставляйте их в комментариях. Я не админ, но много времени потратил на разбор того как работает web-сервер и возможно я на что-нибудь да отвечу.

Похожие записи: