Настройка lamp debian 9

Обновлено: 06.07.2024

В этом уроке вы узнаете, как установить Apache, MariaDB и PHP7 (LAMP stack) на растяжку Debian 9. LAMP является наиболее распространенным стеком веб-сервисов для создания динамических веб-сайтов и веб-приложений.

Установка LAMP в Debian 9

Все четыре компонента являются свободными и с открытым исходным кодом. Однако, поскольку MySQL теперь принадлежит Oracle, и есть вероятность, что Oracle превратит его в продукт с закрытым исходным кодом, мы выберем MariaDB вместо MySQL. Вы можете следовать этому руководству на VPS (Virtual Private Server) или на локальном компьютере с Debian 9.

Обратите внимание, что при установке программного обеспечения на Debian вам необходимо иметь привилегии root. Можете добавить sudo в начале команды или использовать su-команду для переключения на пользователя root.

Шаг 1. Обновление пакетов программного обеспечения

LAMP (серверный стек) означает Linux, Apache, MySQL и PHP; четыре популярных программных компонента с открытым исходным кодом, используемых большинством веб-хостинга, веб-разработчиков, блогов и других. Мы подготовили справочник по установке вашего веб-сервера для тестовой среды в последней версии Debian. Вообще, установка LAMP в Debian 9 является очень простой, главное разобраться с основными функциями.

MariaDB заменяет сервер MySQL в качестве базы данных по умолчанию в Debian 9.

Установите Linux:
Вот статья о том, что хорошего, интересного и инновационного преподнесли в Debian 9. Это является главным условием для установки всего остального. Также, рекомендуем ознакомиться с другими руководствами на сайте. Например, мы уже говорили о том, как майнить Эфириум на вашей системе с Ubuntu.

Теперь мы перейдем к установке AMP (Apache версии 2, PHP версии 7, MariaDB версии 10.2) на Debian 9. Итак, давайте установим один за другим.

Обновите индекс репозитория пакета.

apt-get -y install apache2

Чтобы запустить сервер Apache2, запустите.

Чтобы остановить сервер Apache2, запустите.

Чтобы перезапустить сервер Apache2, запустите.

systemctl restart apache2.service

Чтобы проверить статус сервера Apache2, запустите.

systemctl status apache2.service

ufw status

ufw allow 80/tcp

ufw allow 443/tcp

ufw reload

ufw enable

Теперь мы проверим веб-сервер Apache, чтобы убедиться, что он работает правильно или нет. Откройте любой веб-браузер, а затем перейдите к следующему URL-адресу.


Чтобы установить MariaDB, выполните следующую команду

Безопасный сервер MariaDB:

Далее следует сделать защиту MariaDB с помощью команды «mysql_secure_installation».

Эта команда позволяет улучшить безопасность вашей установки MariaDB следующими способами:

Вы можете установить пароль для учетной записи root.

Вы можете ограничить учетные записи root локальному хосту.

Вы можете удалить анонимные учетные записи пользователей.

Вы можете удалить тестовую базу данных и привилегии, позволяющие кому-либо обращаться к базам данных с именами, начинающимися с test_.

Установите PHP:
По умолчанию сервер Apache поддерживает только .html, а не PHP, для этого вам нужно установить PHP и пакет расширения php для сервера MariaDB. Здесь мы установим PHP 7 на Debian 9.

systemctl restart apache2.service

Используйте редактор VI для создания файла info.php.

Эта команда vi откроет файл с именем info.php. Скопируйте / Вставьте ниже строки в файл info.php:

Сохраните и закройте файл, используя Esc +: wq.

Теперь откройте свой интернет-браузер и введите следующий URL-адрес в веб-адрес.


Установка LAMP в Debian 9, как мы говорили выше, оказалась очень простой. Надеемся, вы быстро разобрались в основных значениях при установке. Но если у вас есть вопросы, то обязательно их задавайте в комментариях.

Выводы

Это все! Поздравляем, вы успешно установили LAMP на Debian 9. Если статья была полезной для вас, то не забудьте — поделитесь ссылкой.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Дистрибутив Debian рассматривается в первую очередь как самая стабильная операционная система, поэтому довольно часто он используется на серверах для размещения сайтов. Также часто пользователи Linux вынуждены устанавливать программное обеспечение для работы сайтов на локальную машину чтобы иметь возможность все протестировать и привести в порядок перед отправкой во всемирную сеть.

В этой статье мы рассмотрим как выполняется установка LAMP Debian 9. Аббревиатура LAMP расшифровывается как Linux Apache Mysql PHP, это набор программного обеспечения, который чаще всего используется для размещения сайтов. Раньше мы уже говорили про установку LAMP в Ubuntu, процесс не будет очень сильно отличаться в Debian, но все же есть нюансы.

Установка LAMP в Debian

Сначала мы установим все необходимые компоненты, а затем будем настраивать их и проверять правильность работы по мере необходимости. Но сначала нужно обновить систему до последней версии:

sudo aptitude update && sudo aptitude upgrade

1. Установка компонентов

Сначала установим веб-сервер и интерпретатор языка программирования PHP:

sudo aptitude install apache2 php php-mysql libapache2-mod-php php-mbstring php-zip php-gd


Мы установили не только веб-сервер, но и основные библиотеки PHP, которые могут понадобиться для работы с графикой, строками и сжатыми архивами. Пакет libapache2-php отвечает за интеграцию поддержки php для веб-сервера Apache.

Перед тем как перейти к настройке всего этого, нужно установить систему управления базами данных. Вы можете использовать MySQL либо же версию, разрабатываемую сообществом - MariaDB. Для установки MariaDB выполните:

sudo aptitude install mariadb-server mariadb-client mariadb-common


А для установки MySQL:

sudo aptitude install mysql-server mysql-client mysql-common

В этой статье мы будем рассматривать MariaDB, но работа с MySQL не будет очень сильно отличаться.

2. Настройка Apache и PHP

Уже прошли те времена, когда для того чтобы подключить PHP к Apache нужно было пересмотреть кучу конфигурационных файлов, теперь установка LAMP Debian 9 выполняется достаточно просто. Если уже сейчас запустить Apache, и ввести адрес localhost, то все будет работать. Но давайте сначала добавим домен к нашему сайту. На локальной машине это тоже полезно. Сначала создадим папку для сайта:

sudo mkdir /var/www/test-site/

Конфигурационные файлы виртуальных хостов хранятся в каталоге /etc/apache2/sites-available/ просто скопируйте конфигурацию по умолчанию 000-default в новый файл:

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/test-site.conf

Теперь полученный файл нужно отредактировать. Нас будут интересовать директивы ServerName и DocumentRoot. Установите для них правильные значения:


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

sudo a2ensite test-site.conf

Теперь осталось перезапустить Apache:


Чтобы проверить как все работает создайте файл index.php со следующим содержимым в папке /var/www/test-site/:


sudo vi /etc/hosts


Теперь можете открывать сайт в браузере и проверять:


Если вы увидели информацию о версии php, как на снимке экрана, значит все работает и нам осталось только настроить базу данных.

3. Настройка базы данных

Как я уже говорил, в качестве основной базы данных мы будем использовать mariadb. Чтобы начать ее настройку выполните:




Я не буду подробно описывать все шаги настройки. Они уже описаны в статье установка MySQL в Ubuntu. После того как процесс первоначальной настройки завершится, создадим новую базу данных:

sudo mysql -u root -p

Далее, для создания базы выполните:

CREATE DATABASE testsite;

Затем создайте пользователя и дайте ему доступ к этой базе данных:

CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON testsite.* TO 'testuser'@'localhost';


Ну и для тестирования добавим таблицу:

USE testsite;
CREATE TABLE testtable (
id INT NOT NULL AUTO_INCREMENT,
str VARCHAR(100) NOT NULL,
PRIMARY KEY(id)
);

Теперь добавим одну запись в только что созданную таблицу:

INSERT INTO testtable (str) VALUES ('test1'), ('test2'), ('test3');

Теперь, чтобы убедиться что все работает, мы попытаемся получить данные из mysql через PHP. Для этого создадим небольшой скрипт. Он будет подключаться к базе данных и читать по порядку записи из таблицы:

sudo vi /var/www/test-site/testmysql.php

$connection = mysqli_connect("localhost","testuser","password","testsite") or die("Error " . mysqli_error($connection));
$sql = "SELECT id, str FROM testtable";
$result = mysqli_query($connection, $sql) or die("Error " . mysqli_error($connection));
$items = array();
while($row = mysqli_fetch_assoc($result))
$items[] = $row;
>
echo json_encode($items);
?>


Далее, сохраните полученный скрипт, и введите его адрес в браузере:


Если вы не увидели никаких ошибок, а на экран были выведены строки из базы данных, задача установить LAMP Debian выполнена. Если же возникли какие-либо ошибки, например, подключения к базе данных, проверьте правильность написания пароля пользователя, имени базы, а также посмотрите логи mysql.

Выводы

Установка и настройка lamp Debian 9 полностью завершена, теперь вы можете перейти к развертыванию собственного приложения или веб-сайта. Эта инструкция подходит как для локальной системы, так и для боевого сервера. Надеюсь, информация была полезной для вас.

Комплект LAMP — это набор программного обеспечения с открытым исходным кодом, которое обычно устанавливается в комплексе для размещения на сервере динамических сайтов и веб-приложений. Этот термин представляет собой аббревиатуру. Операционная система Linux используется с веб-сервером Apache. Данные сайта хранятся в базе данных MariaDB, а за обработку динамического контента отвечает PHP.

В этом обучающем модуле мы установим комплект LAMP на сервер Debian 9.

Предварительные требования

Для данного обучающего модуля вам потребуется сервер Debian 9 с учетной записью пользователя без привилегий root и с привилегиями sudo , а также базовым брандмауэром. При настройке следует использовать указания руководства по начальной настройке сервера Debian 9.

Шаг 1 — Установка Apache и обновление брандмауэра

Веб-сервер Apache — один из самых популярных веб-серверов в мире. По нему имеется очень много документации, и он широко использовался в течение почти всей истории Интернета, что делает его отличным выбором для хостинга сайта.

Установите Apache с помощью диспетчера пакетов apt в Debian:

Поскольку это команда sudo , данные операции выполняются с привилегиями root. Для подтверждения система попросит ввести пароль обычного пользователя.

После ввода пароля apt покажет, какие пакеты планируются к установке, и сколько они займут дополнительного пространства на диске. Нажмите Y , а затем нажмите ENTER , чтобы продолжить установку.

При установке в операционной системе Debian 9 в UFW имеются профили приложений, с помощью которых вы можете настраивать параметры брандмауэра. Для просмотра полного списка профилей приложений запустите следующую команду:

Профили WWW используются для управления портами, которые используются веб-серверами:

Если вы просмотрите профиль WWW Full , вы увидите, что он активирует трафик на портах 80 и 443 :

Вы можете провести точечную проверку работы брандмауэра, открыв в браузере внешний IP-адрес сервера:

Вы увидите веб-страницу по умолчанию Debian 9 Apache, предназначенную для информационных целей и целей тестирования. Она должна выглядеть следующим образом:

Если вы видите эту страницу, ваш веб-сервер правильно установлен и доступен через ваш брандмауэр.

Если вы не знаете внешний IP-адрес вашего сервера, вы можете определить его с помощью нескольких способов. Обычно это адрес, который вы используете для подключения к серверу через SSH.

Существует несколько способов сделать это через командную строку. Во-первых, вы можете использовать инструменты iproute2 для получения IP-адреса с помощью следующей команды:

В результате будут выведены две или три строки. Все указанные адреса верные, но ваш компьютер может использовать только один из них, так что вы можете попробовать каждый.

Также можно использовать утилиту curl для связи с внешним устройством. Вы увидите, как это устройство видит ваш сервер. Для этого нужно запросить ваш IP-адрес у конкретного сервера:

Вне зависимости от метода получения IP-адреса введите его в адресную строку браузера для просмотра страницы Apache по умолчанию.

Шаг 2 — Установка MariaDB

Вы установили и запустили веб-сервер, а теперь можете устанавливать MariaDB. MariaDB — это система управления базами данных. Она организует и обеспечивает доступ к базам данных, где ваш сайт может хранить информацию.

MariaDB — это созданное сообществом разработчиков ответвление MySQL. В Debian 9 в качестве сервера MySQL по умолчанию используется MariaDB 10.1, а пакет mysql-server , который обычно используется для установки MySQL, представляет собой переходный пакет, который фактически устанавливает MariaDB. Однако рекомендуется устанавливать MariaDB с помощью пакета mariadb-server .

Используйте apt для получения и установки этого программного обеспечения:

Примечание. В этом случае вам не нужно предварительно запускать команду sudo apt update до выполнения команды. Это связано с тем, что вы недавно запускали ее для установки Apache, и индекс пакетов на вашем компьютере уже должен быть обновлен.

Эта команда также выводит список устанавливаемых пакетов и показывает, сколько они займут места на диске. Введите Y , чтобы продолжить.

После завершения установки запустите простой скрипт безопасности, устанавливаемый вместе с MariaDB. Этот скрипт удаляет некоторые небезопасные параметры по умолчанию и блокирует доступ к системе баз данных. Для запуска интерактивного скрипта введите следующую команду:

При этом откроется серия диалогов, где вы можете внести некоторые изменения в параметры безопасности установки MariaDB. В первом диалоге вам нужно будет ввести пароль пользователя root для текущей базы данных. Это административная учетная запись MariaDB, имеющая повышенный уровень привилегий. Она напоминает учетную запись root на сервере (хотя эта учетная запись относится только к MariaDB). Поскольку вы только что установили MariaDB и еще не меняли параметры конфигурации, пароль будет пустым, так что вам достаточно нажать ENTER в этом диалоге.

В следующем диалоге вам будет предложено задать пароль для пользователя root базы данных. Введите N и нажмите ENTER . В Debian учетная запись пользователя root для MariaDB тесно связана с автоматизированным обслуживанием системы, так что мы не должны изменять настроенные методы аутентификации для этой учетной записи. Это позволит нам обновить пакет для уничтожения системы базы данных посредством удаления доступа к административной учетной записи. Позднее мы расскажем о том, как настроить дополнительную административную учетную запись для доступа через пароль, если аутентификация через сокет не подходит для вашего случая.

Далее вы можете использовать клавиши Y и ENTER , чтобы принять ответы по умолчанию для всех последующих вопросов. Выбрав эти ответы, вы удалите ряд анонимных пользователей и тестовую базу данных, отключите возможность удаленного входа пользователя root и загрузите новые правила, чтобы внесенные изменения немедленно активировались в MariaDB.

При установке на системы Debian пользователь root MariaDB настроен для аутентификации с помощью плагина unix_socket , а не с помощью пароля. Во многих случаях это обеспечивает более высокую безопасность и удобство, однако это также может осложнить ситуацию, если вам нужно предоставить права администратора внешней программе (например, phpMyAdmin).

Поскольку для ротации журналов, запуска и остановки сервера используется учетная запись root, лучше всего не менять учетные данные пользователя root. Изменение учетных данных в файле конфигурации /etc/mysql/debian.cnf может сработать на начальном этапе, но при обновлении пакета изменения могут быть перезаписаны. Если вам требуется настроить доступ с паролем, команда поддержки рекомендует создать отдельную учетную запись администратора вместо изменения учетной записи root.

Для этого мы создадим новую учетную запись admin с теми же привилегиями, что и у учетной записи root, но настроенную для аутентификации с использованием пароля. Для этого откройте командную строку MariaDB через терминал:

Теперь мы можем создать нового пользователя с привилегиями root и доступом с использованием пароля. Измените имя пользователя и пароль на желаемые:

Очистите привилегии, чтобы они были сохранены и доступны в текущем сеансе:

После этого закройте оболочку MariaDB:

Теперь для получения доступа к базе данных с правами администратора вам потребуется пройти аутентификацию учетной записи этого пользователя с указанием заданного пароля. Для этого необходимо использовать следующую команду:

Вы настроили систему базы данных и теперь можете перейти к установке PHP, заключительного компонента комплекта LAMP.

Шаг 3 — Установка PHP

PHP — это компонент системы, обрабатывающий код для отображения динамического контента. Он может запускать скрипты, подключаться к базам данных MariaDB для получения информации и передавать обработанный контент на веб-сервер для отображения.

Используйте систему apt для установки PHP. Кроме того, установите вспомогательные пакеты, чтобы код PHP можно было запускать на сервере Apache, и чтобы он мог взаимодействовать с базой данных MariaDB:

Эта команда должна установить PHP без каких-либо проблем. Сейчас мы это протестируем.

В большинстве случаев необходимо изменить способ обслуживания файлов Apache при запросе директории. Обычно, если пользователь запрашивает директорию на сервере, Apache в первую очередь ищет файл index.html . Нам нужно, чтобы веб-сервер предпочитал файлы PHP, и чтобы Apache в первую очередь искал файл index.php .

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

Он будет выглядеть примерно так:

Переместите файл индекса PHP (выделен выше) на первую позицию после спецификации DirectoryIndex , примерно так:

После завершения сохраните и закройте файл, нажав CTRL+X . Для подтверждения сохранения нажмите Y , а затем нажмите ENTER для подтверждения расположения сохраняемого файла.

После этого перезапустите веб-сервер Apache, чтобы ваши изменения были готовы к распознанию. Для этого введите следующую команду:

Также вы можете проверить статус службы apache2 с помощью команды systemctl :

Вы можете установить дополнительные модули, чтобы расширить функционал PHP. Чтобы посмотреть доступные варианты модулей и библиотек PHP, отправьте результаты поиска apt search на пейджер less , позволяющий просматривать результаты выполнения других команд:

Используйте стрелки для прокрутки экрана и клавишу Q для выхода.

На экране результатов будут показаны все доступные для установки опциональные компоненты. Также будет выведено краткое описание каждого из них:

Дополнительную информацию о функциях каждого модуля можно найти в Интернете. Также вы можете посмотреть длинное описание пакета с помощью следующей команды:

На экране результатов будет много текста, а в поле описания Description будет приведено развернутое описание функционала модуля.

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

Помимо другой информации вы увидите следующий фрагмент:

Если после изучения информации вы решите установить пакет, вы можете использовать для этого команду apt install , как для любого другого программного обеспечения.

Если вы решили установить php-cli , введите следующую команду:

Если вы хотите установить несколько модулей, вы можете перечислить их после команды apt install , разделяя пробелами:

Ваш комплект LAMP установлен и настроен. Однако прежде чем вносить другие изменения или развертывать приложения, будет полезно протестировать конфигурацию PHP на наличие возможных проблем.

Шаг 4 — Тестирование обработки PHP на веб-сервере

Чтобы проверить правильность настройки системы для кода PHP, создайте простой скрипт PHP под названием info.php . Чтобы Apache мог найти этот файл и правильно его обслуживать, его нужно сохранить в специальной директории web root.

В Debian 9 эта директория находится по адресу /var/www/html/ . Для создания файла в этой директории запустите следующую команду:

В результате откроется пустой файл. Вставьте в файл следующий код PHP:

После завершения редактирования сохраните и закройте файл.

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

Вам нужен следующий адрес:

Отображаемая страница должна выглядеть примерно так:

Информация PHP по умолчанию в Debian 9

На этой странице содержится базовая информация о вашем сервере с точки зрения PHP. Эта информация полезна для отладки и обеспечения правильного применения настроек.

Если вы видите эту страницу в своем браузере, PHP работает надлежащим образом.

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

Если впоследствии вам снова потребуется эта информация, вы всегда можете воссоздать эту страницу.

Заключение

Вы установили комплект LAMP, и теперь у вас имеется множество вариантов дальнейших действий. Вы установили платформу, которая позволит вам устанавливать на ваш сервер разнообразные сайты и веб-приложения.

Стек LAMP – это группа открытых программ, которая необходима серверу для поддержки динамических сайтов и веб-приложений. Акроним LAMP расшифровывается как Linux (операционная система), Apache (веб-сервер), MariaDB (система управления базами данных) и PHP (серверный язык сценариев для обработки динамического контента).

На сервере уже установлен первый компонент – операционная система Debian, которая является дистрибутивом Linux. Этот мануал поможет установить остальные компоненты стека.

Но если вдруг вы решили сэкономить время, то мы позаботились о том, чтобы каждый смог просто заказать готовый облачный сервер VPS с WordPress на борту на нашем хостинге!

Требования

  • Сервер Debian 9.
  • Пользователь с доступом к команде sudo и базовый брандмауэр (все инструкции можно найти здесь).

1: Установка Apache и настройка брандмауэра

Apache является одним из самых популярных веб-серверов в мире. Он хорошо документирован и широко используется в Интернете почти с самого начала его существования.

Установить Apache очень просто, пакеты этого веб-сервера доступны в стандартном репозитории. Для установки используйте пакетный менеджер apt:

sudo apt update
sudo apt install apache2

Чтобы запустить команды с правами sudo, нужно предоставить пароль текущего пользователя.

Получив валидный пароль, менеджер apt сообщит, какие пакеты он собирается установить и сколько дискового пространства для этого потребуется. Нажмите Y и ENTER, чтобы продолжить.

Примечание: Далее подразумевается, что вы настроили брандмауэр UFW согласно соответствующему разделу руководства по начальной настройке сервера.

sudo ufw app list

Профили WWW управляют трафиком веб-сервера:

Available applications:
. . .
WWW
WWW Cache
WWW Full
WWW Secure
. . .

Профиль WWW Full пропускает трафик на порт 80 и 443.

sudo ufw allow in “WWW Full”

Чтобы убедиться, что теперь брандмауэр поддерживает входящий трафик на порт 80 или 443, посетите внешний IP своего сервера в браузере.

На экране должна появиться стандартная страница Apache для Debian 9:

It works!
This is the default welcome page used to test the correct operation of the Apache2 server after installation on Debian systems. …

Как узнать свой внешний IP-адрес

Существует несколько способов определить внешний IP-адрес сервера при помощи командной строки.

Во-первых, можно использовать инструменты iproute2:

ip addr show eth0 | grep inet | awk '< print $2; >' | sed 's/\/.*$//'

Команда вернёт несколько адресов, однако сервер может использовать не все эти адреса, а только один из них; проверьте каждый полученный адрес.

Также можно запросить свой адрес у третьей стороны при помощи утилиты curl.

2: Установка MariaDB

Теперь, когда веб-сервер запущен, пришло время установить MariaDB. MariaDB – это система управления базами данных. Она организует и обеспечивает доступ к базам данных, в которых сайт может хранить свою информацию.

MariaDB – это форк MySQL, разработанный сообществом. В Debian 9 сервер MySQL по умолчанию – MariaDB 10.1, а пакет mysql-server (обычно используется для установки MySQL) – это переходный пакет, который фактически установит MariaDB. Однако рекомендуется сразу установить MariaDB, используя пакет mariadb-server.

Установите его с помощью apt:

sudo apt install mariadb-server

Примечание: В данном случае обновлять индекс пакетов не нужно, потому что он был обновлён перед установкой Apache.

Менеджер снова сообщит список пакетов, которые будут установлены, и необходимое для этого дисковое пространство.

После завершения установки нужно запустить сценарий безопасности, который удалит ненадёжные параметры и защитит БД от несанкционированного доступа.

Сценарий задаст ряд вопросов. Сначала нужно указать root-пароль MariaDB. Это административная учетная запись MariaDB, которая имеет повышенные привилегии. Она очень похожа на учетную запись root самого сервера (но используется только в MariaDB). Поскольку вы только что установили MariaDB и еще не внесли никаких изменений в конфигурацию, этого пароля пока у вас нет, поэтому просто нажмите Enter.

В следующем запросе скрипт предложит настроить пароль для базы данных. Введите N и нажмите клавишу Enter. В Debian учетная запись root MariaDB тесно связана с автоматизированным обслуживанием системы, поэтому изменять стандартные методы аутентификации этой учетной записи нельзя. Иначе при обновлении пакета БД может повредиться, а доступ к учетной записи root может быть утрачен. Позже мы рассмотрим, как настроить дополнительную учетную запись администратора, если аутентификация сокетов вам не подходит.

На остальные вопросы можно нажать Y и Enter. Это удалит анонимных пользователей и тестовые базы данных, отключит удалённый root логин и обновит текущие настройки MariaDB.

В новых установках в Debian пользователь root MariaDB по умолчанию поддерживает аутентификацию с помощью плагина unix_socket, а не с помощью пароля. Это во многих случаях позволяет повысить безопасность и удобство использования, но также может усложнить работу, если вам необходимо разрешить доступ внешней программе (например, phpMyAdmin).

Поскольку сервер использует root-пользователя для таких задач, как ротация логов, запуск и остановка сервера, аутентификацию учетной записи root лучше не изменять. Изменение учетных данных в файле /etc/mysql/debian.cnf может сработать на начальном этапе, но дальнейшие обновления пакетов могут перезаписать эти изменения. Вместо этого разработчики рекомендуют создать отдельную учетную запись администратора с парольной аутентификацией.

