Suchen
Inside Wiki
Nützliche Links




 
phpforum.de bei Facebook
 
phpforum.de bei Twitter
 

Zurück   PHP Forum: phpforum.de > phpforum.de Wiki > phpforum.de Wiki

PHP Wiki Dieses Wiki sammelt Lösungen, zu Problemen, welche immer wieder im Forum auftauchen.

 
 
Artikel-Optionen Ansicht
  #1  

Standard Apache

 

Inhalte

Apache



Was ist Apache



Apache ist in allererster Hinsicht eine Software Foundation. Jedoch ist sie seit 1996 durch seinen Erfolg bekannt: der HTTP-Server.
Einen HTTP-Server macht nur seine Software aus. Sie ist haupsächlich dafür zuständig, Hypertext, also HTML, durch die Protokolle HTTP und HTTPS an TCP/IP (über Port 80) weiterzugeben, die dann wiederrum durch diverse Internet-Protokolle, durch den ISP und Router zum Browser gelangen.
Dieser Server, HTTPD oder auch einfach "Apache" oder "Indianer" genannt, wurde als OpenSource für die wichtigsten Betriebssysteme entwickelt:
den Linux-Kernel mit allen Distributionen und die Microsoft Windows NT-Serien (32 und 64-Bit-System). Dieser Server, gefolgt von MS IIS, ist der meist genutzte in der Welt. Der Apache-Server enstand in der Dekade des Internets,
den 90er Jahren. Das Jahr 1993 gilt als Geburtsstunde des Internets für den normalen Menschen, die erste Server-Version, 0.6.2, wurde 1995 zum ersten mal, zeitlich sehr gut treffend, verabschiedet. Seit dem ist Apache ein Welterfolg.

Wie funktioniert Apache?



Apache läuft auf den Maschinen als Dienst, d.h. als ein Programm, das permanent im Hintergrund aktiv ist, um HTTP-Requests zu verarbeitet, um HTTP-Responses zu versenden. Apache wurde u.a. in der Programmiersprache C entwickelt und kann so unter der GPL-Lizenz als OpenSource auch beliebig erweitert werden. Kompilierte als auch unkompilierte Fassungen können heruntergeladen werden.

Wozu braucht man für PHP einen Apache Server?



In erster Hinsicht braucht man ihn nicht nur für PHP, sondern für jede serverseitig laufende Sprache. Da diese wie z.B. PHP, JSP oder ASP, selbst nicht in der Lage (und auch nicht für diesen den Zweck konzipiert worden sind), mit HTTP-Requests und -Responses zu arbeiten, benötigen sie eine Software, die das für sie übernimmt und den Hypertext entgegennimmt, den sie zurückgeben.

Installation



Die Installation für Windows und Unix ist sehr gut auf http://httpd.apache.org/docs/2.0/install.html beschreiben, ich werde hier daher nur kurz auf die Installation eingehen.

Unix


Die Apache-Software ist fuer gewoehnlich als Standard auf jeder Unix-Maschine, auch z.B. Mac OS X zu finden. Sie koennen aber auch, falls benoetigt, eine aktuellere Version herunterladen, die momentane URL der Seite dafür lautet http://httpd.apache.org/download.cgi. Als Vorraussetzung benötigen Sie 50 MB Festplatten-Speicher und einen funktionierenden C-Compiler. Anschließen führen Sie folgende Befehle in der Kommandoeingabe aus:
Code:
Entpacken für *.tar.gz oder *.tar
$ gzip -d httpd-2_0_NN.tar.gz
$ tar xvf httpd-2_0_NN.tar

Konfigurieren
$ ./configure --prefix=PREFIX

C-Code kompilieren
$ make

Software Installieren
$ make install

Einstellungen anpassen (siehe unten)
$ vi PREFIX/conf/httpd.conf

Starten
$ PREFIX/bin/apachectl start


XAMPP



Tipp:
Vorweg: Wenn Sie kein Interesse daran haben, den Apache "manuell" zu installieren, empfehle ich Ihnen eine Software von den ApacheFriends: XAMPP.


Windows



Als verwöhnter Windows-User kann man entweder ein *.zip-Archiv herunterladen bzw. den *.msi-Installer benutzen. Ich empfehle allerdings das Archiv. Laden Sie einfach die Dateien herunter, die URL ist dieselbe wie in der Unix-Installation. Der Installer erledigt alles für Sie und benötigt keine genauere Erklärung.
Das Archiv können Sie z.B. nach C:/ entpacken. Anschließend öffnen Sie ihr Apache-Verzeichnis, z.B. C:/Apache Software Foundation/Apache2.2/ und wählen den Ordner "bin". Starten Sie nun ApacheMonitor.exe. Sie sehen in der Symbolleiste nun das Symbol und können so auch den Monitor betrachten. Wählen Sie "Open Apache Monitor" und "Start". Nun sollte der Server erfolgreich gestartet sein.
Warnung:

