LAMP – Apache, PHP, MySQL és PHPMyAdmin telepítése Linuxra

Debian/Ubuntu teszt szerver (Apache, PHP, MySQL, phpMyAdmin) telepítése és beállítása lépésről-lépésre. A fejlesztőgépen való tesztelés lehetősége.

2015-08-03 19:34

Apache, PHP, MySQL és PHPMyAdmin Linuxra

Linux Apache MySQL PHPA legtöbb tárhelyszolgáltató UNIX (Linux) alapú szervert működtet, éppen ezért érdemes minél jobban megismerni. Jól működő weboldalak elengedhetetlen kelléke, a fejlesztőgépen való tesztelés lehetősége, asztali környezetben. A később megírt internetes kódjaink, hatékonyabbak, minőségileg jobbak lehetnek.

Forráskódból való fordítástól egészen a könnyebb, grafikus felületű telepítési módszerek közül választhatunk. Nagyon sok, internetről letölthető, előre beállított megoldás létezik, amit a megfelelő operációs rendszerhez kiválasztva, csak telepíteni kell. Kétségtelen, hogy a legegyszerűbb megoldások és még működhet is megfelelően, azonban sok tekintetből hátrányosak. Sokkal átláthatóbb és később könnyebben boldogulunk, ha minden szükséges összetevőt, mi magunk külön-külön pakolunk fel és végezzük el a szükséges konfigurációs beállításokat, így számos előnyhöz juthatunk.

A mai, modernebb Linux disztribúciókon, a következő telepítési folyamatot teljes egészében végrehajthatjuk grafikus felületen is a csomagkezelőt használva. A részletek alaposabb megértése érdekében jobban járunk, ha a parancssoros megoldást választjuk.

A telepítést, beállításokat rendszergazdai (root) jogosultságokkal lehet elvégezni! Az alábbi leírás Debian/Ubuntu Linuxra vonatkozik, de átvihető más disztribúcióra is, azonban egyes telepítési könyvtárak, konfigurációs állományok különbözhetnek. Debian rendszeren su, míg Ubuntun sudo paranccsal szerezhetőek rendszergazda jogosultságok.

A leírás-sorozat a helyi sajátosságok, a könnyebb kezelhetőség, a kockázatok mérséklése miatt sok helyen eltér egy „standard” változattól. Az első kiadása óta az un.: standard telepítési módot és beállításokat, maguk a disztribútorok általában verzióváltáskor mindig megváltoztatták! Kényszerűségből, valamely komponens változásai miatt, vagy csak úgy, konkrét indok nélkül. Ilyenkor a leírás-sorozat egyes részeibe un.: elágazó frissítések kerülnek, utalva arra, hogy éppen mi érvényes.

Az Ubuntu 11.04 verziótól ajánlott figyelembe venni a Unity, a Canonical bevezetett új asztali környezetének kiforratlanságát – a leggyakrabban használt fejlesztőkörnyezeteket egyelőre használhatatlanná teszi!

Figyelmeztetés: A cikk feltételezi, hogy eddig nincs telepítve az Apache, a PHP, a MySQL, és a PHPMyAdmin. Ellenkező esetben szükséges lehet mindezek teljes eltávolítása, konfigurációs állományokkal együtt, majd az alábbi leírás szerinti újratelepítésre!

Példa a működésképtelen Apache2 teljes eltávolítására:

Figyelmeztetés: Ha már van egy működő szerverünk, vagy még semmi nincs telepítve, ezt a részt ne alkalmazzuk!

  1. Terminál megnyitása (Alkalmazások > Kellékek > Terminál)
  2. „root” jelölése: #
  3. felhasználó jelölése: ~$
  4. jegyzet jelölése a konfigurációs állományokban: ### vagy ;;;
  5. Kijelölés/másolás, majd Enter lenyomása:
    • (kijelölés Terminálban > Ctrl + Shift + C)
    • (másolás Terminálban > Ctrl + Shift + V)
  6. Apache2 eltávolítása, maradványok kiiratása:
    # apt-get remove --purge $(dpkg -l apache* | grep ii | awk '{print $2}')
  7. www könyvtár törlése:
    # rm -r /var/www/
  8. apache2 könyvtár törlése:
    # rm -r /etc/apache2/
  9. Minden eddig eltávolított program beállításainak törlése:
    # apt-get purge `dpkg --get-selections | grep deinstall | awk '{print $1}'`

