Debian 9 (Stretch) LAMP szerver v1.0 telepítése

botond küldte be 2019. 06. 21., p – 14:10 időpontban

Az 1. oldal tartalma

 

Bevezető

Fejlesztői vagy tesztkörnyezet kialakításához kiválóan alkalmas egy LAMP szerver gyors összeállítása. Éles weboldalak üzemeltetésére viszont inkább egy komolyabb szerver összeállítást ajánlanék, például valamelyik tökéletes szerver konfigurációt a Debian 8-ra vagy a Debian 9-re.

Korábban már készítettem egy leírást a Debian 8 (Jessie) LAMP szerver v1.0 telepítéséről, ebben a leírásban pedig egy Debian 9 (Stretch) operációs rendszerre telepítjük fel a LAMP szerver összetevőit, ami az alábbiakból fog állni:

Ezek az összetevők mind a Debian hivatalos csomagtárából kerülnek feltelepítésre a fent megjelölt verziókban. Így később a csomagok frissítéseit egyszerűen végezhetjük egyszerre az APT csomagkezelő segítségével.

Amint láthatjuk, a korábban megszokott MySQL-t leváltotta a MariaDB, ami teljes értékű helyettesítőjeként működik a Debian 9 (Stretch) rendszerekben alapértelmezett adatbázismotorként.

Ezt a Debian 9 (Stretch) LAMP telepítést 1.0-ás verziószámmal jelölöm meg, mert a későbbiekben még sok egyéb kiegészítővel fogjuk bővíteni, hogy még hasznosabbá és hatékonyabbá tehessük.

 

Frissítés 2019-11-19:
Elkészült a Debian 10 (Buster) LAMP szerver telepítési útmutatója is!

 

 

Alapfeltétel

A leírás elkészítéséhez szükség van a Debian 9 (Stretch) minimális szerver feltelepítésére, mert ezt a LAMP szervert erre fogjuk építeni.
Természetesen feltelepíthető grafikus környezettel rendelkező asztali használatú számítógépre is, a lényeg, hogy a fenti összetevők most kerüljenek fel először a gépre a megfelelő konfiguráció és működés érdekében.

 

Rendszer frissítése

Először lépjünk be root-ként, majd frissítsük csomagtár adatbázisunkat és a csomagjainkat az alábbi apt-get parancsokkal:

apt-get update
apt-get upgrade

 

MariaDB telepítése

Mint fentebb már említettem, a Debian 9 (Stretch) rendszerben az alapértelmezett adatbázismotor a MariaDB lett a korábban használt MySQL helyett. A MariaDB mondhatni teljesen kompatibilis a MySQL-el, így weboldalaink adatbázisait gond nélkül elkezeli. A szerver és kliens telepítéséhez (root-ként maradva) adjuk ki az alábbi parancsot:

apt-get -y install mariadb-server mariadb-client

Adatbázis biztonságossá tétele

Adatbázis szerverünket, és adatbázisainkat biztonságosabbá tehetjük, ha elvégzünk néhány beállítást. Ezekhez a biztonsági beállításokhoz van egy külön parancs, ami végigvezet bennünket a szükséges lépéseken. Indításához futtassuk a mysql_secure_installation parancsot:

mysql_secure_installation
A kompatibilitás megőrzése végett sok parancs, beállítás, konfiguráció használja még a "mysql" nevet, de közben a rendszer háttérben a MariaDB adatbázismotort kezeli.

A parancs először bekéri tőlünk az adatbázis root jelszavát:

MariaDB biztonságossá tétele - Root jelszó bekérése

Itt nyomjunk egy entert, mivel még nincsen root jelszó beállítva.

Ezután megkérdi, hogy szeretnénk-e beállítani egy root jelszót:

MariaDB biztonságossá tétele - Root jelszó beállítása

Itt válasszunk igent. Ezután bekéri tőlünk az új root jelszót, és egy ismétlést. Adjunk meg egy kellőképpen biztonságos jelszót, tehát ami nem túl egyszerű. Lehetőleg legyenek benne számok, kötőjelek, stb is.

 

 

Ha megadtuk mindkétszer, akkor jön is a következő lépés, amiben megkérdi, hogy törölje-e a névtelen felhasználókat:

MariaDB biztonságossá tétele - Névtelen felhasználók törlése

A rendszer fejlesztési és tesztelési célokra biztosítja ezeket a névtelen felhasználókat, amiket törölnünk kell, ha biztonságossá szeretnénk tenni az adatbázis kiszolgálónkat. Tehát válasszunk igent.

A következő lépésben arról kell döntenünk, hogy engedélyezzük, vagy letiltsuk-e a távoli root belépést:

MariaDB biztonságossá tétele - Távoli root belépés tiltása

A távoli belépés itt annyit jelent, hogy ha például egy másik gépen futtatott adatbáziskezelő szoftverrel (például Windows rendszeren a Navicat) szeretnénk belépni ennek a szervernek az adatbázis kiszolgálójára root-ként.
Ellentétben az ezen a szerveren futtatott webes adatbáziskezelő felületekkel, mint például a lentebb telepítésre kerülő phpMyAdmin nem számítanak távoli belépésnek, mert ugyanezen a szerveren futnak, így localhost-ra csatlakozva lépnek be. Ha tehát itt Igen válasszal letiltjuk a távoli root hozzáférést, attól még a phpMyAdmin felületén gond nélkül be fogunk tudni lépni root-ként bárhonnan, amikor szükséges.

Itt tehát tiltsuk le a távoli root belépést a "Y" opcióval.

Ezután a teszt célokra fentartott "test" adatbázis sorsáról kell döntenünk, amihez bármilyen felhasználó hozzáférhet:

MariaDB biztonságossá tétele - Teszt adatbázis eltávolítása

Itt is válasszuk a Y opciót a teszt adatbázis, és a hozzá kapcsolódó jogosultságok eltávolításához.

Végezetül a változtatások érvénybe léptetéséhez újra kell töltenie a jogosultsági táblákat. Erről is megkérdez bennünket, itt is válasszunk igent:

MariaDB biztonságossá tétele - Jogosultsági táblák újratöltése és befejezés

Ekkor lefuttatja a szükséges háttér részeket, majd tájékoztat bennünket, hogy most már biztonságos a MariaDB adatbázis rendszerünk, tehát akár éles szerverkörnyezetben is használható már.

 

 

Apache web szerver telepítése

Az Apache2 telepítéséhez futtassuk a következőt:

apt-get -y install apache2

Az alapértelmezett webgyökér könyvtár a /var/www/html. Tehát alapból ez az egy virtualhoszt kerül beállításra telepítéskor, melynek a konfigurációs fájlja itt található: /etc/apache2/sites-enabled/000-default.conf

cat /etc/apache2/sites-enabled/000-default.conf
<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

Tehát ha át szeretnénk állítani például a webgyökér könyvtárat, stb, akkor ebben a fájlban kell módosítani.

Az Apache2 fő konfigurációs fájlja pedig: /etc/apache2/apache2.conf.

Apache tesztelése

Teszteljük a működését böngészőben (nálam a 192.168.1.120-as IP-címen):

Apache2 - Üdvözlő oldal

 

A következő oldalon folytatjuk a PHP7 telepítésével...

 

 

Lapozó

Ez a leírás több oldalból áll: