Дистрибутив 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/:
Если домен зарегистрирован в интернете и все запросы к нему направляются на ваш ip то уже можно открыть сайт в браузере. Если же нет, вы можете настроить маршрут для домена локально с помощью файла /etc/hosts:
sudo vi /etc/hosts
Теперь можете открывать сайт в браузере и проверять:
Если вы увидели информацию о версии php, как на снимке экрана, значит все работает и нам осталось только настроить базу данных.
3. Настройка базы данных
Как я уже говорил, в качестве основной базы данных мы будем использовать mariadb. Чтобы начать ее настройку выполните:
mysql_secure_installation
Я не буду подробно описывать все шаги настройки. Они уже описаны в статье установка MySQL в Ubuntu. После того как процесс первоначальной настройки завершится, создадим новую базу данных:
sudo mysql -u root -p
Далее, для создания базы выполните:
Затем создайте пользователя и дайте ему доступ к этой базе данных:
Ну и для тестирования добавим таблицу:
Теперь добавим одну запись в только что созданную таблицу:
Теперь, чтобы убедиться что все работает, мы попытаемся получить данные из 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.