Из этой инструкции вы узнаете, как установить 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 с помощью следующей команды.

Подсказка: Вы всегда можете использовать вышеуказанный формат URL для загрузки последней стабильной версии phpMyAdmin. Просто замените 4.9.0.1 на номер последней версии.

И извлеките его:

sudo apt install unzip

Переместите 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, вы можете использовать любое имя для базы данных.

CREATE DATABASE phpmyadmin DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Следующая команда SQL создаст пользователя базы данных phpmyadmin и установит пароль, и в то же время предоставит все разрешения новой базы данных новому пользователю, чтобы позже phpMyAdmin мог выполнять запись в базу данных. Замените текст, выделенный красным, на ваш пароль.

GRANT ALL ON phpmyadmin.* TO ‘phpmyadmin’@’localhost’ IDENTIFIED BY ‘vash_parol’;

Обновите таблицу привилегий и выйдите из консоли MariaDB.

FLUSH PRIVILEGES;
EXIT;

Шаг 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

Вставьте следующий текст в файл:

# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
<IfModule mod_php5.c>
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
</IfModule>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/phpseclib/
php_admin_value mbstring.func_overload 0
</IfModule>
</Directory>
# Disallow web access to directories that don’t need it
<Directory /usr/share/phpmyadmin/templates>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
Require all denied
</Directory>
<FilesMatch “.+\.php$”>
SetHandler application/x-httpd-php
</FilesMatch>
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/phpseclib/
php_admin_value mbstring.func_overload 0
</IfModule>
<IfModule mod_php.c>
<IfModule mod_mime.c>
AddType application/x-httpd-php .php
</IfModule>
<FilesMatch “.+\.php$”>
SetHandler application/x-httpd-php
</FilesMatch>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/phpseclib/
php_admin_value mbstring.func_overload 0
</IfModule>
</Directory>
# Disallow web access to directories that don’t need it
<Directory /usr/share/phpmyadmin/templates>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
Require all denied
</Directory>
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/phpseclib/
php_admin_value mbstring.func_overload 0
</IfModule>
</Directory>
# Disallow web access to directories that don’t need it
<Directory /usr/share/phpmyadmin/templates>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/libraries>
Require all denied
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
Require all denied
</Directory>

Сохраните и закройте файл. Затем включите этот фрагмент конфигурации:

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, введя следующий текст в адресной строке браузера:

Установка phpmyadmin в Debian 10

Если соединение отклонено или не удалось установить, возможно, существует межсетевой экран, предотвращающий запросы 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: Запустите скрипт установки

Введите следующее в адресной строке браузера:

Установка phpmyadmin в Debian 10

Нажмите кнопку Новый сервер, чтобы настроить сервер. Далее просто нажмите на кнопку Apply. Затем нажмите кнопку Display, чтобы отобразить файл конфигурации.

Установка phpmyadmin в Debian 10

В каталоге /usr/share/phpmyadmin/ создайте файл config.inc.php:

sudo vi /usr/share/phpmyadmin/config.inc.php

Установка phpmyadmin в Debian 10

Скопируйте содержимое файла config.inc.php со страницы установки phpMyAdmin и вставьте его в файл /usr/share/phpmyadmin/config.inc.php.

Установка phpmyadmin в Debian 10

Шаг 6: Создайте администратора

Теперь, если вы попытаетесь войти в phpMyAdmin с учетной записью root MariaDB, вы можете увидеть следующую ошибку.

#1698 – Access denied for user ‘root ‘@’localhost’

mysqli_real_connect(): (HY000/1698): Access denied for user ‘root ‘@’localhost’

Если вы войдете в систему с пользователем phpmyadmin, вы не увидите вышеупомянутую ошибку. Однако пользователь phpmyadmin может использоваться только для управления базой данных phpmyadmin. Причиной ошибки является то, что по умолчанию пользователь root MariaDB проходит проверку подлинности с помощью плагина unix_socket, а не с помощью плагина mysql_native_password. Чтобы решить эту проблему, мы можем создать другого пользователя-администратора и предоставить все привилегии новому пользователю-администратору.

Войдите на сервер MariaDB из командной строки.

sudo mysql -u root

Создайте пользователя-администратора с парольной аутентификацией.

CREATE USER admin@localhost IDENTIFIED BY ‘новый_пароль’;

Предоставьте все привилегии для всех баз данных.

GRANT ALL PRIVILEGES *.* TO admin@localhost WITH GRANT OPTION;

Сбросьте привилегии и выйдите;

FLUSH PRIVILEGES;
EXIT;

Теперь вы можете войти в phpMyAmin с учетной записью администратора и управлять всеми базами данных.

Шаг 7: Настройте хранилище настроек

Теперь в панели управления phpMyAdmin вы можете увидеть предупреждающее сообщение.

The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. Find out why.
Or alternately go to ‘Operations’ tab of any database to set it up there.

Нажмите на ссылку Find out why. Затем нажмите Create, чтобы создать таблицы в базе данных phpmyadmin.

Установка phpmyadmin в Debian 10

Шаг 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

Добавьте следующие строки.

# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
<IfModule mod_authz_core.c>
<IfModule mod_authn_file.c>
AuthType Basic
AuthName “phpMyAdmin Setup”
AuthUserFile /etc/apache2/htpasswd
</IfModule>
Require valid-user
</IfModule>
</Directory>

Сохраните и закройте файл. Затем перезагрузите Apache, чтобы изменения вступили в силу:

sudo systemctl reload apache2

Если вы снова откроете скрипт установки phpMyAdmin, вам будет предложено ввести имя пользователя и пароль. Аналогично можно защитить phpMyAdmin полностью, надо только немного исправить путь.

Установка phpmyadmin в Debian 10

Выводы

В этой статье мы разобрали как выполняется установка Phpmyadmin Debian 10 Buster вручную. Эту же инструкцию вы можете использовать и для других дистрибутивов.

Нет похожих записей

alt=”Creative Commons License” width=”” />
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Вы пропустили

AEGIS Algorithms Android Angular Apache Airflow Apache Druid Apache Flink Apache Spark API API Canvas AppSec Architecture Artificial Intelligence Astro Authentication Authorization AutoGPT AWS AWS Aurora AWS Boto3 AWS EC2 AWS Lambda Azure Babylon.js Backend bash Beautiful Soup Bento UI Big Data Binary Tree Browser API Bun Career Cassandra Charts ChatGPT Chrome Extension Clean Code CLI ClickHouse Coding Codux Combine Compose Computer Context Fusion Copilot Cosmo Route CProgramming cron Cryptography CSS CTF Cypress DALL-E Data Analysis Data science Database dbt dbt Cloud deno Design Design Patterns Detekt Development Distributed Systems Django Docker Docker Hub Drizzle DRY DuckDB Express FastAPI Flask Flutter For Beginners Front End Development Game Development GCN GCP Geospatial Git GitHub Actions GitHub Pages Gitlab GMS GoFr Golang Google Google Sheets Google Wire GPT-3 GPT3 Gradio Gradle Grafana Graphic Design GraphQL gRPC Guidance HMS Hotwire HTML Huawei HuggingFace IndexedDB InfoSec Interview iOS Jackknife Java JavaScript Jetpack Compose JSON Kafka Kotlin Kubernetes LangChain Laravel Linux LlaMA LLM localStorage Logging Machine Learning Magento Math Mermaid Micro Frontends Mobile Mobile App Development mondayDB MongoDB Mongoose MySQL Naming NestJS NET NetMock Networks NextJS NLP Node.js Nodejs NoSQL NPM OOP OpenAI OTP Pandas PDF PHP Playwright Plotly Polars PostgreSQL Prefect Productivity Programming Prometheus Puppeteer Pushover Python Pytorch Quarkus Rabbitmq RAG Ramda Raspberry Pi React React Native Reactor Redis REST API Revolut Riverpod RProgramming Ruby Ruby on Rails Rust Scalene SCDB ScyllaDB Selenium Servers Sklearn SLO SnowFlake Snowkase Software Architecture Software Development Solara Solid Spring Boot SQL SQLite Streamlit SudoLang Supabase Swift SwiftUI Tailwind CSS Taipy Terraform Testing Transformers TURN TypeScript Ubuntu UI Design Unix UX UX Design Vim Vite VSCode Vue Web Architecture Web Components Web Development Web Frameworks Web Scraping Web-разработка Webassembly Websocket Whisper Widgets WordPress YAML YouTube Zed Наука о данных Разное Тренды

Как исследовать и визуализировать данные МО для обнаружения объектов на изображениях