Итак, создайте аккаунт под названием admin с теми же правами, что и у root, но с поддержкой парольной аутентификации. Для этого откройте строку MariaDB в терминале:

Теперь создайте нового пользователя с привилегиями root и поддержкой парольной аутентификации. Укажите в команде имя и пароль своего пользователя.

GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Закройте оболочку MariaDB:

Теперь, чтобы получить доступ к своей базе данных в качестве нового администратора, вам необходимо пройти аутентификацию с помощью пароля, который вы только что установили, используя команду:

mariadb -u admin -p

На данный момент СУБД настроена, и вы можете перейти к установке PHP, последнего компонента стека LAMP.

3: Установка PHP

PHP – это серверный язык сценариев для создания динамических страниц. Он позволяет запускать сценарии, подключаться к БД MariaDB и передавать обработанный контент в браузер для отображения.

PHP также можно установить с помощью менеджера apt. Чтобы установить PHP и несколько вспомогательных пакетов (для настройки взаимодействия с Apache и MariaDB), введите команду:

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

В большинстве случаев рекомендуется настроить обработку файлов веб-сервером Apache при запросе каталога. На данный момент Apache сначала обслуживает index.html. Чтобы веб-сервер обслуживал PHP-файлы первыми, нужно отредактировать файл dir.conf:

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

Файл выглядит так:

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

Как видите, файлы index.php находятся в конце строки, а значит, веб-сервер будет обслуживать их в последнюю очередь. Переместите index.php в начало строки DirectoryIndex:

<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:

Функционал PHP можно расширить при помощи модулей. Чтобы просмотреть список доступных модулей и библиотек PHP, используйте следующую команду:

apt search php- | less

Для навигации используйте кнопки со стрелками; чтобы закрыть список, нажмите q.

На экране появится список опциональных компонентов с кратким описанием каждого из них:

Sorting.
Full Text Search.
bandwidthd-pgsql/stable 2.0.1+cvs20090917-10 amd64
Tracks usage of TCP/IP and builds html files with graphs
bluefish/stable 2.2.9-1+b1 amd64
advanced Gtk+ text editor for web and software development
cacti/stable 0.8.8h+ds1-10 all
web interface for graphing of monitoring systems
cakephp-scripts/stable 2.8.5-1 all
rapid application development framework for PHP (scripts)
ganglia-webfrontend/stable 3.6.1-3 all
cluster monitoring toolkit - web front-end
haserl/stable 0.9.35-2+b1 amd64
CGI scripting program for embedded environments
kdevelop-php-docs/stable 5.0.3-1 all
transitional package for kdevelop-php
kdevelop-php-docs-l10n/stable 5.0.3-1 all
transitional package for kdevelop-php-l10n

:

Чтобы получить подробную информацию о модуле, используйте:

apt show package_name

Данная команда вернёт объёмный вывод, включая поле Description, в котором содержится подробное объяснение работы запрашиваемого модуля.

К примеру, можно узнать больше о модуле php-cli:

apt show 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 Debian's default
PHP version (currently 7.0).

Чтобы установить выбранный модуль, используйте команду apt install, указав имя модуля. Например, чтобы установить php-cli, нужно ввести:

sudo apt install php-cli

Чтобы установить несколько модулей с помощью одной команды, просто перечислите имена необходимых модулей через пробел.

sudo apt install package1 package2 .

4: Тестирование стека LAMP

Сейчас нужно убедиться в том, что веб-сервер взаимодействует с PHP. Для этого нужно создать простой сценарий PHP, info.php. Чтобы веб-сервер Apache мог найти этот файл, его нужно поместить в root-каталог веб-сервера (в Debian это /var/www/html/).

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

На экране появится пустой файл. Поместите в него такой код:

Сохраните и закройте файл.

Теперь попробуйте открыть его в браузере:

На экране появится веб-страница, содержащая информацию о сервере. Если такая страница появилась, веб-сервер обслуживает файлы PHP.

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

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

Заключение

Теперь на сервере Ubuntu 18.04 установлен программный стек LAMP – надёжная и гибкая платформа для развёртывания сайта или приложения.

Читайте также: