С помощью этого руководства Вы научитесь настраивать LAMP Server: сможете установить веб-сервер Apache2 на Ubuntu 16.04 (Xenial Xerus) с PHP7 (mod_php) и поддержкой MariaDB / MySQL. Дополнительно мы установим PHPMyAdmin для упрощения администрирования сервера баз данных MariaDB / MySQL.
Содержание:
- Что такое LAMP Server
- Предварительные рекомендации по настройке LAMP Server
- Установка сервера баз данных MariaDB вместо MySQL
- Установка веб-сервера Apache 2.4
- Установка PHP 7
- Добавление поддержки SSL в веб-сервере Apache2
- Установка phpMyAdmin
- Выводы
Что такое LAMP Server
Аббревиатура LAMP расшифровывается как Linux, Apache, MariaDB / MySQL и PHP / Perl / Python. Это набор серверного ПО, которое широко используется в сети. В основном своем значении этот акроним используется для обозначения инфраструктуры веб-сервера. На сегодняшний день это лучшая основа для таких CMS, как Joomla, WordPress или Drupal. Интересно, что все компоненты LAMP Server не были созданы специально для работы друг с другом. Однако разработчики быстро оценили преимущества именно такого набора ПО:
- высокую производительность;
- гибкость настроек;
- низкую стоимость.
На сегодняшний день набор ПО для настройки LAMP Server является предустановленным в большинстве дистрибутивов Linux.
LAMP Server должен включать в себя операционную систему (Linux), веб-сервер (Apache), систему управления базами данных (MariaDB или MySQL), язык программирования, который можно использовать для создания веб-приложения (PHP, Perl или Python).
Предварительные рекомендации по настройке LAMP Server
В этом руководстве я буду использовать имя сервера server1.example.com с IP-адресом 192.168.122.217. Эти значения, конечно, будут отличаться от Ваших. Поэтому их необходимо изменить на Ваши там, где потребуется.
Я рекомендую использовать минимальную установку Ubuntu Server: это может быть как виртуализированный, так и выделенный сервер Ubuntu 16.04 с минимальной установкой.
Далее я выполняю все команды с привилегиями root:
Установка сервера баз данных MariaDB вместо MySQL
Мы будем устанавливать MariaDB вместо MySQL. MariaDB — это ответвление от MySQL, которое сделал Monty Widenius, один из разработчиков MySQL. MariaDB совместима с MySQL, при этом она обеспечивает новые интересные возможности и высокое быстродействие в сравнении с MySQL.
Выполните следующие команды для установки MariaDB (сервера и клиента):
Затем установите пароль пользователя root для MariaDB при помощи следующей команды:
Система задаст Вам следующие вопросы:
Для проверки войдите в учетную запись root:
Затем введите пароль пользователя root, который Вы установили выше. Результат должен быть похож на этот:
В Ubuntu 16.04, когда я подключаюсь к базе данных через PhpMyAdmin, используя пользователя root, я получаю ошибку:
Чтобы разрешить удаленный доступ пользователю root через PhpMyAdmin, выполняем:
Для выхода из оболочки MariaDB, введите команду exit
и нажмите Enter.
Установка веб-сервера Apache 2.4
Пакет веб-сервера Apache2 доступен в Ubuntu, поэтому легко и просто устанавливаем его с помощью команды:
Теперь запускаем браузер и переходим по адресу http://192.168.122.217. Вы должны увидеть страницу по умолчанию веб-сервера Apache2:
В Ubuntu в веб-сервере Apache2 корневая папка сайта по умолчанию находится в /var/www/html
.
Основной конфигурационный файл — /etc/apache2/apache2.conf
.
Полная документация по настройке веб-сервера Apache2 находится в /usr/share/doc/apache2/README.Debian.gz
Установка PHP 7
Теперь мы можем установить PHP 7 и модуль PHP для веб-сервера Apache2 следующим образом:
Далее необходимо перезапустить веб-сервер при помощи команды:
Тестируем PHP и смотрим информацию о системе
Корневая папка сайта по умолчанию находится в /var/www/html
. Мы создадим маленький PHP-файл info.php в этой папке и откроем его в браузере. Этот файл выведет нам много полезной информации об установленном PHP. Например, в нем можно посмотреть версию PHP.
Теперь необходимо изменить владельца файла на www-data:
Далее открываем файл в браузере по адресу http://192.168.122.217/info.php:
Как Вы видите, PHP 7.0 работает, и он работает через Apache 2.0 Handler, как показано в строке Server API. Если Вы проскроллите страницу вниз, то увидите все модули, которые уже активированы. MySQL нет в этом списке — это означает что у нас пока нету поддержки MySQL / MariaDB в PHP.
Добавление поддержки MySQL / MariaDB в PHP
Для добавления поддержки MySQL / MariaDB в PHP нам необходимо установить пакет php7.0-mysql
:
Кроме того, необходимо установить дополнительные PHP-модули для работы Вашей CMS. Вы можете поискать доступные при помощи команды:
Теперь выбираете необходимые модули и устанавливаете их:
Далее необходимо перезапустить веб-сервер Apache2:
Таким образом мы получили поддержку MySQL / MariaDB в PHP:
Установка модуля PHP APCu Cache для ускорения работы PHP
APCu — это бесплатный модуль для кэширования и оптимизации кода PHP. Я настоятельно рекомендую Вам установить этот модуль для увеличения скорости работы PHP.
APCu можно установить следующим образом:
Далее необходимо перезапустить веб-сервер Apache2:
Теперь, перегрузите страницу http://192.168.122.217/info.php в Вашем браузере, скролльте вниз к секции с модулями:
Важно: не забудьте удалить файл info.php когда он Вам уже будет не нужен. Оставлять этот файл потенциально опасно, так как из него можно узнать очень много информации о вашем сервере. Выполните следующую команду для удаления файла:
Добавление поддержки SSL в веб-сервере Apache2
SSL / TLS — это технология шифрования соединения между веб-браузером клиента и сервером.
Выполните следующие команды для включения поддержки SSL:
Эти команды сделают мягкую ссылку (symlink) в папке /etc/apache2/sites-enabled
на /etc/apache2/sites-available/default-ssl.conf
для включения в конфигурацию SSL.
Далее необходимо перезапустить веб-сервер Apache2:
Протестируем безопасное подключение с помощью 78. для этого откройте в браузере страницу http://192.168.122.217:
Вы увидите предупреждение SSL о том, что Ваш SSL-сертификат самоподписанный. Это означает, что браузер не может проверить подлинность сертификата, и он ему не доверяет.
Вам необходимо принять предупреждение, и Вы увидите страницу Apache2 по умолчанию:
Закрытый зеленый замочек в адресной строке свидетельствует о том, что соединение шифрованное. Для устранения предупреждения, о том, что сертификат /etc/ssl/certs/ssl-cert-snakeoil.pem
самоподписанный, его необходимо заменить на официально купленный и подписанный центром сертификации. Я рекомендую центр сертификации GlobalSign nv-sa, как оптимальный по соотношению цена-качество.
Установка phpMyAdmin
С помощью веб-интерфейса phpMyAdmin Вы можете управлять Вашим сервером баз данных. Для установки phpMyAdmin введите команду:
При установке Вы увидите вопросы:
После установки Вы можете войти в phpMyAdmin по адресу http://192.168.122.96/phpmyadmin/
Теперь Вы можете работать непосредственно с сервером баз данных. Введите имя пользователя — root, а пароль используем тот, который Вы ввели ранее:
Выводы
Надеюсь, это руководство было полезным для Вас. И теперь Вы сможете настроить LAMP Server. А также установить веб-сервер Apache2 на Ubuntu 16.04 (Xenial Xerus) с PHP7 (mod_php) и поддержкой MariaDB / MySQL. Кроме того, Вы научились устанавливать PHPMyAdmin.
Спасибо за время, уделенное на прочтение статьи!
Если возникли вопросы, задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
2 комментария. Оставить новый
Спасибо за статью) Интересно было бы увидеть гайд по виртуализации Hyper-V и VMware
Небольшой lifehack: чтобы постоянно не вводить команду mysql -u root -p password можно значительно облегчить себе жизнь. В локальной директории пользователя (НЕ root) создайте файлик .my.cnf со следующим содержимым:
[client]
user=root
password=пароль_для_подключения_к_базе
и сохраните его. После этого при простом вызове команды mysql в консоли без каких-либо ключей и передачи соответствующих значений Вы получите приглашение для ввода в консоль базы данных, аналогично скриншоту (Maria DB [(none) >]). Таким образом данный метод позволяет избежать постоянного ввода ключевых значений команды mysql с передачей сооветствующих значений логина и пароля и напрямую из консоли получать доступ к базе данных за считанные секунды.