Как установить lamp на ubuntu

Обновлено: 06.07.2024

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

Примечание.

Данная статья описана для Ubuntu 16.04 и выше.

Но прежде, чем переходить к самому руководству, давайте расшифруем эту аббревиатуру.

Linux – здесь все понятно. Данная статья предполагает, что ваша операционная система уже установлена и настроена. В данной статье будет использоваться ОС Ubuntu 16.10.

Apache – собственно веб-сервер. Отвечает за получение и обработку запросов пользователей, но умеет гораздо больше.

MySQL – одна из самых распространенных систем управления базами данных. Строго говоря, вывести заветный "Hello World" с помощью PHP можно и без этого компонента. Тем не менее, он необходим как для популярных CMS вроде WordPress, Joomla и Drupal, так и для самописных систем.

PHP – один из самых популярных языков программирования. На PHP написана серверная часть подавляющего большинства сайтов в мире.

Установка Apache, MySQL и PHP.

Установить вышеперечисленный набор можно как с помощью графического интерфейса, так и через командную строку. Мы рассмотрим второй вариант, как более универсальный.

Обратите внимание:

в этой статье рассматривается установка и настройка сервера для локального использования. Подготовка площадки для размещения сайта, доступного извне, потребует более серьезной настройки.

Обновим список доступных пакетов:

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

После этого установим Apache:

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

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

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

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

Проверяем работу Apache, введя в адресной строке браузера следующий адрес:

Если вы увидите страницу, изображенную ниже – значит, сервер работает как надо.

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

После чего обновите страницу.

Устанавливаем сервер MySQL:

Снова подтверждаем согласие и через несколько секунд получаем предложение установить пароль.

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

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

Менеджер пакетов снова соберет список зависимостей, нам останется лишь согласиться.

Для более простой и наглядной работы с базами данных рекомендую установить phpmyadmin. Но прежде не помешает убедиться, что сервер MySQL запущен:

Нас интересует строка Active. Если она сообщает нам, что сервер активен, как на скриншоте, расположенном ниже – все прекрасно.

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

В противном случае выполним команду

Теперь можно устанавливать phpmyadmin:

В процессе установки нам предложат выбрать веб-сервер. В нашем случае это Apache. Для выбора нужного варианта используем стрелки на клавиатуре и пробел, а переключаться между элементами псевдографического интерфейса поможет Tab. Далее вводим пароль администратора баз данных и подтверждаем его.

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

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

После перезапускаем Apache командой:

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

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

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

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

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

Мы можем разместить в каталоге /var/www/html свою папку и получить доступ к ее содержимому, прибавив к адресу слеш и ее название. Например, распаковав дистрибутив WordPress в /var/www/html/ мы найдем установочный скрипт по адресу:

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

Основной конфигурационный файл PHP лежит в /etc/php/7.0/apache2 и называется php.ini. Здесь в качестве символа комментария используется ";". Не забудьте сделать резервные копии файлов перед тем, как вносить в них изменения. После правки и сохранения конфига сервер нужно перезапустить командой:

В следующих статьях мы еще вернемся к конфигурационным файлам и настройке веб-сервера.

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

Эта статья описывает процесс установки LAMP на виртуальный сервер (Droplet) в Ubuntu 18.04.

Необходимые условия

Перед тем, как начать следовать шагам, описанным в этом руководстве, вам необходимо настроить отдельный, не-рутовый (non-root) профиль пользователя на вашем сервере с Ubuntu 18.04. Вы можете сделать это используя нашу статью о первичной настройке сервера на Ubuntu 18.04.

Шаг 1 - Установка Apache и настройка файрвола

Веб-сервер Apache в настоящее время является одним из самых популярных веб-серверов в мире. Он хорошо документирован и используется значительную часть времени с момента создания сети Интернет, что делает его прекрасным выбором для хостинга веб-сайта.

Установим Apache используя менеджер пакетов Ubuntu apt :

Поскольку мы используем команду sudo , эти команды будут выполняться с привилегиями root. В процессе установки операционная система запросит ваш пароль пользователя.

