# Kapitola 5.5.
# Soubor obsahuje zkladn konfiguraci Apache2. 
# Parametry vhodne pri ladeni Apache - zkracuji timeout pro vyprazdneni LDAP cache.

LDAPCacheTTL 300
LDAPOpCacheTTL 300

# Nasleduje konfigurace virtualniho hostitele
<VirtualHost *:80>
	ServerAdmin webmaster@localhost
  # Pro korenovy adresar zakazeme .htaccess
	DocumentRoot /var/www  
	<Directory />
		Options FollowSymLinks
		AllowOverride None
	</Directory>
	<Directory /var/www/>
    # Zde je vynucena autentizace Kerberos
    # KrbAuthRealms musi souhlasit s Kerberos realmem domeny
    # Je zadana cesta k krb5.keytab souboru. Ten je sdileny se Squidem
    # a je nutne jej vygenerovat dle kapitoly 4.4
		AuthType Kerberos
		AuthName "Pouzijte prihlaseni domenovym uctem"
		KrbMethodNegotiate On
		KrbMethodK5Passwd On
		KrbAuthRealms NAZEVDOMENY.LOCAL
		Krb5KeyTab /etc/krb5.keytab
		
    # Nasledujici prepinac zajisti orezani Kerberos realmu pro pouziti v LDAP dotazech.
		KrbLocalUserMapping On
    
    # Nasleduje adresa LDAP serveru, udaje pro autentizaci a Active Directory skupiny, ktere jsou pro pristup vyzadovany
    # Pro zjisteni cesty je vhodne pouzit ADSI Edit.
		AuthLDAPURL "ldap://AdresaDC01.Nazev_Domeny.local Adresa_DC02.Nazev_Domeny.local/DC=Nazev_Domeny,DC=local?sAMAccountName"
		AuthLDAPBindDN "CN=Nazev_Uctu_Pro_Cteni_LDAP,OU=Systemove ucty,DC=Nazev_Domeny,DC=local"
		AuthLDAPBindPassword Heslo_Uzivatele_Pro_Cteni_LDAP
		Require ldap-group CN=_Domain Linux Admins,OU=Skupiny,DC=nazevdomeny,DC=local
		Require ldap-group CN=_POB01 Linux Admins,OU=Skupiny,DC=nazevdomeny,DC=local
	</Directory>

  # Zpristupnime LightSquid pro statistiky. 
	Alias /lightsquid /usr/lib/cgi-bin/lightsquid
	<Location "/lightsquid/">
    # Je nutne zapnout podporu CGI 
    AddHandler cgi-script .cgi
		allow from all
    
    # Jako v bloku ve je i zde je vynucena autentizace Kerberos
    # KrbAuthRealms musi souhlasit s Kerberos realmem domeny
    # Je zadana cesta k krb5.keytab souboru. Ten je sdileny se Squidem
    # a je nutne jej vygenerovat dle kapitoly 4.4
    AuthType Kerberos
    AuthName "Pouzijte prihlaseni domenovym uctem"
    KrbMethodNegotiate On
    KrbMethodK5Passwd On
    KrbAuthRealms NAZEVDOMENY.LOCAL
    Krb5KeyTab /etc/krb5.keytab
    
    # Nasledujici prepinac zajisti orezani Kerberos realmu pro pouziti v LDAP dotazech.
    KrbLocalUserMapping On
    
    # Nasleduje adresa LDAP serveru, udaje pro autentizaci a Active Directory skupiny, ktere jsou pro pristup vyzadovany
    # Pro zjisteni cesty je vhodne pouzit ADSI Edit.
		AuthLDAPURL "ldap://AdresaDC01.Nazev_Domeny.local Adresa_DC02.Nazev_Domeny.local/DC=Nazev_Domeny,DC=local?sAMAccountName"
		AuthLDAPBindDN "CN=Nazev_Uctu_Pro_Cteni_LDAP,OU=Systemove ucty,DC=Nazev_Domeny,DC=local"
		AuthLDAPBindPassword Heslo_Uzivatele_Pro_Cteni_LDAP
		Require ldap-group CN=_Domain Linux Admins,OU=Skupiny,DC=Nazev_Domeny,DC=local
		Require ldap-group CN=_POB01 Linux Admins,OU=Skupiny,DC=Nazev_Domeny,DC=local
  </Location>

  # Rika Apache, jak ma nakladat s CGI skripty a kde je hledat
	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all
	</Directory>

  # Upresneni pro logy Apache, uzitecne pri diagnostice
	ErrorLog ${APACHE_LOG_DIR}/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
