Установка и настройка LAMP в Ubuntu

Эта статья расскажет, как произвести установку и базовую настройку Apache, MySQL и PHP на примере операционной системы Ubuntu Linux. Кстати, написанное справедливо и для Debian, для любых современных версий этих систем. Инструкция для Fedora.

Установка Apache

Для установки Apache в программе Synaptic выберем следующий пакет:

  • apache2

Все дополнительные пакеты «подтянутся» автоматически. Для проверки работоспособности достаточно в браузере набрать адрес localhost. Надпись «It works!» свидетельствует об успешной установке Apache.

Как правило, любая CMS (система управления контентом сайта) предлагает возможность использовать человеку понятный «урл» (ЧПУ), то есть адреса страниц удобные для восприятия. Посмотрите на адрес этой страницы и поймете о чем речь. Для включения этой возможности надо установить один из модулей Apache — mod_rewrite. Для этого в «Терминале» выполним команды:

sudo a2enmod rewrite sudo /etc/init.d/apache2 restart

Первая строка активирует модуль, вторая — перезапускает Apache.

Установка PHP

В Synaptic ставим пакет:

  • php5

Во время установки PHP по зависимости установился пакет php5-cli. Это очень интересный пакет, который позволяет выполнять PHP-код непосредственно в «Терминале». CLI расшифровывается как command-line interpreter (интерпретатор командной строки). С его помощью мы можем протестировать работу PHP, «не отходя от кассы». Открываем «Терминал», вводим и запускаем следующее:

php -r 'print(phpinfo());'

В ответ, если установка прошла успешно, получим информацию о PHP. Выглядеть это будет, конечно, не так красиво как в браузере.

Установка MySQL

Нужные пакеты:

  • mysql-server
  • phpmyadmin

Первый пакет — это сервер БД, а второй — phpMyAdmin — программа для администрирования базы данных.

Во время установки Synaptic спросит пароль для root-пользователя БД.

Настройка Apache. Использование виртуальных хостов, основанных на имени

Часто домашнюю машину используют как площадку для разработки и дальнейшего тестирования будущих сайтов и других проектов. В этой ситуации на одном компьютере должно сосуществовать сразу несколько сайтов. Посмотрим, как этого можно добиться.

Сначала необходимо сделать виртуальные хосты (адреса сайтов, если хотите), на которых будут работать будущие сайты. Хосты хранятся в специально предназначенном для этого файле hosts, который находится в каталоге /etc. В этот файл добавим пару строк приблизительно следующего содержания:

127.0.0.1 имя-вашего-сайта имя-другого-сайта

Замените имена своими, например: test.com или my-site.ru. После перезапуска Apache можете открыть в браузере адрес вашего нового сайта. В ответ вы должны увидеть уже знакомую надпись «It works!». Если нет, то, возможно, открылся настоящий сайт. Попробуйте перезагрузить страницу.

Теперь необходимо создать связь между адресами и файлами, которые будут там работать. Для этого отредактируем файл /etc/apache2/httpd.conf. Добавим в него следующие строки:

NameVirtualHost 127.0.0.1:80 ServerName localhost AddDefaultCharset utf-8 <VirtualHost 127.0.0.1:80> DocumentRoot /любой-каталог/имя-вашего-сайта ServerName имя-вашего-сайта </VirtualHost> <VirtualHost 127.0.0.1:80> DocumentRoot /любой-каталог/имя-другого-сайта ServerName имя-другого-сайта </VirtualHost>

NameVirtualHost — обязательная директива для использования виртуальных хостов, основанных на имени. В качестве параметра указывается IP-адрес, на который сервер будет получать запросы. В нашем случае — это локальный компьютер.

AddDefaultCharset — устанавливает кодировку по умолчанию. В нашем случае UTF-8 (везде и всегда надо использовать UTF-8).

VirtualHost — контейнер, в котором хранятся директивы для определенного IP-адреса или хоста. В нашем случае IP-адрес должен совпадать с тем, который указан в директиве NameVirtualHost.

DocumentRoot — каталог, файлы из которого сервер будет использовать при ответе на запрос. Там, например, могут быть файлы WordPress, Drupal либо ваши собственные скрипты.

ServerName — имя сервера. Должно соответствовать тому, которое записано в файле /etc/hosts.

Теперь, когда настройка полностью завершена, мы в последний раз перезапускаем Apache и на этом все.

Комментарии