Dies ist eine alte Version des Dokuments!
Apache ist ein weit verbreiteter Webserver.
Apache kann mit zwei MPM (multi processing module) arbeiten, die eine unterschiedliche Programmarchitektur haben 1).
Der Apache Prefork MPM nutzt keine Threads und ist ähnlich der Engine in Apache 1.x. Mit PHP-Anwendungen und statischen Seiten sowie CGI-Scripts, die nicht thread-basiert arbeiten können stellt dieser Betriebsmodus eine bessere Alternative dar. Auf Linux-Maschinen hat dieser Betriebsmodus eine ähnliche Performance wie der Worker, auf Solaris ist Worker besser.
Der Apache Worker ist eine neue Thread-basierte Implementierung, die weniger Speicher benötigt und auf ausgelasteten Servern für eine bessere Skalierbarkeit sorgt und auch bei starker Auslastung noch gute Ladezeiten garantiert.
Der Apache-Webserver läuft unter Ubuntu standardmäßig mit dem Nutzer www-data:www-data. Die Benutzer der SSH / FTP-Accounts (zum Zugriff auf die virtuellen Hosts) müssen demnach in der Gruppe www-data sein, damit eine Zugriffssteuerung möglich ist. Dateien und Verzeichnisse, die der Apache ,,nur lesen“ darf, werden dann mit den Rechten 750 (d rwx r-x- —) belegt und solche, in die er auch schreiben darf mit 770 (d rwx rwx —). Andere Nutzer dürfen auf die Dateien zunächst nicht zugreifen. Falls das benötigt wird, muss man das dritte Rechteattribut noch setzen.
# apachectl -M
Die zentrale Konfigurationsdatei befindet sich unter /etc/apache2/apache2.conf. Darin werden die Konfigurationsdaten für die Module (mods-enabled/*) und die Konfigurationsdateien für die einzelnen Webseiten (sites-enabled/*) geladen. Die zentrale Konfigurationsdatei wird demnach nur selten abgeändert.
Webdav ermöglicht einen Dateiupload und die Integration von entfernten Verzeichnissen in die Dateistruktur von Clients.
$ a2enmod dav $ a2enmod dav fs # service apache2 restart
Die Apache-Module mod_fastcgi
(offenbar Fremdmodul) und mod_fcgi
bieten eine schnellere Implementierung von CGI-Scripts. mod_fcgi
ist wohl eine neuere Implementierung.
Zur Installation:
# apt-get install libapache2-mod-fcgi # service apache2 reload
Mittels # apt-get subversion libapache2-svn apache2-mpm-prefork
kann man sich den Apache SVN-Server holen. Um über den Apache Webserver Zugriff auf das Repository zu erlangen, muss man noch das entsprechende Apache-Modul aktivieren: # a2enmod dav_ svn
. Weitere Informationen unter[http://wiki.ubuntuusers.de/subversion].
Die Datei /etc/apache2/mods-enabled/dav_svn.conf
steuert die Konfiguration und muss bei mehreren Repositories wie folgt angepasst werden:
<Location /svn> DAV svn # Aktiviert den Zugriff SVNPath /var/local/svn # Pfad zu den Repos AuthType Basic # Authentifizierung AuthName "Subversion repository" AuthUserFile /etc/apache2/dav_svn.passwd <LimitExcept GET PROPFIND OPTIONS REPORT> Require valid-user </LimitExcept> </Location>
In einem Verzeichnis, das nicht das Document Root-Verzeichnis des Webservers ist, kann dann angelegt werden (z.B. /srv/svn/repo1). Mittels
/srv/svn/# svnadmin create nameDesRepositories
Wird dann ein Repository erzeugt. Um das Verzeichnis auch aus dem Internet erreichbar zu machen, muss man den Dateibesitz zu www-data:www–data
ändern und dem Webserver ggf. Schreibrechte geben.
Informationen unter: http://wiki.ubuntuusers.de/Subversion#Zentrale-Zugriffsbeschraenkung-mehrerer-Projekte
Allg.: Für alle Repositories mit direktem Bezug zum Studium wurde der Übersicht wegen ein Meta-Repository „wibaStud“ erstellt. Diesem untergeordnet liegen alle SVN-Ordner, die als eigenständige Repositories betrachtet werden.
Für einen SVN-Zugang muss kein Benutzer auf der Ubuntu-Maschine angelegt werden, sondern nur in der Datei unter
# /etc/apache2/dav_svn.authz
Dort werden anfangs Gruppen definiert, die als Berechtigte einem Repository zugeordnet werden können. Es ist zudem möglich, einzelne Benutzern bestimmte Rechte zu geben.
Schließlich muss das Password eines Nutzers angelegt/geändert werden mit
# htpasswd -b dav_svn.passwd <NUTZER>
Das Passwordfile für SVN liegt bei uns unter /etc/apache2/dav_svn.passwd
svnadmin dump /srv/svn/repo/ > ~/repo.dump
svnadmin load /srv/svn/neuesRepo/ < ~/repo.dump
Ein Dump kann auch in ein anderes Repository eingespielt werden:
svnadmin load /srv/svn/neuesRepo/ --parent-dir /unterverzeichnis/ < ~/repo.dump
Somit können Repositories auch zusammengefasst werden 2)
Bei Verwendung dieses Wikis erklären Sie sich mit dem Haftungsausschluss, Nutzungsbedingungen und der Datenschutzerklärung dieses Wikis einverstanden. Impressum.