A 2. oldal tartalma
Folytatás
Az első oldalon feltelepítettük a MariaDB adatbázismotort és az Apache webkiszolgálót, ezen az oldalon folytatjuk a LAMP szerver építését a PHP7 és a phpMyAdmin telepítésével és beállításaival.
PHP 7 telepítése
A Debian 9 (Stretch) operációs rendszeren az alapértelmezett PHP verzió a 7.0. Ennek jelenleg a legfrissebb kiadása a 7.0.33.
Apache modulként történő telepítéséhez adjuk ki az alábbi apt-get parancsot:
apt-get -y install php7.0 libapache2-mod-php7.0
A későbbiekben még sok mindennel fogjuk bővíteni ezt a szervert, többek között a PHP-FPM telepítésével és üzembe helyezésével is.
Ezután indítsuk újra az apache webkiszolgálót a systemctl parancs segítsésével:
systemctl restart apache2.service
Ekkor már kapunk egy működőképes PHP rendszert, de még bővítenünk kell néhány dologgal, hogy tartalmazza a megfelelő kiegészítőket is.
MySQL/MariaDB támogatás telepítése
A nemrég telepített adatbázismotorunk PHP támogatásához telepítsük a php7.0-mysql csomagot:
apt-get -y install php7.0-mysql
További PHP csomagok telepítése
Az apt-cache paranccsal kilistázhatjuk, hogy milyen csomagok állnak még rendelkezésre a PHP 7.0 rendszerhez:
apt-cache search php7.0
Erre kiad egy nagy listát, ezek közül válogathatunk még, amiket telepíteni szeretnénk.
Egy sok mindenre használható PHP rendszerhez az alábbi telepítőparancs a javasolt:
apt-get -y install \
php-pear \
php-imagick \
php-apcu \
php-memcache \
php7.0-curl \
php7.0-gd \
php7.0-intl \
php7.0-imap \
php7.0-mcrypt \
php7.0-pspell \
php7.0-recode \
php7.0-sqlite3 \
php7.0-tidy \
php7.0-xmlrpc \
php7.0-xsl \
php7.0-zip \
php7.0-opcache
Természetesen szükség szerint később még bármikor telepíthetők hozzá további csomagok.
Ha minden számunkra szükséges kiegészítőt felraktunk, akkor indítsuk újra az Apache-ot:
systemctl restart apache2.service
Beágyazott PHP mód engedélyezése (opcionális)
Alapértelmezetten az Apache úgy van bekonfigurálva, hogy csak a php kiterjesztésű fájlokban futtatja le a PHP kódokat. Ez elsősorban biztonsági okokból van így. Azonban előfordulhat, hogy szükségünk van rá, hogy például HTML fájlokba ágyazott PHP kódokat is futtasson a szerverünk. A mai modern PHP rendszerű oldalaknál, CMS rendszereknél ez már nem divat, de a régebben készült weboldalaknál gyakran voltak ilyen megoldások, ahol a HTML fájlokba kerültek bele PHP kódrészek.
Amennyiben tehát ilyen igény merülne fel a szerver üzemeltetése során, hogy szeretnénk a HTML fájlokban is futtatni a PHP kódokat, akkor hajtsuk végre az itt következő részt. Ha nincs rá szükségünk, akkor ugorjuk át ezt.
Hozzunk létre a webgyökérben egy html fájlt:
nano /var/www/html/proba.html
És tegyük bele a következő tartalmat:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>Próba oldal</title> </head> <body> Helló világ!<br> Itt jön egy beágyazott PHP kórdész:<br> <?PHP echo "PHP fut!"; ?> </body> </html>
És töltsük be a böngészőbe:
http://192.168.1.120/proba.html
Amint láthatjuk, első körben nem fut le a PHP kódrész. Ennek orvoslásához nyissuk meg a leírás első oldalán is már említett virtualhost fájlunkat:
nano /etc/apache2/sites-enabled/000-default.conf
És helyezzük el a zöld színnel kiemelt sorokat a konfigurációs fájl VirtualHost blokkjának végében, hogy az alábbinak megfelelően nézzen ki:
<VirtualHost *:80>
[...]
<FilesMatch ".+\.html$">
SetHandler application/x-httpd-php
</FilesMatch>
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Ezután indítsuk újra az Apache-ot:
systemctl restart apache2.service
Majd frissítsünk rá a korábbi próba oldalunkra a böngészőben:
És most már lefut a PHP kódrész is a HTML fájlban.
PHP tesztelése
Végül teszteljük a teljes PHP rendszerünket. Hozzunk létre egy php fájlt a webgyökérben:
nano /var/www/html/phpinfo.php
Majd tegyük bele az alábbi sorokat:
1 2 3 <?php phpinfo(); ?>
Mentsük le, majd futtassuk a böngészőben a szerver IP-címének megfelelő URL címmel:
http://192.168.1.120/phpinfo.php
Zöld pöttyel jelöltem meg a Szerver API sorát, ahol láthatjuk, hogy az "Apache 2.0 Handler" felirat jelzi, hogy a PHP jelenleg Apache modulként fut. Valamint, ha itt lejjebb görgetünk, akkor láthatjuk az összes betöltött PHP modult, és azoknak a beállításait is.
Ha valamit állítanunk kell a php.ini-ben, azt pedig itt találjuk: /etc/php/7.0/apache2/php.ini
phpMyAdmin telepítése
A phpMyAdmin segítségével webes felületen kényelmesen kezelhetjük adatbázisainkat, futtathatunk lekérdezéseket, karbantartást végezhetünk rajtuk, stb. Telepítéséhez futtassuk az alábbi parancsot:
apt-get -y install phpmyadmin
Telepítés közben előjön pár dialógus. Elsőként rákérdez, hogy melyik HTTP kiszolgálót használjuk:
Itt válasszuk az apache2-t.
Majd további telepítés után a következő dialógusban kiírja, hogy a phpMyAdmin működéséhez szüksége van egy saját adatbázisra, és hogy szeretnénk-e hogy beállítsa-e automatikusan a dbconfig-common segítségével:
Itt válasszunk igen-t.
Ezután kér még egy jelszót, amivel a phpMyAdmin kontroll felhasználója fog dolgozni:
Ezzel a felhasználóval a phpMyAdmin a háttér karbantartást, struktúra szinkronizációkat, stb végzi, tehát nekünk nem lesz vele dolgunk. Így nyomjunk erre egy entert, hogy generáljon magának egy saját jelszót.
Ezzel készen is van a telepítés.
Root belépés engedélyezése
Ellentétben a Debian 8 (Jessie) LAMP szerver phpMyAdmnin telepítésénél, itt alapértelmezetten – további biztonsági okokból – nincs engedélyezve a root belépés a phpMyadmin felületén, ezért ezt még nekünk kell kézzel beállítani (ez itt nem ugyanaz a beállítás, amiről fentebb volt szó). Beállításához hajtsuk végre a következő parancsot:
echo "UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';FLUSH PRIVILEGES;" | mysql -u root -p
Ezután bekéri tőlünk a parancssor a MariaDB root jelszavát, adjuk meg.
phpMyAdmin tesztelése
Most már beléphetünk root-ként a phpMyAdmin felületébe az alábbi címen:
http://192.168.1.120/phpmyadmin
További biztonsági beállítások (opcionális)
Ha a későbbiekben tervezzük használni a parancssori adatbázis használatát, illetve shell scriptekből is szeretnénk kezelni adatbázisainkat, akkor erősen javaslom a parancsori adatbázishasználat biztonságossá tételét.
A linkelt leírásban általánosabb formában írtam erről, így most lássuk, hogy ez hogy néz ki jelen esetben.
Nyissuk meg root-ként az adatbázismotorunk által már előre létrehozott defaults fájlját:
nano /etc/mysql/debian.cnf
És a zölddel kiemelt részeknek megfelelően állítsuk be az adatbázis root jelszavunkat:
# Automatically generated for Debian scripts. DO NOT TOUCH! [client] host = localhost user = root password = '<root jelszó>' socket = /var/run/mysqld/mysqld.sock [mysql_upgrade] host = localhost user = root password = '<root jelszó>' socket = /var/run/mysqld/mysqld.sock basedir = /usr
Majd mentsük le.
Ezután már kikerülhetjük a jelszó parancssorban történő bekérését, aminek köszönhetően scriptekben is automatizálhatjuk az adatbázisokkal történő munkát. Természetesen bármelyik adatbázis felhasználó számára létrehozhatunk ilyen defaults fájlokat.
Ennek megfelelően példaképpen, ha most kellene lefuttatnunk a fentebbi phpMyAdmin root belépésének beállító parancsát, akkor az alábbi módon kellene elvégeznünk:
echo "UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket';FLUSH PRIVILEGES;" | mysql --defaults-file=/etc/mysql/debian.cnf
Akár le is futtathatjuk próbaképpen, nem csinálunk vele semmi kárt, ha újra lefuttatjuk.
Végül a biztonság kedvéért nézzünk rá a defaults fájlunk jogosultságára (bár a rendszer hozta létre, így jónak kell lennie):
ls -l /etc/mysql/debian.cnf
Ennek pedig így kell kinéznie:
-rw------- 1 root root 305 jún 21 13:35 /etc/mysql/debian.cnf
Így már biztosak lehetünk benne, hogy csak a root felhasználó lát bele a fájlba.
Virtuális gép letöltése
Konklúzió
Ez lenne tehát egy teljesen alap Debian 9 (Stretch) alapú LAMP szerver, amin mostantól futtathatunk bármilyen PHP és MySQL/MariaDB alapú dinamikus weboldalakat. Később még apránként bővítjük hasznos dolgokkal, hogy szélesebb körben is használható legyen.
- Enciklopédia - LAMP rendszerek
- Debian 8 (Jessie) LAMP szerver v1.0 telepítése
- Debian 10 (Buster) 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
- wiki.debian.org - LaMp
- Debian 9 LAMP Server Tutorial with Apache, PHP 7 and MariaDB
- Debian 9 (Stretch) minimális szerver telepítése
- Debian 10 (Buster) minimális szerver telepítése
- A parancssori adatbázishasználat biztonságossá tétele a defaults fájlok használatával
- Tökéletes szerver: Debian 8 (Jessie) V1.0
- Tökéletes szerver: Debian 9 (stretch) V1.0
- Tökéletes szerver: Debian 11 (Bullseye) v1.0
- Ubuntu 18.04 LTS (Bionic Beaver) minimális szerver telepítése
Lapozó
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
- 327 megtekintés