Стек LAMP (Linux, Apache, MySQL и PHP) представляет собой одну из самых распространенных сред веб-хостинга для PHP-приложений. Здесь Linux — это операционная система, Apache — популярный веб-сервер, разработанный Фондом Apache, MySQL — система управления реляционными базами данных для хранения информации, а PHP — широко используемый язык программирования.
В данной статье описывается процесс установки стека LAMP (Linux, Apache, MySQL, PHP) на системе Linux Ubuntu 18.04 (Bionic Beaver).
Перед началом установки убедитесь, что ваша система обновлена. Для этого выполните команду:
sudo apt update && sudo apt upgrade
Это гарантирует, что все пакеты на вашем сервере будут актуальными. Далее, чтобы установить Apache, используйте следующую команду:
sudo apt install apache2
После установки Apache проверьте его статус с помощью:
systemctl status apache2
Если сервер запущен, вы можете перейти в браузер и ввести адрес http://localhost, чтобы убедиться, что Apache работает корректно.
Теперь установим MySQL. Для этого выполните команду:
sudo apt install mysql-server
После завершения установки запустите команду безопасности для настройки MySQL:
sudo mysql_secure_installation
Следуйте инструкциям на экране для установки пароля и настройки безопасности.
Теперь мы установим PHP и необходимые модули. Выполните команду:
sudo apt install php libapache2-mod-php php-mysql
После завершения установки создайте тестовый PHP-файл в директории веб-сервера:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
Теперь вы можете открыть браузер и перейти по адресу http://localhost/info.php. Если все сделано правильно, вы увидите страницу с информацией о PHP.
Наконец, не забудьте перезапустить Apache для применения изменений:
sudo systemctl restart apache2
Теперь ваш стек LAMP готов к использованию, и вы можете начинать разрабатывать свои PHP-приложения!
Содержание статьи
Предварительные требования
Для начала вам необходимо иметь доступ к учетной записи с правами root или sudo на вашем компьютере с Ubuntu 18.0Войдите в свою систему Ubuntu через графический интерфейс для настольной версии или используя SSH для серверной.
Затем обновите все текущие пакеты до последних версий. Это можно сделать с помощью команды sudo apt update && sudo apt upgrade, которая обновит списки пакетов и установит доступные обновления. Рекомендуется также перезагрузить систему после обновления, чтобы убедиться, что все изменения вступили в силу.
Перед установкой новых программ важно проверить, что у вас достаточно свободного места на диске. Используйте команду df -h, чтобы увидеть текущее использование дискового пространства. Если место на диске ограничено, удалите ненужные файлы или пакеты, чтобы избежать проблем в процессе установки.
Дополнительно, рекомендуется выполнить проверку системных журналов на наличие ошибок. Используйте команду sudo journalctl -p err, чтобы отобразить только ошибки, что поможет выявить потенциальные проблемы, которые могут повлиять на установку новых пакетов.
Также убедитесь, что ваша система защищена. Проверьте статус брандмауэра с помощью команды sudo ufw status и при необходимости настройте его для обеспечения безопасности системы во время установки новых программ.
Если вы планируете установить программное обеспечение из сторонних репозиториев, убедитесь, что они надежны. Для этого проверьте официальные источники и отзывы о репозиториях, прежде чем добавлять их в систему.
Установка Apache2
После того как PHP будет установлено на вашем устройстве, можно перейти к установке ApacheТакже потребуется установить модуль libapache2-mod-php для совместной работы PHP и Apache2.
Откройте терминал и выполните команду:
sudo apt update
Затем установите Apache2 с помощью команды:
sudo apt install apache2
После установки запустите Apache2 и настройте его автозагрузку при старте системы:
sudo systemctl start apache2
sudo systemctl enable apache2
Откройте веб-браузер и подключитесь к вашему серверу по IP-адресу на порту 80. Вы увидите стандартную страницу Apache.

Если стандартная страница не отображается, проверьте статус сервиса Apache с помощью команды:
sudo systemctl status apache2
Также убедитесь, что порты 80 и 443 открыты в вашем брандмауэре. Для этого выполните следующую команду:
sudo ufw allow 'Apache'
Теперь ваш сервер готов к использованию, и вы можете переходить к настройке виртуальных хостов и установке дополнительных модулей.
Для более глубокого изучения возможностей Apache2, рекомендуется ознакомиться с его конфигурационными файлами, которые находятся в директории:
/etc/apache2/
Основные файлы конфигурации:
apache2.conf— главный конфигурационный файл Apache.ports.conf— файл, в котором определяются порты, на которых будет слушать сервер.sites-available/— каталог для хранения конфигураций виртуальных хостов.sites-enabled/— каталог для активных конфигураций виртуальных хостов (символические ссылки на файлы изsites-available).
Чтобы создать новый виртуальный хост, создайте новый файл в каталоге sites-available и активируйте его с помощью команды:
sudo a2ensite имя_вашего_хоста.conf
Не забудьте перезапустить Apache после внесения изменений в конфигурацию:
sudo systemctl restart apache2
Дополнительно, для улучшения производительности и безопасности вашего сервера, рассмотрите возможность установки и настройки модуля mod_ssl для поддержки HTTPS:
sudo apt install libapache2-mod-ssl
Следуя данным рекомендациям, вы сможете настроить ваш Apache сервер для эффективной работы.
Установка PHP
В стандартной комплектации Ubuntu 18.04 включает PHP 7.Тем не менее, мы советуем подключить дополнительный PPA для установки PHP, что позволит получить доступ к нескольким другим версиям. Для обновления кэша apt и установки PHP-пакетов выполните следующие команды.
Для добавления PPA выполните:
sudo add-apt-repository ppa:ondrej/php
После этого обновите кэш:
sudo apt update
Возможно, вам также потребуется добавить дополнительные модули PHP для решения различных задач. Например:
sudo apt install php7.2-curl php7.2-gd php7.2-json php7.2-mbstring php7.2-xml php7.2-mysql php7.2-zip
Проверьте, какая версия PHP установлена.
php -v
PHP 7.2.34-8+ubuntu18.04.1+deb.sury.org+1 (cli) (собран: Oct 31 2020 16:57:15) ( NTS ) Все права защищены (c) 1997-2018 Группа PHP Zend Engine v3.2.0, Все права защищены (c) 1998-2018 Технологии Zend с Zend OPcache v7.2.34-8+ubuntu18.04.1+deb.sury.org+1, Все права защищены (c) 1999-2018, от Технологий Zend
После установки PHP вы можете настроить его параметры, редактируя файл конфигурации php.ini, который обычно находится по пути /etc/php/7.2/apache2/php.ini или /etc/php/7.2/cli/php.ini в зависимости от вашего окружения. Не забудьте перезапустить сервер Apache или PHP-FPM после внесения изменений:
sudo systemctl restart apache2
или
sudo systemctl restart php7.2-fpm
Также рекомендуется установить Composer, менеджер зависимостей для PHP, который упростит управление библиотеками и пакетами:
curl -sS https://getcomposer.org/installer | php
Или, чтобы установить его глобально:
sudo mv composer.phar /usr/local/bin/composer
Теперь вы можете использовать Composer для установки и управления зависимостями вашего PHP-проекта.
Установка MySQL
Далее устанавливаем сервер баз данных MySQL для стека LAMP. Пакеты mysql-server доступны в официальных репозиториях Ubuntu. Чтобы установить соединение с MySQL через PHP, требуется пакет php-mysql.
Для установки используйте следующую команду:
sudo apt update
sudo apt install mysql-server php-mysql
Во время установки вас попросят ввести пароль суперпользователя. Этот пароль будет применяться для пользователя MySQL root. После установки MySQL выполните команду для первичной настройки сервера.
Мастер настройки запросит корневой пароль, политику паролей и удаление тестовой учетной записи и базы данных. Завершите мастер в соответствии с вашими предпочтениями. Для большей безопасности рекомендуется установить строгую политику паролей и удалить тестовые данные.

- Запустите терминал.
sudo mysql_secure_installation
Установка MySQL успешно завершена на вашей системе. Подключитесь к серверу MySQL через терминал.
mysql -u root -p
Введите пароль: Добро пожаловать в монитор MySQL. Команды завершаются ; или \g. Ваш ID подключения MySQL: 26 Версия сервера: 5.7.32-0ubuntu0.18.04.1 (Ubuntu) Авторские права (c) 2000, 2020, Oracle и/или ее аффилированные лица. Все права защищены. Oracle является зарегистрированной торговой маркой Oracle Corporation и/или ее аффилированных лиц. Другие названия могут быть товарными знаками их соответствующих владельцев. Введите 'help;' или '\h' для получения справки. Введите '\c', чтобы очистить текущее выражение. mysql>
Помимо основных команд, рекомендуется изучить дополнительные возможности MySQL, такие как создание пользователей с ограниченными правами, настройка бэкапов и мониторинг производительности с помощью встроенных инструментов.
Также полезно знать, что MySQL поддерживает различные типы данных, такие как INT, VARCHAR, DATE и многие другие, что позволяет эффективно организовывать данные. Убедитесь, что вы ознакомились с документацией MySQL для получения более подробной информации о синтаксисе запросов и возможностях управления базами данных.
После завершения работы с базами данных, не забудьте регулярно выполнять резервное копирование данных, чтобы избежать потери информации. Можно использовать такие инструменты, как `mysqldump` для создания резервных копий ваших баз данных.
Также стоит рассмотреть возможность установки дополнительных инструментов для управления MySQL, таких как phpMyAdmin, который предоставляет удобный веб-интерфейс для работы с базами данных.
Установка phpMyAdmin
Вы можете установить phpMyAdmin для управления MySQL через веб-интерфейс.
При появлении запроса выберите Apache в качестве веб-сервера. Затем phpMyAdmin создаст свою собственную базу данных. Установите надежный пароль для учетной записи phpMyAdmin в соответствии с требованиями к безопасности паролей.
После завершения установки вы сможете получить доступ к phpMyAdmin, используя IP-адрес сервера, например: http://server-ip/phpmyadmin/
После установки убедитесь, что phpMyAdmin защищен от несанкционированного доступа. Рекомендуется ограничить доступ к phpMyAdmin только для определенных IP-адресов с помощью конфигурации веб-сервера или настроить базовую аутентификацию. Также полезно изменить стандартный URL для доступа к phpMyAdmin, чтобы повысить безопасность.
Для получения обновлений и исправлений безопасности следите за официальным сайтом phpMyAdmin и регулярно обновляйте его до последней версии. Это поможет избежать уязвимостей и повысит безопасность вашего сервера.
Установка PHP Composer
Composer предназначен для установки и управления зависимостями PHP-приложений. Чтобы установить PHP Composer, скачайте его бинарный файл и переместите в каталог bin.
Теперь выполните следующие команды, чтобы сделать composer доступным для всех пользователей вашей системы, чтобы его можно было использовать для всех PHP-приложений.
Для скачивания Composer выполните следующую команду:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"После этого проверьте, что загруженный файл является подлинным, используя хеш:
php -r "if (hash_file('sha384', 'composer-setup.php') === 'YOUR_HASH_HERE') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"Замените
YOUR_HASH_HEREна актуальный хеш, который можно найти на официальном сайте Composer.Для завершения установки выполните:
php composer-setup.php --install-dir=/usr/local/bin --filename=composerТеперь вы можете проверить установку, выполнив команду:
composer --versionЕсли всё сделано правильно, вы увидите версию Composer. Не забудьте обновить Composer до последней версии с помощью команды:
composer self-updateComposer также позволяет управлять зависимостями через файл
composer.json, который необходимо создать в корне вашего проекта. В этом файле вы можете указать библиотеки, которые будут использоваться в вашем приложении, и Composer автоматически установит их для вас.Управление сервисами
После установки всех служб на вашей системе перезапустите сервисы MySQL и Apache, чтобы применить внесенные изменения. Для этого используйте команды
sudo systemctl restart mysqlиsudo systemctl restart apache2. Убедитесь, что вы проверили статус сервисов с помощьюsudo systemctl status mysqlиsudo systemctl status apache2, чтобы удостовериться, что они работают корректно. Также рекомендуется просмотреть журналы ошибок, если возникнут проблемы:sudo journalctl -u mysqlиsudo journalctl -u apache2. Не забудьте настроить файлы конфигурации, чтобы оптимизировать работу серверов в соответствии с требованиями вашего проекта.Кроме того, полезно знать, что для автоматизации управления сервисами можно использовать команды
sudo systemctl enable mysqlиsudo systemctl enable apache2, чтобы они автоматически запускались при старте системы. Это поможет избежать необходимости ручного запуска после перезагрузки.Для мониторинга производительности ваших серверов можно использовать инструменты, такие как
htopдля наблюдения за загрузкой системы иmysqladmin statusдля получения информации о состоянии MySQL-сервера. Также стоит обратить внимание на настройки кеширования, чтобы улучшить производительность вашего веб-приложения.Наконец, не забывайте регулярно обновлять ваши сервисы и следить за безопасностью, используя инструменты, такие как
ufwдля настройки брандмауэра иfail2banдля защиты от несанкционированных попыток доступа.Настройка брандмауэра
На системах с активированными iptables/ufw выполните команды, чтобы открыть порт 80 для общего доступа к веб-серверу. Для iptables используйте следующую команду:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPTПосле этого не забудьте сохранить настройки:
sudo iptables-save | sudo tee /etc/iptables/rules.v4Для ufw выполните команду:
sudo ufw allow 80/tcpЧтобы проверить статус ufw, используйте:
sudo ufw statusЕсли брандмауэр отключен, его можно активировать с помощью команды:
sudo ufw enableУбедитесь, что ваши изменения успешно применены и веб-сервер доступен по адресу http://localhost.
Тестовая настройка
После завершения всех настроек создайте файл info.php в корневом каталоге сайта со следующим содержанием:
<?php phpinfo(); ?>
Теперь откройте этот файл в веб-браузере. Вы увидите экран с полной информацией о PHP на сервере. Этот экран содержит важные данные, такие как версия PHP, конфигурационные параметры, загруженные модули и расширения, а также информацию о сервере и окружении, что может помочь в диагностике проблем и оптимизации работы вашего сайта.
Убедитесь, что файл info.php доступен только для вас, так как содержащаяся в нем информация может быть полезна злоумышленникам. После завершения проверки рекомендуется удалить или переместить этот файл в безопасное место.

