Устанавливаем стек LAMP в Ubuntu 20.04 и Debian 10

Добрый день всем, кто оказался на данном сайте. Я когда то писал как установить стек LAMP (Linux Apache MySQL PHP) в Debian / Ubuntu. Но, с тех пор прошло не мало времени и некоторые нюансы немного изменились. Так сказать пришло время обновить данный гайд. Данный стек используется в первую очередь для создания серверов для сайта. Но, так же может использоваться и для других целей. И так, от слов к делу, что нам для этого понадобится? Сервер под управлением Linux, это может быть как Debian, так и Ubuntu. А так же необходим полный доступ к данному серверу.

Установка LAMP на сервер

И так, переходим к установке всех необходимых пакетов. Устанавливать мы будем вместо MYSQL MariaDB, благо, она имеется в репозиториях обоих дистрибутивов. Переходим в терминал и устанавливаем необходимые пакеты данной командой:

sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql

Данный список пакетов можно продолжить, все зависит от ваших нужд:

После установки пакетов, можно проверить работоспособность стека “LAMP” введя в браузере IP адрес сервера. IP адрес можно узнать набрав команду в терминале:

ip a

В результате в браузере вы должны увидеть стартовую страницу “apache2”:

Теперь давайте настроим Mariadb, для этого запускаем скрипт настройки безопасности введя команду:

sudo mysql_secure_installation

Данный скрипт задаст вам несколько вопросов, первый из которых запросит пароль root пользователя. Так как мы запускаем скрипт впервые, пароль у нас отсутствует. По этому просто нажимаем “Enter”:

Далее скрипт попросит задать пароль для “root” пользователя, вписываем букву “y” затем нажимаем “Enter”. После чего придумываем надежный пароль и вписываем его:

При этом вводимый пароль отображаться не будет. После чего нажимаем “Enter”, затем подтверждаем пароль введя его еще раз. Далее отвечаем на вопросы, вводя да- y или нет-n, на данном этапе задерживаться не будем. Обычно я просто нажимаем “Enter” и все, так как меня все устраивает по умолчанию :

Создаем пользователя в Mariadb

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

sudo mariadb

Как вы могли заметить, вы подключились не вводя пароль, это потому что в Mariadb используется по умолчанию MariaDB — unix_socket:

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

CREATE DATABASE test;

Где “test” это название создаваемой базы данных, вы можете задать свое название. Теперь создадим нового пользователя и дадим ему права на только что созданную базу данных.

GRANT ALL ON test.* TO 'cyber-x'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Значения “test” – название базы данных, вы меняете на свое, которое указывали при создание базы данных. Далее следует “cyber-x“, это имя нового пользователя, вы же указываете свое имя пользователя. После чего идет “password“, тут вы вписываете пароль для нового пользователя:

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

FLUSH PRIVILEGES;
exit

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

mariadb -u cyber-x -p

Где “cyber-x” это имя пользователя, которого создавали чуть выше, водите пароль и вы должны без проблем подключиться к mariadb. Теперь посмотрим какие базы данных у нас имеются, для этого вводим команду:

SHOW DATABASES;

Конфигурируем Apache2

Как вы можете заметить, у нас имеется база данных “test” и мы спокойно подключились к Mariadb, значит все нормально. Теперь можно продолжать, давайте немного подредактируем “apache2” и зададим ему обработку файлов “index.php” в первую очередь. Для этого вводим команду:

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

Нам нужно в данном конфигурационном файле изменить расположение обработки файлов, так как “index.html” находится первым, “apache2” будет обслуживать его в первую очередь. А нам нужно что бы сначала обрабатывался “index.php”, для этого вначале списка вписываем “index.php”, а затем удаляем старую запись в конце списка, что бы не возникало ошибок:

После чего сохраняем отредактированный файл и выходим “Ctrl + o и Ctrl + x”. Как пользоваться текстовым редактором “nano”, читайте в этой статье. После чего перезапустите “apache2” введя команду:

sudo systemctl reload apache2

Создаем виртуальный хост

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

sudo mkdir -p /var/www/test/public_html 

Где “test” вы меняете на название своего каталога. Возможно, вам придется создавать каждый каталог по отдельности, то есть, имеется ввиду каталоги “test/public_html “. Затем зададим права на созданные каталоги, для этого вводим команду:

sudo chown -R $USER:$USER /var/www/test/public_html

Не забудьте заменить имя каталога “test” на свое:

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

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

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

 sudo nano /etc/apache2/sites-available/test.conf  

Не забудьте заменить “test” на название своего конфигурационного файла. Первым делом вписываем название нашего сайта, я назову его соответственно – “test”. Поясню, ServerName – ваше доменное имя, а ServerAlias – ваше доменное имя но с www:

ServerName test.ru
ServerAlias www.test.ru

В разделе “DocumentRoot” прописываем путь до наших созданных каталогов, в данном случае это:

DocumentRoot /var/www/test/public_html

После чего можно сохранять отредактированный файл и выходить “Ctrl + o и Ctrl + x”. Теперь включим созданный хост и выключим который используется по умолчанию:

sudo a2ensite test.conf 

sudo a2dissite 000-default.conf 

После чего перезапустим apache2 введя команды:

sudo systemctl restart apache2
sudo service apache2 restart 

Так же вы можете проверить конфигурационный файл на ошибки, выполнив команду:

sudo apache2ctl configtest

Если все нормально и ошибок нет, то вы увидите примерно следующий вывод команды:

Теперь отредактируем файл “hosts”, и впишем туда свое доменное имя. Для этого откроем его редактором “nano”:

sudo nano /etc/hosts 
127.0.0.1 test.ru

Как вы можете увидеть, ошибок нет, об этом говорит вывод “Syntax OK”. И теперь последний шаг, давайте протестируем работоспособность нашего сервера. Для этого создадим файл “phpinfo.php”, не забудьте поменять название “test” на свое:

sudo nano /var/www/test/public_html/phpinfo.php

И вписываем в открывшемся файле следующую строчку:

<?php phpinfo(); ?>

Заключение

После чего в браузере пишем название свое доменное имя, или же можно “ip” адрес, либо “localhost”, в результате вы должный увидеть вывод информации php:

Теперь можно закидывать например тот же wordpress и устанавливать его на ваш только что созданный веб север. При необходимости можно установить необходимые те же php пакеты. После чего данный сервер нужно еще настроить правильно для того что бы он нормально функционировал. Как это сделать, читайте в этой статье.

А на этом сегодня все. Надеюсь данная статья будет вам полезна.
С уважением Cyber-X

2 комментария к «Устанавливаем стек LAMP в Ubuntu 20.04 и Debian 10»

  1. Спасибо за полезные статьи, благодаря вашему сайту вернулся с манжары на минт и узнал также о новом ядре xanmod 🙂

    Я как веб разработчик для разработки и тестов предпочитаю ставить xampp, так проще контролировать версии php и если надо, переустанавливать и обновлять 🙂

    P.S. И хорошо что обновили сайт и добавили комментарии 🙂

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *