[Õpetus] Kuidas paigaldada phpMyAdmin koos Apache-ga (LAMP) Ubuntu 20.04-sse

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

    [Õpetus] Kuidas paigaldada phpMyAdmin koos Apache-ga (LAMP) Ubuntu 20.04-sse

    See õpetus näitab, kuidas paigaldada phpMyAdmin koos Apache, MariaDB ja PHP7.4 (LAMP Stack) Ubuntu 20.04 LTS-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, et saaksime selle hõlpsalt paigaldada alloleva käsuga:
    Kood:
    sudo apt update
    Kood:
    sudo apt install phpmyadmin
    Ülaltoodud käsk paigaldab kõik vajaliku, sealhulgas PHP7 laiendused. Paigaldamise ajal palub see teil valida konfigureeritava veebiserveri. Apache2 valimiseks vajutage tühikuklahvi. (Tärn näitab, et üksus on valitud). Seejärel vajutage oma valiku kinnitamiseks tabeldusklahvi (tab) ja sisestusklahvi.

    Click image for larger version  Name:	apache2.png Views:	2 Size:	42.0 KB ID:	551

    Järgmisel ekraanil valige Yes, et konfigureerida andmebaasi phpMyAdmini jaoks koos dbconfig-common.

    Click image for larger version  Name:	apache22.png Views:	1 Size:	149.9 KB ID:	552

    Seejärel määrake MariaDB/MySQL-is phpmyadmini kasutaja parool:

    Click image for larger version  Name:	apache_parool.png Views:	1 Size:	57.8 KB ID:	553

    Kui see samm 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 phpmyadmini kasutaja õigusi:
    Kood:
    show grants for phpmyadmin@localhost;
    Väljund:
    Click image for larger version  Name:	sql_valjund.png Views:	1 Size:	71.9 KB ID:	554

    Nagu näete, on kasutajal phpmyadmin kõik andmebaasi phpmyadmini õigused. Nüüd saate väljuda, käivitades:
    Kood:
    exit;
    Nüüd käivitage järgmine käsk, et kontrollida, kas fail /etc/apache2/conf-enabled/phpmyadmin.conf on olemas.
    Kood:
    file /etc/apache2/conf-enabled/phpmyadmin.conf
    Kui paigaldusprotsessis pole viga, peaksite nägema järgmist käsuväljundit:
    HTML kood:
    /etc/apache2/conf-enabled/phpmyadmin.conf: symbolic link to ../conf-available/phpmyadmin.conf
    Kui seda faili teie serveris ei ole, on tõenäoline, et te ei valinud phpMyAdmini häälestusviisardis Apache veebiserverit. Saate selle parandada järgmiste käskudega:
    Kood:
    sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
    Kood:
    sudo a2enconf phpmyadmin
    Kood:
    sudo systemctl reload apache2
    2. Juurdepääs phpMyAdminile alamkataloogist

    phpMyAdmini paigaldamisel asetatakse konfiguratsioonifail aadressile /etc/apache2/conf-enabled/phpmyadmin.conf, mis võimaldab meil pääseda phpMyAdminile alamkataloogi kaudu. Kui olete samasse Ubuntu 20.04 serverisse paigaldanud muid veebirakendusi, näiteks WordPress, siis lisage brauseri aadressiribale oma domeeninime järele lihtsalt /phpmyadmin.
    HTML kood:
    example.com/phpmyadmin
    Click image for larger version  Name:	phpmyadmin.png Views:	1 Size:	81.9 KB ID:	555

    Kui teie kohalikku Ubuntu arvutisse on paigaldatud phpMyAdmin, pääsete phpMyAdmini veebiliidesele juurde, sisestades brauseri aadressiribale järgmise teksti:
    HTML kood:
    localhost/phpmyadmin
    Kui ühenduse loomisest keeldutakse või seda ei õnnestu luua, võib HTTP päringuid takistada tulemüür. Kui kasutate iptablesi tulemüüri, peate TCP pordi 80 ja 443 avamiseks käivitama järgmised käsud:
    Kood:
    sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
    Kood:
    sudo iptables -I INPUT -p tcp --dport 443 -j ACCEPT
    Kui kasutate UFW tulemüüri, käivitage see käsk TCP pordi 80 ja 443 avamiseks.
    Kood:
    sudo ufw allow 80,443/tcp
    Nüüd saate phpMyAdmini sisselogimiseks kasutada MariaDB/MySQL-i kasutajanime ja parooli.

    3. Juurdepääs phpMyAdminile alamdomeenilt

    Kui teie Ubuntu 20.04 serveril ei ole teist Apache virtuaalset hosti, võiksite phpMyAdmini veebiliidesele juurdepääsuks kasutada alamdomeeni. Nii saate lubada HTTPS liikluse krüpteerimiseks.

    Esiteks peame phpMyAdmini jaoks looma Apache virtuaalse hosti. Mallina saab kasutada olemasolevat phpMyAdmini seadistusjuppi. Kopeerime selle uude faili:
    Kood:
    sudo cp /etc/apache2/conf-enabled/phpmyadmin.conf /etc/apache2/sites-available/phpmyadmin.conf
    Seejärel redigeerige uut faili käsurea tekstiredaktoriga, näiteks Nano:
    Kood:
    sudo nano /etc/apache2/sites-available/phpmyadmin.conf
    Sellel failil puuduvad sildid <VirtualHost>, seega peame selle faili algusesse lisama järgmised read. Asendage pma.example.com oma eelistatud phpMyAdmini alamdomeeniga. Ärge unustage luua selle alamdomeeni jaoks ka DNS-i kirjet.
    HTML kood:
    <VirtualHost *:80>
    ServerName pma.example.com
    DocumentRoot /usr/share/phpmyadmin
    
    ErrorLog ${APACHE_LOG_DIR}/pma.error.log
    CustomLog ${APACHE_LOG_DIR}/pma.access.log combined
    
    Märgendi <VirtualHost> sulgemiseks lisage selle faili lõppu järgmine rida.
    </VirtualHost>
    Click image for larger version  Name:	virtualhost.png Views:	1 Size:	259.5 KB ID:	556

    Salvestage ja sulgege fail. (Faili salvestamiseks Nano tekstiredaktoris vajutage klahvikombinatsiooni Ctrl+O, seejärel vajutage kinnitamiseks sisestusklahvi. Väljumiseks vajutage klahvikombinatsiooni Ctrl+X.) Seejärel lubage see virtuaalne host:
    Kood:
    sudo a2ensite phpmyadmin.conf
    Selle muudatuse jõustumiseks laadige uuesti Apache veebiserver:
    Kood:
    sudo systemctl reload apache2
    Nüüd peaksite saama juurdepääsu phpMyAdmini veebiliidesele:
    HTML kood:
    pma.example.com
    Click image for larger version  Name:	pma.png Views:	1 Size:	67.3 KB ID:	557

    Enne kasutaja mandaatide sisestamist sisselogimisvormile lubage HTTPS.

    4. Luba HTTPS phpMyAdminis Apache-ga

    phpMyadmini veebiliidese turvalisuse tagamiseks saame paigaldada tasuta Let’s Encrypt TLS sertifikaadi. Käivitage järgmine käsk, et paigaldada Let’s Encrypt klient (certbot) Ubuntu 20.04 tarkvarahoidlast:
    Kood:
    sudo apt install certbot python3-certbot-apache
    Python3-certbot-apache on Certboti Apache'i pistikprogramm. Nüüd käivitage TLS sertifikaadi hankimiseks ja paigaldamiseks järgmine käsk:
    Kood:
    sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple -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:	eff.png Views:	1 Size:	173.5 KB ID:	558

    5. phpMyAdmini sisselogimisvea tõrkeotsing

    Kui proovite phpMyAdmini sisse logida 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 MariaDB 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 mysql -u root
    Looge parooliga administraator:
    Kood:
    create user admin@localhost identified by 'your-preferred-password';
    Andke kõikidele andmebaasidele kõik õigused:
    Kood:
    grant all privileges on *.* to admin@localhost with grant option;
    Lõpetage ja sulgege:
    Kood:
    flush privileges;
    Kood:
    exit;
    Nüüd saate phpMyAmini sisse logida administraatori kontoga ja hallata kõiki andmebaase.

    Click image for larger version  Name:	phpmyadmin2.png Views:	1 Size:	233.1 KB ID:	559
    Last edited by root; 27. February 2022, 13:22.
Töötlen...