Установка локального HTTP-сервера LAMP

LAMP - это…

LAMP - это стек приложений с открытым исходным кодом, которые позволяют развернуть полноценное окружение для разработки веб-приложений и сайтов. Каждая буква в акрониме LAMP представляет собой первую букву в названии определенной технологии: L - Linux, A - Apache, M - MySQL/MariaDB, P - PHP/Perl/Python.

Для установки LAMP вам понадобятся права пользователя root.

Перед установкой каких либо компонентов LAMP, необходимо выполнить обновление установленных пакетов приложений.

sudo apt-get update -y

Установка Apache

Apache - популярный мультиплатформенный  HTTP-сервер с открытым исходным кодом. Apache предоставляет широкий диапазон возможностей веб-сервера такие как CGI, SSL и виртуальные хосты.

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

sudo apt-get install -y apache2

После установки Apache, в каталоге /var будет создан новый каталог с именем www. В каталоге /var/www в последующем Вы можете размещать свои веб-приложения. Для примера по умолчанию создался подкаталог html, в котором находится страница проверки работоспособности веб-сервера.

Проверить работоспособность Apache, можно набрав в адресной строке браузера - localhost, после чего, должна появиться информационная страница веб-сервера.

Проверка успешности установки Apache
Проверка успешности установки Apache

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

Виртуальный хост - это выделенное место на сервере для размещения одного домена.

На одном сервере может быть несколько виртуальных хостов.

При помощи виртуальных хостов на один физический сервер с выделенным IP-адресом могут ссылаться несколько сайтов.

Для создания виртуального хоста нужно выполнить следующие шаги:

Шаг #1: Создание папки где будет храниться сайт

sudo mkdir -p /var/www/yoursite.su/www

Здесь вместо yoursite.su вы должны указать желаемое имя для вашего сайта. Оно может иметь совершенно любой вид и содержать любое количество уровней домена, например coolsite, т.к. это просто название папки.

Установим права на все виртуальные хосты:

sudo chmod -R 755 /var/www

Также я рекомендую создать каталоги (log, tmp, sess) для хранения логов, сессий и временных данных веб-сервера. Файлы, которые будут автоматически создаваться в этих папках могут помочь Вам в случае возникновения проблем в работе веб-сервера.

sudo mkdir -p /var/www/yoursite.su/{log,tmp,sess}

Шаг #2: Регистрация виртуального хоста

Для регистрации виртуального хоста на веб-сервере, необходимо создать файл конфигурации, в котором прописаны параметры для нового виртуального хоста.

Создайте конфигурационный файл и наполните его содержимым данным ниже, после чего сохраните.

sudo gedit /etc/apache2/sites-available/yoursite.su.conf

Обратите внимание на директивы php_admin_value, сейчас они закоментированы, Вам необходимо раскоментировать их (удалить символ - #) после установки php.

Шаг #3: Активация виртуального хоста

Оповестим веб-сервер Apache о создании нового виртуального хоста:

sudo a2ensite yoursite.su.conf

И перезапустим веб-сервер для применения всех настроек:

sudo service apache2 reload

Шаг #4: Перенаправление трафика

Для того, чтобы при обращении на сайт yoursite.su, Вы переходили на локальный сервер, необходимо отредактировать файл /etc/hosts, который отвечает за соответствие IP-адреса сайта и его имени.

sudo gedit /etc/hosts

Добавьте в /etc/hosts следующую запись:

127.0.0.2        yoursite.su www.yoursite.su

Содержимое файла hosts
Содержимое файла hosts

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

Файл /etc/hosts
Файл /etc/hosts

Шаг #5: Проверка работоспособности

Для проверки работоспособности сайта создайте файл index.html с простейшим содержимым:

sudo gedit /var/www/yoursite.su/www/index.html

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

sudo apt-get install gedit

После выполнения всех предыдущих шагов откройте браузер и наберите в адресной строке название вашего сайта, на странице должна отобразится страница index.html.

Проверка работоспособности сайта
Проверка работоспособности сайта

Установка PHP 7.0

Для возможности выполнения php-сценариев необходимо установить интерпретатор php для нашего локального сервера.

Установить PHP 7.0 можно следующей командой:

sudo apt-get install -y php7.0

Проверка установки PHP7.0

Успешность установки PHP 7.0 можно узнать, путём проверки его версии:

php -v
Проверка PHP версии
Проверка PHP версии

Установка PHP модулей

Для расширения PHP необходимо установить несколько модулей.

Модуль представляет собой всего лишь набор дополнительных функций расширяющих возможности языка PHP. Полный список модулей можно узнать с помощью команды: sudo apt-cache search php7-*

Для полноценной работы LAMP сервера понадобится установить следующие модули:

  • libapache2-mod-php7.0 - модуль для веб-сервера Apache 2
  • php7.0-curl - модуль, который позволяет взаимодействовать с различными типами веб-серверов и сетевых протоколов
  • php7.0-json - модуль для работы с форматом json
  • php7.0-cgi - модуль для работы с CGI
  • php7.0-mysql - модуль для работы с базами данных MySQL

Установим все необходимые модули:

sudo apt-get install -y php7.0-cgi php7.0-json php7.0-curl php7.0-mysql libapache2-mod-php7.0

Включение режима отладки PHP7.0

После установки PHP7.0 и всех модулей, нужно провести ряд настроек, наиболее важной из которых является отображение сообщений об ошибках в php коде. В противном случае, при их возникновении будет отображаться просто пустой экран.

Для включения сообщений об ошибках, необходимо отредактировать файл с настройками PHP - /etc/php/7.0/apache2/php.ini

sudo gedit /etc/php/7.0/apache2/php.ini

В данном файле найдите строку display_errors = Off и исправьте Off на On

Включение отображения ошибок в php.ini
Включение отображения ошибок в php.ini

После изменения файла - php.ini, не забудьте перезагрузить сервер, чтобы изменения настроек вступили в силу:

service apache2 reload

Установка MySQL

Для работы с базами данных установим клиент и сервер MySQL.

sudo apt-get install -y mysql-server mysql-client

Удачность установки проверим следующей командой, из которой узнаем установленную версию MySQL:

sudo mysql --version
Проверка версии MySQL
Проверка версии MySQL

Далее рекомендую произвести настройки безопасности MySQL сервера. Это особенно актуально если Вы используете VPS сервер.

Запустите помощника настроек безопасности:

sudo mysql_secure_installation
Настройка безопасности MySQL
Настройка безопасности MySQL

Далее откроется терминальное приложение, в котором проведем последующие настройки безопасности.

Для начала нам предложат установить плагин для проверки сложности паролей, соглашаемся с установкой набрав символ y.

Установка плагина валидации паролей MySQL
Установка плагина валидации паролей MySQL

Выберем уровень сложности пароля - разумеется самую высокую. Вводим цифру 2.

Выбор сложности пароля в MySQL
Выбор сложности пароля в MySQL

Далее подтверждаем создание нового пароля MySQL для текущего пользователя (root). Вводим и подтверждаем пароль. 

Пароль должен состоять из не менее чем 8 символов, содержать цифры, строчные и заглавные буквы, а также специальные символы (?, #, &, * и др).

Ввод пароля для MySQL
Ввод пароля для MySQL

Удаляем тестовых анонимных пользователей MySQL.

Удаление анонимных пользователей
Удаление анонимных пользователей

Запрещаем удаленное управление MySQL для пользователя root.

Запрет удаленного управления MySQL
Запрет удаленного управления MySQL

Удаляем тестовые базы данных MySQL.

Удаление тестовых баз данных MySQL
Удаление тестовых баз данных MySQL

Обновляем таблицу привилегий для применения всех предыдущих настроек.

Обновление таблицы привилегий MySQL
Обновление таблицы привилегий MySQL

Теперь Вы можете начать использовать MySQL для своих проектов.

Установка phpmyadmin

phpmyadmin - это бесплатная и очень популярная графическая оболочка для СУБД MySQL, написанная на PHP, и предназначенная для администрирования баз данных под управлением MySQL и MariaDB.

Для запуска установки phpmyadmin, выполните команду:

sudo apt-get install -y phpmyadmin

Далее установщик предложит выбрать тип веб-сервера. Выбираем Apache под цифрой 1.

Выбор веб-сервера для phpmyadmin
Выбор веб-сервера для phpmyadmin

Произведем автоматическую конфигурацию базы данных phpmyadmin.

Автоматическое создание базы данных phpmyadmin
Автоматическое создание базы данных phpmyadmin

Устанавливаем пароль для phpmyadmin.

Установка пароля для phpmyadmin
Установка пароля для phpmyadmin

Определяем имя хоста для использования phpmyadmin. В нашем случае это localhost.

Определение имя хоста для phpmyadmin
Определение имя хоста для phpmyadmin

Определяем имя пользователя для phpmyadmin.

Определение имени пользователя для phpmyadmin
Определение имени пользователя для phpmyadmin

Для того чтобы войти в панель управления phpmyadmin - введите в адресной строке браузера следующий путь: localhost/phpmyadmin/

Если при входе появилась ошибка, то добавьте следующую строку - Include /etc/phpmyadmin/apache.conf в конец файла - /etc/apache2/apache2.conf и перезагрузите сервер.

В случае неудачной или ошибочной установки phpmyadmin, рекомендую полностью удалить неполноценный phpmyadmin, с помощью команды ниже, и установить его снова.

Полное удаление phpmyadmin:

sudo apt-get purge -y phpmyadmin

Заключение

Успешно завершив все предыдущие шаги Вы спокойно можете приступать к разработке своих сайтов и веб-приложений, а также к установкам на сервер любых CMS основанных на PHP и MySQL.