Wenn Sie den Instant-Messenger Skype benutzen, achten Sie darauf, dass dieser Port 80 belegt, den Apache aber besser gebrauchen könnte! Sie können aber diesen in Skype ändern, Google wird Ihnen helfen!


Apache testen



Ist der Server nun aktiv, öffnen Sie einen Browser und geben Sie diese beiden URLs testweise ein:
http://localhost/
http://127.0.0.1/
Wie Sie sehen, wird hier das HTTP-Protokoll verwendet, und nicht, wie früher, z.B. file://. Wenn Sie auf dieser Seite ein "It works!" lesen können, wurde Apache erfolgreich eingerichtet.

Apache konfigurieren



Der Server kann nun vielseitig konfiguriert werden. Wenn Sie nicht direkt in C etwas ändern wollen, öffnen Sie die Datei /conf/httpd.conf. Es empfiehlt sich, diese erst zu kopieren und eine Backup-Version zu behalten, wenn man einmal etwas vermasseln sollte. Wenn Sie diese Datei mit einem Texteditor öffnen, sehen Sie viel mit # eingeleitete Kommentare. Folgende Einstellungen sind für den Einstieg notwendig:
Code:
Server-Root: Das sollte immer den Pfad zu dem Apache-Hauptverzeichnis beinhalten.

LoadModule: Damit können Sie unter Unix *.so oder unter Win32/64 *.dll-Module laden, z.B. für CGI/Perl oder PHP. Ein Unix-Beispiel wäre:
LoadModule dir_module modules/mod_dir.so
Oder für Win (speziell das PHP-Modul):
LoadModule php5_module c:/php/php5apache2_2.dll

ServerAdmin: Damit wird z.B. auf 404-Error-Seiten Ihre E-Mail-Adresse angezeigt, standartmäßig administrator@localhost

DocumentRoot: Diese Einstellung ist speziell für die serverseitige Programmierung wichtig. Was Sie hier eingeben, ist z.B. für PHP sein Root-Verzeichnis. Nur innerhalb dieses Verzeichnisses und seiner Sub-Verzeichnisse kann z.B. PHP-Code geparst werden. Von dort aus kann auch rein theoretisch über das WWW zugegriffen werden. Für Apache ist der ******** das Verzeichnis htdocs, so wäre also htdocs/index.html genau das Resultat von http://localhost/index.html

ErrorLog: Hier stellen Sie den Pfad ein, an der eine Log-Datei erstellt werden soll, wenn bei Apache ein Fehler unterläuft. Das kann von Startfehlern des Servers bis zu Syntaxfehlern in PHP alles beinhalten.

DefaultType: Das stellt ein, wie Dateien standartmäßig zurückgegeben werden sollen. Speziell muss Apache den HTTP-Response-Header vorbereiten. Wenn Apache nun z.B. nicht JPEG kennen würde, würde es standartmäßig text/plain zurückgegeben, und das Resultat ist alles andere als schön. :)

AddType: Hier wird einer Datei-Endung ein bestimmter MIME-Type zugewiesen. Für PHP 5 ist das z.B.:
AddType application/x-httpd-php .php
Sie können als Endung aber auch beliebig andere Namen wählen, Apache wird diese nun als PHP-Datei identifizieren und an die PHP-Engine weitergeben.

PHPIniDir: Hier stellen sie [b]das Verzeichnis[/b] ein, in der Ihre php.ini liegt. Diese wird dann standartmäßig für PHP aktiviert sein.


Zusammenfassung



Apache ist ein kostenloser OpenSource HTTP-Server für alle gängigen Betriebssysteme und der meist benutzte der Welt. Er kann auch http://httpd.apache.org heruntergeladen werden.
Apache arbeitet als Dienst im Hintergrund ist ist für HTTP sehr wichtig.
In der httpd.conf können Sie viele, notwendige Einstellungen vornehmen.

Quellen



Anmerkungen



Kritik ist immer gerne willkommen! Der Artikel ist längst nicht perfekt.


Mitwirkende: Ad aCTa
Erstellt von Ad aCTa, 25.01.2009 am 23:50
Zuletzt bearbeitet von Ad aCTa, 13.08.2009 am 13:57
6 Kommentare , 5348 Betrachtungen

Dieser Text steht unter der GNU-Lizenz für freie Dokumentation


 

Lesezeichen

Stichworte
apache, http

Artikel-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu
Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
PHP, Apache und Oracle --- Apache bricht ab Nick25 Datenbanken 1 01.05.2006 16:01
Unterschiede Linux Apache - Windows Apache SAPDASH PHP 10 09.09.2005 14:42
Apache läuft, Php läuft .. aber .. Apache und Php läuft nicht! linus Administration 7 26.12.2003 13:04
php apache Oliver Albers PHP 0 01.01.1970 02:00
php 4.2.3 mit Apache 2.0.43 Nobody PHP 1 01.01.1970 02:00


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:59 Uhr.


Powered by vBulletin® Version 3.8.8 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Powered by NuWiki v1.3 RC1 Copyright ©2006-2007, NuHit, LLC