Из этой инструкции вы узнаете, как установить phpmyadmin Debian 10 с Apache, MariaDB, PHP (стек LAMP). phpMyAdmin - это бесплатный веб-инструмент для управления базами данных с открытым исходным кодом, написанный на PHP. Он предоставляет удобный интерфейс, для управления базой данных MySQL или MariaDB.
Также мы узнаем, как включить базовую аутентификацию веб сервера для phpMyAdmin. Для начала, вам потребуется ОС Debian 10, работающая на вашем локальном компьютере или на удаленном сервере.
Содержание статьи
Установка phpmyadmin в Debian 10
Предполагаю, что вы уже установили стек LAMP в Debian. Если нет, ознакомьтесь с соответствующей инструкцией.
Обратите внимание, что вам нужно иметь права root при установке программного обеспечения в Debian. Вы можете добавить sudo в начале команды или использовать команду su - для переключения на пользователя root. С этим разобрались, теперь давайте начнем установку phpMyAdmin.
Шаг 1: Загрузите phpMyAdmin
PhpMyAdmin не включен в репозиторий программного обеспечения Debian 10, поэтому мы должны загрузить его с phpmyadmin.net с помощью следующей команды.
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.0.1/phpMyAdmin-4.9.0.1-all-languages.zip
Подсказка: Вы всегда можете использовать вышеуказанный формат URL для загрузки последней стабильной версии phpMyAdmin. Просто замените 4.9.0.1 на номер последней версии.
И извлеките его:
sudo apt install unzip
unzip phpMyAdmin-4.9.0.1-all-languages.zip
Переместите phpMyadmin 4.9 в каталог /usr/share/:
sudo mv phpMyAdmin-4.9.0.1-all-languages /usr/share/phpmyadmin
Затем сделайте пользователя веб-сервера (www-data) владельцем этой директории.
sudo chown -R www-data:www-data /usr/share/phpmyadmin
Шаг 2: Создайте базу данных и пользователя
Теперь нам нужно войти в консоль MariaDB и создать базу данных и пользователя для phpMyAdmin. По умолчанию пакет MariaDB в Debian использует unix_socket для аутентификации входа пользователя, что в основном означает, что вы можете использовать имя пользователя и пароль ОС для входа в консоль MariaDB. Таким образом, вы можете выполнить следующую команду для входа без предоставления пароля root для MariaDB.
sudo mysql -u root
Затем создайте новую базу данных для phpMyAdmin, используя следующую команду SQL. Мы называем его phpmyadmin, вы можете использовать любое имя для базы данных.
Следующая команда SQL создаст пользователя базы данных phpmyadmin и установит пароль, и в то же время предоставит все разрешения новой базы данных новому пользователю, чтобы позже phpMyAdmin мог выполнять запись в базу данных. Замените текст, выделенный красным, на ваш пароль.
Обновите таблицу привилегий и выйдите из консоли MariaDB.
Шаг 3: Установите модули PHP
Выполните следующую команду, чтобы установить модули PHP, необходимые или рекомендованные phpMyAdmin:
sudo apt install php-imagick php-phpseclib php-php-gettext php7.3-common php7.3-gd php7.3-imap php7.3-json php7.3-curl php7.3-zip php7.3-xml php7.3-mbstring php7.3-bz2 php7.3-intl php7.3-gmp
Затем перезапустите Apache:
sudo systemctl restart apache2
Шаг 4. Настройка Apache
Если вы хотите получить доступ к веб-интерфейсу phpMyAdmin из подкаталога, создайте фрагмент конфигурации с помощью следующей команды.
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Вставьте следующий текст в файл:
Сохраните и закройте файл. Затем включите этот фрагмент конфигурации:
sudo a2enconf phpmyadmin.conf
Нам также нужно создать временную папку phpMyAdmin:
sudo mkdir -p /var/lib/phpmyadmin/tmp
sudo chown www-data:www-data /var/lib/phpmyadmin/tmp
Перезагрузите Apache, чтобы изменения вступили в силу:
sudo systemctl reload apache2
Теперь вы можете получить доступ к веб-интерфейсу phpMyAdmin по адресу:
Если phpMyAdmin установлен на вашем локальном компьютере Debian, вы можете получить доступ к веб-интерфейсу phpMyAdmin, введя следующий текст в адресной строке браузера:
Если соединение отклонено или не удалось установить, возможно, существует межсетевой экран, предотвращающий запросы HTTP. Если вы используете брандмауэр iptables, вам нужно выполнить следующую команду, чтобы открыть TCP-порты 80 и 443.
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT
Если вы используете брандмауэр UFW, выполните эту команду, чтобы открыть порты TCP 80 и 443:
sudo ufw allow http
sudo ufw allow https
Шаг 5: Запустите скрипт установки
Введите следующее в адресной строке браузера:
Или же:
Нажмите кнопку Новый сервер, чтобы настроить сервер. Далее просто нажмите на кнопку Apply. Затем нажмите кнопку Display, чтобы отобразить файл конфигурации.
В каталоге /usr/share/phpmyadmin/ создайте файл config.inc.php:
Скопируйте содержимое файла config.inc.php со страницы установки phpMyAdmin и вставьте его в файл /usr/share/phpmyadmin/config.inc.php.
Шаг 6: Создайте администратора
Теперь, если вы попытаетесь войти в phpMyAdmin с учетной записью root MariaDB, вы можете увидеть следующую ошибку.
А также:
Если вы войдете в систему с пользователем phpmyadmin, вы не увидите вышеупомянутую ошибку. Однако пользователь phpmyadmin может использоваться только для управления базой данных phpmyadmin. Причиной ошибки является то, что по умолчанию пользователь root MariaDB проходит проверку подлинности с помощью плагина unix_socket, а не с помощью плагина mysql_native_password. Чтобы решить эту проблему, мы можем создать другого пользователя-администратора и предоставить все привилегии новому пользователю-администратору.
Войдите на сервер MariaDB из командной строки.
sudo mysql -u root
Создайте пользователя-администратора с парольной аутентификацией.
Предоставьте все привилегии для всех баз данных.
Сбросьте привилегии и выйдите;
Теперь вы можете войти в phpMyAmin с учетной записью администратора и управлять всеми базами данных.
Шаг 7: Настройте хранилище настроек
Теперь в панели управления phpMyAdmin вы можете увидеть предупреждающее сообщение.
Нажмите на ссылку Find out why. Затем нажмите Create, чтобы создать таблицы в базе данных phpmyadmin.
Шаг 8: Ограничение доступа к каталогу /setup
Чтобы ограничить доступ к каталогу /setup, мы можем включить базовую аутентификацию по паролю с веб-сервером Apache. Выполните следующую команду, чтобы установить пароль для пользователя admin. Файл /etc/apache2/htpasswd используется для хранения имен пользователей и паролей.
sudo htpasswd -c /etc/apache2/htpasswd admin
Затем отредактируйте файл конфигурации Apache для phpMyAdmin
sudo vi /etc/apache2/sites-available/phpmyadmin-le-ssl.conf
Добавьте следующие строки.
Сохраните и закройте файл. Затем перезагрузите Apache, чтобы изменения вступили в силу:
sudo systemctl reload apache2
Если вы снова откроете скрипт установки phpMyAdmin, вам будет предложено ввести имя пользователя и пароль. Аналогично можно защитить phpMyAdmin полностью, надо только немного исправить путь.
Выводы
В этой статье мы разобрали как выполняется установка Phpmyadmin Debian 10 Buster вручную. Эту же инструкцию вы можете использовать и для других дистрибутивов.
После этой установки, или настройки не стал запускаться Apache2, пришлось удалить phpmyadmin.conf - ошибка пропала и сервер запустился.
Такая же фигня. Не запускается апач. ошибка.
Дeмал может это: .../usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:...
Заменил в 3 трех местах кажется: .../usr/share/php/php-php-gettext/:/usr/share/php/php-php-gettext/:...
не помогло........
однако накосячил лостру
А можно просто взять adminer, состоящий из одного файла и закинуть в любую папку.
В данном мануале в phpmyadmin.conf - ошибка, обрезана часть текста конфига. Поэтому apache2 после его создания и не перезапускается.
В конфиге действительно ошибка в виде лишних строк вида и , а так-же пропущенных пробелов
вот рабочий конфиг:
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
AddType application/x-httpd-php .php
pen_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/phpse$
php_admin_value mbstring.func_overload 0
# Disallow web access to directories that don't need it
Require all denied
Require all denied
Require all denied
SetHandler application/x-httpd-php
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/$
php_admin_value mbstring.func_overload 0
#
#
#
AddType application/x-httpd-php .php
SetHandler application/x-httpd-php
pen_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/php$
php_admin_value mbstring.func_overload 0
#
#
#
# Disallow web access to directories that don't need it
Require all denied
Require all denied
Require all denied
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/:/usr/share/php/tcpdf/:/usr/share/doc/phpmyadmin/:/usr/share/php/$
php_admin_value mbstring.func_overload 0
#
#
#
#
# Disallow web access to directories that don't need it
#
Require all denied
Require all denied
Require all denied
а так-же ошибка в команде установки привилегий пользователю админ. должно быть так:
GRANT ALL PRIVILEGES ON *.* TO admin@localhost WITH GRANT OPTION;
опять какой то обрезанный конфиг...
$ в конце строки
берите конфиг с оригинала https://www.linuxbabe.com/debian/install-phpmyadmin-apache-lamp-debian-10-buster
Cпасибо ОЛЕГ!!!!!!!!
Если кому-то лень скачивать phpmyadmin, а потом также постоянно обновлять его, то можно подключить oldstable репозиторий, а именно stretch (это репозиторий от debian 9).
Инструкция:
Для редактирования списка репозиториев - `sudo nano /etc/apt/sources.list`.
Дописываем в файле, после сохраняем и закрываем:
deb http://deb.debian.org/debian/ stretch main contrib non-free
deb-src http://deb.debian.org/debian/ stretch main contrib non-free
Далее - `sudo apt-get update`.
Устанавливаем - sudo apt-get install phpmyadmin.
Подкидываем конфиг:
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
Включаем конфиги - sudo a2enconf phpmyadmin
Перезагружаем сервер - sudo systemctl reload apache2
В этом варианте вы получите более старую версию, чем скачаете с оф. сайта, например у меня это 4.6.6deb4, но зато не нужно будет парится с обновлениями безопасности, т.к. как репозиторий stretch хоть и имеет статус oldstable, но он все ровно поддерживается.
Надеюсь, что этот вариант кому-нибудь поможет.
Спасибо дружище! Всю ночь промучался. Падлы разрабы не могут адекватный мануал написать. по их мануалу всё похерил. Везде одни тупые неадекватные дебилы и дегенераты! Спасибо друг - заработало. Хоть один человек при мозгах на весь интернет
а у дураков, так всегда.
Я очень рад, что вам помог мой комментарий. Но, все же, я призываю вас держать себя в руках и соблюдать приличие.
MrSwylet, после выполнения указанных вами действий - по адресу /phpmyadmin открывается пустая страница
Если вы разобрались с проблемой, то не могли бы вы поделится с сообществом тем, что именно было ни так.
все встало спасибо, вопрос не сюда, но - например нужно вывести список таблиц базы:
$mydb = "qwe";
$link = mysqli_connect($servername, $username, $password)
or die("Ошибка 2" . mysqli_error($link));
$result = mysqli_query("SHOW TABLES $mydb");
while($table = mysqli_fetch_array($result)) {
echo($table[0] . "");
}
второй день колочу ватрушку - пол интернета изрыл - нулевой результат.
и права все перепробовал, и... уже всяко - белый лист в браузере. что не так? софт точно рабочий ?
> SHOW TABLES $mydb
Мне кажется так работать не будет. Сначала надо выбрать базу данных с помощью USE $mydb, а потом посмотреть её таблицы с помощью SHOW TABLES. Если база данных не пуста, а запрос содержит ошибку, программа должна вывести её на экран, попробуйте включить отображение ошибок.
По этой статье не рекомендую ставить !