zaLinux.ru

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


Если вы веб-мастер, или программист на PHP, или вам просто нужно запустить веб-сайт на вашем компьютере, то вы можете это сделать с помощью веб-сервера. На Linux веб-сервер (Apache), а также сопутствующие компоненты (PHP, MySQL, phpMyAdmin) устанавливаются буквально в несколько команд.

В этой инструкции будет показано, как установить веб-сервер для сайтов на Linux Mint, Ubuntu и Debian.

Установка Apache, PHP, MySQL, phpMyAdmin на Linux Mint, Ubuntu и Debian

Большинство операций мы будет делать в командной строке – терминале Linux.

Откройте терминал и выполните в нём следующие две команды:

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/

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

sudo systemctl enable apache2
sudo systemctl enable mysql

Как поменять URL адрес phpMyAdmin. Как включить и отключить phpMyAdmin

Если при установке phpMyAdmin вы выбрали не настраивать его для использованием с веб-сервером Apache, то для включения phpMyAdmin используйте команду:

sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-enabled/

Чтобы изменения вступили в силу, перезагрузите веб-сервер:

sudo systemctl restart apache2

Чтобы отключить phpMyAdmin, используйте команду:

sudo rm /etc/apache2/conf-enabled/phpmyadmin.conf

Чтобы изменения вступили в силу, перезагрузите веб-сервер:


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, чтобы он разрешал вход без пароля

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

sudo mysql_secure_installation

Если вам нужно подробное описание и перевод всех шагов, то смотрите его в этой статье.

Если вы хотите разрешить входить в phpMyAdmin без пароля, то откройте файл

sudo gedit /etc/phpmyadmin/config.inc.php

Найдите вторую (их там две) строку


// $cfg['Servers'][$i]['AllowNoPassword'] = TRUE;

и раскомментируйте её (уберите два слеша из начала строки), чтобы получилось:

$cfg['Servers'][$i]['AllowNoPassword'] = TRUE;

Скорее всего, при подключении вас ждёт сюрприз в виде ошибки «#1698 - Access denied for user 'root'@'localhost'». Пошаговые действия для её решения в этой инструкции.

Где в веб-сервере Apache находятся сайты?

По умолчанию корневой папкой для веб-документов является /var/www/html. В /var/www вы можете делать ваши собственные виртуальные хосты.

Папка /var/www/html и все файлы внутри неё принадлежат пользователю рут.

Чтобы вы могли изменять, добавлять, удалять файлы в этой папке, вам нужно использовать sudo. Например, следующей командой вы откроете файловый менеджер для управления содержимым папки.

sudo nemo /var/www/html

Все другие программы, которые вносят изменения в /var/www/html, также должны быть запущенными с sudo

На локальном сервере для упрощения использования вы можете сделать себя владельцем этой папки:

sudo chown -R $USER:$USER /var/www/html

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

nemo /var/www/html

Индексные файлы Apache

Если пользователь запрашивает у веб-сервера не файл, и директорию, то сервер ищет в ней файлы index.html, index.php, index.htm и т.п. Если эти файлы есть в этой директории, то показывается их содержимое. Эти файлы называются индексными. Если в директории сразу два или более таких файлов, то показывается один из них в соответствии с установленным приоритетом.

Посмотреть, какие файлы для вашего сервера являются индексными и в каком порядке выстроен их приоритет вы можете в файле

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

Там вы увидите что-то вроде:

<IfModule mod_dir.c>
    DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

Обычно пользователи хотят переместить индексный файл PHP (index.php) в первую позицию после DirectoryIndex, чтобы получилось примерно так:

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

После внесения изменений, сохраните и закройте файл, перезапустите веб-сервер.

Заключение

В этой инструкции было показано, как установить веб-сервер Apache на свой компьютер с Linux Mint. По своей функциональность этот сервер не отличается от возможностей хостингов. Вы можете на нём тестировать свои сайты, использовать при изучении PHP, установить WordPress и т.д. Более того, этот сервер можно сделать доступным для локальной или даже глобальной сети.


Рекомендуемые статьи:

10 Комментарии

  1. topboy84

    Спасибо!

  2. Baron

    Огромное спасибо! Коротко и все по делу.

  3. Alex

    Огромное tnx

  4. Дмитрий

    Что делать, если ПЫХ не обрабатывается, а выводится как есть текстом. Например, phpmyadmin просто содержимое скрипта вываливается.
    В index.php все место а также игнорируются

    1. Alexey (Автор записи)

      Устанавливали по этой инструкции?

  5. Дмитрий

    Сначала отдельно через менеджер программ php и apache. Затем поверх по этой инструкции

  6. Дмитрий

    Выше в коменте теги порезались. Места между открытием и закрытием php скрипта игнорируются

  7. Boo

    Почему в строке установки два раза указан php-mysql?

    1. Alexey (Автор записи)

      Это опечатка. Поправил — спасибо, что обратили внимание.

  8. Alexey (Автор записи)

    Инструкция проверена и исправлена — теперь всё снова работает в последних версиях Linux Mint.

Добавить комментарий для topboy84 Отменить ответ

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