LAMP на 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. Установите для них правильные значения:
ServerName test-site.com
DocumentRoot /var/www/test-site/
Все остальное можно оставить по умолчанию. Дальше сохраните изменения и активируйте сайт командой:
sudo a2ensite test-site.conf
Теперь осталось перезапустить Apache:
Чтобы проверить как все работает создайте файл index.php со следующим содержимым в папке /var/www/test-site/:
<?php phpinfo() ?>
Если домен зарегистрирован в интернете и все запросы к нему направляются на ваш ip то уже можно открыть сайт в браузере. Если же нет, вы можете настроить маршрут для домена локально с помощью файла /etc/hosts:
sudo vi /etc/hosts
127.0.0.1 test-site.com
Теперь можете открывать сайт в браузере и проверять:
Если вы увидели информацию о версии php, как на снимке экрана, значит все работает и нам осталось только настроить базу данных.
3. НАСТРОЙКА БАЗЫ ДАННЫХ
Как я уже говорил, в качестве основной базы данных мы будем использовать mariadb. Чтобы начать ее настройку выполните:
mysql_secure_installation
Я не буду подробно описывать все шаги настройки. Они уже описаны в статье установка 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
<?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.
Взято отсюда