Установка Ubuntu 16.04 LAMP Server

Установка Ubuntu 16.04 LAMP Server с Apache 2.4, PHP 7 и MariaDB (вместо MySQL)

Новости

LAMP — это сокращение от Linux, Apache, MySQL и PHP. Мы поможем вам убедиться в том, что LAMP Server очень удобен в управлении.

С помощью этого руководства вы сможете установить веб-сервер apache2 на Ubuntu 16.04 (Xenial Xerus) с PHP7 (mod_php) и поддержкой MySQL. Дополнительно мы установим PHPMyAdmin для упрощение администрирования сервера баз данных MySQL.

Установка LAMP — лучшая основа для таких CMS, как Joomla, WordPress или Drupal.

Предварительные рекомендации по LAMP Server

В этом руководстве я буду использовать имя сервера server1.example.com с IP адресом 192.168.122.217. Эти значения, конечно, будут отличаться от ваших.  Таким образом, их необходимо изменить там, где потребуется.

Я рекомендую использовать минимальную установку Ubuntu Server, это может быть как виртуализированный, так и выделенный сервер Ubuntu 16.04 с минимальной установкой.

Далее я выполняю все команды с привилегиями root:

sudo su

Установка сервера баз данных MariaDB вместо MySQL

Мы будем устанавливать MariaDB вместо MySQL. MariaDB — это ответвление от MySQL, которое сделал Monty Widenius, один из разработчиков MySQL . MariaDB совместима с MySQL и обеспечивает новые интересные возможности и быстродействие в сравнении с MySQL.

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

apt-get -y install mariadb-server mariadb-client

Дальше установите пароль пользователя root для MariaDB:

mysql_secure_installation

Вам система задаст следующие вопросы:

Enter current password for root (enter for none): <-- нажмите enter, т.к. пароль еще не установлен
Set root password? [Y/n] <-- y, для установки пароля пользователя root
New password: <-- Введите новый пароль пользователя root для MariaDB
Re-enter new password: <-- Повторите пароль еще раз
Remove anonymous users? [Y/n] <-- y, удалить анонимного пользователя
Disallow root login remotely? [Y/n] <-- n, разрешить удаленный доступ для пользователя root
Remove test database and access to it? [Y/n] <-- y, удалить тестовую базу данных и доступ к ней
Reload privilege tables now? [Y/n] <-- y, перегрузить привилегии, для того чтобы изменения вступили в силу

Для проверки, войдите у частную запись root:

mysql -u root -p

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

Установка Ubuntu 16.04 LAMP Server

В Ubuntu 16.04 когда я подключаюсь к базе данных через PhpMyAdmin используя пользователя root, я получаю ошибку:

#1698 - Access denied for user 'root'@'localhost'

Чтобы разрешить удаленный доступ пользователю root через PhpMyAdmin выполняем:

use mysql;
UPDATE user SET plugin='mysql_native_password' WHERE User='root';
FLUSH PRIVILEGES;

Для выхода с оболочки MariaDB, введите команду exit и нажмите enter.

Установка веб-сервера Apache 2.4

Пакет веб-сервера Apache2 доступен в Ubuntu, по этому легко и просто устанавливаем его:

apt-get -y install apache2

Теперь запустите браузер и перейдите по адресу http://192.168.122.217, вы должны увидеть страницу по умолчанию веб-сервера Apache 2:

Установка Ubuntu 16.04 LAMP Server

В Ubuntu, в веб-сервере Apache 2, корневая папка сайта по умолчанию находится в /var/www/html. Основной конфигурационный файл — /etc/apache2/apache2.conf.

Полная документация по конфигурации веб сервера Apache 2 находится  в /usr/share/doc/apache2/README.Debian.gz

Установка PHP 7

Мы можем установить PHP 7 и модуль PHP для веб-сервера Apache следующим образом:

apt-get -y install php7.0 libapache2-mod-php7.0

Потом необходимо перезапустить веб-сервер:

systemctl restart apache2

Тестируем PHP и смотрим информацию о системе

Корневая папка сайта по умолчанию находится в /var/www/html. Мы создадим маленький php-файл info.php в этой папке и откроем его в браузере. Этот файл выведет нам много полезной информации об установленном PHP, например, версию PHP.

nano /var/www/html/info.php
<?php
phpinfo();
?>

Далее необходимо изменить владельца файла на www-data:

chown www-data:www-data /var/www/html/info.php

Теперь открываем файл в браузере по адресу http://192.168.122.217/info.php:

Установка Ubuntu 16.04 LAMP Server

Как вы видите, PHP 7.0 работает, и он работает через Apache 2.0 Handler, как показано в строке Server API. Если вы проскроллите страницу вниз, вы увидите все модули которые уже активированы. MySQL нет в этом списке, это означает что у нас пока нету поддержки MySQL / MariaDB в PHP.

Добавление поддержки MySQL / MariaDB в PHP

Для добавления поддержки MySQL в PHP нам необходимо установить пакет php7.0-mysql:

apt-get -y install php7.0-mysql

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

apt-cache search php7.0

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

apt-get -y install php7.0-mysql php7.0-curl php7.0-gd php7.0-intl php-pear php-imagick php7.0-imap php7.0-mcrypt php-memcache  php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-mbstring php-gettext

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

systemctl restart apache2

Таким образом, мы получили поддержку MySQL / MariaDB в PHP:

Установка Ubuntu 16.04

Установка модуля PHP APCu Cache для ускорения работы PHP

APCu — это бесплатный модуль для кеширования и оптимизации кода PHP. Я настоятельно рекомендую вам установить этот модуль для увеличения скорости работы PHP.

APCu можно установить следующим образом:

apt-get -y install php-apcu

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

systemctl restart apache2

Теперь, перегрузите страницу http://192.168.122.217/info.php в вашем браузере, скролльте вниз к секции с модулями:

Установка Ubuntu 16.04

Также, не забудьте удалить файл info.php когда он вам уже будет не нужен. Оставлять файл — потенциально опасно, так как из него можно узнать очень много информации о вашем сервере. Выполните следующую команду для удаления файла:

rm -f /var/www/html/info.php

Добавление поддержки SSL в веб сервере Apache

SSL / TLS — это технология шифрования соединения между веб-браузером клиента и сервера. Выполните следующую команды для включения поддержки SSL :

a2enmod ssl
a2ensite default-ssl

Эти команды сделают мягкую ссылку (symlink) в папке /etc/apache2/sites-enabled на /etc/apache2/sites-available/default-ssl.conf для включения в конфигурацию SSL.

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

systemctl restart apache2

Протестируем безопасное подключение с помощью SSL, для этого откройте в браузере страницу http://192.168.122.217:

Установка Ubuntu 16.04

 

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

Вам необходимо принять предупреждение и вы увидите страницу Apache по умолчанию.

Установка Ubuntu 16.04

 

Закрытый зеленый замочек в адресной строке свидетельствует о том, что соединение шифрованное. Для устранения предупреждения, о том, что сертификат /etc/ssl/certs/ssl-cert-snakeoil.pem — не подписанный, его необходимо заменить на официально купленный и подписанный центром сертификации. В этом случае, я рекомендую центр сертификации GlobalSign nv-sa, как оптимальный по соотношению цена-качество.

Установка phpMyAdmin

С помощью веб-интерфейса phpMyAdmin вы можете управлять вашим сервером баз данных. Его установка:

apt-get -y install phpmyadmin

При установке вы увидите вопросы:

Web server to configure automatically: <-- выберите опцию: apache2
Configure database for phpmyadmin with dbconfig-common? <-- No, нет

После установки, вы можете войти в phpMyAdmin по адресу http://192.168.122.96/phpmyadmin/

Установка Ubuntu 16.04

Далее вы можете работать непосредственно с сервером баз данных, имя пользователя — root, а пароль используем тот, который вы ввели ранее:

Установка Ubuntu 16.04

Надеюсь, это руководство было полезным для вас!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, регистрируйтесь на курсы Cisco и Linux Professional Institute на платформе SEDICOMM University.

 

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
Новости

Больше похожих постов

2 комментария. Оставить новый

  • Константин Махно
    20 декабря 2016 21:58
    Спасибо за статью) Интересно было бы увидеть гайд по виртуализации Hyper-V и VMware
    Ответить
  • Небольшой lifehack: чтобы постоянно не вводить команду mysql -u root -p password можно значительно облегчить себе жизнь. В локальной директории пользователя (НЕ root) создайте файлик .my.cnf со следующим содержимым:
    [client]
    user=root
    password=пароль_для_подключения_к_базе
    и сохраните его. После этого при простом вызове команды mysql в консоли без каких-либо ключей и передачи соответствующих значений Вы получите приглашение для ввода в консоль базы данных, аналогично скриншоту (Maria DB [(none) >]). Таким образом данный метод позволяет избежать постоянного ввода ключевых значений команды mysql с передачей сооветствующих значений логина и пароля и напрямую из консоли получать доступ к базе данных за считанные секунды.
    Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Most Viewed Posts
Меню