[Õpetus] Kuidas paigaldada phpMyAdmin koos Nginxiga (LEMP) Ubuntu 20.04 LTS-i

Collapse
X
 
  • Aeg
  • Show
Puhasta kõik
uued postitused
  • root
    Huviline
    • Oct 2021
    • 318

    [Õpetus] Kuidas paigaldada phpMyAdmin koos Nginxiga (LEMP) Ubuntu 20.04 LTS-i

    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:
    • 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;
    NB! Kindlasti üle vaadata failisisude treppimine, kuna antud foorum lükkab kogu koodi paremasse serva.

    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
    Ü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.

    Click image for larger version

Name:	myadminconf.png
Views:	184
Size:	151.6 KB
ID:	561

    See loob ka uue andmebaasi kasutaja nimega phpmyadmin. Andke sellele kasutajale parool.

    Click image for larger version

Name:	myadminparool.png
Views:	51
Size:	60.3 KB
ID:	562

    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.

    Click image for larger version

Name:	adminnginx.png
Views:	52
Size:	48.6 KB
ID:	563

    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
    Seejärel kontrollige õiguseid:
    Kood:
    show grants for phpmyadmin@localhost;
    Väljund:
    Click image for larger version

Name:	myadminvaljund.png
Views:	49
Size:	72.0 KB
ID:	564

    Nagu näete, on kasutajal phpmyadmin kõik andmebaasi phpmyadmini õigused. Nüüd saate väljuda, käivitades:
    Kood:
    exit;
    2. Looge phpMyAdmini jaoks Nginxi serveriplokk

    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
    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.
    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;
    }
    }
    Teie phpMyAdmini failid on kataloogis /usr/share/phpmyadmin/. Salvestage ja sulgege fail. Seejärel testige Nginxi konfiguratsioone:
    Kood:
    sudo nginx -t
    Kui test on edukas, laadige Nginx uuesti, et muudatused jõustuksid:
    Kood:
    sudo systemctl reload nginx
    Nüüd peaksite saama juurdepääsu phpMyAdmini veebiliidesele:
    HTML kood:
    pma.example.com
    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:
    Kood:
    sudo apt install certbot python3-certbot-nginx
    Python3-certbot-nginx on Certboti Nginxi pistikprogramm. Nüüd käivitage TLS sertifikaadi hankimiseks ja paigaldamiseks järgmine käsk:
    Kood:
    sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp -d pma.example.com --email you@example.com
    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.

    Click image for larger version

Name:	congrats.png
Views:	52
Size:	149.9 KB
ID:	565

    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'
    või
    HTML kood:
    mysqli_real_connect(): (HY000/1698): Access denied for user 'root '@'localhost'
    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:
    Kood:
    sudo mariadb -u root
    Looge parooliga administraator:
    Kood:
    create user admin@localhost identified by 'sisesta-siia-parool';
    Andke kõikidele andmebaasidele kõik õigused:
    Kood:
    grant all privileges on *.* to admin@localhost with grant option;
    Lõpetage ja väljuge:
    Kood:
    flush privileges;
    Kood:
    exit;
    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:
    Kood:
    sudo crontab -e
    Seejärel lisage allosas järgmine rida:
    HTML kood:
    @daily certbot renew --quiet && systemctl reload nginx
    Nginxi uuesti laadimine on vajalik, et see saaks klientidele uue sertifikaadi.
Töötlen...