Hallo auch:
martin wrote:
ich bin gerade dabei Ampache aufzusetzen.
wenn ich genau nach beigelegter Installationsanweisung vorgehe dann
klappt das bei mir nie.
ich bekomme das einfach nicht gebacken.
gibt es hier vielleicht jemanden der mir mit kurzen schritten nochmal
sagen kann auf was ich achten muß und in welcher reihenfolge ich das
alles erstellen muß?
Habe selbst ein paar Apachen aufgesetzt, unter SuSE 7.2. Empfehle dir
unbedingt, diese selbst zu kompilieren, nicht die Paket-Apachen zu
nehmen. Falls du dich dazu entschliessen solltest, hier ein kleines HOWTO:
(Das HowTo ist recht lang, wenn du aber HTTPS nicht brauchst und die
Teile entsprechend weglässt ist das Ding in 20 min fertig)
Viel Spaß,
Bernd
--------
1 Einführung
In der folgenden Beschreibung wird gezeigt, wie ein SSL-fähiger Apache
Web-Server unter SUSU-Linux 7.2 mit dem sicheren HTTPS-Protokoll
installiert und konfiguriert wird.
1.1 Benötigte Ressourcen
SUSE Linux 7.2, das Betriebssystem
Apache 1.3.22, freie Webserver-Software
Mod_SSL 2.8.5, freies SSL-Modul für Apache
OpenSSL 0.9.6c, freie SSL-Bibliothek für Apache
<<
...
</Directory>
Diese Einträge sind vorhanden und setzen die Standardoptionen für das
Root-Verzeichnis. Sofern nicht anders angegeben, gelten diese Optionen
auch für alle angelegten Unterverzeichnisse.
SSLRequireSSL
...
</Directory>
Diese Einträge müssen Sie neu anlegen. Sie legen so ein Unterverzeichnis
an, welches nur über HTTPS abgefragt werden kann, was durch die
"SSLRequireSSL"-Anweisung erreicht wird. Die übrigen Optionen sollten
aus dem Hauptverzeichnis übernommen werden. (Der Name ssl für das
Unterverzeichnis ist nur ein Beispiel.)
2.6 Virtual Hosts
Will man mit dem Webserver auf mehrere IP-Adressen reagieren können,
kann man dies über Virtual Hosts realisieren. Jeder Virtual Host bekommt
eine IP-Adresse zugewiesen, Anfragen auf diese Adresse werden dann auf
das in ihm festgelegte Verzeichnis gelenkt.
Die Virtual Hosts sollten erst nachträglich eingefügt werden. Nach der
Installation ist es übersichtlicher, den Apache in der
Basiskonfiguration zu testen und bei Erfolg dann die Virtual Hosts
einzufügen.
Die Einträge sind in der httpd.conf vorzunehmen.
Der bisherige DocumentRoot ist auszukommentieren:
#DocumentRoot "/webapache/htdocs"
DocumentRoot /webapache/htdocs/newpage
DocumentRoot /webapache/htdocs/witos
Weitere Virtual Hosts können problemlos hinzugefügt werden. Nach jeder
Änderung der httpd.conf ist der apache zu restarten.
3 Benötigte HTML-Seiten
Erstellen Sie zuerst 3 Html-Seiten, diese werden sie zum Testen benötigen.
Nennen Sie die erste Seite "index.html", die zweite "test.php3" und
kopieren Sie beide ins /webapache/htdocs (Document root) - Verzeichnis.
Benennen Sie die dritte "ssl.html" und kopieren Sie diese nach
/webapache/htdocs/ssl.
Im Folgenden sehen Sie den minimalen Seiteninhalt für den
Beispielrechner 10.0.15.240:
index.html:
<html>
<meta http-equiv="expires" content="0">
<p align=center>
<a href=https://10.0.15.240/ssl/ssl.html>Ins SSL</a>
<br>
<a href=http://10.0.15.240/test.php3>Ins PHP</a>
</p>
</html>
ssl.html:
<html>
<meta http-equiv="expires" content="0">
<p align=center>
<a href=http://10.0.15.240/index.html>Ins Main</a>
</p>
</html>
test.php3:
<html>
<meta http-equiv="expires" content="0">
<p align=center>
<a href=http://10.0.15.240/index.html>Ins Main</a>
<br>
Noch ists html
<br>
<?php echo "Nun ists html" ?>
</p>
</html>
Die Tests sollten vor der Einrichtung der Virtual Hosts durchgeführt
werden, um erst die generelle Funktion des Apache überprüfen zu können.
Erläuterung:
<html>, </html>
Beginnt und beendet html.
<meta http-equiv="expires" content="0">
Sagt dem Browser, diese Seite immer aktuell zu laden. Es kann zu
nervigen Fehlern beim Testen führen, wenn alte Seiteninhalte in dem
Browser gespeichert werden.
<p align=center>, </p>
Beginnt und beendet einen Papagraphen.
<a href=http(s)://10.0.15.240/(ssl)/xxx.html>Text</a>
Dies ist der Eintrag für einen Link, der in dem aufrufenden Browser
erscheint. Sie können den Text frei wählen, durch Anklicken des Textes
wird dann später navigiert. Sie benötigen https, um ins ssl zu springen
und http, um zurück ins main zu gelangen. 10.0.15.240 ist hier die
Beispiel-IP-Adresse des Rechners.
Noch ists html
Ein Text im HTML der als solcher auch ausgegeben wird.
<br>
Ein Zeilenumbruch.
<?php echo "Nun ists html" ?>
Hier wird php begonnen. Dann über den echo-Befehl ein Text ausgegeben
und php wieder beendet. Falls der Apache oder der aufrufende Browser
nicht php-fähig sind, wird nicht nur der Text sondern auch das echo und
die Sonderzeichen angezeigt.
Falls es einen "parse error" im Browser gibt, deutet das auf einen
Syntax-Fehler im php hin. Der Apache kann dann aber in jedem Fall schon
php interpretieren, sonst hätte er nicht einen solchen Fehler gemeldet.
Je nach Apache-Version ist bereits eine "index.html" unter
/webapache/htdocs in mehreren Sprachen vorhanden. Diese können Sie
löschen, da Sie nicht zum Testen der SSL-Fähigkeit geeignet sind.
4 PHP Einbindung
Der Webserver kann nachträglich PHP-fähig gemacht werden. Dazu läßt sich
PHP dynamisch in den Apache nachladen, ohne diesen neu kompilieren zu
müssen. Das bereits eingebundene mod_so ermöglicht das dynamische Nachladen.
4.1 Prinzip
Im Prinzip müssen lediglich 3 Schritte erfolgen. Erstens, Installation
von PHP auf dem Webserver-Rechner. Zweitens Einbinden des PHP-Modules in
die Apache-Konfiguration.
Drittens Kopieren der PHP-Ini-Datei in einen neuen Pfad.
4.2 Kochrezept
PHP downloaden (www.php.net) und entpacken.
Wechsel ins PHP-Verzeichnis.
rm -f config.status config.cache
./configure --with-apxs=/webapache/bin/apxs
make
Wechsel ins Apache-Verzeichnis (bin).
Apache stoppen (./apachectl stop)
Wechsel ins PHP-Verzeichnis.
make install
Wechsel ins PHP-Verzeichnis.
cp php3.ini-dist /usr/local/lib/php3.ini
Wechsel ins Apache-Verzeichnis (conf).
Editieren des Config-Files.
LoadModule php3_module libexec/libphp3.so (ist nun eventuell schon
vorhanden )
AddType application/x-httpd-php3 .php3
Wechsel ins Apache-Verzeichnis (bin).
Apache starten (./apachectl startssl)
5 Apache testen
Nachdem nun der apache kompiliert, installiert sowie konfiguriert ist
und auch die Webseiten existieren, können Sie ihn testen. Wechseln Sie
dazu ins Verzeichnis /pfad/bin. Dann stehen Ihnen folgende Befehle zur
Verfügung:
./apachectl start
Startet den apache ohne SSL-Fähigkeit.
./apachectl startssl
Startet den apache mit voller SSL-Funktionalität.
./apachectl stop
Stoppt den apache.
Sie können sich nun Ihre selbst gebauten Html-Files ansehen. Öffnen Sie
Ihren Browser und rufen Sie http://10.0.15.240/index.html auf, wobei
"10.0.15.240" durch die IP-Adresse Ihres Rechners ersetzt werden muß.
(Es kann bei einigen Rechnern auch reichen, "localhost" anzugeben.) Sie
sehen nun die Html-Seite mit den Links "Ins SSL" und "Ins PHP" als
einzigen Inhalt. Klicken Sie den Link "Ins SSL" an und Sie wechseln auf
Ihre zweite Seite. Nun sollte in Ihrem Browser-Navigationsbalken
https://10.0.15.240/ssl/ssl.html stehen und der Link "Ins main" in dem
Browserfenster. Zuerst wird Sie Ihr Browser jedoch warnen, daß Sie nun
eine sichere Verbindung eingehen und Ihnen Ihr Test-Zertifikat zeigen,
welches Sie akzeptieren können. Wenn die Navigation zwischen diesen
beiden Seiten gelingt, ist der Apache ssl-fähig erfolgreich installiert.
Wechseln Sie nun auch vom Main ins PHP. Dort sollten Ihnen beide Texte
einwandfrei angezeigt werden. Ist dies nicht der Fall, überprüfen Sie
noch einmal Ihre PHP-Konfiguration.
6 StartUpSkript
Das Skript kann in einem Texteditor geschrieben werden, muß aber in das
richtige Verzeichnis kopiert werden und sein Name mit grossem "S" beginnen.
Verzeichnis /etc/init.d/boot.d
Skript muß mit "S" beginnen, bsp.: Startweb
<<