Установка Apache 2, PHP 5 и MySQL в Ubuntu

Любой сайт начинается с сервера и в этой статье я расскажу как быстро и без лишних хлопот установить полноценный локальный сервер Apache 2. Пошаговые инструкции помогут лучше понять назначение каждой части комплекта разработчика.

Установка сервера Apache 2

В терминале запускаем процесс установки apache2 из стандартных репозиториев:

sudo apt-get install apache2

Чтобы сервер заработал следует выполнить стандартную команду перезагрузки процесса:

sudo service apache2 restart

Теперь, если перейти по ссылке http://localhost будет отображаться приветственный текст, вроде такого:

It works!

This is the default web page for this server.

The web server software is running but no content has been added, yet.

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

apache2: Could not determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName

Серверу нужно дефолтное доменное имя. Если ошибка имела место быть, редактируем файл:

sudo nano /etc/apache2/apache2.conf

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

ServerName localhost

Сохраняем изменения в файле (Ctrl + O, затем Enter, затем Ctrl + X).

Создание виртуального хоста

В структуре сервера apache2, каждый сайт имеет свою независимую конфигурацию, создадим новый сайт с локальным доменом. Для этого нужно поместить файл кофигурации сайта в директорию /etc/apache2/sites-available. Назовём файл site.conf и откроем его, после создания, на редактирование:

sudo touch /etc/apache2/sites-available/site.conf
sudo nano /etc/apache2/sites-available/site.conf

Раньше можно было называть файл конфигурации как угодно, например site.loc, теперь требуется расширение .conf

Запишем в файл конфигурации необходимые команды, которые можно расширять или наоборот не указывать:

<VirtualHost 127.0.0.10:80>
        ServerAdmin admin@site.loc
        ServerName site.loc
        ServerAlias www.site.loc

        Options -Indexes
        AddDefaultCharset utf-8

        DocumentRoot /var/www/site.loc/public_html

        ErrorLog /var/www/site.loc/logs/error.log
        CustomLog /var/www/site.loc/logs/access.log combined

        AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml
        AddType application/x-httpd-php-source .phps
</VirtualHost>

Файлы сайта можно положить в директорию /var/www или /srv/www, в зависимости от выбора пути в файле конфигурации должны совпадать с реальным положением вещей. Создадим структуру папок, например в директории /var/www:

sudo mkdir -p /var/www/site.loc/public_html
sudo mkdir /var/www/site.loc/logs

Добавим адрес site.loc в файл hosts, откроем файл на редактирование:

sudo nano /etc/hosts

добавим строку с локальным IP-адресом сайта, таким же как и в site.conf:

127.0.0.10 site.loc

Теперь следует включить наш новый site.loc:

sudo a2ensite site.conf

На экране должна появится запись:

Enabling site site.
To activate the new configuration, you need to run:
service apache2 reload

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

service apache2 restart

Если всё верно, по адресу http://site.loc находится новый сайт. Директория сайта пуста, поэтому там будет листинг самой директории, но чуть позже мы создадим там php-файл.

Установка PHP 5

Самый распространённый метод установки и использования PHP — как модуль сервера (в отличии от CGI). Установка и активация модуля достаточно проста:

sudo apt-get install libapache2-mod-php5
sudo a2enmod php5

Перезагружаем изменения:

sudo service apache2 restart

Проверим корректность установки PHP, для этого нужно создать в корне нашего сайта тестовый файл:

sudo touch /var/www/site.loc/public_html/test.php
echo "<?php phpinfo(); ?>" | sudo tee /var/www/site.loc/public_html/test.php

По адресу http://site.loc/test.php нас должен ожидать подробный отчёт о статусе PHP на нашем сервере.

Можно было бы назвать файл index.php, тогда бы он отрабатывался при заходе в корень домена site.loc. Я бы не рекомендовал оставлять phpinfo-файл в прямом доступе, т.к. это сильно компрометирует безопасность всего сервера.

Несколько советов по первоначальной настройке php-интерпретатора:

  • Файл конфигурации можно найти в phpinfo, значение «Loaded Configuration File», в моём случае это «/etc/php5/apache2/php.ini»;
  • Установите значение «short_open_tag = On» в файле php.ini и перезагрузите сервер, это позволит использовать сокращённый синтаксис php;
  • Включиет mod_rewrite «sudo a2enmod rewrite» и перезагрузите сервер, это позволит создать ЧПУ. В конфигурацию VirtualHost полезно добавить <Directory "/var/www/site.loc">
    AllowOverride All
    </Directory>
    для манипуляцией «RewriteEngine On» из файла .htaccess, в некоторых случаях отсутствие такой директивы не позволит управлять ЧПУ посредствам mod_rewrite.

Установка сервера MySQL и phpMyAdmin

Установим основные пакеты MySQL:

sudo apt-get install mysql-server php5-mysql

В процессе установки появится диалог ввода пароля для пользователя root базы данных, введём любой безопасный пароль.

Раньше требовалось устанавливать модуль libapache2-mod-auth-mysql, но в версии Ubuntu 13.10 этот пакет отсутствует

Установка phpMyAdmin

Теперь установим phpmyadmin, для удобной работы с базой данных:

sudo apt-get install phpmyadmin

В процессе установки появится диалог выбора сервера, как правило apache2 и lighttpd. В нашем случае мы устанавливали apache2, его и выбираем.

Следующий этап установки phpmyadmin — настройка базы данных для корректной работы пакета. По этому случаю появится диалоговое окно, отвечаем утвердительно. После этого вводим пароль административного пользователя базы данных и пароль приложения phpmyadmin. Пароли следует придумать самому и желательно их не забывать.

Чтобы к интерфейсу phpMyAdmin можно было обратиться из браузера по адресу http://localhost/phpmyadmin, откроем на редактирование файл конфигурации сервера Apache:

sudo nano /etc/apache2/apache2.conf

И добавим в конец файла строку:

Include /etc/phpmyadmin/apache.conf

Перезагрузим сервер:

sudo service apache2 restart

На этом установка завершена. Теперь сайт site.loc доступен на локальном сервере и может подключаться к базам данных, которые легко создать в интерфейсе phpMyAdmin.

Инструкция написана на основе англоязычной документации Ubuntu ApacheMySQLPHP

Инструкции по теме:

2 thoughts on “Установка Apache 2, PHP 5 и MySQL в Ubuntu

  1. в этих ваших убунтах все проще:
    sudo tasksel install lamp-server

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