See õpetus näitab, kuidas paigaldada phpMyAdmin koos Nginxi, MariaDB ja PHP7.4 (LEMP) Ubuntu 20.04 TLS-i. phpMyAdmin on tasuta ja avatud lähtekoodiga veebipõhine andmebaasihaldustööriist, mis on kirjutatud programmeerimiskeeles PHP. See pakub kasutajatele MySQL-i või MariaDB andmebaasi haldamiseks graafilist veebiliidest.
phpMyAdmin võimaldab administraatoritel:
1. Laadige alla ja paigaldage phpMyAdmin versioonile Ubuntu 20.04
phpMyAdmin sisaldub Ubuntu 20.04 tarkvarahoidlas, nii et saame selle hõlpsalt installida järgmise käsuga:
Ülaltoodud käsk paigaldab kõik vajaliku, sealhulgas PHP7 laiendused. Paigaldamise ajal küsib, kas soovite andmebaasi konfigureerimiseks kasutada käsku dbconfig-common. Jah valimiseks vajutage tabeldusklahvi.
See loob ka uue andmebaasi kasutaja nimega phpmyadmin. Andke sellele kasutajale parool.
Järgmisena palub see teil valida konfigureeritava veebiserveri. Nginxi ei ole loendis, seega vajutage selle sammu vahele jätmiseks klahvi Tab ja vajutage nuppu OK.
Kui see on tehtud, luuakse uus andmebaas nimega phpmyadmin ja andmebaasi kasutajal phpmyadmin on selle andmebaasi haldamiseks vajalikud õigused. Kui olete uudishimulik, saate sisse logida MariaDB ja kontrollida, millised õigused on phpmyadmini kasutajale antud.
MariaDB serverisse sisselogimiseks saate kasutada järgmist käsku:
Seejärel kontrollige õiguseid:
Väljund:
Nagu näete, on kasutajal phpmyadmin kõik andmebaasi phpmyadmini õigused. Nüüd saate väljuda, käivitades:
2. Looge phpMyAdmini jaoks Nginxi serveriplokk
Et pääseda juurde phpMyAdmini veebiliidesele, peame looma Nginxi serveriploki, käivitades järgmise käsu:
Seadistame selle nii, et pääseksime phpMyAdminile juurde alamdomeeni kaudu. Kleepige faili järgmine tekst. Asendage pma.example.com oma tegeliku alamdomeeniga ja ärge unustage luua selle jaoks DNS-i kirjet.
Teie phpMyAdmini failid on kataloogis /usr/share/phpmyadmin/. Salvestage ja sulgege fail. Seejärel testige Nginxi konfiguratsioone:
Kui test on edukas, laadige Nginx uuesti, et muudatused jõustuksid:
Nüüd peaksite saama juurdepääsu phpMyAdmini veebiliidesele:
3. TLS sertifikaadi paigaldamine
phpMyadmini veebiliidese turvalisuse tagamiseks saame paigaldada tasuta Let’s Encrypt TLS sertifikaadi. Paigaldage Let’s Encrypt klient Ubuntu 20.04 tarkvarahoidlast:
Python3-certbot-nginx on Certboti Nginxi pistikprogramm. Nüüd käivitage TLS sertifikaadi hankimiseks ja paigaldamiseks järgmine käsk:
Kus:
–apache2: kasutage Apache autentimist ja paigaldajat
–agree-tos: nõustuge Let’s Encrypt teenusetingimustega
–redirect: jõustage HTTPS, lisades 301 ümbersuunamise.
–staple-ocsp: lubage OCSP klammerdamine.
–e-mail: e-posti aadress, mida kasutatakse registreerimiseks ja kontakti taastamiseks.
-d järgneb domeeninimede loend, mis on eraldatud komaga. Saate lisada kuni 100 domeeninime.
Teilt küsitakse, kas soovite EFF-lt (Electronic Frontier Foundation) e-kirju saada. Pärast Y või N valimist hangitakse ja konfigureeritakse teie jaoks automaatselt teie TLS sertifikaat, millele viitab allolev teade.
4. phpMyAdmini sisselogimisvea tõrkeotsing
Kui logite sisse MariaDB juurkontoga, võite näha järgmist viga:
või
Kui logite sisse kasutajaga phpmyadmin, siis ülaltoodud viga ei näe. Kasutajat phpmyadmin saab aga kasutada ainult phpmyadmini andmebaasi haldamiseks. Vea põhjuseks on see, et vaikimisi autentitakse MariDB juurkasutaja pistikprogrammi unix_socket kaudu, selle asemel, et kasutada pistikprogrammi mysql_native_password. Selle probleemi lahendamiseks saame luua teise administraatori kasutaja ja anda kõik õigused uuele administraator kasutajale.
Logige käsurealt sisse MariaDB serverisse:
Looge parooliga administraator:
Andke kõikidele andmebaasidele kõik õigused:
Lõpetage ja väljuge:
Nüüd saate phpMyAdmini sisse logida administraatori kontoga ja hallata kõiki andmebaase.
TLS sertifikaadi automaatne uuendamine
Let’s Encrypt sertifikaadi automaatseks uuendamiseks muutke lihtsalt juurkasutaja crontab faili:
Seejärel lisage allosas järgmine rida:
Nginxi uuesti laadimine on vajalik, et see saaks klientidele uue sertifikaadi.
phpMyAdmin võimaldab administraatoritel:
- sirvida andmebaase ja tabeleid;
- andmebaaside loomine, kopeerimine, ümbernimetamine, muutmine ja liigutamine;
- luua, kopeerida, ümber nimetada, muuta ja liigutada tabeleid;
- teostada hooldust;
- väljade lisamine, muutmine ja liigutamine;
- käivitada mis tahes SQL lause, isegi mitu päringut;
- luua, muuta indekseid;
- tekstifailide laadimine tabelitesse;
- luua ja lugeda tabelite või andmebaaside dumpe;
- eksportida andmeid SQL, CSV, XML, Word, Excel, PDF ja LaTeX vormingusse;
- hallata mitut serverit;
- hallata MySQL-i kasutajaid ja õigusi;
- kontrollige serveri sätteid ja käitusaja teavet konfiguratsioonivihjetega;
- kontrollige MyISAM-i tabelites viidete terviklikkust;
- luua keerulisi päringuid näitepõhise päringu (QBE) abil automaatselt
- luua andmebaasi paigutuse PDF graafikat;
- otsida globaalselt andmebaasist või selle alamhulgast;
- teisendada salvestatud andmed mis tahes vormingusse, kasutades eelnevalt määratletud funktsioonide komplekti, näiteks kuvades BLOB-andmeid pildi või allalaadimislingina;
- hallata InnoDB tabeleid ja võõrvõtmeid;
1. Laadige alla ja paigaldage phpMyAdmin versioonile Ubuntu 20.04
phpMyAdmin sisaldub Ubuntu 20.04 tarkvarahoidlas, nii et saame selle hõlpsalt installida järgmise käsuga:
Kood:
sudo apt update
Kood:
sudo apt install phpmyadmin
See loob ka uue andmebaasi kasutaja nimega phpmyadmin. Andke sellele kasutajale parool.
Järgmisena palub see teil valida konfigureeritava veebiserveri. Nginxi ei ole loendis, seega vajutage selle sammu vahele jätmiseks klahvi Tab ja vajutage nuppu OK.
Kui see on tehtud, luuakse uus andmebaas nimega phpmyadmin ja andmebaasi kasutajal phpmyadmin on selle andmebaasi haldamiseks vajalikud õigused. Kui olete uudishimulik, saate sisse logida MariaDB ja kontrollida, millised õigused on phpmyadmini kasutajale antud.
MariaDB serverisse sisselogimiseks saate kasutada järgmist käsku:
Kood:
sudo mysql -u root
Kood:
show grants for phpmyadmin@localhost;
Nagu näete, on kasutajal phpmyadmin kõik andmebaasi phpmyadmini õigused. Nüüd saate väljuda, käivitades:
Kood:
exit;
Et pääseda juurde phpMyAdmini veebiliidesele, peame looma Nginxi serveriploki, käivitades järgmise käsu:
Kood:
sudo nano /etc/nginx/conf.d/phpmyadmin.conf
HTML kood:
server { listen 80; listen [::]:80; server_name pma.example.com; root /usr/share/phpmyadmin/; index index.php index.html index.htm index.nginx-debian.html; access_log /var/log/nginx/phpmyadmin_access.log; error_log /var/log/nginx/phpmyadmin_error.log; location / { try_files $uri $uri/ /index.php; } location ~ ^/(doc|sql|setup)/ { deny all; } location ~ \.php$ { fastcgi_pass unix:/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include snippets/fastcgi-php.conf; } location ~ /\.ht { deny all; } }
Kood:
sudo nginx -t
Kood:
sudo systemctl reload nginx
HTML kood:
pma.example.com
phpMyadmini veebiliidese turvalisuse tagamiseks saame paigaldada tasuta Let’s Encrypt TLS sertifikaadi. Paigaldage Let’s Encrypt klient Ubuntu 20.04 tarkvarahoidlast:
Kood:
sudo apt install certbot python3-certbot-nginx
Kood:
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp -d pma.example.com --email you@example.com
–apache2: kasutage Apache autentimist ja paigaldajat
–agree-tos: nõustuge Let’s Encrypt teenusetingimustega
–redirect: jõustage HTTPS, lisades 301 ümbersuunamise.
–staple-ocsp: lubage OCSP klammerdamine.
–e-mail: e-posti aadress, mida kasutatakse registreerimiseks ja kontakti taastamiseks.
-d järgneb domeeninimede loend, mis on eraldatud komaga. Saate lisada kuni 100 domeeninime.
Teilt küsitakse, kas soovite EFF-lt (Electronic Frontier Foundation) e-kirju saada. Pärast Y või N valimist hangitakse ja konfigureeritakse teie jaoks automaatselt teie TLS sertifikaat, millele viitab allolev teade.
4. phpMyAdmini sisselogimisvea tõrkeotsing
Kui logite sisse MariaDB juurkontoga, võite näha järgmist viga:
HTML kood:
#1698 - Access denied for user 'root '@'localhost'
HTML kood:
mysqli_real_connect(): (HY000/1698): Access denied for user 'root '@'localhost'
Logige käsurealt sisse MariaDB serverisse:
Kood:
sudo mariadb -u root
Kood:
create user admin@localhost identified by 'sisesta-siia-parool';
Kood:
grant all privileges on *.* to admin@localhost with grant option;
Kood:
flush privileges;
Kood:
exit;
TLS sertifikaadi automaatne uuendamine
Let’s Encrypt sertifikaadi automaatseks uuendamiseks muutke lihtsalt juurkasutaja crontab faili:
Kood:
sudo crontab -e
HTML kood:
@daily certbot renew --quiet && systemctl reload nginx