A phpMyAdmin egy ingyenes és nyílt forráskódú adminisztrációs eszköz a MySQL és a MariaDB számára. PHP-ben írt hordozható webalkalmazásként az egyik legnépszerűbb MySQL adminisztrációs eszközzé vált, különösen a web hosting szolgáltatásokhoz. Ez az eszköz felhasználóbarát webes felületet biztosít az adatbázisok eléréséhez és kezeléséhez.
Az alábbiakban felsoroljuk a legfontosabb funkciókat és kiemeléseket, amelyek a phpMyAdmin-t az adatbázis-kezeléshez ideális választássá teszik:
- Web alapú interfész: Bárhonnan elérheti és kezelheti adatbázisait egy webböngészőn keresztül.
- Átfogó adatbázis-kezelés: Különféle tevékenységek végrehajtása, beleértve az adatbázisok, táblák, oszlopok, relációk, indexek, felhasználók, engedélyek böngészését és SQL utasítások végrehajtását.
- Adatok importálása és exportálása: Egyszerűen importálhat adatokat CSV-ből és SQL-ből, és exportálhat adatokat különböző formátumokba, például CSV, SQL, XML, PDF, ISO/IEC 26300 – OpenDocument szöveg és táblázat, Word, Excel, LATEX és mások.
- MySQL funkciók: A MySQL szolgáltatások teljes körű támogatása, beleértve az adatbázisok, táblák, oszlopok, relációk, indexek, felhasználók és engedélyek kezelését.
- Speciális lekérdezés: A Példánkénti lekérdezés (QBE) szolgáltatás összetett lekérdezéseket hoz létre.
- Vizualizációk: Az adatbázisok és struktúráik vizuális megjelenítése.
- PHP kompatibilitás: Teljesen PHP nyelven íródott, biztosítva a PHP rendszerekkel való kompatibilitást.
- Többnyelvű támogatás: 78 nyelven érhető el, így világszerte elérhető a felhasználók számára.
Ezek a funkciók kiemelik a phpMyAdmin azon képességét, hogy hatékonyan kezelje a különféle adatbázis-kezelési feladatokat, így a kezdők és a tapasztalt felhasználók számára is megfelel. Ezután nézzük meg a phpMyAdmin telepítésének és konfigurálásának technikai lépéseit az Nginx segítségével Ubuntu rendszeren.
Frissítse az Ubuntut a LEMP telepítése előtt
A zökkenőmentes telepítés érdekében és az oktatóprogram indítása előtti konfliktusok elkerülése érdekében frissítse rendszerét a legújabb csomagokkal:
sudo apt update && sudo apt upgrade
Telepítse a LEMP Stack-et a phpMyAdmin számára
Telepítse a LEMP Nginx részét
A LEMP verem beállításához kezdje az Nginx telepítésével az alábbi paranccsal:
sudo apt install nginx
A szolgáltatás általában a telepítés után alapértelmezés szerint engedélyezve van. Azonban mindig ellenőrizze és győződjön meg arról, hogy megfelelően működik:
systemctl status nginx
Ha a szerver nincs aktiválva, a következő paranccsal aktiválja, és állítsa be, hogy az Nginx minden újraindításkor automatikusan elinduljon:
sudo systemctl enable nginx --now
Telepítse a LEMP MariaDB részét
A LEMP telepítés második szakasza az adatbázis-összetevő telepítését foglalja magában. A MariaDB rendszerint az előnyben részesített választás a LEMP veremben a MySQL-lel szemben, javított teljesítménye és egyéb előnyei miatt. Ha a MariaDB egy másik verzióját szeretné telepíteni a MariaDB.org által biztosított hivatalos tárolókból, útmutatónkat megtalálja a a MariaDB 11.x vagy 10.x telepítése Ubuntun.
A MariaDB telepítéséhez futtassa a következő parancsot a terminálon.
sudo apt install mariadb-server mariadb-client
A telepítés után ellenőrizze a MariaDB szolgáltatás állapotát, ahogyan az Nginx esetében is tette, hogy megbizonyosodjon arról, hogy engedélyezve van, és hibátlanul működik.
systemctl status mariadb
Ha a szerver nincs aktiválva, használja a következő parancsot a MariaDB aktiválásához és indításához újraindításkor:
sudo systemctl enable mariadb --now
Futtassa a MariaDB Post Installation Security Scriptet az Ubuntun
Futtassa a telepítési biztonsági parancsfájlt a MariaDB telepítési folyamata során, hogy megvédje a telepítést, és megakadályozza a rosszindulatú szereplők esetleges kihasználását vagy behatolását. Az iparág erősen ajánlja ezt a szkriptet, mivel az új MariaDB-verziók gyakran gyengének és kockázatosnak ítélt alapértelmezett beállításokkal rendelkeznek.
Kezdésként hajtsa végre a következő parancsot a (mysql_secure_installation) elindításához:
sudo mysql_secure_installation
A mysql_secure_installation parancsfájl végrehajtását követően a következő lépés a beállítások konfigurálása. Ez magában foglalja a root jelszó beállítását, a külső forrásokból származó távoli hozzáférés korlátozását, az anonim felhasználói fiókok eltávolítását és a tesztadatbázis megszüntetését. Ezek a lépések segítenek a MariaDB telepítésének biztonságában és a lehetséges biztonsági fenyegetések megelőzésében.
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.
Enter current password for root (enter for none):
OK, successfully used password, moving on...
Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.
You already have your root account protected, so you can safely answer 'n'.
Switch to unix_socket authentication [Y/n] Y <---- Type Y then press the ENTER KEY.
Enabled successfully!
Reloading privilege tables..
... Success!
You already have your root account protected, so you can safely answer 'n'.
Change the root password? [Y/n] Y <---- Type Y then press the ENTER KEY.
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y <---- Type Y then press the ENTER KEY.
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y <---- Type Y then press the ENTER KEY.
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y <---- Type Y then press the ENTER KEY.
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y <---- Type Y then press the ENTER KEY.
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
Telepítse a LEMP PHP részét
A LEMP telepítési folyamatának befejezése szükségessé teszi a PHP szolgáltatás telepítését, amely az Nginx és a MariaDB közötti közvetítő. A PHP-FPM szolgáltatás és a phpMyAdmin által igényelt további modulok ezt segítik elő. Ha másik PHP verziót szeretne telepíteni, forduljon hozzá útmutatónk a PHP 8.x Ubuntu rendszerre történő telepítéséhez az Ön igényeinek megfelelő PHP-verzió telepítésével kapcsolatos információkért.
A PHP és a PHP-FPM, valamint a szükséges modulok Ubuntu rendszerére történő telepítéséhez hajtsa végre a következő parancsot a terminálon.
sudo apt install php-fpm php-mbstring php-bcmath php-xml php-mysql php-common php-gd php-cli php-curl php-zip php-gd
A telepítés után ellenőrizze a PHP szolgáltatás állapotát, ahogyan a MariaDB esetében is tette, hogy megbizonyosodjon arról, hogy engedélyezve van, és hibátlanul működik.
A példaparancs a PHP telepített verziójára vonatkozik; ebben az esetben PHP 8.1-re volt.
systemctl status php8.1-fpm
Aktiválja a PHP szolgáltatást a következő paranccsal, ha még nem aktív; ez a parancs azt is biztosítja, hogy a szolgáltatás minden újraindításkor automatikusan elinduljon.
sudo systemctl enable php-fpm --now
A phpMyAdmin Backend telepítése Ubuntu-ra
Ez a rész a PHPMyAdmin archívum letöltésével és a szükséges könyvtárak, engedélyek és adatbázis-bejegyzések létrehozásával foglalkozik.
Hozzon létre phpMyAdmin felhasználónevet Super User
A phpMyAdmin elérése alapértelmezés szerint a root felhasználóval. A biztonság érdekében azonban a root felhasználó helyett hozzon létre egy külön szuperfelhasználót, igazodva a sudo felhasználó használatához Linuxban, ahelyett, hogy root felhasználóként jelentkezne be. Kezdje azzal, hogy bejelentkezik a terminál felületére:
sudo mariadb -u root
A terminál felületére való bejelentkezés után a következő lépés egy adatbázis létrehozása a MariaDB terminálban.
CREATE USER PMAUSER IDENTIFIED BY 'password here change';
A következő lépés egy felhasználó létrehozása és a megfelelő engedélyek megadása az alábbiak szerint:
GRANT ALL PRIVILEGES ON *.* TO 'PMAUSER'@'localhost' IDENTIFIED BY 'password here change' WITH GRANT OPTION;
Jegyzet: A parancsok végrehajtása előtt meg kell változtatnia a „password here change” példajelszót. Egyszerű másolás és beillesztés helyett frissítse a jelszót.
Állítsa be a felhasználót és az engedélyeket, majd azonnal törölje ki a jogosultságokat a módosítások aktiválásához.
FLUSH PRIVILEGES;
A MariaDB terminálból való kilépéshez használja a következő parancsot.
QUIT;
Töltse le a phpMyAdmin forrást
Ebben a részben foglalkozunk a phpMyAdmin forrásarchívumának letöltése. Ha a parancssori terminált használja, kényelmes módszerrel töltheti le az összes nyelv legújabb verzióját.
A phpMyAdmin archívum letöltéséhez futtassa a következő parancsot a terminálon.
DATA="$(wget https://www.phpmyadmin.net/home_page/version.txt -q -O-)"
URL="$(echo $DATA | cut -d ' ' -f 3)"
VERSION="$(echo $DATA | cut -d ' ' -f 1)"
wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-all-languages.tar.gz
Ha inkább csak a phpMyAdmin angol verzióját szeretné letölteni, cserélje ki az előző parancs végsorát a következőre:
wget https://files.phpmyadmin.net/phpMyAdmin/${VERSION}/phpMyAdmin-${VERSION}-english.tar.gz
A phpMyAdmin archívum letöltése után a következő lépés az, hogy kicsomagolja a következő parancs végrehajtásával:
tar xvf phpMyAdmin-${VERSION}-all-languages.tar.gz
A phpMyAdmin beállítása
A következő lépésben az összes kibontott fájlt az mv paranccsal a végső rendeltetési helyükre kell helyezni a szabványos /var/www/ könyvtárba.
sudo mv phpMyAdmin-*/ /var/www/phpmyadmin
A phpMyAdmin forrásból történő telepítéséhez alapértelmezés szerint nincs szükség TMP-könyvtárra. Ennek eredményeként ezt a könyvtárat manuálisan kell létrehoznia.
sudo mkdir /var/www/phpmyadmin/tmp
A phpMyAdmin könyvtár tartalmaz egy alapértelmezett konfigurációs példafájlt. Nevezze át ezt a fájlt, hogy a phpMyAdmin felismerje. A CP paranccsal készítsen biztonsági másolatot az alapértelmezett fájlról, és készítsen másolatot a /var/www/phpmyadmin/ könyvtárban.
A config.sample.inc.php fájl config.inc.php fájlba másolásához hajtsa végre a következő parancsot:
sudo cp /var/www/phpmyadmin/config.sample.inc.php /var/www/phpmyadmin/config.inc.php
A fájl másolása után nyissa meg a kívánt szövegszerkesztővel. A nano szövegszerkesztő egy példa:
sudo nano /var/www/phpmyadmin/config.inc.php
A phpMyAdmin Blowfish titkosítást használ. A beállítás eléréséhez görgessen le az $cfg['blowfish_secret'] karakterlánccal kezdődő sorig.
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
32 véletlenszerű karaktert kell hozzárendelnie az idézőjelek közé. A karakterlánc létrehozásának legegyszerűbb módja a pwgen program. A pwgen telepítéséhez futtassa a következő terminálparancsot:
sudo apt install pwgen
A telepítés után hajtsa végre a következő parancsot:
pwgen -s 32 1
Ezzel egy 32 véletlenszerű karakterből álló karakterláncot kapsz, amelyet a blowfish titokként használhatsz, például:
Példa a rejtjel hozzáadására a konfigurációs fájlhoz (Ne másoljon):
$cfg['blowfish_secret'] = 'GO4GpscnhJbzB3HN7dgqvRzdIvIxXaaq'
A legtöbb felhasználó számára az alapértelmezett beállítások elegendőek. Ha azonban a szerver egy másik szerveren található a hálózaton belül, keresse meg és módosítsa az $cfg['Servers'][$i]['host'] sort, hogy az tükrözze a privát IP-címet. Lásd az alábbi példát:
$cfg['Servers'][$i]['host'] = '192.168.55.101';
Konfigurálja a phpMyAdmin fájlengedélyeket
A címtártulajdonos jogosultságainak beállítása a www-user-re elengedhetetlen a kompatibilitás és a biztonság érdekében.
A chown-engedély beállítása:
sudo chown -R www-data:www-data /var/www/phpmyadmin/
A chmod engedély beállítása:
sudo find /var/www/phpmyadmin/ -type d -exec chmod 755 {} \;
sudo find /var/www/phpmyadmin/ -type f -exec chmod 644 {} \;
Hozzon létre Nginx szerverblokkot a phpMyAdmin számára
Hozzon létre egy Nginx szerverblokkot a phpMyAdmin webes felület eléréséhez. A biztonság és a brute force támadások megelőzése érdekében javasoljuk egy külön aldomain létrehozását, amelyet saját belátása szerint adhat el.
Kezdésként hozza létre és nyissa meg szerverblokkját a nano szövegszerkesztővel, az alábbiak szerint:
sudo nano /etc/nginx/sites-available/phpmyadmin.conf
A szerverblokk fájl megnyitása után a következő szöveget illesztheti be a fájlba. Ügyeljen arra, hogy a domain URL-jét cserélje ki a sajátjára:
server {
listen 80;
listen [::]:80;
server_name pma.example.com;
root /var/www/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/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
}
location ~ /\.ht {
deny all;
}
}
A fenti példa néhány fontos megjegyzést tartalmaz:
- /run/php/php8.1-fpm.sock; – Ezt meg kell változtatni, hogy tükrözze a PHP-FPM verzióját, például 8.0, 7.4 stb.
- gyökér /var/www/phpmyadmin/; – Ez az oktatóanyagban megadott útvonal. Ezt a sort frissíteni kell, ha a phpMyAdmin programot egy másik helyre helyezi.
Ha Ön az egyetlen személy, aki statikus IP-címről éri el a szervert, akkor a következő kódot adhatja hozzá az első helybejegyzés fölé. Az alábbiakban erre mutatunk be egy példát:
allow <your ip address>;
deny all;
location / {
try_files $uri $uri/ /index.php;
}
...........................................
Ezzel blokkolja az oldal 403-as hibával rendelkező illetéktelen látogatóit, és csak az Ön IP-címéről engedélyezi a hozzáférést. Ez hatékonyan megállíthatja a brute force támadásokat, de nem biztos, hogy minden beállításhoz megfelelő. A változtatások mentéséhez használja a CTRL+O billentyűkombinációt, és lépjen ki a szerkesztőből a (CTRL+X) billentyűkombinációval.
Hozzon létre egy szimbolikus hivatkozást a helyek elérhető könyvtárából a helyek engedélyezése könyvtárba a konfigurációs fájl tárolásához.
sudo ln -s /etc/nginx/sites-available/phpmyadmin.conf /etc/nginx/sites-enabled/
Az Nginx szolgáltatás újraindítása előtt egy száraz futtatási teszt végrehajtása, különösen élő környezetben, elengedhetetlen annak biztosítása érdekében, hogy a szerverblokk vagy a konfigurációs fájlok bármely más módosítása ne okozzon Nginx-hibákat.
sudo nginx -t
Ha a konfiguráció hibamentes, a következő kimenetet kell kapnia:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
A változtatások végrehajtásához indítsa újra az Nginx szolgáltatást:
sudo systemctl restart nginx
Nyissa meg a phpMyAdmin webes felhasználói felületét
A webes felület eléréséhez nyissa meg a kívánt internetböngészőt, és írja be a pma.example.com címet, az „example” szó helyére a saját domainjére cserélve. Meg kell érkeznie a phpMyAdmin bejelentkezési képernyőjére, az alábbiak szerint:
Adja meg bejelentkezési adatait, és lépjen a phpMyAdmin irányítópultjára, amelyre az alábbiakban láthat egy példát.
Érdemes megjegyezni, hogy a statisztika oldal az új phpMyAdmin felhasználók számára is elérhető.
Egy másik hasznos oldal, amellyel tisztában kell lenni, a tanácsadó rendszer.
A tanácsadó azt javasolja, hogy 24 órát várjon, de vegye figyelembe a minimum 72 órát. Ne hagyatkozzon kizárólag a tanácsadó oldalra; alapos mérlegelés és tesztelés után módosítsa. A MySQL vagy MariaDB konfigurációs fájlok optimalizálása időt vesz igénybe, és előfordulhat, hogy többször kell szerkesztenie és tesztelnie kell a kívánt eredmény eléréséhez.
Biztonságos phpMyAdmin LEMP telepítés SSL-en keresztül
Az Nginx futtatása HTTPS-en SSL-tanúsítvánnyal ideális a legjobb biztonság érdekében. Ennek legegyszerűbb módja a Let's Encrypt, a nonprofit Internet Security Research Group (ISRG) által működtetett ingyenes, automatizált és nyílt tanúsító hatóság használata.
Az indításhoz telepítse a certbot csomagot a következő paranccsal:
sudo apt install python3-certbot-nginx -y
A certbot csomag telepítése után hajtsa végre a következő parancsot a tanúsítvány létrehozásának elindításához:
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email you@example.com -d pma.example.com
A tanúsítvány telepítése során a rendszer felkéri Önt, hogy kapjon e-maileket az EFF-től (Electronic Frontier Foundation). Válassza az I vagy N lehetőséget. Ez a választás elindítja a TLS-tanúsítvány automatikus telepítését és konfigurálását az optimális beállításokkal. Ezek a beállítások magukban foglalják a HTTPS 301 átirányításokat, a Strict-Transport-Security fejlécet és az OCSP tűzést, amelyek mindegyike az Ön e-mail-címéhez és domainnevéhez igazodik. A telepítést követően az URL átáll a HTTP://pma.example.com címről a biztonságos HTTPS://pma.example.com címre, automatikusan átirányítva a régi HTTP URL-t a biztonságos verzióra.
A nagyobb kényelem érdekében beállíthat egy cron-feladatot a tanúsítványok automatikus megújításához, a Certbot pedig egy szkriptet biztosít ennek automatikus kezelésére. A beállítás előtt szárazonfutási tesztet végezhet, hogy megbizonyosodjon arról, hogy minden megfelelően működik.
sudo certbot renew --dry-run
A crontab ablak megnyitásához hajtsa végre a következő terminálparancsot:
sudo crontab -e
Ügyeljen arra, hogy naponta ellenőrizze a megújítást, hogy naprakész legyen a tanúsítvány. Ha megújításra van szükség, a szkript automatikusan frissíti a tanúsítványt.
00 00 */1 * * /usr/sbin/certbot-auto renew
Következtetés
Ebben az útmutatóban végigvezettük a phpMyAdmin telepítését az Nginx-szel Ubuntu 24.04-es, 22.04-es vagy 20.04-es LTS-re, így a parancssori alapoktól az adatbázis-kezelő rendszer üzembe helyezéséig és a lehető legzökkenőmentesebbé téve az utat. Ne feledje, hogy a szoftver naprakészen tartása és a phpMyAdmin telepítésének biztosítása olyan kulcsfontosságú lépések, amelyeket nem szabad figyelmen kívül hagyni. A jól konfigurált beállítás javítja a munkafolyamatot, és megerősíti adatait a lehetséges fenyegetésekkel szemben. Tehát szánjon egy pillanatot, hogy megveregetje magát, mert újabb eszközzel bővítette webfejlesztési arzenálját. Nyugodtan merüljön el mélyebben a phpMyAdmin által kínált szolgáltatásokban és funkciókban. Boldog ügyintézést!
Hasznos linkek
Íme néhány értékes link a phpMyAdmin és a kapcsolódó eszközök használatához:
- phpMyAdmin hivatalos webhely: Látogassa meg a hivatalos phpMyAdmin webhelyet az adatbázis-kezelő eszközzel, a szolgáltatásokkal és a letöltési lehetőségekkel kapcsolatos információkért.
- phpMyAdmin dokumentáció: A phpMyAdmin telepítésével, konfigurálásával és használatával kapcsolatos részletes útmutatók átfogó dokumentációjában érhetők el.
- phpMyAdmin témák: Fedezze fel az elérhető témákat a phpMyAdmin megjelenésének testreszabásához.
- phpMyAdmin GitHub Repository: Nyissa meg a phpMyAdmin GitHub adattárat a forráskód megtekintéséhez, a problémák bejelentéséhez és a fejlesztéshez való hozzájáruláshoz.
Kapcsolódó eszközök
- MariaDB hivatalos webhely: Látogassa meg a MariaDB webhelyet az adatbázisrendszerrel, a letöltési lehetőségekkel és a közösségi erőforrásokkal kapcsolatos információkért.
- MySQL hivatalos webhely: Nyissa meg a MySQL webhelyet termékinformációkért, szolgáltatásokért és letöltési lehetőségekért.
- PHP hivatalos honlapja: Fedezze fel a PHP webhelyet dokumentációért, telepítési útmutatókért és forrásokért a PHP fejlesztéséhez.