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();
?>

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