Разработка сайта для Вашего бизнеса. Веб дизайн. Дизайн логотипа, фирменного стиля, рекламная фотография . Комплексный рекламный креатив.

Ralex. We do the work.
На рынке с 1999го года. Средняя ценовая категория. Ориентация на эффективность решений.
Ознакомтесь с нашим портфолио
Узнайте больше о услугах
Свяжитесь с нами:
E-mail: [email protected]
Tel: (044) 587 - 84 - 78
Custom web design & дизайн и разработка сайта "под ключ"
Креативный, эффективный дизайн. Система управления сайтом (СУС).
Custom flexible разработка систем электронной коммерции
Система e-commerce разрабатывается под индивидуальные потребности. Гибкая функциональность.
Search Engine Optimzation & оптимизация под поисковые системы (SEO)
Постоянная оптимизация и мониторинг сайта в поисковых системах. Достигаем результата быстро и эффективно
Custom logo design & дизайн логотипа и фирменного стиля
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.
профессиональная рекламная фотография
креативно, смело, качественно
Custom logo design & рекламный креатив. дизайн рекламы
Многолетний опыт. Огромное портфолио. Уникальное предложение и цена.

Як встановити Linux, Apache, MySQL, PHP (LAMP) в Ubuntu 18.04

  1. Вступ
  2. Необхідні умови
  3. Крок 1 - Установка Apache і настройка файрволу
  4. Налаштування файрвола для дозволу веб-трафіку
  5. Як знайти публічний IP адреса вашого сервера
  6. Крок 2 - Установка MySQL
  7. Крок 3 - Установка PHP
  8. Крок 4 - Тестування роботи PHP на вашому веб-сервері
  9. висновок

Наша взаимовыгодная связь https://banwar.org/

Попередня версія керівництва була написана Бреннаном Бернсом .

Вступ

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

Ця стаття описує процес установки LAMP на віртуальний сервер (Droplet) в Ubuntu 18.04.

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

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

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

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

Встановимо Apache використовуючи менеджер пакетів Ubuntu apt:

  • sudo apt update
  • sudo apt install apache2

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

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

Налаштування файрвола для дозволу веб-трафіку

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


висновок

Available applications: Apache Apache Full Apache Secure OpenSSH

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

  • sudo ufw app info "Apache Full"

висновок

Profile: Apache Full Title: Web Server (HTTP, HTTPS) Description: Apache v2 is the next generation of the omnipresent Apache web server. Ports: 80,443 / tcp

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

  • sudo ufw allow in "Apache Full"

Перевірити результат установки можна набравши в вашому веб-браузері публічний IP адреса вашого сервера (якщо ви ще не знаєте, як знайти публічний IP адреса вашого сервера, дивіться наступний розділ цієї статті):

http: // IP_адрес_вашего_сервера

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

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

Як знайти публічний IP адреса вашого сервера

Якщо ви не знаєте публічний IP адреса вашого сервера, його можна визначити декількома способами. Зазвичай, це адреса, який ви використовуєте для з'єднання з вашим сервером по SSH.

Визначити цю адресу можна за допомогою командного рядка. Спочатку використовуйте інструмент iproute2 для отримання вашої адреси набравши наступну команду:

  • ip addr show eth0 | grep inet | awk '{print $ 2; } '| sed 's /\/.*$//'

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

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

  • sudo apt install curl
  • curl http://icanhazip.com

В незалежності від методу, який ви використовували для отримання свого IP адреси, ви можете використовувати цей IP адреса для доступу до сервера через адресний рядок веб-браузера.

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

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

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

  • sudo apt install mysql-server

Зверніть увагу: У даному випадку вам немає необхідності попередньо виконувати команду sudo apt update, тому що ми виконували її недавно при установці Apache, і індекс пакетів на вашому комп'ютері вже повинен бути оновлений.

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

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

  • sudo mysql_secure_installation

В результаті виконання цієї команди вам буде запропоновано налаштувати плагін валідації паролів (VALIDATE PASSWORD PLUGIN).

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

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

VALIDATE PASSWORD PLUGIN can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD plugin? Press y | Y for Yes, any other key for No:

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

There are three levels of password validation policy: LOW Length> = 8 MEDIUM Length> = 8, numeric, mixed case, and special characters STRONG Length> = 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

Незалежно від того, включили ви плагін валідації паролів чи ні, далі вам буде запропоновано задати пароль для користувача root для MySQL. Це адміністративний акаунт користувача в MySQL, який має підвищені привілеї. Ви можете розглядати його, як аналог користувача root для самого сервера (з тією лише різницею, що це аккаунт для MySQL). Задайте сильний унікальний пароль, не залишайте пароль порожнім.

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

Using existing password for root. Estimated strength of the password: 100 Change the password for root? ((Press y | Y for Yes, any other key for No): n

На всі наступні питання просто вводите Y і натискайте клавішу ENTER для вибору налаштувань за замовчуванням. При цьому втечуть деякі тестові користувачі та бази даних, буде відключена можливість віддаленого доступу з обліковим записом root-користувача, і всі зміни будуть негайно застосовані в MySQL.

Зверніть увагу на те, що на серверах Ubuntu, що використовують MySQL 5.7 (і більш пізні версії), root користувач в MySQL налаштований таким чином, що його аутентифікація за замовчуванням відбувається за допомогою плагіна auth_socket, а не за допомогою пароля. Це в багатьох випадках підвищує безпеку, але, в той же час, може ускладнити настройку доступу до root користувачеві для деяких програм (наприклад, phpMyAdmin).

Якщо ви хочете налаштувати root користувача на використання пароля, вам необхідно змінити метод аутентифікації з auth_socket на mysql_native_password. Для того, щоб це зробити, увійдіть в оболонку MySQL в терміналі:

Далі перегляньте метод аутентифікації для кожного з ваших користувачів MySQL за допомогою наступної команди:

  • SELECT user, authentication_string, plugin, host FROM mysql.user;

висновок

+ ------------------ + ------------------------------ ------------- + ----------------------- + ----------- + | user | authentication_string | plugin | host | + ------------------ + ------------------------------ ------------- + ----------------------- + ----------- + | root | | auth_socket | localhost | | mysql.session | * THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | * THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | * CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost | + ------------------ + ------------------------------ ------------- + ----------------------- + ----------- + 4 rows in set (0.00 sec)

У цьому прикладі ваш користувач root використовує аутентифікацію за допомогою плагіна auth_socket. Щоб змінити це налаштування на використання пароля використовуйте наступну команду ALTER USER. Не забудьте змінити password на ваш сильний пароль:

  • ALTER USER 'root' @ 'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Далі виконайте команду FLUSH PRIVILEGES, яка застосує внесені зміни:

Перевірте методи авторизації для користувачів ще раз для того, щоб переконатися, що користувач root більш не використовує плагін auth_socket для авторизації:

  • SELECT user, authentication_string, plugin, host FROM mysql.user;

висновок

+ ------------------ + ------------------------------ ------------- + ----------------------- + ----------- + | user | authentication_string | plugin | host | + ------------------ + ------------------------------ ------------- + ----------------------- + ----------- + | root | * 3636DACC8616D997782ADD0839F92C1571D6D78F | mysql_native_password | localhost | | mysql.session | * THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | mysql.sys | * THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost | | debian-sys-maint | * CC744277A401A7D25BE1CA89AFF17BF607F876FF | mysql_native_password | localhost | + ------------------ + ------------------------------ ------------- + ----------------------- + ----------- + 4 rows in set (0.00 sec)

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

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

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

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

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

  • sudo apt install php libapache2-mod-php php-mysql

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

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

Для цього введіть наступну команду, щоб відкрити файл dir.conf в текстовому редакторі з привілеями користувача root:

  • sudo nano /etc/apache2/mods-enabled/dir.conf

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

/etc/apache2/mods-enabled/dir.conf

<IfModule mod_dir.c> DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm </ IfModule>

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

/etc/apache2/mods-enabled/dir.conf

<IfModule mod_dir.c> DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm </ IfModule>

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

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

  • sudo systemctl restart apache2

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

  • sudo systemctl status apache2

приклад Висновку

● apache2.service - LSB: Apache2 web server Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled) Drop-In: /lib/systemd/system/apache2.service.d └─apache2- systemd.conf Active: active (running) since Tue 2018-04-23 14:28:43 EDT; 45s ago Docs: man: systemd-sysv-generator (8) Process: 13581 ExecStop = / etc / init.d / apache2 stop (code = exited, status = 0 / SUCCESS) Process: 13605 ExecStart = / etc / init.d / apache2 start (code = exited, status = 0 / SUCCESS) Tasks: 6 (limit: 512) CGroup: /system.slice/apache2.service ├─13623 / usr / sbin / apache2 -k start ├─13626 / usr / sbin / apache2 -k start ├─13627 / usr / sbin / apache2 -k start ├─13628 / usr / sbin / apache2 -k start ├─13629 / usr / sbin / apache2 -k start └─13630 / usr / sbin / apache2 -k start

Щоб розширити функціональність PHP, ми можемо встановити деякі додаткові модулі. Для перегляду доступних опцій для модулів і бібліотек PHP ви можете передати результат apt search в less, яка дозволить вам промотувати висновок:

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

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

bandwidthd-pgsql / bionic 2.0.1 + cvs20090917-10ubuntu1 amd64 Tracks usage of TCP / IP and builds html files with graphs bluefish / bionic 2.2.10-1 amd64 advanced Gtk + text editor for web and software development cacti / bionic 1.1.38+ ds1-1 all web interface for graphing of monitoring systems ganglia-webfrontend / bionic 3.6.1-3 all cluster monitoring toolkit - web front-end golang-github-unknwon-cae-dev / bionic 0.0 ~ git20160715.0.c6aac99-4 all PHP-like Compression and Archive Extensions in Go haserl / bionic 0.9.35-2 amd64 CGI scripting program for embedded environments kdevelop-php-docs / bionic 5.2.1-1ubuntu2 all transitional package for kdevelop-php kdevelop-php-docs- l10n / bionic 5.2.1-1ubuntu2 all transitional package for kdevelop-php-l10n ...:

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

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

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

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


висновок

... Description: command-line interpreter for the PHP scripting language (default) This package provides the / usr / bin / php command interpreter, useful for testing PHP scripts from a shell or performing general shell scripting tasks. . PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. . This package is a dependency package, which depends on Ubuntu's default PHP version (currently 7.2). ...

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

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

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

  • sudo apt install package1 package2 ...

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

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

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

В Ubuntu 18.04 дана директорія знаходиться за адресою / var / www / html /. Ми можемо створити там файл ввівши таку команду:

  • sudo nano /var/www/html/info.php

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

info.php

<? Php phpinfo (); ?>

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

Тепер ми можемо перевірити, чи може веб-сервер коректно відображати контент, згенерований PHP скриптом. Для перевірки нам просто потрібно відкрити цю сторінку в веб-браузері. Вам знову потрібно публічний IP-адресу сервера.

Відкриємо цю адресу:

http: // IP_адрес_вашего_сервера /info.php

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

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

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

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

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

  • sudo rm /var/www/html/info.php

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

висновок

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

В якості першого кроку ми рекомендуємо налаштувати веб-сервер на роботу через HTTPS. Найпростіший варіант убезпечити свій сайт за допомогою безкоштовного TLS / SSL сертифікату - це використовувати сервіс Let's Encrypt .

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

Would you like to setup VALIDATE PASSWORD plugin?
Estimated strength of the password: 100 Change the password for root?
Php phpinfo (); ?
Категории
  • Биология
  • Математика
  • Краеведению
  • Лечебная
  • Наука
  • Физике
  • Природоведение
  • Информатика
  • Новости

  • Новости
    https://banwar.org/
    Наша взаимовыгодная связь https://banwar.org/. Запустив новый сайт, "Пари Матч" обещает своим клиентам незабываемый опыт и возможность выиграть крупные суммы.


    Наши клиенты
    Клиенты

    Быстрая связь

    Тел.: (044) 587-84-78
    E-mail: [email protected]

    Имя:
    E-mail:
    Телефон:
    Вопрос\Комментарий: