A webszerver HTML oldalakat szolgál ki http protokollon keresztül. Alapértelmezetten a 80-as porton. Titkosított adatátvitelre is képes SSL vagy TLS felett, a 443-as porton (https protokoll).
Az Apache weboldala http://apache.org. Az Apache valójában egy alapítvány, amelynek nagyon sok projektje van. A webszerver (httpd) csak az egyik projekt a sok közül. A webszervert a főoldalról kiindulva a következő útvonalon lehet megtalálni:
Project -> Project Listing -> Apache HTTP Server
Persze egyszerűen azt is írhatjuk:
A Debian GNU/Linux 6.x verzión, az apache2 csomagban a 2.2 verziójú apache található. Ennek dokumentációja:
apt install apache2
Az apache weboldaláról letölthető a legújabb verzió is. 2012. májusban ez a 2.4-es verzió.
Az apache két proton szokott webhelyeket szolgáltatni, a 80-as és a 443-as porton. Alapértelmezetten csak a 80-as port használható. Ellenőrizzük, hogy figyel-e a 80-as porton a telepített apache2:
ss -lt
A kimenet ehhez hasonló lehet:
State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:ssh *:* LISTEN 0 128 :::http :::* LISTEN 0 128 :::ssh :::*
A kettő darab kettőspontból láthatjuk, hogy az apache2 csak a IPv6 foglalaton figyel. (A harmadik kettőspont csak szeparátor) Ennek ellenére működik IPv4-en is, mivel az IPv4 az IPv6 foglalaton is képes fogadni a kapcsolatokat. Ehhez a Debian készítői az apache2 fordítását a következő kapcsolóval végezték:
--enable-v4-mapped
Hogy valóban, így van-e, kérdezzük le az apache-ot, milyen kapcsolókkal fordították:
apache2ctl -V
A következő sornak kell szerepelnie:
... -D ARP_HAVE_IPV6 (IPv4-mapped addresses enabled) ...
Alapértelmezetten a weblapok helye a következő.
/var/www/html
Ez persze megváltoztatható.
systemctl stop apache2
systemctl start apache2
systemctl restart apache2
systemctl reload apache2
Az apache az apache2ctl paranccsal is vezérelhető. A következő parancsok adhatok:
Például az apache indítása:
apache2ctl start
Például az apache leállítása:
apache2ctl stop
A graceful parancs a SIGUSR1 jelzést küldi az apache-nak. Ennek hatására, ha az apache nem volt elindítva, akkor elindul. Ha el volt indítva, akkor nem szakítja meg a meglévő kapcsolatokat. Ha leállítjuk a graceful-stop paranccsal az sem szakítja meg a kapcsolatokat.
A modulok engedélyezése, tiltása.
Használata:
Engedélyezés:
a2enmod modulnév
Engedélyezésre példa:
a2enmod php5
Tiltás:
a2dismod mdoulnév
Milyen modulok engedélyezhetők? Nézzük meg a mods-available könyvtár tartalmát:
ls /etc/apache2/mods-available
Site vagy virtualhost engedélyezése, tiltása
a2ensite [site] a2dissite [site]
Például az alapértelmezett site leállítása:
a2dissite default
Milyen sit-ok engedélyezhetők? Nézzük meg a sites-available könyvtár tartalmát:
ls /etc/apache2/sites-available
Milyen sit-ok vannak engedélyezve? Nézzük meg a sites-enabled könyvtár tartalmát:
ls /etc/apache2/sites-enabled
/etc/init.d/apache2 status Apache2 is running (pid 3064).
Ha a webszerver nem fut, akkor csak visszakapjuk a promptot.
Több információt kaphatunk az apache2ctl parancs segítségével:
apache2ctl status apache2ctl fullstatus
A konfigurációs állományok szimpla szöveges fájlok (plain text). A fő konfigurációs fájl a httpd.conf, amelynek a helye fordítási időben van beállítva. A „-f” kapcsolóval az „apache2” programnak más konfigurációs fájlok is megadhatók.
Változtatás után az apache újratöltése vagy újraindítása előtt ellenőrizzük a konfigurációs fájl szintaktikáját:
apache2ctl configtest
Egy konfigurációs fájlhoz újabb konfigurációs fájlok illeszthetők az „Include” kulcsszóval. A konfigurációs mondatok nem case sensitvek. A nagy- és kisbetűk használata csak az átláthatóságot szolgálják. A konfiguráció minden módosítása után újra kell töltetni azokat az Apache webszerverrel a következő paranccsal:
service apache2 reload
Telepítés után a beállítások a következő helyen találhatók:
/etc/apache2/
Ezen belül újabb könyvtárakat és állományokat találunk:
A naplófájlok helye:
/var/log/apache2
Háromféle naplófájl van:
Hibanapló:
/var/log/apache2/error.log
Hozzáférési napló:
/var/log/apach2/access.log
Válaszoljon a következő kérdésekre:
A Debian GNU/Linux rendszeren települő Apache2 azonnal használható.
A naplóállományokban azonban hibaüzenet van, mert egy ikonfájlt vár, amelyet megjelenít a böngészők fülein, ha az adott weblaphoz nincs semmi megadva. Alapértelmezetten azt várja, hogy készítsünk egy 16×16-os ico kiterjesztésű képfájlt.
Az ikonfájlt elkészíthetjük például a GIMP rajzoló, képszerkesztő programmal. Az elkészült ico kiterjesztésű fájlt a szerveren a következő helyre kell menteni, az alábbi néven:
/var/www/favicon.ico
Ha változtatunk az apache beállításain, akkor ellenőrizzük szintaktikailag:
apachectl configtest
A beállításokat alkalmazhatjuk könyvtárakra:
<Directory "könyvtárnév">...</Directory>
A beállításokat alkalmazhatjuk könyvtárakra, szabályos kifejezéseket is használva:
<DirectoryMatch "Könyvtárnév">...</DirectoryMatch>
A beállításokat alkalmazhatjuk fájlokra:
<Files "állománynév">...</Files>
A beállításokat alkalmazhatjuk fájlokra, szabályos kifejezéseket is használva:
<FilesMatch "állománynév">...</FilesMatch>
A beállításokat alkalmazhatjuk webhelyre:
<Location "cím">...</Location>
A beállításokat alkalmazhatjuk webhelyre, szabályos kifejezéseket is használva:
<LocationMatch "cím">......</LocationMatch>
A beállításokat alkalmazhatjuk virtuális hostokra:
<VirtualHost>...</VirtualHost>
Az apache moduláris felépítésű. Alapértelmezetten csak az alapfunkciók vannak telepítve.
A modulok betöltésére példa:
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
Elsőként megadtunk egy utasítást, ez után egy modulnevet, a végén pedig a modul elérhetőségének útvonalát.
Fentebb már láttuk, hogy a modulok kezelésére létezik két remek utasítás:
Az engedélyezhető modulok megtekintése:
ls /etc/apache2/mods-available
A példakedvéért a PHP5 engedélyezése:
a2enmod php5
Ellenőrzés:
ls /etc/apache2/mods-enabled/php5.load
Mindig alapból betöltődő modul.
Lehetővé teszi az Options és az AllowOverride beállíátsokat
Options kapcsoló1 kapcsoló2
Options ExecCGI FollowSymlinks Indexes SymlinksIfOwnerMatch
A plusz karakterek engedélyeznek valamit, a mínusz karakterek tiltanak egy beállítást. Ezeket a karaktereket nem kötelező kitenni. Ha nem teszem ki a „+” vagy a „-” karaktert, az alapértelmezett a „+”, vagyis engedélyezett.
<Directory /var/web/dir1> Options +Indexes </Directory>
Ennek megfelelően egy tiltás:
<Directory /var/web/dir1> Options -Indexes </Directory>
Természetesen ha nem írom oda az „Indexes” kapcsolót, akkor sem lesz engedélyezve.
AllowOverride jog1 jog2
A könyvtárakban elhelyezett .htaccess fájlok mit írhatnak felül.
A beállítások két módon tehetők meg:
A .htaccess akkor használjuk, ha egy könyvtárnak a beállításait nem központilag akarjuk megoldani. Ez jellemzően akkor van, ha azt egy másik rendszergazdára, vagy a webmesterre bízzuk (továbbiakban a webmesterre fogok hivatkozni).
A webmester létrehoz ezen a néven egy állományt az adott könyvtárban, amiben elhelyezi a beállításait. Hogy mi az amit beállíthat mi határozzuk meg az „AllowOverride” beállítással központilag.
Ha virtuális domainről van szó, akkor szerkesszük a virtuális domain beállításait, ha saját domainünk akkor httpd.conf fájlt:
Szerkesszük a httpd.conf állományt:
mcedit /etc/apache2/http.conf
Az engedélyezést (mint azt fentebb már csináltuk) Directory direktívák között használhatjuk, például:
<Directory /var/www/info> AllowOverride AuthConfig </Directory>
Az AuthConfig teszi lehetővé, hogy a webmester a .htaccess fájlban apache azonosítást állítson be.
Álljon itt egy lista miket szoktunk engedélyezni:
Ha több lehetőséget szeretnénk megadni, azt írjuk szóközökkel tagolva egymás után:
<Directory /var/www/info> AllowOverride AuthConfig Options Limit </Directory>
A fájl az aktuális könyvtárra vonatkozik, így nem kell Directory direktíva:
Options +Indexes
ErrorDocument 403 /error.php ErrorDocument 404 /error.php ErrorDocument 500 /error.php
Az apache képes weboldalak hozzáférését szabályozni azonosítással. Vagyis nem kell a webmesternek megírni az azonosítási eljárást valamilyen néven, mert az alapból a rendelkezésünkre áll.
A következőkben az auth_basic modul használatával megnézzük hogyan állítsunk be egy azonosítást.
Az első felhasználót így vesszük fel:
htpasswd -c /etc/apache2/auth/pass joska
A -c kapcsoló a jelszó fájl létrehozására ad utasítást.
A futtatás eredménye:
htpasswd -c /etc/apache2/auth/pass joska New password: titok Re-type new password: titok Adding password for user joska
A következő felhasználónál már nem szükséges a -c kapcsoló:
htpasswd /etc/apache2/auth/pass mari
Ha használjuk mégis a -c kapcsolót, akkor felülírjuk a pass állományt tartalmát.
Az apache konfigurációs állományában be kell állítanunk az azonosítást:
<Directory /home/www/private> AuthType Basic AuthName "Vedett tartomany" AuthUserFile /etc/apache2/auth/pass Require valid-user </Directory>
Ha csak mari felhasználó léphet be:
Require user mari
A csoportfájl használatának lehetősége a 2.4 apache verzióban külön modulba került, ami alapértelmezetten Debian9-en nincs engedélyezve. Először engedélyezzük az authz_groupfile modult:
a2enmod authz_groupfile
Az apache konfigurációban meg kell adni a csoportfájl helyét:
AuthGroupFile /etc/apache2/auth/groups
A csoportfájl szintaxisa:
csoportnev: nev1 nev2 nev3
Egy csoportfájl így nézhet ki:
informatika: joska mari kati gazdasagi: tibi gabor lajos
A példában két csoport van. Az informatika és a gazdasagi. Az informatika csoportba tartozik joska, mari és kati. A gazdasagi csoportba tartozik tibi, gabor és lajos.
Az apache konfigurációs fájlok kódolása iso-8859-1.
file -i /etc/apache2/apache2.conf
Ezért ha itt kell létrehoznunk egy AuthName értéket, akkor az helytelenül jelenik meg a böngészőben.
Az UTF-8 környezetben megírt szöveget vissza kell kódolnunk iso-8859-1-be.
Kódoljuk át az utf-8 karaktert iso-8859-1-es karakterré:
echo "ékezet" | iconv -f utf8 -t iso-8859-1//TRANSLIT
A kimeneteben valami ilyesmit kell látnunk:
�kezet
A authz_host modul a 2.0-ás apacheban még access modul néven szerepel!
Célja a hozzáférés szabályozása.
Az Allow és a Deny direktívákkal szabályozhatjuk milyen hostról vagy IP címről érhetik el az egyes weboldalakat.
Figyelem! A beállítások alapértelmezetten csak a /var/www/ könyvtárban működnek. Ha a rendszergazda egy új könyvtárat szeretne, például: /home/www, akkor vagy a /etc/apach2/apache2.conf fájlban, vagy az új könyvtárra hivatkozásnál be kell ezt állítani külön:
<Directory /home/www/piros.hu/htdocs> Require all granted </Directory>
Allow from all
Allow from piros.and
Allow from 10.252.46.165
Deny from 10.252.46.165
Allow from 192.168.1.104 192.168.1.205
Minden számítógép számára: all
Deny from all
Allow from 192.168.5.0/255.255.255.0
Allow from 192.168.5.0/24
Allow from 10.1.0.0/255.255.0.0
Allow from 10.1.0.0/16
Allow from 2001:db8::a00:20ff:fea7:ccea Allow from 2001:db8::a00:20ff:fea7:ccea/10
Order sorrend
Alapértelmezés szerint mindenkinek tiltott az elérés.
Order Allow,Deny
Először megnézzük az Allow részt. Ha egyetlen Allow rész sem illeszkedik akkor tiltás.
Másodszor megnézzük a Deny részt. Ha illeszkedik egy Deny-re akkor hiába volt engedélyezve, tiltva lesz.
Alapértelmezés szerint minden ügyfél jöhet.
Order Deny,Allow
Először megnézzük a Deny részt. Ha nincs illeszkedés akkor elérhető a könyvtár.
Másodszor megnézzük a Allow-ot. Ez felül írja a Deny részt is, ha meg volt tiltva, de most szerepel az Allow részben, akkor hozzáférhető.
<Directory /pub> Order Allow,Deny Allow from piros.and Deny from sarga.and </Directory>
<Directory /pub> Order Deny,Allow Deny from 192.168.5.0/24 Allow from 192.168.5.3 </Directory>
A 192.168.5.0 hálózatból nem jöhet senki, csak a 192.168.5.3-as címről.
A webhelyeket (sites) a következő két paranccsal kezelhetők:
A webhelyek konfigurációs állományait az alábbi könyvtárban tartjuk:
/etc/apache2/sites-available
Mindig létezik egy alapértelmezett webhely „default” néven.
/etc/apache2/sites-available/default
Konfigurációt egy-egy könyvtár számára szoktunk beállítani.
Legyen például a /home/janos/valami könyvtár amit szeretnénk kiszolgálni.
A /etc/apache2/conf-available/ könyvtárban hozzunk létre egy valami.conf nevű állományt a következő tartalommal:
<Directory /home/janos/valami> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
Engedélyezzük az konfigurációt:
a2enconf valami
Töltsük újra a szervert:
systemctl restart apache2
Hozzunk létre például a piros.and domain számára egy állományt:
mcedit /etc/apache2/sites-available/piros.and
Minimális tartalma:
<VirtualHost *:80> ServerAdmin webmaster@piros.and ServerName piros.and ServerAlias www.piros.and DocumentRoot /home/virtual-web/piros.and/htdocs/ # Naplófájlok ErrorLog /home/virtual-web/piros.and/logs/error.log CustomLog /home/virtual-web/piros.and/logs/access.log combined <Directory /home/virtual-web/piros.and/htdocs> Require all granted </Directory> </VirtualHost>
<VirtualHost *:80> ServerAdmin webmaster@piros.and ServerName piros.and ServerAlias www.piros.and DirectoryIndex index.html DocumentRoot /home/virtual-web/piros.and/htdocs/ # CGI könyvtár ScriptAlias /cgi-bin/ /home/virtual-web/piros.and/cgi-bin/ <Location /cgi-bin> Options +ExecCGI </Location> # Naplófájlok ErrorLog /home/virtual-web/piros.and/logs/error.log CustomLog /home/virtual-web/piros.and/logs/access.log combined </VirtualHost>
Ez után töltsük újra a konfigurációt:
/etc/init.d/apache2 reload
Ellenőrizzük milyen hibák vannak:
tail /var/log/apache2/error.log
Engedélyezzük a domaint:
a2ensite piros.and
Ez után töltsük újra a konfigurációt:
/etc/init.d/apache2 reload
Ellenőrizzük a weblap elérhetőségét:
lynx http://piros.and
A website elérésével kapcsolatos hibák ez után itt:
ErrorLog /home/virtual-web/piros.and/logs/error.log
A weblapról elérési adatok:
CustomLog /home/virtual-web/piros.and/logs/access.log combined
<VirtualHost 192.168.6.1> ServerAdmin valaki@zold.and DocumentRoot /home/www/tanar <Directory /home/www/tanar> Require all granted </Directory> </VirtualHost> <VirtualHost 192.168.7.1> ServerAdmin valaki@zold.and DocumentRoot /home/www/diak <Directory /home/www/diak> Require all granted </Directory> </VirtualHost>
Engedélyezzük a beállítást:
a2ensite systemctl restart apache2
apt-get install lynx
A lynx egy karakteres böngésző.
apt-get install apachetop
apt-get install libapache2-mod-auth-mysql
a2enmod auth_mysql
mysql -u root -p
grant all on auth.* to auth_user@localhost identified by 'titok';
create database auth;
use auth;
CREATE TABLE `clients` ( `username` varchar(30) NOT NULL default '', `passwd` varchar(25) NOT NULL default '', `groups` varchar(25) NOT NULL default '', PRIMARY KEY (`username`), KEY `groups` (`groups`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `clients` VALUES ('joska', 'titok', 'info');
mcedit /etc/apache2/httpd.conf
Auth_MySQL_Info localhost auth_user titok <Directory /var/www/info> AuthName "Azonositas" AuthType Basic AuthBasicAuthoritative off AuthMySQL On AuthMySQL_Authoritative on AuthMySQL_DB auth AuthMySQL_Password_Table clients AuthMySQL_Group_Table clients AuthMySQL_Empty_Passwords off AuthMySQL_Encryption_Types Plaintext Crypt_DES AuthMySQL_Username_Field username AuthMySQL_Password_Field passwd require valid-user </Directory>
Néha a webmesterek ASP-t szeretnének futtatni a webszerverünkön. Ehhez Mono nevű csomag telepítésére van szükség:
apt-get install libapache2-mod-mono
SSL modul engedélyezése:
a2enmod ssl
# a2enmod ssl Considering dependency setenvif for ssl: Module setenvif already enabled Considering dependency mime for ssl: Module mime already enabled Considering dependency socache_shmcb for ssl: Enabling module socache_shmcb. Enabling module ssl. See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates. To activate the new configuration, you need to run: systemctl restart apache2
Az SSL site engedélyezése:
a2ensite default-ssl
# a2ensite default-ssl Enabling site default-ssl. To activate the new configuration, you need to run: systemctl reload apache2
Csináljunk a tanúsítványoknak helyet:
# mkdir /etc/apache2/ssl
A tanúsítványok másik szokásos helye lehet:
/etc/ssl/certs/
Tanúsítvány készítése:
# openssl req -x509 -nodes \ -days 365 -newkey rsa:2048 \ -keyout /etc/apache2/ssl/apache.key \ -out /etc/apache2/ssl/apache.crt
A futtatás eredménye, egy konkrét példán:
# openssl req -x509 -nodes \ -days 365 -newkey rsa:2048 \ -keyout /etc/apache2/ssl/apache.key \ -out /etc/apache2/ssl/apache.crt Generating a 2048 bit RSA private key ..................+++ ........+++ writing new private key to '/etc/apache2/ssl/apache.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:HU State or Province Name (full name) [Some-State]:Hungary Locality Name (eg, city) []:Budapest Organization Name (eg, company) [Internet Widgits Pty Ltd]:ZoldRt Organizational Unit Name (eg, section) []:Informatika Common Name (e.g. server FQDN or YOUR name) []:zold.and Email Address []:admin@zold.and
A kapcsolók rendre:
Kulcsok védelme:
# chmod 600 /etc/apache2/ssl/*
Kulcsok beállítása az apache-ban.
nano /etc/apache2/sites-available/default-ssl.conf
Tartalmában javítjuk:
[...] SSLCertificateFile /etc/apache2/ssl/apache.crt SSLCertificateKeyFile /etc/apache2/ssl/apache.key [...]
Apache újraindítása:
systemctl restart apache2
Ellenőrzés:
https://zold.and
Egy címet, útvonalat újraírhatunk segítségével. Felhasználásának számtalan módja lehet, mi most csak egy egyszerű http https átirányítást fogunk megnézni a példa kedvéért.
a2enmod rewrite systemctl restart apache2
Először engedélyezzük az átírást:
RewriteEngine On
Ellenőrizzük, hogy nincs HTTPS kapcsolat:
RewriteCond %{HTTPS} !=on
Ezek után a kérést átirányítjuk ugyanarra a címre, de https protokollal.
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
Például:
http://zold.and → https://zold.and
A beállításoknak két helye legyen:
A .htaccess fájlban való használathoz be kell állítani a httpd.conf fájlban a következő tulajdonságot:
AllowOverride
Esetleg az alábbi sor helyettesíthető:
RewriteCond %{HTTPS} !=on
ezzel:
RewriteCond %{HTTPS} off
A következő sorokat tegyük a .htaccess fájlba.
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?secure/(.*) https://%{SERVER_NAME}/secure/$1 [R,L]
Például:
# REDIRECT FAVICON REQUESTS <ifmodule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_URI} !^/favicon\.ico [NC] RewriteCond %{REQUEST_URI} favicon\.ico [NC] RewriteRule (.*) http://domain.tld/favicon.ico [R=301,L] </ifmodule>
Minden hivatkozást átirányítunk egy másik címre. Lehet /etc/apache2/httpd.conf, vagy egy helyi .htaccess fájlban.
Lehet Directory direktíva között:
<Directory /var/www/ati> RedirectMatch permanent ^(.*)$ http://masikdomain.valahol </Directory>
Lehet Location direktíva között:
<Location /ati> RedirectMatch permanent ^(.*)$ http://masikdomain.valahol </Location>
A következő példában ha a blog könyvtár vagy annak egy alkönyvtárrára hivatkozik valaki, akkor átirányítás történik:
RedirectMatch 301 ^/blog/.*$ http://domain.tld/target.html
Ha csak a blog könyvtárra szeretnénk:
RedirectMatch 301 ^/blog/$ http://domain.tld/target.html
Esetleg csak domainnel:
RedirectMatch 301 ^/blog/$ http://domain.tld/
Más variációk, amelyekben benne van az ideiglenes (302) és a tartós (301) átirányítás:
# Tartós átirányítás RedirectMatch 301 ^/blog/.*$ http://domain.tld/target.html # Ideiglenes átirányitás: RedirectMatch 302 ^/blog/.*$ http://domain.tld/target.html
Ilyeneket is írhatunk:
# Állandó átirányítás: RedirectMatch permanent ^/blog/.*$ http://domain.tld/target.html # Ideigelnes átirányítás: RedirectMatch temp ^/blog/.*$ http://domain.tld/target.html
Az /etc/apache2/ports.conf állományban alapértelmezetten be van állítva a 80-as port használatra. Ebben az állományban megadhatunk más portokat is a „Listen” direktívával.
Listen 80
A Listen direktíva többször is használható, megadhatunk újabb portokat is:
Listen 80 Listen 8000
Egyszerre megadható IP cím is:
Listen 192.168.1.1:80
Megahdató IPv6-os cím is:
Listen 2001:db8::
Minden IP címen figyelünk:
Listen 0:0:0:0:80
CGI futtatható a könyvtárból.
<Directory /usr/local/apache2/htdocs/somedir> Options +ExecCGI </Directory>
CGI scriptek kiterjesztésének megadása:
AddHandler cgi-script .cgi .pl
A .cgi és a .pl kiterjesztéseket szeretnénk használni.
<Directory /usr/local/apache2/htdocs/somedir> Options +ExecCGI AddHandler cgi-script .cgi </Directory>
<Directory /usr/local/apache2/htdocs/somedir> Options +ExecCGI SetHandler cgi-script </Directory>
Egy CGI program:
#!/usr/bin/perl print "Content-type: text/html\n\n"; print "Helló Világ";
apt-get install apache2-utils ab http://domainnev.hu/konyvtar
Sebesség teszt. Csak domainre nem működik, alkönyvtárra használjuk.
A felhasználóknak szeretnénk lehetővé tenni, hogy saját weblapjaikat a public_html könyvtárban elhelyezhessék, azokra így hivatkozhassanak a böngészőben:
http://domainnev/~felhasznalonev/
Ehhez engedélyeznünk kell a userdir modult:
a2enmod userdir service apache2 restart
Ha PHP is szeretnénk nekik engedélyezni, akkor:
mcedit /etc/apache2/mods-available/php5.conf
Megkeressük a következő részt:
<IfModule mod_userdir.c> <Directory /home/*/public_html> php_admin_value engine Off </Directory> </IfModule>
A php_admin_flag engine On sort be kell szúrni.
<IfModule mod_userdir.c> <Directory /home/*/public_html> php_admin_value engine Off php_admin_flag engine On </Directory> </IfModule>
Biztonsági okokból, konkrétan, hogy egyik felhasználó ne lásson a másik könyvtárába, a joska felhasználónak lehet be van állítva a következő:
chmod o-x /home/joska
Ebben az esetben nem fog működni a böngészőben a http://servernev/~joska/ Sajnos engedélyezni kell:
chmod o+x /home/joska
# apt install php7.0 php7.0-mysql php7.0-xml
Telepítése után nem minden modul kerül engedélyezésre.
PHP modulok engedélyezése:
php5enmod imap service apache2 restart
Modulok megtekintése:
php -m
Az ab parancs az apache2-utils csomag része. Az ab parancs segítségével teljesítményteszteket végezhetünk a webszerverünkön:
ab -n 1000 -c 100 http://localhost/
-n | a kérések száma |
-c | a konkurens kérések száma |
<Directory /valahol/utvonal/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
sudo service apache2 restart
Készítse el a következő könyvtárat:
/var/www/szamvitel
Állítsa be a következőket:
Készítse el a következő könyvtárat:
/var/www/info
Állítsa be a következőket:
Hozza létre a következő két állományt:
Készítse el a következő könyvtárat:
/usr/local/ets
Hozza létre a következő tartalmú állományt:
<?php phpinfo(); ?>
Hozzon létre Aliast a könyvtárra.
Készítse el a következő könyvtárat:
/var/www/raktar
Állítsa be a következőket:
Készítse el a következő könyvtárat:
/var/www/kommunikacio
Állítsa be a következőket:
Vegyen fel egy új Virtualhostot:
lila.org
Dokumentumroot:
/home/virtual-www/lila.org/htdocs
Naplózás:
/home/virtual-www/lila.org/
Alias:
/etc/hosts
Vegyen fel egy új Virtualhostot:
gomb.hu
Docroot:
/home/virtual-www/gomb.hu/www
Naplózás:
/home/virtual-www/gomb.hu/
Alias:
Azonosítás:
/home/virtual-www/gomb.hu/www/vedett
A következő felhasználók legyenek:
Jelszó fájl:
/home/virtual-www/gomb.hu/jelszo
Vegyen fel egy új Virtualhostot:
pater.hu
DocRoot:
/home/vhosts/pater.hu/www/
Naplózás:
/home/vhosts/pater.hu/error.log /home/vhosts/pater.hu/access.log
Alias:
Állítsa be a következőket:
/home/vhosts/pater.hu/www/novicius
Csoportok:
Vegyen fel egy új Virtualhostot:
pirosszolo.hu
DocRoot:
/home/vhosts/pirosszolo.hu/public_html
Naplózás:
/home/vhosts/pirosszolo.hu/
Alias:
A következő könyvtárszerkezetet alakítsa ki:
../public_html |-- html |-- arak |-- bevetel
Azonosításhoz csoportok:
SSL: