#Befehle zur Vorbereitung apt-get update apt-get upgrade apt-get clean apt-get install build-essential apg-get install checkinstall cd /usr/local/src mkdir lamps cd lamps #Installation OpenSSL wget http://www.openssl.org/source/openssl-1.0.1p.tar.gz tar -xzvf openssl-1.0.1p.tar.gz cd openssl-1.0.p ./config --prefix=/usr/local/openssl make make test checkinstall --fstrans=no #Paketname, Defaulteinstellungen lassen #Installation Webserver cd /usr/local/src/lamps wget http://mirror.switch.ch/mirror/apache/dist/httpd/httpd-2.2.31.tar.gz #Apache wird nun als DSO-Version kompiliert->Module wie PHP können dynamisch geladen werden. #\-verwenden um den Befehl auf Zeilen aufzuteilen tar -xzvf httpd-2.2.3.1.tar.gz cd httpd-2.2.31/ /configure \ --prefix=/usr/local/apache2 \ --enable-modules=most \ --enable-shared=max \ --enable-ssl \ --with-ssl=/usr/local/openssl make checkinstall --fstrans=no cd #Status der installierten Pakete dpkg -s openssl dpkg -s httpd #Alle dazugehörigen Dateien anzeigen dpkg -L openssl | less dpkg -L httpd | less #Paket entfernen dpkg -r openssl
Schlagwort: Konfiguration
httpd.conf
Pfad: /usr/local/apache2/conf/httpd.conf
ServerRoot
ServerRoot "/usr/local/apache2"
PidFile
Hier ist definiert, wo die Verzeichnisse conf & logs zu finden sind:
PidFile logs/httpd.pid
In dieser Datei ist auch die aktuelle ProzessID. So kann die Prozessnummer ausgelesen und “gekillt” werden:
Kill -USR1 ’cat /usr/local/apache2/httpd.pid'
Listen
Hier lässt sich die Portnummer des HTTP-Servers angeben. Wenn eine andere Portnummer unter 1024 genommen wird, muss der Server mit root-Rechten neu gestartet werden.
Listen 80 Listen 192.170.2.1:80 Listen 192.170.2.5:8000
ServerName
ServerName localhost:80
User, Group
Sobald der Apache startet, muss er mit Benutzerrechten auf die Serverdaten zugreifen. Diese User heissen meist wwwrun, www-data, httpd, apache usw.
User daemon Group daemon
DocumentRoot
DocumentRoot /usr/local/apache/htdocs
ErrorDocument
ErrorDocument 404 "<h1>Ups, nothing found</h1>" ErrorDocument 404 /error/404.php ErrorDocument 404 http://404.com/
IndexOptions
IndexOrderDefault Descending Size IndexIgnore *.php .?? #Dateien wie .php oder .htaccess nicht anzeigen
AddIcon
AddIcon /srv/icon.ico *.png
Weitere Varianten:
#DefaultIcon Defaulticon /srv/icon.ico #AddIconByEncoding AddIconByEncoding (CMP, /srv/icon.gif) x-compress x-gzip #AddIconByType AddIconByType (SND,/srv/soundicon.gif) audio/ #AddAlt AddAlt TXT *.txt #AddDescription AddDescription "theseareimages" *.jpg
LAnguage
LanguagePriority de en fr AddLanguage de de AddLanguage en en AddLanguage fr fr Options +MultiViews DefaultLanguage de
<Directory> -Tag
Durch Beschränkungen von Richtlinien auf einzelne Ordner können Indizes und Icons besser gesteuert werden. Dies funktioniert auch mit <Files> und <Location>.
<Directory /folderuwant/download> IndexOptions ... AddIconByType ... </Directory>
Übersicht Apache
Installationsstruktur
Unter /usr/local/apache2/ befinden sich folgende Ressourcen:
- bin
- Alle ausführbaren Programme, die zu Apache gehören
- cgi-bin
- Das Programm printenv lässt einem Umgebungsvariablen von Apache (sofern Perl installiert ist) anschauen
- conf
- Hier sind die Apache-Konfigurationsdateien abgelegt. Die wichtigste davon ist httpd.conf. Falls einmal Konfigurationsdateien verstellt sind, ist die httpd.conf.default vorhanden, auf die man allenfalls zurückwechseln könnte
- error
- Ort der HTTP-Fehlerdokumente
- htdocs
- Standardverzeichnis für HTML-Seiten
- icons
- logs
- Logfiles
- manual
- englische Dokumentation
- modules
- Die hinzugefügten Module (weitere können dynamisch dazugeladen werden)
Start/Stop
Folgende Befehle können verwendet werden, um den Apache-Server zu steuern:
/usr/local/apache2/bin/apachectl start /usr/local/apache2/bin/apachectl stop /usr/local/apache2/bin/apachectl restart