Как установить веб-сервер (Apache, PHP, MySQL, phpMyAdmin) на Linux Mint, Ubuntu и Debian
Alexey 16.03.2021
Если вы веб-мастер, или программист на PHP, или вам просто нужно запустить веб-сайт на вашем компьютере, то вы можете это сделать с помощью веб-сервера. На Linux веб-сервер (Apache), а также сопутствующие компоненты (PHP, MySQL, phpMyAdmin) устанавливаются буквально в несколько команд.
В этой инструкции будет показано, как установить веб-сервер для сайтов на Linux Mint, Ubuntu и Debian.
Установка Apache, PHP, MySQL, phpMyAdmin на Linux Mint, Ubuntu и Debian
Большинство операций мы будет делать в командной строке – терминале Linux.
Откройте терминал и выполните в нём следующие две команды:
1
2
sudo apt update
sudo apt install apache2 default-mysql-server php phpmyadmin
Ответьте «Нет» на запрос о настройки с dbconfig-common:
Для перехода между пунктами используйте клавишу Tab, а для нажатия Enter.
Выберите «apache2».
Для выбора пунктов используйте клавишу Пробел, для перехода между пунктами используйте клавишу Tab, а для нажатия Enter.
Вот и всё! Веб-сервер (связка Apache, PHP, MySQL, phpMyAdmin) установлен и готов к работе. Откройте в браузере ссылку http://localhost/
Вы увидите стандартную страницу Apache:
А phpMyAdmin доступен по ссылке http://localhost/phpmyadmin/
Чтобы веб-сервер запускался вместе с каждым включением компьютера, выполните команду:
1
2
sudo systemctl enable apache2
sudo systemctl enable mysql
Как поменять URL адрес phpMyAdmin. Как включить и отключить phpMyAdmin
Если при установке phpMyAdmin вы выбрали не настраивать его для использованием с веб-сервером Apache, то для включения phpMyAdmin используйте команду:
1
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-enabled/
Чтобы изменения вступили в силу, перезагрузите веб-сервер:
1
sudo systemctl restart apache2
Чтобы отключить phpMyAdmin, используйте команду:
sudo rm /etc/apache2/conf-enabled/phpmyadmin.conf
Чтобы изменения вступили в силу, перезагрузите веб-сервер:
1
sudo systemctl restart apache2
В файле /etc/phpmyadmin/apache.conf есть важная строка:
Alias /phpmyadmin /usr/share/phpmyadmin
Суть её в том, что URL адресу /phpmyadmin (например, http://localhost/phpmyadmin) начинает соответствовать папка /usr/share/phpmyadmin. То есть файлы (скрипты) phpMyAdmin физически расположены в /usr/share/phpmyadmin, а не в директории веб-сервера (например, /var/www/html/).
Подробности о директиве Alias вы можете почитать в статье «Модуль Apache mod_alias».
Многие автоматические сканеры «скрытых» файлов и папок веб-сервера и сайтов обязательно проверяют директории «phpmyadmin», «pma» и другие подобные. Вы можете хорошо спрятать ваш phpMyAdmin изменив Alias. Например:
Alias /lkjgler94345 /usr/share/phpmyadmin
Чтобы изменения вступили в силу, перезапустите веб-сервер. Теперь phpMyAdmin станет доступен по адресу http://localhost/lkjgler94345 - такое найти непросто.
Настройка phpMyAdmin
По умолчанию phpMyAdmin не позволяет входить без пароля. Если вы не установили пароль для СУБД MySQL, то у вас на выбор две опции:
Рекомендуется задать пароль для базы данных. Для изменения пароля можно воспользоваться скриптом:
1
sudo mysql_secure_installation
Если вам нужно подробное описание и перевод всех шагов, то смотрите его в этой статье.
Если вы хотите разрешить входить в phpMyAdmin без пароля, то откройте файл
1
sudo gedit /etc/phpmyadmin/config.inc.php
Найдите вторую (их там две) строку
1
// $cfg['Servers'][$i]['AllowNoPassword'] = TRUE;
и раскомментируйте её (уберите два слеша из начала строки), чтобы получилось:
1
$cfg['Servers'][$i]['AllowNoPassword'] = TRUE;
Скорее всего, при подключении вас ждёт сюрприз в виде ошибки «#1698 - Access denied for user 'root'@'localhost'». Пошаговые действия для её решения в этой инструкции.
Где в веб-сервере Apache находятся сайты?
По умолчанию корневой папкой для веб-документов является /var/www/html. В /var/www вы можете делать ваши собственные виртуальные хосты.
Папка /var/www/html и все файлы внутри неё принадлежат пользователю рут.
Чтобы вы могли изменять, добавлять, удалять файлы в этой папке, вам нужно использовать sudo. Например, следующей командой вы откроете файловый менеджер для управления содержимым папки.
1
sudo nemo /var/www/html
Все другие программы, которые вносят изменения в /var/www/html, также должны быть запущенными с sudo
На локальном сервере для упрощения использования вы можете сделать себя владельцем этой папки:
1
sudo chown -R $USER:$USER /var/www/html
Теперь вам и запущенным от вашего имени программам не нужны привилегии суперпользователя для работы с содержимым этой директории:
1
nemo /var/www/html
Индексные файлы Apache
Если пользователь запрашивает у веб-сервера не файл, и директорию, то сервер ищет в ней файлы index.html, index.php, index.htm и т.п. Если эти файлы есть в этой директории, то показывается их содержимое. Эти файлы называются индексными. Если в директории сразу два или более таких файлов, то показывается один из них в соответствии с установленным приоритетом.
Посмотреть, какие файлы для вашего сервера являются индексными и в каком порядке выстроен их приоритет вы можете в файле
1
sudo gedit /etc/apache2/mods-enabled/dir.conf
Там вы увидите что-то вроде:
1
2
3
<IfModule mod_dir.c>
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>
Обычно пользователи хотят переместить индексный файл PHP (index.php) в первую позицию после DirectoryIndex, чтобы получилось примерно так:
1
2
3
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>
После внесения изменений, сохраните и закройте файл, перезапустите веб-сервер.
Заключение
В этой инструкции было показано, как установить веб-сервер Apache на свой компьютер с Linux Mint. По своей функциональность этот сервер не отличается от возможностей хостингов. Вы можете на нём тестировать свои сайты, использовать при изучении PHP, установить WordPress и т.д. Более того, этот сервер можно сделать доступным для локальной или даже глобальной сети.