После ввода пароля apt сообщит, какие пакеты будут установлены и сколько места они займут на диске. Нажмите Y и Enter для продолжения установки.

Настройка файрвола для разрешения веб-трафика

Проверим настройку профиля Apache Full , она должна разрешать трафик для портов 80 и 443 :

Проверить результат установки можно набрав в вашем веб-браузере публичный IP адрес вашего сервера (если вы еще не знаете, как найти публичный IP адрес вашего сервера, смотрите следующий раздел этой статьи):

Вы увидите страницу Apache, отображаемую по умолчанию для информации и целей тестирования. Она должна выглядеть похожим образом:

Тестовая страница Apache

Если вы видите эту страницу, ваш веб-сервер корректно установлен и доступен через файрвол.

Как найти публичный IP адрес вашего сервера

Если вы не знаете публичный IP адрес вашего сервера, его можно определить несколькими способами. Обычно, это адрес, который вы используете для соединения с вашим сервером по SSH.

Определить этот адрес можно с помощью командной строки. Сначала используйте инструмент iproute2 для получения вашего адреса набрав следующую команду:

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

В качестве альтернативы можно узнать, как curl видит ваш сервер. Это можно сделать следующим образом:

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

Шаг 2 - Установка MySQL

Теперь, когда наш веб-сервер установлен и запущен, пора установить MySQL. MySQL это система управления базами данных. Она организует и обеспечит доступ к базам данных, в которых ваш сайт может хранить информацию.

Мы можем вновь использовать apt для загрузки и установки программного обеспечения:

Обратите внимание: В данном случае вам нет необходимости предварительно выполнять команду sudo apt update , т.к. мы выполняли ее недавно при установке Apache, и индекс пакетов на вашем компьютере уже должен быть обновлен.

Вам будет показан список пакетов, которые будут установлены, а также сколько места на диске они займут. Нажмите Y для продолжения установки.

После завершения установки нам потребуется выполнить некоторые дополнительные команды, чтобы наше окружение MySQL было настроено безопасным образом. Введите следующую команду:

В результате выполнения этой команды вам будет предложено настроить плагин валидации паролей ( VALIDATE PASSWORD PLUGIN ).

Введите Y для включения плагина или что-нибудь другое для продолжения без его включения:

Если вы включили валидацию паролей, вам будет предложено установить уровень надёжности паролей при валидации. Имейте в виду, что при выборе значения 2 (самый строгий уровень валидации), вы будете получать ошибки при попытке задать пароль без цифр, букв в верхнем и нижнем регистре, а также без специальных символов, а также при попытке использовать пароль, основанный на распространённых словах, которые уязвимы для подбора паролей по словарю.

Вне зависимости от того, включили вы плагин валидации паролей или нет, далее вам будет предложено задать пароль для пользователя root для MySQL. Это административный аккаунт пользователя в MySQL, который имеет повышенные привилегии. Вы можете рассматривать его, как аналог пользователя root для самого сервера (с той лишь разницей, что это аккаунт для MySQL). Задайте сильный уникальный пароль, не оставляйте пароль пустым.

Если вы включили валидацию паролей, вам будет показан уровень надёжности заданного вами ранее пароля root пользователя, а также вам будет предложено изменить этот пароль. Если вы не хотите менять пароль, введите N или “no”:

На все последующие вопросы просто вводите Y и нажимайте клавишу ENTER для выбора настроек по умолчанию. При этом удалятся некоторые тестовые пользователи и базы данных, будет отключена возможность удаленного доступа с учетной записью root-пользователя, и все изменения будут немедленно применены в MySQL.

Обратите внимание на то, что на серверах Ubuntu, использующих MySQL 5.7 (и более поздние версии), root пользователь в MySQL настроен таким образом, что его аутентификация по умолчанию происходит с помощью плагина auth_socket , а не с помощью пароля. Это во многих случаях повышает безопасность, но, в то же время, может усложнить настройку доступа к root пользователю для некоторых программ (например, phpMyAdmin).

