Ahoz, hogy statikus honlapokat is futtathassunk a szerverünkön nincs szükség ezekre a szolgáltatásokra, azonban ha dinamikus honlapokat is hostolunk, akkor elengedhetetlen a telepítésük!

Telepítés:

  • apt-get install mysql-server mysql-client
  • apt-get install apache2
  • apt-get install php5 libapache2-mod-php5
  • service apache2 restart
  • nano /var/www/html/info.php
    <?php
    phpinfo();
    ?>
  • ha beírjuk a böngszőbe a http://ipcím/info.php -t, akkor tesztelhetjük az apache-php kombó működését!
  • előfordulhat, hogy honlapunkon rövidített php tageket használunk(<? «php kód» ?>), ebben az esetben engedélyeznünk kell a rövidített tag-k használatát, a
    • php7 esetén: sudo nano /etc/php/php7.0/apache2/php.ini
    • php5 esetén: sudo nano /etc/php5/apache2/php.inikonfugurációs fájlokban: short_open_tag=On
    • php verziók engedélyezése/tiltása: a2enmod(engedélyezés)/a2dismod(tiltás)
      sudo a2dismod php5 ;  a2enmod php7.0 ; sudo service apache2 restart

Segédeszköz a MYSQL: phpmyadmin

Telepítése:

  • sudo apt-get install phpmyadmin
  • válasszuk az apache2 -t majd next....
  • beállítás: nano /etc/apache2/apache2.conf

    Include /etc/phpmyadmin/apache.conf

  • sudo service apache2 restart
  • http://ipcím/phpmyadmin -ról elérhető a szolgáltatás webes felülete!

Virtual Host: Egyetlen szerveren több honlapot is futtathatunk ehez domainként létre kell hoznunk a konfigurációs fájlokat, majd engedélyeznünk is kell azokat.

A konfigurációs fájlok a /etc/apache2/sites-available/ mappában találhatóak, itt találjuk az alapértelmezett "sémaként is szolgáló" fájlt, a 000-default.conf -t.

Ahhoz, hogy egy domaint egy adott mappához csatoljunk, elegendő ebből egy másolatot készítenünk és annak módosított változatát engedélyeznünk.

  • sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mydomainname.hu.conf
  • sudo nano /etc/apache2/sites-available/mydomainname.hu.conf
    <VirtualHost *:80>
            ServerName www.mydomainname.hu
            ServerAlias mydomainname.hu
            ServerAdmin webmaster@localhost
     # a weblapunk elérési helye
    DocumentRoot /mnt/HDD/Sites/MyDomain
            <Directory "/mnt/HDD/Sites/MyDomain">
                    Require all granted
            </Directory>
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>
  • engedélyezzük a konfigurációs fájlt: sudo a2ensite mydomainname.hu.conf
  • sudo service apache2 restart

LAMP stack: Apache2, PHP, MySQL és phpMyAdmin telepítése

Klasszikus webszerver-csomag dinamikus PHP-alapú weboldalak és adatbázis-vezérelt alkalmazások (pl. CMS-ek) futtatásához.

MySQL telepítése

apt-get install mysql-server mysql-client

A telepítés után az /etc/mysql/debian.cnf fájlban található egy beépített rendszer-felhasználó, amellyel jelszó nélkül is be lehet jelentkezni adminisztrációs célokra (csak helyi hozzáféréssel, karbantartáshoz használatos).

sudo nano /etc/mysql/debian.cnf

Apache2 + PHP telepítése és tesztelése

apt-get install apache2
apt-get install php5 libapache2-mod-php5
service apache2 restart

# Teszt PHP fájl létrehozása
nano /var/www/html/info.php
<?php
  phpinfo();
?>

A fájl böngészőből tesztelhető: http://[szerver_IP]/info.php

phpMyAdmin telepítése

apt-get install phpmyadmin

# Apache konfigurációba bekötés
nano /etc/apache2/apache2.conf
# hozzáadandó sor:
Include /etc/phpmyadmin/apache.conf

# PHP verzióváltás (pl. 5-ről 7.0-ra)
sudo a2dismod php5 ; sudo a2enmod php7.0 ; sudo service apache2 restart

Megjegyzés: Alapértelmezett phpMyAdmin admin belépés telepítés után: root felhasználó, a MySQL telepítéskor megadott jelszóval. Ezt módosítsd telepítés után azonnal.

www-data csoport — fájlmegosztási jogosultság webszervernek

useradd -g www-data [felhasznalo1]
useradd -g www-data [felhasznalo4]

Apache Virtual Host beállítása

Virtual Host-okkal egyetlen Apache szerveren több, különböző domain névhez tartozó weboldal is kiszolgálható, egymástól elkülönítve.

Részletes útmutató: https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/[sajat-domain].conf
sudo nano /etc/apache2/sites-available/[sajat-domain].conf

Konfigurációs sablon

# Aliasok extra mappákhoz, pl.:
# Alias /vhost2 /elerhetoseg/masik/vhost2/mappajahoz

<VirtualHost *:80>
    ServerAdmin admin@example.com
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html

    <Directory "/var/www/example.com/">
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
sudo a2ensite [sajat-domain].conf
sudo service apache2 restart

Megjegyzés: Ha a 000-default.conf is aktív marad, ütközhet az alapértelmezett localhost-tartalom a saját domainnel — vagy irányítsd át a 000-default-ot, vagy tiltsd le (a2dissite).


phpMyAdmin biztonsági beállítások

A phpMyAdmin alapértelmezett telepítése több ponton is biztonsági kockázatot jelenthet nyilvánosan elérhető szerveren. Az alábbi lépések csökkentik a támadási felületet.

Root bejelentkezés letiltása phpMyAdminon keresztül

sudo nano /etc/phpmyadmin/config.inc.php
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['AllowRoot'] = FALSE;

Helyette hozz létre egy dedikált, korlátozott jogosultságú adminisztrátori felhasználót phpMyAdminon belül.

phpMyAdmin elérési útjának elrejtése / átnevezése

Ahelyett, hogy a phpMyAdmin a könnyen kitalálható /phpmyadmin útvonalon lenne elérhető, érdemes egyedi subdomain mögé rejteni:

sudo nano /etc/apache2/sites-available/[sajat-dbadmin-subdomain].conf
ServerName www.[egyedi-subdomain].[sajat-domain]
ServerAlias [egyedi-subdomain].[sajat-domain]

ServerAdmin webmaster@localhost
DocumentRoot /usr/share/phpmyadmin

<Directory "/usr/share/phpmyadmin">
    Require all granted
</Directory>

Az alapértelmezett /phpmyadmin elérés letiltása

sudo nano /etc/apache2/conf-available/phpmyadmin.conf
# Kommenteld ki az Alias sort, majd:
sudo service apache2 reload

← Vissza: Linux