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
- php7 esetén:
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.confInclude /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