Если вы хотите настроить root пользователя на использование пароля, вам необходимо изменить метод аутентификации с auth_socket на mysql_native_password . Для того, чтобы это сделать, войдите в оболочку MySQL в терминале:

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

В этом примере ваш пользователь root использует аутентификацию с помощью плагина auth_socket . Для изменения этой настройки на использование пароля используйте следующую команду ALTER USER . Не забудьте изменить password на ваш сильный пароль:

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

Проверьте методы авторизации для пользователей ещё раз для того, чтобы убедиться, что пользователь root более не использует плагин auth_socket для авторизации:

Как можно видеть на представленном выводе теперь root пользователь MySQL аутентифицируется с использованием пароля. После того, как мы в этом убедились, можно выйти из оболочки MySQL:

Теперь ваша система управления базами данных установлена и мы можем двигаться дальше и установить PHP, последний компонент LAMP.

Шаг 3 - Установка PHP

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

Мы можем вновь воспользоваться менеджером пакетов apt для установки компонентов. Мы также добавим некоторые вспомогательные пакеты, чтобы код на PHP мог работать с нашим сервером Apache, а также обращаться к базе данных MySQL:

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

В большинстве случаев, мы захотим изменить способ, который Apache использует для поиска файлов при запросе директории. На данный момент, если пользователь запрашивает директорию с сервера, Apache в первую очередь будет искать файл с названием index.html . Мы хотим, чтобы наш веб-сервер отдавал предпочтение PHP файлам, так что мы настроим Apache таким образом, чтобы сначала он искал файлы index.php .

Для этого введите следующую команду, чтобы открыть файл dir.conf в текстовом редакторе с привилегиями пользователя root:

Содержимое файла будет выглядеть следующим образом:

Мы хотим переместить индексный файл PHP index.php , выделенный выше, на первое место после спецификации DirectoryIndex следующим образом:

После внесения правок сохраните и закройте файл сочетанием клавиш CTRL-X . Вам придется подтвердить операцию вводом Y и затем нажатием клавиши ENTER для подтверждения места сохранения файла.

После этого нам необходимо перезапустить Apache для применения внесенных изменений. Вы можете сделать это при помощи команды:

Мы также можем проверить статус сервиса apache2 используя systemctl :

Чтобы расширить функциональность PHP, мы можем установить некоторые дополнительные модули. Для просмотра доступных опций для модулей и библиотек PHP вы можете передать результат apt search в less , которая позволит вам проматывать вывод:

Используйте клавиши стрелок вверх и вниз для проматывания списка, для выхода нажмите Q .

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

Чтобы получить больше информации по каждому модулю, вы можете поискать в Интернете или посмотреть полное описание пакета при помощи команды:

Ответ будет содержать много текста, среди которого есть поле Description . Именно оно и будет содержать расширенное описание функциональности, предоставляемой модулем.

Например, чтобы узнать назначение модуля php-cli , мы можем выполнить команду:

Помимо большого количества прочей информации, вы увидите следующее:

Если после изучение вы решили, что хотите установить пакет, вы можете сделать это используя команду apt install как мы делали ранее при установке другого программного обеспечения.

Если мы решили, что хотим установить php-cli , мы можем ввести команду:

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

Теперь ваш стек LAMP установлен и сконфигурирован. Однако перед внесением любых других изменений и перед установкой приложений нам ещё стоит протестировать настройку PHP на случай возможных проблем.

Шаг 4 - Тестирование работы PHP на вашем веб-сервере

Чтобы проверить, что наша система сконфигурирована должным образом, мы можем создать простой PHP скрипт. Назовём этот скрипт info.php . Чтобы Apache нашел и обработал файл корректно, он должен быть сохранен в специальной директории, которая называется “web root”.

В Ubuntu 18.04 данная директория находится по адресу /var/www/html/ . Мы можем создать там файл введя следующую команду:

Откроется пустой файл. Введём в файл следующий текст, который является корректным PHP кодом:

После внесения изменений сохраните и закройте файл.

Теперь мы можем проверить, может ли веб-сервер корректно отображать контент, сгенерированный PHP скриптом. Для проверки нам просто нужно открыть данную страницу в веб-браузере. Вам снова потребуется публичный IP-адрес сервера.

Откроем этот адрес:

Тестовая страница PHP

Данная страница содержит информацию о вашем сервере с точки зрения PHP. Она полезна для отладки и чтобы удостовериться в корректности применения настроек.

Если все прошло успешно, значит ваш PHP работает корректно.

Вы, возможно, захотите удалить этот файл после теста, т.к. он может дать информацию о вашем сервере неавторизованным пользователям. Для удаления файла введите команду:

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

Заключение

Теперь, когда ваш стек LAMP установлен, у вас есть множество вариантов того, что делать дальше. Фактически, вы установили платформу, которая позволит установить (развернуть) большинство типов веб-сайтов и сетевого программного обеспечения на вашем сервере.

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

В этой статье мы рассмотрим, как установить LAMP Ubuntu 20.04 несколькими способами: с помощью утилиты tasksel и вручную с помощью пакетного менеджера.

Установка LAMP в Ubuntu 20.04

1. Установка пакетов LAMP с помощью утилиты tasksel

Утилита tasksel позволяет устанавливать наборы пакетов различных программ буквально в одну команду. Она разработана для Debian, но может использоваться и в Ubuntu. Для её установки выполните в терминале команду:

sudo apt -y install tasksel

Bc4XNM1r6YnAAAAAAElFTkSuQmCC

Далее, чтобы установить Lamp на Ubuntu, достаточно выполнить команду:

sudo tasksel install lamp-server

Установка займёт определенное время, так как утилите необходимо скачать все необходимые пакеты. После завершения установки вы получите полностью работающий стек LAMP.

Если вы не хотите использовать tasksel, вы можете установить все пакеты по отдельности из стандартных репозиториев и настроить их для совместной работы.

Для начала необходимо установить веб-сервер Apache2:

sudo apt -y install apache2

TJzSjVA05hAAAAABJRU5ErkJggg==

На момент написания статьи актуальной версией PHP в официальных репозиториях Ubuntu считалась версия 7.4. Самая же последняя официальная версия PHP от разработчиков 8.0.9 по состоянию на 29 июля 2021 года.

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

sudo apt -y install php-curl php-json php-cgi php-gd php-zip php-mbstring php-xml php-xmlrpc

wNkX9eKJWu1TwAAAABJRU5ErkJggg==

3. Настройка брандмауэра

По умолчанию брандмауэр закрывает все неразрешённые входящие подключения. Поэтому, чтобы к вашему веб-серверу можно было получить доступ извне, необходимо добавить его порт в исключения:

sudo ufw allow in 80/tcp

Для начала необходимо убедиться, что веб-сервер Apache и СУБД MySQL успешно запустились и при необходимости запустить их. Смотрим статус apache, выполнив команду в терминале:

sudo systemctl status apache2

wGVKwWOGUXuCgAAAABJRU5ErkJggg==


В разделе Active должно быть active (running). Те же самые действия необходимо сделать для проверки MySQL:

sudo systemctl status mysql

9hAwCGMn06AAAAAASUVORK5CYII=

Если в статусах вместо active будет inactive (dead), то сервисы необходимо запустить вручную:

sudo systemctl start apache2
sudo systemctl status mysql

wA48O2IDbnSpwAAAABJRU5ErkJggg= https://losst.ru/wp-content/uploads/2021/07/test-11.jpg
7u507dH+fbAAAAABJRU5ErkJggg==

Для проверки наберите в адресной строке браузера IP-адрес сервера, куда вы устанавливали LAMP, в качестве примера выбран localhost:

Hy9gWjbTL0VeAAAAAElFTkSuQmCC

Если при открытии вы увидели страницу, которая изображена на скриншоте выше, это означает что веб-север apache успешно запущен и работает. Теперь необходимо проверить правильно ли работает PHP. Создайте файл в директории /var/www/html при помощи следующей команды:

sudo vi /var/www/html/phpinfo.php

Вместо vi можно использовать любой другой текстовый редактор на ваш выбор (nano, emacs, gedit и др.).
В файл phpinfo.php впишите следующую команду:

7N681x1+IK33JAAAAAElFTkSuQmCC

Далее откройте адрес localhost/phpinfo.php в браузере. Если всё работает, вы должны увидеть страничку, которая изображена ниже на скриншоте:

Q93yAaPsfVh6fWO5AAAAAElFTkSuQmCC

Также можно проверить, работает ли интеграция с СУБД MySQL. Если расширение PHP для MySQL установлено, то на странице с phpinfo будет размещен блок с информацией:

8HxnoJwek3BpcAAAAAElFTkSuQmCC

На данном этапе процесс проверки пройден успешно. Далее мы перейдем к настройке стека LAMP на Ubuntu 20.04.

5. Настройка Apache

Для обработки запросов будет использоваться модуль mpm_prefork. Данный модуль запускает по отдельному процессу на каждый запрос. Иначе говоря, каждый процесс одновременно обрабатывает только 1 поток на одно соединение. Для начала необходимо выключить mpm_event и mpm_worker и только потом включить модуль mpm_prefork:

sudo a2dismod mpm_event

sudo a2dismod mpm_worker

sudo a2enmod mpm_prefork

sudo a2enmod rewrite

sudo vi /etc/apache2/apache2.conf

Найдите следующий блок:

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

И замените AllowOverride None на AllowOverride All, затем сохраните изменения и закройте файл. Перезапустите apache:

sudo systemctl restart apache2

6. Настройка PHP

По умолчанию короткие теги, обрамляющие скрипты PHP, отключены. Это может привести к тому, что некоторые скрипты, использующие эти теги, могут не выполнятся. Для включения этой возможности откройте файл php.ini при помощи любого текстового редактора:

sudo vi /etc/php/7.4/apache2/php.ini

Найдите short_open_tag = Off и замените на:

AxXQgfbfNA5VAAAAAElFTkSuQmCC

После внесения всех изменений необходимо перезапустить Apache:

sudo systemctl restart apache2

7. Настройка MySQL

По умолчанию MySQL не очень хорошо настроена в плане безопасности. Необходимо задать пароль суперпользователя и удалить гостевой доступ. Для выполнения всех этих задач запустите в терминале следующую команду:

qmAYnT7cTAooBD4f8DFq2yQrp9QFYAAAAASUVORK5CYII https://losst.ru/wp-content/uploads/2021/07/test-19.jpg
+fwRpAkQsDR3tAAAAAElFTkSuQmCC

Во всех следующих вопросах нужно отвечать утвердительно путем ввода y/Y или Yes:

  • Запретить удалённый вход для пользователя root;
  • Запретить гостевой вход;
  • Удалить временные таблицы;
  • Обновить привилегии пользователей.

Введите пароль пользователя root, который вы задали на этапе запуска mysql_secure_installation.
Не перепутайте пароль от пользователя root который присутствует в операционной системе Ubuntu и пользователя root в MySQL. Это разные пользователи, соответственно вы должны вводить пароль именно к учетной записи root, которая присутствует в MySQL.

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

sudo apt -y purge apache2 mysql-server php7.4 libapache2-mod-php7.4 php7.4-mysql php-curl php-json php-cgi php-gd php-zip php-mbstring php-xml php-xmlrpc

Команда purge позволяет удалить не только пакеты, но и их конфигурационные файлы. Если вы хотите оставить конфигурационные файлы, используйте команду remove.

Выводы

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Установка LAMP-стека (Linux, Apache, MySQL, PHP) на Ubuntu

В статье мы узнаем, что такое LAMP-стек, как установить LAMP на Ubuntu, а также настроим виртуальные хосты.

Что такое LAMP

LAMP — это стек программного обеспечения, устанавливаемого на сервер и предназначенного для сайтов и веб-приложений. LAMP – это аббревиатура, она расшифровывается как: Linux, Apache, MySQL и PHP.

