| Version 10 (modified by , 12 years ago) ( diff ) |
|---|
Apache-Konfiguration
Unser interner Webserver ist 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 mod_wsgi verteilt (trac:TracInstall#RunningTraconaWebServer). Die Nutzerauthentifizierung erfolgt über unseren 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
<Directory /usr/local/trac/cgi-bin>
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
#<Location "/trac/login">
# AuthType Digest
# AuthName "Kepler-Trac"
# AuthDigestDomain /trac
# AuthUserFile /usr/local/trac/trac.htpasswd
# Require valid-user
#</Location>
<Location "/trac/login">
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
</Location>
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:
<IfModule mod_userdir.c>
# UserDir /home/teachers/*/public_html /home/students/13c/*/public_html
UserDir public_html
UserDir disabled root
<Directory /home/teachers/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
php_flag display_errors on
</Directory>
<Directory /home/students/*/*/public_html>
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
</Directory>
<Directory /home/workstations/*/*/public_html>
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
</Directory>
</IfModule>
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 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:
- Bei StartCom anmelden (z.B. mit dem im Browser installierten Zertifikat oder aber anmelden und Zertifikat im Browser installieren lassen)
- EMail-Adresse validieren (bau@…) - System schickt eine Mail an bau@… mit Verifikationscode
- Domain (kg-fds.de) verifizieren - System schickt eine Mail an webmaster@… mit Verifikationscode
- Im Certificates Wizard den CSR hochladen und signieren lassen, die Datei als /etc/ssl/private/ssl.crt speichern (und eine Sicherungskopie unter dem Jahresordner ablegen) und den Apache neu starten.
Hinweis: Die Zertifikate brauchen ein wenig, bis auch alle Browser sie akzeptieren, weshalb zunächst die Fehlermeldung: sec_error_ocsp_unknown_cert erscheint. Spätestens nach ein paar Stunden sollte das aber auch im Firefox gehen.