
Добрый день всем, кто оказался на данном сайте. Я когда то писал как установить стек 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
Спасибо за полезные статьи, благодаря вашему сайту вернулся с манжары на минт и узнал также о новом ядре xanmod 🙂
Я как веб разработчик для разработки и тестов предпочитаю ставить xampp, так проще контролировать версии php и если надо, переустанавливать и обновлять 🙂
P.S. И хорошо что обновили сайт и добавили комментарии 🙂
Рад что принес вам пользы)))