Tartalom
- oldal: MariaDB, Apache és PHP7.3 telepítése és beállítása
- oldal: phpMyAdmin kézi telepítése, bekonfigurálása és tesztelése
- oldal: PHP-FPM pool létrehozása és beállítása a phpMyAdmin számára (opcionális)
A 2. oldal tartalma
Folytatás
A leírás első oldalán feltelepítettük a MariaDB-t, Apache webkiszolgálót, és a PHP 7.3-at. Ezen az oldalon befejezzük a LAMP szerver építését: feltelepítjük és beállítjuk a phpMyAdmin webes adatbáziskezelő felületet, melyet egyedi módon hajtunk végre, mert a Debian 10 csomagtára alapból nem tartalmazza ezt a szoftvert.
A phpMyAdmin telepítése
A Debian 10 (Buster) csomagtára nem tartalmazza a phpMyAdmin csomagot, amit így nem tudjuk az APT csomagkezelő segítségével egyszerűen telepíteni. Helyette kézzel kell letölteni a forráskódot tartalmazó csomagot, és magunknak kell elvégezni a telepítés és beállítás teljes menetét. Azonban akik szeretnek mókolni a terminálban – mint ahogyan én is –, azoknak ez a telepítés egy igazi ínyenc falat lesz!
Mivel egyedileg kell telepítenünk a phpMyAdmin-t, így ezt többféleképpen is megtehetjük. Azonban ha később ebből a telepítésből egy tökéletes szervert is szeretnénk építeni, akkor fontos, hogy az itt leírtak alapján haladjunk, hogy később ne adódhassanak problémák.
A Debian időközben elérhetővé tette a Buster Backports tárolójában a phpMyAdmin telepítőcsomagját, így onnan is telepíthető. Tehát ha nem szeretnénk kézzel telepíteni és beállítgatni, akkor látogassunk el az alábbi linkre:
A kézi telepítéshez folytassuk a leírás elkészítését.
Könyvtárstruktúra kialakítása
Root-ként maradva, először hozzuk létre a szükséges könyvtárakat és a HTTP hitelesítéshez szükséges beállítófájlt, amit üresen is hagyunk:
mkdir /usr/share/phpmyadmin
mkdir /etc/phpmyadmin
mkdir -p /var/lib/phpmyadmin/tmp
touch /etc/phpmyadmin/htpasswd.setup
Letöltés és kicsomagolás
A phpMyAdmin hivatalos letöltőoldalán legörgetve találunk egy olyan részt, hogy "Latest Stable Version". Itt keressük ki a "phpMyAdmin-latest-all-languages.tar.gz" linket, aminek most használni fogjuk az URL címét.
Lépjünk be a /tmp könyvtárba és töltsük le:
cd /tmp
wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.tar.gz
Csomagoljuk ki, és a tartalmát tegyük át a fentebb létrehozott könyvtárába:
tar -xzf phpMyAdmin-latest-all-languages.tar.gz
mv phpMyAdmin-4.9.1-all-languages/* /usr/share/phpmyadmin/
(Itt természetesen a kicsomagolt könyvtárnév az aktuális verziónak megfelelően alakul)
Töröljük a felesleges dolgokat:
rm phpMyAdmin-latest-all-languages.tar.gz
rm -rf phpMyAdmin-4.9.1-all-languages/
Állítsuk át a www-data felhasználóra a phpMyAdmin könyvtárát és annak teljes tartalmát, mert ennek a felhasználónak a nevében kell majd tudnia hozzáférnie a PHP-nek:
chown -R www-data:www-data /var/lib/phpmyadmin
Beállítások
A programcsomag már a helyén van, még el kell végeznünk néhány beállítást, hogy működésre is bírhassuk kezdhetjük is az adatbázis beállításaival.
Adatbázis beállítások
PMA kontroll felhasználó és adatbázis létrehozása
A phpMyAdmin egy ún. kontroll felhasználó segítségével tartja karban, illetve szinkronban a saját, belső információs tábláit a háttérben. Ezzel a felhasználóval nekünk nem lesz később dolgunk, de itt most létre kell hoznunk manuálisan. Lényegében ez a korábbi Ubuntu 18.04 LTS, illetve Debian 9 (Stretch) LAMP szervereken is elvégzett kontroll felhasználók automatikus beállításainak a kézi megfelelője. Itt tehát találjunk ki egy jelszót, amit mindjárt használni is fogunk.
Lépjünk be a MariaDB konzoljába a beállított defaults fájlunk segítségével:
mysql --defaults-file=/etc/mysql/debian.cnf
Majd soronként egyesével adjuk ki az alábbi SQL parancsokat, behelyettesítve a 'jelszo' részeket az általunk kitalált jelszóra:
CREATE DATABASE phpmyadmin;
CREATE USER 'pma'@'localhost' IDENTIFIED BY 'jelszo';
GRANT ALL PRIVILEGES ON phpmyadmin.* TO 'pma'@'localhost' IDENTIFIED BY 'jelszo' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
Normál esetben ehhez hasonlóan kell kinéznie a történetnek:
phpMyAdmin saját tábláinak létrehozása
A pma saját felhasználója és adatbázisa létrejött, már csak fel kell töltenünk ezt az adatbázist a phpMyAdmin saját tábláival. Erre a célra van egy SQL fájl a letöltött csomagban, amit csak le kell futtatnunk az adatbázisban:
mysql --defaults-file=/etc/mysql/debian.cnf < /usr/share/phpmyadmin/sql/create_tables.sql
A parancs normál esetben nem ad semmilyen kimenetet, de ha újra belépünk a konzolba, akkor egyszerűen ellenőrizhetjük a táblák létrejöttét:
mysql --defaults-file=/etc/mysql/debian.cnf
Majd a konzolban:
use phpmyadmin;
show tables;
exit;
Itt láthatjuk, hogy létrejött 19 darab "pma__" kezdetű tábla, tehát a csomagban kapott SQL fájl gond nélkül futott le.
Root belépés engedélyezése
Ahogyan a korábbi Debian 9 (Stretch), vagy az Ubuntu 18.04 LAMP szerverek phpMyAdmin-jainak telepítésekor, itt is engedélyeznünk kell a root belépést, ami alapból biztonsági okok miatt tiltva van.
Ehhez ismét lépjünk be a MariaDB konzolba:
mysql --defaults-file=/etc/mysql/debian.cnf
Majd itt adjuk ki soronként az alábbi SQL parancsokat:
UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';
FLUSH PRIVILEGES;
exit;
Az első parancsra ilyesmit kell hogy visszaadjon:
Query OK, 1 row affected (0.014 sec) Rows matched: 1 Changed: 1 Warnings: 0
Ezzel az adatbázis részekkel meg is volnánk.
A config.inc.php beállítása
A config.inc.php a phpMyAdmin fő konfigurációs fájlja, ebben található minden szükséges beállítás. Kiinduló helyzetben egy sablon fájlról kell másolatot készítenünk, amiben utána elvégezzük a módosításokat. A másolást a következő paranccsal hajtsuk végre:
cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
Mielőtt megnyitnánk a fájlt, szükségünk lesz egy ún. blowfish secret kódra, ami a süti alapú bejelentkezést biztosítja számunkra, így kényelmesebben használhatjuk a phpMyAdmint, mint az alap HTTP hitelesítés segítségével. A kódnak egyedinek kell lennie, amit számos weboldalon is generáltathatunk, vagy akár magunk is létrehozhatunk a parancssorban. Sokféle módon elő lehet ilyet állítani, például az alábbi paranccsal:
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | head -c 32 && echo
Most így hirtelen ez jött. A végén az echo csak egy sortörést ad, hogy kényelmesebben ki tudjuk másolni a kapott kódot. Példa kimenet (ne ezt használjuk, generáljunk sajátot):
935N410AWjD5CUe1mPyV36nLVGaUA2Br
Miután kimásoltuk ezt a 32 karakterhosszúságú alfanumerikus karakterláncot, nyissuk meg a config.inc.php fájlt:
nano /usr/share/phpmyadmin/config.inc.php
És végezzük el az alábbi módosításokat:
[...] $cfg['blowfish_secret'] = 'ide helyezzük be a generált 32 karakter hosszúságú blowfish_secret kódunkat'; [...] // $cfg['Servers'][$i]['controlhost'] = 'localhost'; // $cfg['Servers'][$i]['controlport'] = ''; // $cfg['Servers'][$i]['controluser'] = 'pma'; // $cfg['Servers'][$i]['controlpass'] = 'itt adjuk meg a korábban beállított PMA jelszavunkat'; /* Storage database and tables */ // $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; // $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark'; // $cfg['Servers'][$i]['relation'] = 'pma__relation'; // $cfg['Servers'][$i]['table_info'] = 'pma__table_info'; // $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords'; // $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages'; // $cfg['Servers'][$i]['column_info'] = 'pma__column_info'; // $cfg['Servers'][$i]['history'] = 'pma__history'; // $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs'; // $cfg['Servers'][$i]['tracking'] = 'pma__tracking'; // $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig'; // $cfg['Servers'][$i]['recent'] = 'pma__recent'; // $cfg['Servers'][$i]['favorite'] = 'pma__favorite'; // $cfg['Servers'][$i]['users'] = 'pma__users'; // $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups'; // $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding'; // $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches'; // $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns'; // $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings'; // $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates'; [...] $cfg['UploadDir'] = ''; $cfg['SaveDir'] = ''; $cfg['TempDir'] = '/var/lib/phpmyadmin/tmp'; [...]
Sorban haladva tehát a következőket hajtsuk végre:
- $cfg['blowfish_secret'] itt adjuk meg a blowfish_secret kódunkat az aposztrófok között
- $cfg['Servers'][$i]['controlhost'] itt állítsuk be a következő értéket: 'localhost'
- $cfg['Servers'][$i]['controlpass'] sorában pedig adjuk meg a fentebb kitalált PMA jelszavunkat.
- Kicsit lejjebb, a SaveDir-es sor alá illesszük be az alatta lévő zölddel kiemelt TempDir-es sort.
Lényegében bárhova beszúrhatjuk, de itt a könyvtárak beállító részeinél a logikus elhelyezni. - Végül vegyünk ki minden pirossal kiemelt kommentet a sorok elől.
Mentsük le a fájlt.
Apache beállítása
Utolsó lépésként már csak az Apache beállítása maradt hátra. Hozzuk létre a phpMyAdmin Apache konfigurációs fájlját:
nano /etc/apache2/conf-available/phpmyadmin.conf
És tegyük bele az alábbi tartalmat:
# phpMyAdmin default Apache configuration
Alias /phpmyadmin /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin>
Options SymLinksIfOwnerMatch
DirectoryIndex index.php
<IfModule mod_php7.c>
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_value include_path .
php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp
php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/php/php-php-gettext/:/usr/share/javascript/
php_admin_value mbstring.func_overload 0
</IfModule>
</Directory>
# Authorize for setup
<Directory /usr/share/phpmyadmin/setup>
<IfModule mod_authn_file.c>
AuthType Basic
AuthName "phpMyAdmin Setup"
AuthUserFile /etc/phpmyadmin/htpasswd.setup
</IfModule>
Require valid-user
</Directory>
# Disallow web access to directories that don't need it
<Directory /usr/share/phpmyadmin/libraries>
Order Deny,Allow
Deny from All
</Directory>
<Directory /usr/share/phpmyadmin/setup/lib>
Order Deny,Allow
Deny from All
</Directory>
Ez a phpMyAdmin alapértelmezett konfigurációja.
Majd engedélyezzük a konfigot:
a2enconf phpmyadmin
Csinálhatunk egy konfigtesztet is, hogy megfelelő-e a szintaktika:
apache2ctl configtest
Ha rendben van, akkor indítsuk újra az Apache-ot:
systemctl restart apache2
phpMyAdmin tesztelése
És eljött a pillanat, amikor minden készen áll, kipróbálhatjuk a phpMyAdminunkat. Töltsük be a böngészőbe a megfelelő IP-címmel:
http://192.168.1.130/phpmyadmin
Itt adjuk meg a root hozzáférésünket, és meg is érkezünk a kezdőoldalra:
Íme egy friss, ropogós, hibátlan 4.9.1-es phpMyAdmin példány. Azonban még ne menjünk messzire, ha még van kedvünk, mert még csiszolhatunk rajta. :)
A következő oldalon folytatjuk a phpMyAdmin PHP-FPM-hez történő opcionális finomhangolásával.
- Hogyan telepíthetjük egyszerűen a backports tárolóból, vagy frissíthetjük a kézzel feltelepített phpMyAdmin webes adatbázis kezelő rendszerünket Debian 10 (Buster) szervereken
- Debian 9 (Stretch) LAMP szerver v1.0 telepítése
- Debian 8 (Jessie) LAMP szerver v1.0 telepítése
- Ubuntu 18.04 LTS (Bionic Beaver) LAMP szerver v1.0 telepítése
- Ubuntu 20.04 LTS (Focal Fossa) LAMP szerver v1.0 telepítése
- Debian 11 (Bullseye) LAMP szerver v1.0 telepítése
- Tökéletes szerver: Debian 11 (Bullseye) v1.0
- Hogyan telepítsük fel a PHP-FPM-et egy Debian 8 (Jessie) LAMP szerverre
- Hogyan telepíthetünk újabb PHP verziókat Debian 9 (Stretch) LAMP szerverünkre PHP-FPM módban
- A Debian 10 (Buster) operációs rendszer újdonságai, változásai
Lapozó
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
- 1119 megtekintés