Как установить веб-сервер (Apache, PHP, MySQL, phpMyAdmin) на Linux Mint, Ubuntu и Debian

 

ZaLinux.ruг

Как установить веб-сервер (Apache, PHP, MySQL, phpMyAdmin) на Linux Mint, Ubuntu и Debian

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, то у вас на выбор две опции:

  • установить пароль
  • внести изменения в настройку phpMyAdmin, чтобы он разрешал вход без пароля

Рекомендуется задать пароль для базы данных. Для изменения пароля можно воспользоваться скриптом:

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 и т.д. Более того, этот сервер можно сделать доступным для локальной или даже глобальной сети.