Како да инсталирате и да го обезбедите phpMyAdmin на Ubuntu 16.04
Вовед
Додека на многу корисници им е потребна функционалноста на системот за управување со бази на податоци како MySQL, тие можеби нема да се чувствуваат удобно во интеракција со системот исклучиво од MySQL промптот.
phpMyAdmin е создаден за корисниците да можат да комуницираат со MySQL преку веб-интерфејс. Во ова упатство, ќе разговараме за тоа како да инсталирате и заштитите phpMyAdmin за да можете безбедно да го користите за управување со вашите бази на податоци од системот Ubuntu 16.04.
Предуслови
Пред да започнете со овој водич, треба да завршите некои основни чекори.
Прво, ќе претпоставиме дека користите корисник без корен со sudo привилегии, како што е опишано во чекорите 1-4 во почетното поставување на серверот на Ubuntu 16.04.
Исто така, ќе претпоставиме дека сте завршиле инсталација на LAMP (Linux, Apache, MySQL и PHP) на вашиот Ubuntu 16.04 сервер. Ако ова сè уште не е завршено, можете да го следите ова упатство за инсталирање на стек LAMP на Ubuntu 16.04.
Конечно, постојат важни безбедносни размислувања при користење на софтвер како phpMyAdmin, бидејќи тоа:
- Комуницира директно со вашата инсталација на MySQL
- Се справува со автентикација користејќи MySQL ингеренциите
- Извршува и враќа резултати за произволни SQL барања
Од овие причини, и бидејќи е широко распространета PHP апликација која често е цел на напади, никогаш не треба да го стартувате phpMyAdmin на оддалечени системи преку обична HTTP врска. Ако немате постоечки домен конфигуриран со сертификат SSL/TLS, можете да го следите ова упатство за обезбедување на Apache со Let’s Encrypt на Ubuntu 16.04.
Откако ќе завршите со овие чекори, подготвени сте да започнете со овој водич.
Чекор еден - Инсталирајте phpMyAdmin
За да започнеме, ќе инсталираме phpMyAdmin од стандардните складишта на Ubuntu.
Можеме да го направиме ова со ажурирање на нашиот локален индекс на пакети, а потоа со користење на системот за пакување apt
за да ги повлечеме датотеките и да ги инсталираме на нашиот систем:
- sudo apt-get update
- sudo apt-get install phpmyadmin php-mbstring php-gettext
Ова ќе ви постави неколку прашања за правилно да ја конфигурирате инсталацијата.
Предупредување: Кога ќе се појави првото известување, apache2 е означен, но не избран. Ако не притиснете Space за да изберете Apache, инсталаторот не ќе ги премести потребните датотеки за време на инсталацијата. Притиснете Space, Tab, а потоа Enter за да изберете Apache.
- За изборот на серверот, изберете apache2.
- Изберете да кога ќе бидете прашани дали да користите
dbconfig-common
за поставување на базата на податоци - Ќе ви биде побарано да ја внесете лозинката на администраторот на вашата база на податоци
- Потоа ќе биде побарано да изберете и потврдите лозинка за самата апликација
phpMyAdmin
Процесот на инсталација всушност ја додава конфигурациската датотека phpMyAdmin Apache во директориумот /etc/apache2/conf-enabled/
, каде што автоматски се чита.
Единственото нешто што треба да направиме е експлицитно да ги овозможиме екстензиите PHP mcrypt
и mbstring
, што можеме да го направиме со пишување:
- sudo phpenmod mcrypt
- sudo phpenmod mbstring
Потоа, ќе треба да го рестартирате Apache за вашите промени да бидат препознаени:
- sudo systemctl restart apache2
Сега можете да пристапите до веб-интерфејсот со посета на името на доменот на вашиот сервер или јавната IP адреса, проследено со /phpmyadmin
:
https://domain_name_or_IP/phpmyadmin
Сега можете да се најавите во интерфејсот користејќи го корисничкото име root
и административната лозинка што сте ја поставиле за време на инсталацијата на MySQL.
Кога ќе се најавите, ќе го видите корисничкиот интерфејс, кој ќе изгледа отприлика вака:
Чекор два - Обезбедете ја вашата phpMyAdmin пример
Успеавме прилично лесно да го вклучиме и да работи нашиот интерфејс phpMyAdmin. Сепак, сè уште не сме готови. Поради својата сеприсутност, phpMyAdmin е популарна цел за напаѓачите. Треба да преземеме дополнителни чекори за да спречиме неовластен пристап.
Еден од најлесните начини да го направите ова е да поставите порта пред целата апликација. Можеме да го направиме ова користејќи ги вградените функционалности за автентикација и авторизација .htaccess
на Apache.
Конфигурирајте го Apache-то за да дозволи .htaccess замени
Прво, треба да ја овозможиме употребата на отфрлања на датотеката .htaccess
со уредување на нашата конфигурациска датотека Apache.
Ќе ја уредиме поврзаната датотека што е сместена во нашиот директориум за конфигурација на Apache:
- sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Треба да додадеме директива AllowOverride All
во делот
од конфигурациската датотека, вака:
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
AllowOverride All
. . .
Кога ќе ја додадете оваа линија, зачувајте ја и затворете ја датотеката.
За да ги имплементирате промените што ги направивте, рестартирајте го Apache:
- sudo systemctl restart apache2
Креирајте датотека .htaccess
Сега, кога ја овозможивме употребата на .htaccess
за нашата апликација, треба да создадеме за да имплементираме одредена безбедност.
За да може ова да биде успешно, датотеката мора да биде креирана во директориумот на апликацијата. Можеме да ја создадеме потребната датотека и да ја отвориме во нашиот текстуален уредувач со права на root со внесување:
- sudo nano /usr/share/phpmyadmin/.htaccess
Во оваа датотека, треба да ги внесеме следниве информации:
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Ајде да погледнеме што значи секоја од овие редови:
AuthType Basic
: оваа линија го одредува типот на автентикација што го спроведуваме. Овој тип ќе имплементира автентикација на лозинка со помош на датотека со лозинка.AuthName
: Ова ја поставува пораката за дијалог прозорецот за автентикација. Треба да го задржите ова генеричко за неовластени корисници да не добијат никакви информации за тоа што е заштитено.AuthUserFile
: Ова ја поставува локацијата на датотеката со лозинка што ќе се користи за автентикација. Ова треба да биде надвор од директориумите што се опслужуваат. Ќе ја создадеме оваа датотека наскоро.Потребен е валиден корисник
: Ова одредува дека само автентицираните корисници треба да имаат пристап до овој ресурс. Ова е она што всушност ги спречува неовластените корисници да влезат.
Кога ќе завршите, зачувајте ја и затворете ја датотеката.
Направете ја датотеката .htpasswd за автентикација
Локацијата што ја избравме за датотеката со лозинка беше \/etc/phpmyadmin/.htpasswd
. Сега можеме да ја создадеме оваа датотека и да ја пренесеме на почетен корисник со htpasswd
алатка:
- sudo htpasswd -c /etc/phpmyadmin/.htpasswd username
Ќе ви биде побарано да изберете и потврдите лозинка за корисникот што го креирате. Потоа, датотеката се креира со хашираната лозинка што сте ја внеле.
Ако сакате да внесете дополнителен корисник, треба да го сторите тоа без знамето -c
, вака:
- sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser
Сега, кога ќе пристапите до вашиот поддиректориум phpMyAdmin, ќе ви биде побарано дополнителното име и лозинка на сметката што штотуку ги конфигуриравте:
https://domain_name_or_IP/phpmyadmin
Откако ќе ја внесете автентикацијата на Apache, ќе бидете префрлени на редовната страница за автентикација на phpMyAdmin за да ги внесете другите ваши ингеренции. Ова ќе додаде дополнителен слој на безбедност бидејќи phpMyAdmin страдаше од пропусти во минатото.
Заклучок
Сега треба да имате конфигуриран phpMyAdmin и подготвен за употреба на вашиот Ubuntu 16.04 сервер. Користејќи го овој интерфејс, можете лесно да креирате бази на податоци, корисници, табели итн., и да ги извршувате вообичаените операции како што се бришење и менување структури и податоци.