Установка lamp ubuntu кращі способи
LAMP - це скорочення від Linux, Apache, MySQL, PHP. У цьому керівництві показано, як ви можете встановити веб-сервер Apache на сервері Ubuntu 16.04 LTS (Xenial Xerus) з підтримкою PHP 7 (mod_php) і MySQL / MariaDB, а також налаштувати SSL-сертифікат за допомогою шифрування Let's. Крім того, я встановлю PHPMyAdmin, щоб спростити адміністрування MySQL. Установка LAMP - ідеальна основа для систем CMS, таких як Joomla, WordPress або Drupal.
Я рекомендую використовувати мінімальну настройку сервера Ubuntu в якості основи для підручника, це може бути образ віртуального або кореневого сервера з мінімальною установкою Ubuntu 16.04 від веб-хостингу.
Я виконую всі кроки цього керівництва з привілеями root, тому переконайтеся, що ви увійшли в систему під ім'ям root:
Установка LAMP Ubuntu 16.04
Установка LAMP Ubuntu 16.04 є досить простий. Зараз я розповім про найоптимальніші способи швидкого встановлення LAMP в Ubuntu.
Установка MySQL або MariaDB
В даний час доступні дві широко використовувані системи баз даних MySQL - класичний «MySQL» сервер, розроблений Oracle і доступний зараз у версії 5.7, а також гілка MySQL з ім'ям MariaDB, розроблена початковим розробником MySQL Монті Віденюсом.
Я покажу вам, як встановити обидві альтернативи нижче. Просто дотримуйтесь чолі 1.1 або 1.2, але не обом. Вам потрібно вибрати кращий варіант для вас. Я буду використовувати MySQL 5.7 для образу віртуальної машини, який можна завантажити з Howtoforge.
1.1 Установка MySQL 5.7
Щоб встановити MySQL 5.7, виконайте наступну команду:
apt-get -y install mysql-server mysql-client
Пакети mysql-server і mysql-client називаються «мета-пакетами», вони встановлюють завжди найостаннішу версію MySQL, яка доступна в Ubuntu. Остання версія - це MySQL 5.7.
Ми встановили пароль root для MySQL вже під час установки, але я б хотів видалити анонімного користувача і тестову базу даних з міркувань безпеки. Для цього виконайте команду mysql_secure_installation нижче.
Вам будуть задані наступні питання:



Тепер настройка MySQL була захищена.
1.2 Установка MariaDB 10
Для установки MariaDB-сервера і клієнта виконайте наступну команду:
apt-get -y install mariadb-server mariadb-client
Тепер ми встановили пароль root для MariaDB.
Вам будуть задані наступні питання:

Перевірте ім'я входу в MariaDB за допомогою команди «mysql»
І введіть пароль root MariaB, який ви встановили вище. Результат повинен бути схожий на скріншот нижче:

Щоб вийти з оболонки MariaDB, введіть команду «quit» і натисніть клавішу введення.
Встановіть Apache 2.4.
Наступним пунктом в статті «Установка LAMP Ubuntu 16.04» є Apache.
Apache 2 доступний як пакет Ubuntu, тому ми можемо встановити його в такий спосіб:
apt-get -y install apache2

3. Встановіть PHP 7
Ми можемо встановити PHP 7 і модуль Apache PHP наступним чином:
apt-get -y install php7.0 libapache2-mod-php7.0
А після перезапуску Apache:
systemctl restart apache2
Протестуйте PHP і отримаєте інформацію про вашу установці PHP.
Корінь документа веб-вузла за замовчуванням - / var / www / html. Тепер ми створимо невеликий PHP-файл (info.php) в цьому каталозі і викликаємо його в браузері. Файл відобразить безліч корисних відомостей про нашу установці PHP, наприклад, встановленої версії PHP.
Потім змініть власника файлу info.php на користувача і групу www-даних.
chown www-data: www-data /var/www/html/info.php

Як ви бачите, PHP 7.0 працює, і він працює через Apache 2.0 Handler, як показано в рядку Server API. Якщо ви прокрутіть униз, ви побачите всі модулі, які вже включені в PHP5. MySQL тут відсутня, а значить, у нас немає підтримки MySQL / MariaDB в PHP.
Підтримка MySQL / MariaDB в PHP
Щоб отримати підтримку MySQL в PHP, ми можемо встановити пакет php7.0-mysql. Це гарна ідея, щоб встановити деякі інші модулі PHP, а також вони можуть знадобитися для ваших додатків. Ви можете шукати доступні модулі PHP наступним чином:
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
Тепер запустіть Apache2:
systemctl restart apache2

PHP 7 тепер підтримує MySQL / MariaDB, як показано в phpinfo () вище.
Встановіть кеш Opcache + APCu PHP для прискорення роботи PHP
PHP 7 поставляється з вбудованим Кешуються кодом операції для кешування та оптимізації проміжного коду PHP, він має ім'я «opcache» і доступний в пакеті php7.0-opcache. Настійно рекомендується встановити Opcache для прискорення роботи вашої PHP-сторінки. Крім opcache, я встановлю APCu, який є оболонкою сумісності для opcache, щоб забезпечити функції кеша APC, часто респонденти користуються послугами системи кешування в версіях php 5.x, і багато систем CMS все ще використовують її.
Opcache і APCu можуть бути встановлені таким чином:
apt-get -y install php7.0-opcache php-apcu
Не турбуйтеся, якщо він показує, що Opcache вже встановлено.
Тепер запустіть Apache:
systemctl restart apache2

Будь ласка, не забудьте видалити файл info.php, коли він вам більше не потрібен, так як він надає конфіденційну інформацію про ваш сервер. Виконайте наступну команду, щоб видалити файл.
rm -f /var/www/html/info.php
Увімкніть веб-сайт SSL в Apache.
SSL / TLS є рівнем безпеки для шифрування з'єднання між веб-браузером і вашим сервером. Більшість веб-браузерів починають показувати сайти як небезпечні, коли з'єднання між сервером і веб-браузером не шифрується за допомогою SSL. У цьому розділі я покажу вам, як захистити ваш сайт за допомогою SSL.
Виконайте наступні команди на вашому сервері, щоб включити підтримку SSL (https: //):
a2enmod ssl
a2ensite default-ssl
Спосіб включає модуль SSL і додає символічне посилання в папку / etc / apache2 / sites в файл /etc/apache2/sites-available/default-ssl.conf, для того щоб включити його в активну конфігурацію apache. А після перезапуску apache, щоб включити нову конфігурацію:
systemctl restart apache2

Прийміть попередження SSL в Firefox

Ви отримаєте попередження SSL, оскільки SSL-сертифікат сервера є «самозаверяющім» SSL-сертифікат, це означає, що браузер не довіряє цьому сертифікату за замовчуванням, і ви повинні спочатку прийняти попередження про безпеку. Після прийняття попередження ви побачите сторінку за замовчуванням apache.
Сторінка за замовчуванням Apache в режимі https
Є два способи позбутися від попередження SSL: або замінити самоподпісанний сертифікат SSL /etc/ssl/certs/ssl-cert-snakeoil.pem з офіційно підписаним SSL-сертифікат, який ви купуєте у SSL-органу, або ви отримуєте Безкоштовний SSL-сертифікат від Let's encrypt, який я опишу в главі 8.
Отримайте безкоштовний сертифікат SSL від Let's Encrypt
Першим кроком щодо забезпечення безпеки веб-сайту за допомогою SSL-сертифіката Let's Encrypt є установка пакета python-letsencrypt-apache. Виконайте наступну команду:
apt-get -y install python-letsencrypt-apache
На наступному кроці ми запитаємо сертифікат SSL від Let's Encrypt, під час цього процесу сервер Let's Encrypt спробує підключитися до вашого сервера через ім'я домену, яке ви надаєте команді letsencrypt. Важливо, щоб це доменне ім'я вказувало на ваш сервер в DNS вже, щоб веб-сайт досягав свого доменного імені вже на порту 80 (http). Якщо веб-сайт недоступний з Інтернету, створення SSL-сертифіката Let's Encrypt не вдасться.
І додайте рядок:
Прямо під рядком «DocumentRoot». Замініть example.com доменним ім'ям вашого власного веб-сайту.
Потім створіть SSL-сертифікат за допомогою наступної команди:
letsencrypt -apache -d example.com
Знову замініть example.com своїм доменним ім'ям. Команда запустить майстер, який задасть вам кілька запитань.

Прийміть умови ліцензії Let's Encrypt SSL.

Виберіть, чи хочете ви автоматично перенаправляти запити без SSL на https: //. Я виберу та тут, щоб уникнути дублювання проблем з контентом, коли сайт доступний як http: // і https: // версія.

Сертифікат SSL був успішно виданий.

Коли ви заходите на веб-сайт тепер за допомогою браузера, ви автоматично перенаправляються на SSL, а зелена блокування перед рядком URL в браузері показує, що ми використовуємо довірений SSL-сертифікат.

8.1. Зашифруємо автоматичне продовження
Шифрувальні SSL-сертифікати дійсні тільки протягом короткого періоду в 80 днів. Тому ми зараз налаштуємо cronjob для автоматичного оновлення SSL-сертифіката при необхідності. Команда: «продовжити ліцензію».
Встановіть cronjob для автоматичного поновлення LE. біг:
0 1 * * * / usr / bin / letsencrypt renew > / Dev / null
Збережіть файл, це активує cronjob. Цей cronjob викликатиме команду Let's Encrypt renew щовечора о 1 годині ночі. Команда оновить SSL-сертифікат тільки при необхідності (за 30 днів до закінчення терміну його дії), немає проблем запускати його щоночі.
встановіть phpMyAdmin
PhpMyAdmin - це веб-інтерфейс, через який ви можете управляти своїми базами даних MySQL. Доброю ідеєю буде, встановити його:
apt-get -y install phpmyadmin
Після установки повинні з'явиться такі питання:
Установка LAMP Ubuntu 16.04
9.1. Кореневої доступ до PHPMyAdmin за допомогою MariaDB
Наступний крок в темі «Установка LAMP Ubuntu 16.04», потрібно тільки для установок MariaDB, якщо ви використовуєте MySQL 5.7, то пропустіть цей крок.
За замовчуванням MariaDB дозволяє плагіну під назвою «unix_socket» root для користувача, але цей плагін забороняє користувачеві з root-правами, увійти в PHPMyAdmin, і в цьому випадку TCP-з'єднання з MySQL працюють на користувача root.
Увійдіть в базу даних MySQL як користувач root в командному рядку:
Створіть нового користувача з ім'ям «admin» і паролем «linuxinsider». Замініть пароль «linuxinsider» безпечним паролем як показано в команді!
CREATE USER 'admin' @ 'localhost' IDENTIFIED BY 'linuxinsider';
GRANT ALL PRIVILEGES ON *. * TO 'admin' @ 'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit


Завантаження зображення віртуальної машини
Цей підручник доступний як готовий до використання образ віртуальної машини в форматі ovf / ova, сумісний з VMWare і Virtualbox. В образі віртуальної машини використовуються наступні дані для входу:
Username: administrator
Password: linuxinsider
Цей користувач має права sudo.
Username: root
Password: linuxinsider
Переклад статті з відмінного англійського сайту HowtoForge.
Обов'язково оцініть цю статтю, і поділіться посиланням на свої сторінки в Google+, Twitter, VK або, наприклад, Facebook.