[[PageOutline]]
= Apache-Konfiguration =
Unser interner Webserver ist [http://httpd.apache.org/ Apache] Version 2. Er läuft auf dem paedml-Rechner und verteilt u.a. die Web-Untis- und Trac-Seiten. Hier finden sich Details zur Konfiguration.
== Session-Save-Pfad ==
{{{
/var/lib/php5
}}}
== Allgemeines ==
Das Haupt-Konfigurationsverzeichnis liegt unter `/etc/apache2`, Konfigurationen für die getrennten Webanwendungen liegen in `/etc/apache2/conf.d/`:
{{{
$ ls /etc/apache2/conf.d/
horde linuxmuster-portfolio.conf moodle nagios2.conf trac
}}}
== Trac ==
Unser Trac wird per [trac:TracModWSGI mod_wsgi] verteilt (trac:TracInstall#RunningTraconaWebServer). Die Nutzerauthentifizierung erfolgt über unseren [AdminLdap LDAP-Server]. Autorisiert sind alle Nutzer, die der LDAP-Gruppe //teachers// angehören (siehe #37). Das Apache-Konfigurationsscript für Trac (`/etc/apache2/conf.d/trac`) sieht daher zur Zeit (10.8.2011) so aus:
/etc/apache2/conf.d/trac::
{{{
WSGIScriptAlias /trac /usr/local/trac/cgi-bin/trac.wsgi
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
#
# AuthType Digest
# AuthName "Kepler-Trac"
# AuthDigestDomain /trac
# AuthUserFile /usr/local/trac/trac.htpasswd
# Require valid-user
#
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthName "Kepler-Trac"
AuthLDAPURL ldap://localhost/dc=kg-fds,dc=de
# Require valid-user
AuthLDAPGroupAttributeIsDN off
AuthLDAPGroupAttribute memberUid
Require ldap-group cn=teachers,ou=groups,dc=kg-fds,dc=de
}}}
== public_htmls für die Schüler ==
Für die Lehrer sind im Standard bereits public_htmls vorgesehen (man denkt, dass Lehrer keinen Mist verbreiten werden), für die Schüler ist dies aus Sicherheitsgründen nicht vorgesehen. In der Datei /etc/apache2/mods-enabled/userdir.conf muss folgendes eingetragen werden:
{{{
# UserDir /home/teachers/*/public_html /home/students/13c/*/public_html
UserDir public_html
UserDir disabled root
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
php_flag display_errors on
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
php_flag display_errors on
Order deny,allow
Deny from all
Allow from 10.32
Allow from 10.16.209
AuthType Basic
AuthName Homeverzeichnisse
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldaps://localhost/ou=accounts,dc=kg-fds,dc=de?uid
require valid-user
Satisfy Any
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
php_flag display_errors on
Order deny,allow
Deny from all
Allow from 10.32
Allow from 10.16.209
}}}
Damit werden die public_html-Verzeichnisse eingeschaltet und im Intranet ohne weitere Beschränkungen rausgegeben. Vom Internet aus muss Benutzername/Passwort eingegeben werden.
{{{
/etc/init.d/apache2 restart
}}}
übernimmt die Änderungen. Die Schüler müssen selbst ein public_html-Verzeichnis in Ihrem HomeVZ anlegen.
(Hinweis: Das Skript sollte demnächst im [AdminSubversion Subversion-Repository] liegen.)
== Ein signiertes Zertifikat ==
Unter www.startssl.com erhalten wir ein kostenlos für ein Jahr unterschriebenes Zertifikat für SSL. Dazu muss der Certificate Signing Request
{{{
/etc/ssl/private/ssl.csr
}}}
bei StartCom unterschrieben werden. Hier die Schritte:
1. Bei StartCom anmelden
(z.B. mit dem im Browser installierten Zertifikat oder aber anmelden und Zertifikat im Browser installieren lassen)
2. Domain verifizieren - System schickt eine Mail an webmaster@domain.de mit Verifikationscode
3. Im Certificates Wizard den CSR hochladen und signieren lassen, die Datei als /etc/ssl/privat/ssl.crt speichern und den Apache neu starten.