Benutzer-Werkzeuge

Webseiten-Werkzeuge


software:apache

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Both sides previous revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:apache [2012/07/11 15:44]
khopf [Virtuelle Hosts und Direktiven]
software:apache [2013/01/15 12:37] (aktuell)
khopf [Konfiguration des Webservers]
Zeile 1: Zeile 1:
 ====== Apache Webserver ====== ====== Apache Webserver ======
 +//<- Zurück zum Artikel [[:​software]]//​
 +
 Apache ist ein weit verbreiteter Webserver. Apache ist ein weit verbreiteter Webserver.
  
Zeile 22: Zeile 24:
 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. 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.
  
-  * [[Virtuelle Hosts]] +  * [[software:​apache:​Virtuelle Hosts]] 
-===== Konfiguration der SSL-Verschlüsselung ===== +  * [[software:apache:SSL]] 
-Apache Modul laden, wenn es nicht bereits geladen ist: +  ​[[software:apache:Authentifizierung]] 
- +  ​* ​[[software:apache:Subversion]] 
-  ​$ a2enmod ssl +  ​[[software:​apache:​CGI]] 
- +  ​[[software:apache:WebDAV]]
-In /​etc/​apache2/​ports.conf muss der Port 443 mit dem Befehl Listen 443 im Bereich <​IfModule modssl.c>​ eingetragen werden. +
- +
-Es muss noch die Direktive (= Anweisung, Auftrag, Befehl, Richtlinie) NameVirtualHost ​*:443 in diesem Bereich eingetragen werden und in der +
-/​etc/​apache2/​sites-available/​default-ssl die VirtualHost-Direktive zu <​VirtualHost *:443> geändert +
-werden, damit virtuelle Hosts mit SSL genutzt werden können. +
- +
-  # /​etc/​init.d/​apache2 restart +
-   +
-==== Erstellen eines neuen Zertifikates ==== +
-Da der Nutzer des Verzeichnisses /​srv/​www/​vhosts/​[Domain]/ vom aktuell eingeloggten unterschiedlich ist, ist es zweckmäßig,​ +
-die Zertifikaterstellung zunächst im Home-Verzeichnis vorzunehmen und dann in das Vhost-Verzeichnis zu kopieren. +
- +
-Also: +
- +
-  # openssl req -new > [Zertifikat-Dateiname].csr +
- +
-Schlüssel erzeugen: +
- +
-  ​# openssl rsa -in privkey.pem -out [Zertifikat-Dateiname].key +
- +
-Öffentliches Zertifikat erstellen:​ +
- +
-  $ openssl x509 -in [Zertifikat-Dateiname].csr -out [Zertifikat-Dateiname].crt -req -signkey [Zertifikat-Dateiname].key +
- +
-Mit der Option --days [Tage] kann eine Gültigkeitsdauer in Tagen angegeben werden. +
- +
-Weitere Informationen: +
-[[http://​httpd.apache.org/​docs/​2.0/​mod/​core.html#​%20namevirtualhost|Virtual Host Direktiven]] +
-[[http://​mrfoo.de/​archiv/​347-Howto-Apache2-SSL-Zertifikat-erstellen-und-aktivieren.html|TutoriumSSL-Zertifikat erstellen]] +
- +
- +
-==== Einbinden des Zertifikats in die Apache (VHost-)Konfiguration ==== +
-In der VHost-Konfiguration für den Port 443 (SSL-Port) folgende Zeilen hinzufügen:​ +
- +
-  ​# SSLEngine ​              On +
-  # SSLCertificateKeyFile ​  /​srv/​www/​vhosts/​[vhost-Ordner]/​[Dateiname].key +
-  # SSLCertificateFile ​     /​srv/​www/​vhosts/​[vhost-Ordner]/​[Dateiname].crt +
-  ​#       #Bei verifizierten Zertifikaten muss hier noch das SSLCACertificate der Zertifizierungsstelle eingebunden werden +
- +
- +
-====== Apache Module ====== +
-===== Einfache Authentifizierung (mod_auth) ===== +
-==== .htaccess-Datei ==== +
-Uber folgenden Befehl kann man einer .htpasswd-Datei neue Nutzer hinzufügen. Die Option -c legt eine +
-neue Datei an. +
- +
-  #  htpasswd ​ -b  ​[dateiname]  ​[nutzername] ​ [passwort] +
-   +
-Die .htpasswd Datei sollte nicht im DocumentRoot liegen.  +
- +
-==== Passwort zu einem Benutzer hinzufügen ==== +
- +
-Hinzufügen eines Passworts zu einem Nutzer +
-  htpasswd -b [password-file] [username] [password] +
-===== MySQL-Authentifizierung (mod_auth_mysql) ===== +
-Man kann neben dem Zugriffsschutz,​ der über die .htaccess-Datei möglich ist, auch die Nutzer aus einer Datenbank mittels SQL auslesen. Das zugeh¨orige Modul holt man mit: +
-  # apt-get install libapache2-mod-auth-mysql +
- +
-Apache Modul aktivieren: +
-  # a2enmod auth mysql    +
-  # service apache2 restart +
- +
-MySQL-Tabellen anlegen +
-  mysql -uroot -p +
-   +
-  mysql> grant all on auth.* to auth_user@localhost identified by '<​password>';​ +
-   +
-  mysql> flush privileges;​ +
-   +
-  mysql> create database auth; +
-   +
-  CREATE TABLE `clients` ( +
-  `username` varchar(25) NOT NULL default '',​ +
-  `passwd` varchar(25) NOT NULL default '',​ +
-  `groups` varchar(25) NOT NULL default '',​ +
-  PRIMARY KEY (`username`),​ +
-  KEY `groups` (`groups`) +
-  ) ENGINE=MyISAM DEFAULT CHARSET=latin1;​ +
-   +
-  INSERT INTO `clients` VALUES ('<​username>',​ '<​password>',​ '<​group>'​);​ +
- +
-===== WebDav (mod_dav) ===== +
-Webdav ermöglicht einen Dateiupload und die Integration von entfernten Verzeichnissen in die Dateistruktur von Clients. +
-  $ a2enmod dav +
-  $ a2enmod dav fs +
-  # service apache2 restart +
- +
-===== Fast CGI (mod_fcgi / mod_fastcgi) ===== +
-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 +
- +
- +
-===== Subversion (dav_svn) ===== +
-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]+
- +
-==== Anpassen der Webserverkonfiguraion ==== +
-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>​ +
- +
-==== Anlegen eines Repositories ==== +
-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. +
-==== Benutzer hinzufügen und Berechtigung erteilen ==== +
-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** +
-==== Repositories Verwalten ==== +
-=== Repositories dumpen (incl. aller Revisionen) === +
-  svnadmin dump /​srv/​svn/​repo/​ > ~/​repo.dump +
- +
-=== Repository Dump einspielen === +
-  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 ((http://​www.anrichter.net/​2009/​01/​subversion-repositories-zusammenfassen/​))+
  
 +====== Performance-Verbesserungen des Webservers (und seiner Komponenten) ======
 +  * APC(alternative page cache) als PHP accelerator installeren((http://​curltable.the-yard.net/​blog/​install-apc))
  
  
 +{{tag>​apache webserver server}}

Bei Verwendung dieses Wikis erklären Sie sich mit dem Haftungsausschluss, Nutzungsbedingungen und der Datenschutzerklärung dieses Wikis einverstanden. Impressum.

software/apache.1342014279.txt.gz · Zuletzt geändert: 2012/10/11 10:23 (Externe Bearbeitung)