Figyelmeztetés: A leírás ezen szakaszát csak legvégső esetben, mikor már minden kötél szakadt, ajánlatos alkalmazni!

Apache2 telepítése:

Apache
  1. Beállítófájlok szerkesztése közben előfordulhatnak elírásokból következő szintaktikai hibák, melyeket az adott szoftver a hiba kijavításáig nem tud értelmezni! A hiba javítása után, amikor újra szükség van böngésző programra, a változások betöltése miatt gondoskodni kell a gyorsítótárának (cache) kiürítéséről!
  2. Telepítés:
    # apt-get install apache2
  3. A Terminál megkérdezi a jelszót, meg kell adni, majd Enter lenyomása
  4. Elindul a telepítés, majd megkérdezi:
    Folytatni akarod [Y/n]?
    a válasz: Y
  5. Siker esetén, a válasz (Minden sikeres végrehajtás esetén így van. Egyes műveletek során figyelmeztető üzenetek is megjelenhetnek. A későbbiekben, a beállítások során orvosolhatóak.):
    [ OK ]

Apache2 tesztelése:

  1. Bármilyen webböngésző megnyitása, böngészősávba beírni: http://localhost Siker esetén, megjeleníti Index of / vagy It works oldalt (az oldal tartalma disztribúció függő). Más disztribúciók esetén a kapott információk lehetnek különbözőek.

Php5 telepítése:

  1. Telepítés (php5-gd, egyéb modulok telepítése opcionális):
    # apt-get install php5 libapache2-mod-php5 php5-gd
  2. Apache2 újraindítása:
    # /etc/init.d/apache2 restart
    vagy:
    # service apache2 restart
    vagy:
    # service apache2 reload

Php5 tesztelése:

PHP
  1. gedit program megnyitása, fájl létrehozása (Egyéb szerkesztő is használható, pl.: bluefish, vagy a még mindig kedvelt őskori szerkesztők valamelyike: vi, vim, mcedit, nano…):
    # gedit /var/www/test.php
    ### Ubuntu 14.04 után:
    ### Debian 8 után:
    # gedit /var/www/html/test.php
    Az Ubuntuban „for security reasons” az alapértelmezett /var/www gyökérkönyvtár a 14.04 verzió után, valamint a Debian 8 után így változott: /var/www/html, de az /etc/apache2/sites-available/000-default.conf fájl módosításával visszaállítható a korábbi „sztenderd”,
    # DocumentRoot /var/www/html
    DocumentRoot /var/www
    vagy egyéb szempontokat is figyelembe véve, saját felhasználói könyvtáradba állítasz be virtualhostokat . Egyrészt, mert ahogy majd látni fogjuk, sokkal könnyebb saját szemétdombon a munka, másrészt a hackereknek mindig rutinszerű célpont a „sztenderd” DocumentRoot.
  2. Az új fájlba beírni, menteni a következőt, majd bezárni:
    <?php phpinfo(); ?>
  3. Bármilyen webböngésző megnyitása, böngészősávba beírni: http://localhost/test.php
  4. Siker esetén, megjeleníti az eddigi műveletek eredményét táblázatba rendezve, melyből sok hasznos információ kiolvasható, éppen ezért nem ajánlott nyilvános oldalon megjeleníteni!

MySQL telepítése:

MySQL
  1. Telepítés:
    # apt-get install mysql-server
  2. Telepítés közben megkérdezi mi legyen a „root” jelszó, meg kell adni.
  3. Befejezés utáni opcionális beállítások:
    # gedit /etc/mysql/my.cnf
  4. Amennyiben szükséges, a következő sorok értelemszerű megváltoztatása:
    ### language		= /usr/share/mysql/english
    language		= /usr/share/mysql/hungarian
    
    ### bind-address	= 127.0.0.1
    bind-address		= új IP cím
    
  5. Mentés, bezárás.

PhpMyAdmin telepítése:

Phpmyadmin
  1. Telepítés:
    # apt-get install libapache2-mod-auth-mysql php5-mysql phpmyadmin
    ### Ubuntu 14.04 és Debian 8 után:
    # apt-get install php5-mysql phpmyadmin
  2. Telepítés közben rákérdez a konfigurációs beállításokat illetően. Alapesetben Apache2 van kijelölve, ezt kell meghagyni. Az adminisztrátor jelszavának megadása után Enter megnyomásával befejeződik a telepítés.

PhpMyAdmin elérése:

  1. Szimbolikus link a PhpMyAdmin számára:
    # ln -s /usr/share/phpmyadmin /var/www/phpmyadmin
    ### Ubuntu 14.04 és Debian 8 után:
    # ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
  2. A PhpMyAdmin elérése böngészőből: http://localhost/phpmyadmin Felhasználónév root, jelszó pedig a telepítés során megadott. Itt lehet MySQL felhasználókat és jogosultságaikat beállítani, számukra adatbázist létrehozni az adatbázist igénylő hosztok számára.

Befejezés utáni beállítások:

  1. php.ini:
    # gedit /etc/php5/apache2/php.ini
  2. Változtatások: (Régebbi ini fájlokban lehetőség volt bűvészkedni register_globals ki-bekapcsolásával, amit biztonsági szempontból ideje volt megszüntetni, az újabb ini fájlokban már nincs is ilyen. Ha nem találsz register_globals sort, ne foglalkozz vele! A default_charset aktiválása bonyodalmakat okozhat a karakterkódolásban!)
    ;;; register_globals = On
    register_globals = Off
    
    ;;; default_charset = "iso-8859-1"
    default_charset = "utf-8"
    
    date.timezone = Europe/Budapest
    
    ;;; MySQL beállítások ;;;
    ;;; régebbi változat használata:
    extension = msql.so
    extension = msqli.so
    ;;; új változat használata, ha a régi nem működik:
    extension = mysql.so
    extension = mysqli.so
    
    mysql.default_port = 3306
    
    mysql.default_socket = /var/run/mysqld/mysqld.sock
    
    mysql.default_host = localhost
  3. Változtatások mentése, fájl bezárása.
  4. Apache2 újraindítása:
    # /etc/init.d/apache2 restart
    vagy:
    # service apache2 restart
    vagy:
    # service apache2 reload

Remélhetőleg sikerült egy teljes HTTP kiszolgáló rendszert telepíteni, amelyhez szükség szerint további modulokat is telepíthetünk. További beállítások hiányában, csak egyetlen HOST kiszolgálására alkalmas, de a fejlesztés, fájlok feltöltése eléggé körülményes. Míg a valóságban egynél több internetes projekten dolgozunk párhuzamosan, gyakran különböző beállításokkal, a VirtualHost-ok létrehozásával mozgásterünk kiszélesedik. Érdemes elolvasni egy komplett környezet kialakítása érdekében.

Tovább » VirtualHostok létrehozása, beállítása:

Tovább » MySQL adatbázisok beállítása phpMyAdmin-nal

Tovább » Az Apache szerver alapvető biztonsága, PHP verzió elrejtése:

Letöltésre ajánlott PDF dokumentumok:

1918 – Gyulafehérvári Nemzetgyűlés

A „trianoni béke” teljes szövege

1947 párizsi béke

MTI