Рассмотрим каждый элемент LAMP подробнее:

  1. Linux используется в качестве ОС на сервере, часто это различные дистрибутивы Ubuntu и Debian.
  2. Apache — веб-сервер. Он обрабатывает все запросы к страницам сайта и выдает соответствующие ответы.
  3. MySQL — СУБД (система управления базами данных). Иногда в LAMP используется MariaDB. Здесь хранятся все данные сайта.
  4. PHP — скриптовый язык для генерации страниц.

Такой набор самостоятельных по отдельности компонентов стал очень популярен.

Существует множество вариаций LAMP, где какие-либо из компонентов заменяются на другие, например LEMP — вместо Apache в нем используется веб-сервер Nginx.

Подготовка к установке LAMP

Развернуть LAMP можно, например, на облачном сервере, который предварительно нужно создать. Создадим сервер в панели управления Облачной платформой Selectel. Подробно о начислении баланса на счет для доступа к работе в панели и создании облачного сервера можно прочитать в Базе знаний.

Создание облачного сервера

Перейдите в панель управления Облачной платформой, откройте вкладку Серверы и нажмите кнопку Создать сервер.


При создании сервера автоматически выбирается операционная система Ubuntu. Чтобы выбрать другую ОС для сервера, нажмите Выбрать другой источник. В целом, для установки LAMP подойдет любой дистрибутив Linux.


В этой инструкции в качестве операционной системы сервера выберите Ubuntu 18.04 LTS.


Для развертывания LAMP нужно присвоить серверу плавающий адрес. Для этого в разделе Сеть в качестве подсети выберите Новый плавающий IP-адрес. Проверьте стоимость сервера и нажмите Создать.


Созданный Облачный сервер со статусом ACTIVE появится в списке всех серверов. В карточке сервера на вкладке Порты можно посмотреть плавающий IP-адрес — в дальнейшем это пригодится для настройки LAMP.


Подключение к серверу по SSH

Работать с сервером можно во встроенной консоли в панели управления, которая находится на вкладке Консоль в карточке сервера. Но зачастую удобнее подключаться к серверу по протоколу SSH с локальной машины.

Для того чтобы подключиться к серверу по SSH, в терминале введите команду:

server_IP — это плавающий IP-адрес сервера, который был добавлен при его создании.

Терминал при подключении запросит root-пароль, который можно найти на вкладке Консоль в карточке сервера.

Если подключение к серверу прошло успешно, можно начать установку LAMP.

Установка Apache

Команды для установки

Установим первый после операционной системы компонент LAMP — Apache.

Предварительно загрузим списки пакетов обновлений, для этого используется команда:

Настройка брандмауэра

Для начала нужно установить утилиту для управления правилами файервола UFW (Uncomplicated Firewall) и включить UFW:

На сервере должны быть доступны профили приложений для Apache. Посмотрим список профилей:

Вывод команды выглядит примерно таким образом:

Можем увидеть, что в выводе присутствует профиль Apache Full — именно он открывает нужные порты 80 и 443. Разрешим для него входящий трафик:

Чтобы в дальнейшем продолжать подключение к серверу по SSH, добавим также профиль OpenSSH:

Проверка работы Apache

Проверим статус Apache, он должен быть активен (Active в выводе команды):

Чтобы проверить работу Apache, введем публичный IP-адрес сервера в браузерной строке. В нашем случае это подключенный ранее плавающий IP. Если Apache установлен, и к нему разрешен доступ через файервол, то откроется страница с информацией:

Установка MySQL

Команда для установки

После установки и настройки Apache можно устанавливать следующий компонент — СУБД MySQL:

Настройка безопасности БД

Для защиты окружения рекомендуется запустить скрипт безопасности:

Когда система предложит установить плагин валидации паролей (VALIDATE PASSWORD plugin), введем в терминал y или Y для подтверждения. Установка этого плагина поможет задать пароль с повышенными требованиями к безопасности.

Далее выберем уровень надежности паролей, всего их три:

  • низкий (LOW) — длина такого пароля должна быть больше 8 символов;
  • средний (MEDIUM) — длина пароля больше 8 символов, при этом пароль должен содержать цифры, буквы в верхнем и нижнем регистре, а также специальные символы;
  • сильный (STRONG) — для такого пароля должны быть соблюдены те же условия, что и для среднего уровня надежности, но при этом в пароле не должны использоваться слова, которые могут быть уязвимы при подборе пароля по словарю.

Введем в терминале значение для выбора уровня: 0 для LOW, 1 для MEDIUM или 2 для STRONG.

Затем введем два раза новый root-пароль, который соответствует условиям выбранного уровня надежности.

Система определит и выведет значение надежности пароля (Estimated strength of the password).

На дальнейшие вопросы от системы рекомендуем вводить в терминале подтверждение (y или Y) — это настройки удаления анонимных пользователей, удаление открытой тестовой базы и так далее.

Проверка работы MySQL

Проверим статус MySQL, он должен быть активен:

Установка PHP

Команды для установки

Теперь можно перейти к установке последней составляющей стека — PHP.

Установим PHP и специальные модули для работы PHP с Apache и MySQL:

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

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

Чтобы узнать версию PHP, которая установлена, используйте команду:

Проверка установки PHP

Для проверки создадим небольшой PHP-скрипт с любым названием, например test.php, в корневой директории /var/www/html:

Заполним этот файл таким содержимым:

Сохраним и закроем файл (сочетание клавиш Ctrl+X, а затем Y+Enter).

Такой скрипт вызовет функцию phpinfo(), которая выводит информацию о PHP и список параметров.

Теперь откроем этот файл по URL:

Если все настроено корректно, будет доступна информация о PHP:


Настройка виртуальных хостов (опционально)

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

Допустим, мы хотим разместить на одном сервере два сайта. Сконфигурируем Apache.

Создание директорий

Размещать файлы виртуальных хостов будем внутри директории /var/www/. Для каждого хоста создадим новую отдельную директорию:

Обратите внимание, что вместо IP-адреса можно использовать и доменное имя.

Предоставление прав

Сейчас права доступа к директориям есть только у root-пользователя. Настроим права всем пользователям системы, используя переменную среды $USER:

Откроем пользователю доступ на чтение, редактирование и запуск файлов в директории /var/www:

Создание страниц для тестирования

В дальнейшем нам нужно будет проверить, правильно ли настроены виртуальные хосты. Для этого можно создать для каждого IP-адреса (домена) HTML-страницы, которые будут открываться в браузере при вводе соответствующего IP или домена, например, главные страницы index.html.

Создадим страницу для первого IP:

Добавим на страницу текст:

Сохраним и закроем файл.

Выполним то же самое и для второго сайта:

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

По умолчанию в Apache используется виртуальный хост 000-default.conf. Этот файл мы будем использовать как шаблон для создания собственных виртуальных хостов.

Для каждого сайта конфигурационные файлы (виртуальные хосты) хранятся в директории /etc/apache2/sites-available/. Скопируем содержимое виртуального хоста, который используется по умолчанию, в новый файл — мы будем использовать его для настройки первого сайта:

Откроем новый конфигурационный файл первого сайта:

Изменим значения в файле:

  • ServerAdmin — электронная почта администратора сайта;
  • ServerName — IP-адрес сайта или его доменное имя;
  • DocumentRoot — директория, в которой хранится конфигурационный файл (виртуальный хост).

Сохраним и закроем файл.

Подобным образом создадим конфигурационный файл для второго сайта:

Содержимое конфигурационного файла /etc/apache2/sites-available/second_IP.conf:

Активация виртуальных хостов

Активируем виртуальные хосты с помощью a2ensite:

Отключим виртуальный хост, который создается по умолчанию:

Проверим, нет ли ошибок в конфигурационных файлах:

Если ошибки отсутствуют, то получим результат:

Перезапустим Apache, чтобы активировать все изменения:

Теперь Apache должен обслуживать сайты, IP-адреса или домены которых мы прописали в виртуальных хостах. Проверим работу: перейдем в браузере на сайты — должны появиться созданные индексные страницы:

Читайте также: