Як встановити linux, apache, mysql, php (lamp) в ubuntu, digitalocean

We hope you find this tutorial helpful. In addition to guides like this one, we provide simple cloud infrastructure for developers. Learn more →

Стек LAMP - це набір програмного забезпечення з відкритим вихідним кодом, якій зазвичай встановлюється на сервер для відображення динамічних веб-сайтів і веб-додатків. Ця абревіатура означає операційну систему L inux з встановленим веб-сервером A pache. Дані сайту зберігаються в базі даних M ySQL, динамічний контент обробляється за допомогою P HP.

Необхідні умови

Перед тим, як почати слідувати інструкції, наведені в цій статті, вам необхідно налаштувати окремий, чи не-рутовий (non-root) профіль користувача на вашому сервері. Ви можете зробити це слідуючи крокам 1-4 статті про первинну налаштування сервера на Ubuntu 16.04.

Крок 1 - Установка Apache і настройка файрволу

Веб-сервер Apache в даний час є одним з найпопулярніших веб-серверів в світі. Він добре документований і використовується значну частину часу з моменту створення мережі Інтернет, що робить його прекрасним вибором для хостингу веб-сайту.

Ми з легкістю можемо встановити Apache використовуючи менеджер пакетів Ubuntu apt. Менеджер пакетів дозволяє нам легко встановити більшу частину програмного забезпечення з репозиторіїв Ubuntu. Про те, як використовувати apt. ви можете дізнатися з цієї статті.

Для початку установки виконаємо команди:

Оскільки ми використовуємо команду sudo. ці команди будуть виконуватися з привілеями root. В процесі операційна система запросить ваш пароль користувача.

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

Налаштування глобальної змінної ServerName

Далі ми додамо один рядок в /etc/apache2/apache2.conf для усунення попереджень (warnings) про синтаксичних помилках. Незважаючи на те, що це просто попередження і ніякої проблеми не існує, якщо не поставити глобальну змінну ServerName. ви будете отримувати наступне попередження про помилку при перевірці настройки конфігурації Apache:

Після цього збережіть і закрийте файл.

Тепер можна перевірити результат надрукувавши наступну команду:

Оскільки ми встановили глобальну змінну ServerName. ви повинні побачити висновок наступного характеру:

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

Тепер можна приступати до налаштування брандмауера.

Налаштування файрвола

Тепер переконаємося, що ваш файрвол пропускає HTTP і HTTPS трафік. Ми будемо виходити з припущення, що ви вже виконали інструкції по первинній настройці сервера і включили файрвол UFW. Для початку переконаємося, що UFW має профіль для Apache за допомогою такої команди:

Перевіримо налаштування профілю Apache Full. вона повинна дозволяти трафік для портів 80 і 443:

Дозволимо вхідний трафік для цього профілю:

Ви побачите сторінку Apache, що відображається за замовчуванням для інформації і цілей тестування. Вона повинна виглядати схожим чином:

Як встановити linux, apache, mysql, php (lamp) в ubuntu, digitalocean

Якщо ви бачите цю сторінку, ваш веб-сервер коректно встановлений і доступний через файрвол.

В якості альтернативи можна дізнатися, як curl бачить ваш сервер. Це можна зробити наступним чином:

Крок 2 - Установка MySQL

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

Ми можемо знову використовувати apt для завантаження і установки програмного забезпечення. Цього разу ми також встановимо деякі допоміжні пакети, які допоможуть нам у налагодженні взаємодії між компонентами:

В даному випадку вам немає необхідності попередньо виконувати команду sudo apt-get update. тому ми виконували її недавно при установці Apache, і індекс пакетів на вашому комьпютер вже повинен бути оновлений.

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

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

Скрипт запросить пароль, який ви тільки що поставили для root користувача в MySQL. Далі вам буде запропоновано налаштувати плагін валідації паролів (VALIDATE PASSWORD PLUGIN).

Увага: рішення включати плагін валідації паролів чи ні носить суб'єктивний характер. При включенні всі паролі, які не задовольняють певним критеріям безпеки, будуть відхилятися MySQL з повідомленням про помилку. Це може викликати проблеми, якщо ви використовуєте "слабкі" паролі спільно з програмним забезпеченням, яке конфигурирует профілі користувачів MySQL, наприклад, пакети Ubuntu для phpMyAdmin. Ви можете залишити валідацію паролів відключеною, але в цьому випадку вам слід завжди використовувати "сильні" унікальні паролі для користувачів бази даних.

Введіть y для включення плагіна або що-небудь інше для продовження без його включення:

Якщо ви включили валідацію паролів, вам буде запропоновано встановити рівень надійності паролів при валідації. Майте на увазі, що при виборі значення 2 (найсуворіший рівень валідації), ви будете отримувати помилки при спробі задати пароль без цифр, букв у верхньому і нижньому регістрі, а також без спеціальних символів, а також при спробі використовувати пароль, заснований на поширених словах, які вразливі для підбору паролів по словнику.

Якщо ви включили валідацію паролів, вам буде показаний рівень надійності заданого вами раніше пароля root користувача, а також вам буде запропоновано змінити цей пароль. Якщо ви не хочете змінювати пароль, введіть n або no:

Тепер ваша система управління базами даних встановлена ​​і ми можемо рухатися далі.

Крок 3 - Установка PHP

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

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

Дана команда повинна встановити PHP без будь-яких проблем. Незабаром ми це перевіримо.

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

Вміст файлу буде виглядати наступним чином:

Ми хочемо перемістити PHP файл index.php. виділений вище, на перше місце після специфікації DirectoryIndex наступним чином:

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

Після цього нам необхідно перезапустити Apache для застосування внесених змін. Ви можете зробити це за допомогою команди:

Ми також можемо перевірити статус сервісу apache2 використовуючи systemctl:

Установка модулів PHP

Щоб розширити функціональність PHP, ми можемо встановити деякі додаткові модулі.

Використовуйте клавіші стрілок вгору та вниз для проматіванія списку, для виходу натисніть q.

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

Щоб отримати більше інформації по кожному модулю, ви можете пошукати в Інтернеті або подивитися опис пакету за допомогою команди:

Відповідь буде містити багато тексту, серед якого є поле Description-en. Саме воно і буде містити розширений опис функціональності, що надається модулем.

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

Крім великої кількості іншої інформації, ви побачите наступне:

Якщо після вивчення ви вирішили, що хочете встановити пакет, ви можете зробити це використовуючи команду apt-get install як ми робили раніше при установці іншого програмного забезпечення.

Якщо ми вирішили, що хочемо встановити php-cli. ми можемо ввести команду:

Для установки відразу декількох модулів, ви можете перерахувати їх через прогалини слідом за командою apt-get install наступним чином:

Тепер ваш стек LAMP встановлений і налаштований. Однак нам ще належить протестувати PHP.

Крок 4 - Тестування роботи PHP на вашому веб-сервері

Щоб перевірити, що наша система налаштована належним чином, ми можемо створити простий PHP скрипт.

Назвемо скрипт info.php. Щоб Apache знайшов і обробив файл коректно, він повинен бути збережений в спеціальну директорію, яка називається "web root".

Відкриється порожній файл. Ми хочемо ввести в файл наступний текст, який є коректним PHP кодом:

Після внесення змін збережіть і закрийте файл.

Сторінка, на яку ви потрапите, повинна виглядати схожим чином:

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

Якщо все пройшло успішно, значить ваш PHP працює коректно.

Ви завжди зможете заново створити цей файл, якщо вам знову буде потрібно доступ до цієї інформації.

висновок

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

Деякі інші популярні заходи:

  • Встановити Wordpress - найбільш популярну систему управління контентом в інтернеті.
  • Встановити PHPMyAdmin для управління базами даних MySQL з веб-браузера.
  • Дізнатися більше про MySQL для управління базами даних.
  • Навчитися використовувати SFTP для передачі файлів на ваш сервер і з нього.

Зверніть увагу: Ми будемо оновлювати зазначені вище посилання на документацію для 16.04 у міру її написання.