Как установить LAMP-стек (Linux, Apache, MySqL, PHP) на сервере с Ubuntu

В этой инструкции будет разобран процесс настройки LAMP-стека на VPS под управлением операционной системы Ubuntu.

Что такое LAMP

Стек LAMP — это набор открытого программного обеспечения, который используется для создания веб-серверов. Аббревиатура является набором первых букв в названии технологий Linux, Apache, MySQL и PHP. Поскольку на VPS уже запущена операционная система Ubuntu, мы рассмотрим установку всех остальных компонентов.

Причина, по которой LAMP называют стеком, заключается в том, что каждый уровень зависит от его базового (нижнего) уровня. Ваша операционная система Ubuntu - это базовый уровень. Затем Apache, ваш веб-демон находится поверх вашей ОС. Затем база данных хранит всю информацию, обслуживаемую вашим веб-демоном, а любой язык сценариев P* используется для управления и отображения всех данных, а также для взаимодействия с пользователем.

LAMP стал де-факто стандартом разработки. Сегодня продукты, составляющие стек LAMP, по умолчанию включены почти во все дистрибутивы Linux, и вместе они создают мощную платформу для веб-приложений.

Исходная аббревиатура LAMP породила ряд других связанных акронимов, которые используют основной фокус первоначальной комбинации технологий для создания многофункциональных веб-сайтов. Некоторые из этих связанных веб-стеков включают LAPP, MAMP и BAMP.

Аналогом LAMP для Windows Server является WAMP, о его настройке можно прочитать здесь.

Перед настройкой LAMP

Установка нужного программного обеспечения LAMP стека происходит в привилегированном режиме, для этого необходимо авторизоваться на сервере Ubuntu под логином администратора или перед каждой командой использовать ключевое слово sudo. Посмотреть логин и пароль администратора можно узнать в панели управления: “Сервер”->”Состояние”.

Установка Apache на Ubuntu

На сегодняшний день веб-сервер Apache является самым популярным веб-сервером в мире. Это отличный выбор для размещения вашего веб-сайта на Ubuntu.

Чтобы поставить Apache для LAMP вам необходимо подключиться к своему серверу (о том как это сделать можно прочитать в нашей инструкции) и ввести следующие команды:

sudo apt-get update
sudo apt-get install apache2

Для тестирования успешной установки сервера, перейдите в браузере по следующей ссылке, указав IP-адрес вашего VDS:

http://<ip-адрес_сервера>/

Например:

http://5.101.77.24/

Примечание: если у вас не получается подключиться, проверьте настройки FireWall, веб-сервер Apache по умолчанию работает на порту 80, чтобы добавить правило выполните следующую пару команд:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables-save

Как узнать IP-адрес сервера

Адрес сервера можно найти на вкладке «Состояние» страницы «Серверы» в панели управления.

Установка MySQL(MariaDB) на Ubuntu

MySQL — это система управления базами данных (СУБД), которая используется для организации и получения контента.

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

Примечание: если вы предпочитаете использовать базу данных MySQL в Ubuntu или ваш проект работает именно с ней, вам нужно будет добавить необходимые репозитории и установить БД с помощью инструкции.

Установите пакеты из главного репозитория Ubuntu с помощью менеджера пакетов:

sudo apt-get install mariadb-server mariadb-client

После успешной установки выполните настройки безопасности и удалите некоторые значения по умолчанию. Приведите в действие скрипт:

sudo mysql_secure_installation

Здесь MariaDB попросит вас задать пароль супер-пользователя БД. Затем система попросит ответить на несколько вопросов (они служебные и на каждый из них без лишних проблем можно ответить Yes).

После этого конфигурирование базы данных завершено, и можно переходить к следующему шагу настройки LAMP стека — установке PHP.

Установка PHP на Ubuntu

Для установки компонента обработки программного кода PHP установите пакеты из главного репозитория с помощью менеджера пакетов. В разных версия ОС доступны разные версии языка.

Ubuntu 16.04:

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

Ubuntu 12.04/14.04:

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

В процессе установки потребуется 1 или 2 раза ответить ‘Yes’ на вопросы системы.

Модули PHP

Для повышения функциональности PHP вы можете дополнительно поставить некоторые модули. Посмотреть список доступных библиотек можно с помощью команды:

Ubuntu 16.04:

apt-cache search php7

Ubuntu 12.04/14.04:

apt-cache search php5-

После этого система выдаст список, начало которого выглядит похожим образом:

php5-cgi - server-side, HTML-embedded scripting language (CGI binary)
php5-cli - command-line interpreter for the php5 scripting language
php5-common - Common files for packages built from the php5 source
php5-curl - CURL module for php5
php5-dbg - Debug symbols for PHP5
php5-dev - Files for PHP5 module development
php5-gd - GD module for php5
php5-gmp - GMP module for php5
php5-json - JSON module for php5
php5-ldap - LDAP module for php5
php5-mysql - MySQL module for php5
php5-odbc - ODBC module for php5
php5-pgsql - PostgreSQL module for php5
php5-pspell - pspell module for php5
php5-readline - Readline module for php5
php5-recode - recode module for php5
php5-snmp - SNMP module for php5
[...]

Если вы решите установить какой-либо из модулей, то это можно сделать с помощью специальной команды:

sudo apt-get install <имя пакета>

Например:

sudo apt-get install php5-geoip

После завершения этого шага LAMP-стек будет полностью установлен на вашем VPS.

Запуск

Чтобы удостовериться в том, что LAMP поставлен без ошибок, можно создать test-page на VPS.

Создаем файл с нужным расширением:

vi /var/www/html/info.php

Внесите в него следующую строку и сохраните:

<?php phpinfo();?>

Затем сохранить и выйти.

Чтобы изменения стали актуальны, нужно заново запустить веб-сервер:

service apache2 restart

Затем перейдите в браузере по следующей ссылке, указав IP-адрес вашего сервера:

http://<IP-адрес_сервера>/info.php

Например:

http://5.101.77.24/info.php

Ожидаемый результат:




Средняя оценка: 4,8, всего оценок: 5