Thread Installation Apache1.3 + mod_perl Win32: Anleitung
(1 answers)
Opened by Strat at 2004-08-24 02:16
Betriebssysteme: WinXP Professional, Win2000, Win2003
Installation des ganzen Paketes nach d:\pc-wamp Ich lade die Pakete gerne nach d:\pc-wamp\src runter, und compiliere sie bei Bedarf in Unterverzeichnissen davon, so z.B. apache in d:\pc-wamp\src\apache1.3.31\ ... ------------------------------------------------------------ 1. Apache-1.3.31 ------------------------------------------------------------ Installation nach: d:\pc-wamp\apache1.3.31\ (bei anderen Verzeichnissen muessen die hier angegebenen Pfade angepasst werden) Voraussetzungen: ---------------- x) Visual C 6 wird benoetigt, und nmake.exe muss ueber den pfad erreichbar sein Installation: ------------- x) Download: http://httpd.apache.org/download.cgi -> apache_1.3.31.tar.gz (~2,5 MB) x) Entpacken: tar xvzf apache_1.3.31.tar.gz (tar von http://www.cygwin.com/) x) AWK von http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe downloaden, in awk.exe umbenennen und nach apache_1.3.31\src kopieren (das von cygwin scheint dafuer irgendwie nicht zu funktionieren) x) Im Verzeichnis cd apache_1.3.31\src folgende kommandos ausfuehren: -) nmake /f Makefile.win _apacher -) nmake /f Makefile.win installr INSTDIR=d:\pc-wamp\apache1.3.31 (wenn da bei einem der Schritte Fehler auftauchen, nicht weitermachen, sondern besser die Dokumentation lesen (INSTALL, README, http://httpd.apache.org/docs/win_compiling.html , ...) Testen: ------- apache.exe im Verzeichnis d:\pc-wamp\apache1.3.31 ausfuehren. (wenn da bei WinXP Servicepack 2 die Frage kommt, ob die Anwendung geblockt werden soll => Nicht mehr blocken). Dann sollte sowas wie das folgende am Bildschirm ausgegeben werden: Apache/1.3.31 (Win32) running... Wenn man das erreicht hat, laeuft apache. Dann den Apache wieder beenden mit d:\pc-wamp\apache1.3.31\apache.exe -k shutdown (diesen Befehl sollte man am besten in eine batch-datei schreiben) Aufruf von: http://127.0.0.1/ Dann sollte eine Seite angezeigt werden ('Es klappt! Der Apache Web-Server ist auf dieser Web-Site installiert') Als Service installieren: ------------------------- Wenn Apache zufriedenstellend laeuft, kann man ihn auch als Service installieren, indem man das folgende Kommando eingibt: x) apache -i -n "Apache" Mit dem folgenden Kommando kann man den Service wieder entfernen: x) apache -u -n "Apache" Wenn Apache als Service installiert ist, kann man ihn entweder ueber Systemsteuerung -> Dienste starten (vielleicht auch als Startart automatisch einstellen, dann startet der Apache immer gleich, wenn das betriebssystem gestartet wird) oder in der Shell durch eingabe von x) net start apache (startet den Apache-Service) x) net stop apache (stoppt den Apache-Service) Uebrigens: mit dem folgenden Kommando kann man den apache neu starten, ohne auf das langsame net stop apache && net start apache angewiesen zu sein: x) apache1.3.31\apache.exe -k restart (Damit wird auch die Konfiguration des Apache neu eingelesen; dieses kommando brauche ich recht haeufig, weshalb ich es gerne in eine batch-Datei schreibe, die ich ueber einen Shortcut ansprechen kann) ------------------------------------------------------------ 2. Activestate Perl 809 ------------------------------------------------------------ x) Download von: http://ftp.activestate.com/ActivePerl/Windows/5.8/ http://ftp.activestate.com/ActiveP....x86.msi (~12 MB) (neuere Versionen habe ich noch nicht getestet) x) Installation: Doppelklick auf ActivePerl-5.8.3.809-MSWin32-x86.msi -> Next -> I accept the terms in the License Agreement -> Next -> Browse -> d:\pc-wamp\perl (perl muss manuell eingegeben werden) -> Next -> Next -> Next -> Install -> Finish x) Testen durch Eingabe von: perl -v falls da die folgende Fehlermeldung kommt, dann den PC restarten (denn dann ist der PATH-Eintrag d:\pc-wamp\perl\bin noch nicht aktiv): Der Befehl "perl" ist entweder falsch geschrieben oder konnte nicht gefunden werden. Wenn da was wie die folgende Zeile kommt, ist Perl korrekt installiert: This is perl, v5.8.3 built for MSWin32-x86-multi-thread x) Konfiguration von Perl/CPAN: (sinnvoll, aber kein muss) -) perl -MCPAN -e shell Hier kann man alle Fragen durch druecken von Enter beantworten, bis auf die folgenden Fragen Fragen -) CPAN build and cache directory? [\.cpan] d:\pc-wamp\tmp\.cpan -) Where is your make program? [D:\Programme\VC98\bin\nmake.EXE] nmake.exe Bei den folgenden Fragen muss man den Proxy angeben, wenn man ueber einen ins Internet geht (wenn nicht, dann einfach mit Enter beantworten), und zwar in der Form http://wwwproxy:8080/ oder ftp://ftpproxy:8080/ -) Your ftp_proxy? -) Your http_proxy? (Wenn man nicht in Deutschland sitzt, dann waehle man das naechstgelegene Land und Server) -) Select your continent (or several nearby continents) [] 4 -) Select your country (or several nearby countries) [] 11 -) Select as many URLs as you like (by number), put them on one line, separated by blanks, e.g. '1 4 5' [] 1 4 5 Wenn dann die folgende Zeile kommt, sieht es gut mit der CPAN-Konfiguration aus: cpan> (mit exit kann man die Shell wieder beenden) ------------------------------------------------------------ Installation aller moeglichen Perl-Module ------------------------------------------------------------ -) GD: ppm install http://theoryx5.uwinnipeg.ca/ppms/GD.ppd -) DBI: ppm install DBI -) DBD::mysql: ppm install DBD-mysql -) DBD::SQLite: ppm install DBD-SQLite Wenn man so gut wie alle auf Activestate vorhandenen Module installieren will, kann man das - wenn man viel Zeit hat - folgendermaszen machen: D:\pc-wamp\perl>ppm PPM - Programmer's Package Manager version 3.1. Copyright © 2001 ActiveState SRL. All Rights Reserved. Entering interactive shell. Using Term::ReadLine::Stub as readline library. Type 'help' to get started. ppm> search * Searching in Active Repositories .... -) Die Suche mit q abbrechen -) ppm> install 1-9000 ... laeuft dann einige Stunden lang; falls es abbricht, einfach nochmal neu starten Achtung: braucht so ca 350 MB Festplattenplatz... da ist es vielleicht besser, nur ausgewaehlte Module zu installieren... Parallel dazu kann man dann mod_perl installieren Wenn man noch weitere Module benoetigt, die es nicht von Activestate gibt, sind die folgenden Urls gute Anlaufstellen: x) http://theoryx5.uwinnipeg.ca/ppms/ x) http://crazyinsomniac.perlmonk.org/perl/ppm/5.8/ x) http://ppd.develop-help.com/ppd/ Module, die dort veroeffentlicht sind, kann man (genauso wie oben GD) installieren, indem man die URL zur .ppd-Datei angibt ------------------------------------------------------------ Installation von mod_perl ------------------------------------------------------------ x) Download von: http://perl.apache.org/dist/mod_perl-1.0-current.tar.gz x) Entpacken mit: tar xvzf mod_perl-1.0-current.tar.gz x) cd mod_perl-1.29 1. Die Perl-Seite installieren -) D:\pc-wamp\source\mod_perl-1.29>perl Makefile.PL -) D:\pc-wamp\source\mod_perl-1.29>nmake install 2. Das Apache-Modul erzeugen -) D:\pc...perl-1.29>perl Makefile.PL APACHE_SRC=d:\pc-wamp\apache1.3.31 EAPI=1 -) D:\pc...perl-1.29>nmake -) D:\pc...perl-1.29>nmake test -) Please supply the full path to Apache.exe: d:\pc-wamp\apache1.3.31 -) D:\pc...perl-1.29>nmake install Dabei immer auf Fehler achten; bei mir kommt bei nmake eine warning, die aber kein Problem darzustellen scheint. Wenn nun die Datei mod_perl.so im Verzeichnis D:\pc-wamp\apache1.3.31\modules angekommen ist, sieht es gut aus. ------------------------------------------------------------ Einbinden von mod_perl in die httpd.conf ------------------------------------------------------------ Editieren der Datei D:\pc-wamp\apache1.3.31\conf\httpd.conf (vielleicht sicherheitshalber ein Backup davon erzeugen) 1. Suchen nach LoadModule (in etwa Zeile 190). Ans Ende dieses Blocks eine neue Zeile hinzufuegen: LoadModule perl_module modules/mod_perl.so 2. Suchen nach AddModule (in etwa Zeile 241). Ans Ende dieses Blocks die folgende neue Zeile hinzufuegen: AddModule mod_perl.c Wenn jetzt der Apache gestartet wird, erzaehlt er z.B. das folgende: Apache wird gestartet Apache/1.3.31 (Win32) mod_perl/1.29 running... Wenn diese Nachricht auftritt, funktioniert mod_perl ------------------------------------------------------------ Vereinfachen der Verwendung von Perl und aktivieren von CGI ------------------------------------------------------------ Editieren der Datei D:\pc-wamp\apache1.3.31\conf\httpd.conf Scripte mit den Endungen .pl und .cgi ueber die Windows-Registry einem Programm zuordnen, nicht mehr ueber den Shebang. Dies hat den Vorteil, dass man als Shebang #! /usr/bin/perl oder aehnliches verwenden kann, und ihn somit nicht beim Upload auf einen anderen Webserver veraendern muss. Dazu suche man in der httpd.conf nach der folgenden Zeile und entferne das Kommentarzeichen # am Anfang: #ScriptInterpreterSource registry sodass da steht: ScriptInterpreterSource registry Dann tippe man in die Dos-Shell die folgenden Befehle ein, die dafuer sorgen, dass Scripte mit den Endungen .pl und .cgi von Perl ausgefuehrt werden: D:\pc-wamp>assoc .pl=Perl D:\pc-wamp>assoc .cgi=Perl D:\pc-wamp>ftype Perl="D:\pc-wamp\perl\bin\perl.exe" "%1" %* Scripte mit der Endung .cgi als CGI-Scripte zulassen: In der httpd.conf nach dem Block (~623) <Directory "d:/pc-wamp/apache1.3.31/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> suchen und aendere ihn so, dass er folgendermaszen aussieht: <Directory "d:/pc-wamp/apache1.3.31/cgi-bin"> AllowOverride None AddHandler cgi-script .cgi Options ExecCGI Order allow,deny Allow from all </Directory> (Man kann, wenn man auch Scripte mit der Endung .pl als CGI ausfuehren will/muss, die AddHandler-Zeile auch noch folgendermaszen erweitern: AddHandler cgi-script .cgi .pl Ich finde jedoch, dass man sich die Endung .pl moeglichst fuer mod_perl-Scripte reservieren sollte, und .cgi fuer CGI-Scripte stehen sollte. Aber das ist wohl Geschmackssache...) Wenn man nun die Datei D:\pc-wamp\apache1.3.31\cgi-bin\printenv.pl in printenv.cgi umbenennt (oder umkopiert) und die folgende Url aufruft, sollte man nun die Umgebungsvariablen des Servers sehen: http://127.0.0.1/cgi-bin/printenv.cgi Falls da ein Fehler kommt (z.B. 500er), dann einen Blick in die Datei D:\pc-wamp\apache1.3.31\logs\error.log werfen und anhand der Fehlermeldung das Problem eingrenzen. Dabei hilft die Seite http://wiki.perl-community.de/bin....rror500 ------------------------------------------------------------ Installation von MySql (optional) ------------------------------------------------------------ x) Download von MySql4 von http://www.mysql.com/ -> Products -> Database Server -> Download Binaries & Source -> MySQL 4.0 (falls die 4.1er nicht mehr Beta ist, besser die verwenden) -> nach Windows runterscrollen und Download der Version Windows (x86) (ist momentan 4.0.20d) x) Entpacken (z.B. mit Winzip, z.B. nach D:\pc-wamp\source\mysql-4.0.20d-win) x) Ausfuehren von D:\pc-wamp\source\mysql-4.0.20d-win\setup.exe -> Next -> Next -> Browse: d:\pc-wamp\mysql4 -> OK -> Next -> Custom -> Next -> Finish x) Setzen des Root-Passwortes ................ x) Installation als Service ................ ------------------------------------------------------------ Installation von PHP (optional) ------------------------------------------------------------ Voraussetzung: Installation von Apache x) Download: von http://www.php.net/ -> downloads -> PHP 4.3.8 zip package x) Entpacken (z.B. mit Winzip), das Verzeichnis php-4.3.8-Win32 nach d:\pc-wamp verschieben und nach php-4.3.8 umbenennen, sodass es eine Datei D:\pc-wamp\php-4.3.8\php.exe gibt. x) Kopieren der Datei D:\pc-wamp\php-4.3.8\php.ini-dist nach d:\pc-wamp\apache1.3.31\ und nach php.ini umbenennen x) Die Datei d:\pc-wamp\apache1.3.31\php.ini editieren: -) Suche nach der Zeile (~428): extension_dir = "./" und ersetze sie durch die folgende Zeile extension_dir = d:\pc-wamp\php-4.3.8\extensions\ -) Suche nach der Zeile (~421): doc_root = und ersetze sie durch die folgende: doc_root = ................. x) Editieren der Datei: d:\pc-wamp\apache1.3.31\conf\httpd.conf -) Suche nach der Zeile (~192) #LoadModule unique_id_module modules/mod_unique_id.so und schreibe in eine der naechsten Zeilen: LoadFile "/pc-wamp/php-4.3.8/php4ts.dll" LoadModule php4_module "/pc-wamp/apache1.3.31/php4apache.dll" -) Suche nach der Zeile (~240) AddModule mod_setenvif.c und fuege danach die folgende Zeile ein: AddModule mod_php4.c x) Testen Moduleinbindung: Wenn man danach den Apache in der Konsole startet, sollte die folgende Meldung kommen: D:\pc-wamp>apache_start_console.cmd Apache wird gestartet Apache/1.3.31 (Win32) PHP/4.3.8 mod_perl/1.29 running... Wenn das klappt, ist das Modul korrekt installiert. x) Aktivieren von PHP fuer die Endung .php -) Suche in der httpd.conf nach der Zeile AddType application/x-tar .tgz und füge danach die folgende Zeile ein: AddType application/x-httpd-php .php .php4 (Bei Bedarf kann auch noch .php3 und .phtml hinzugefuegt werden) Jetzt sollte php korrekt laufen. Testen kann man dies z.B. einfach mit der Installation von PhpMyAdmin (naechster Punkt) ------------------------------------------------------------ Installation von PhpMyAdmin (optional) 2.6.0-rc1 ------------------------------------------------------------ Voraussetzungen: Installation von Apache, PHP und MySql x) Download von: http://sourceforge.net/projects/phpmyadmin/ -> Download -> phpMyAdmin-2.6.0-rc1.zip Entpacken und verschieben nach: d:\pc-wamp\apache1.3.31\htdocs und umbenennen, sodass es eine Date D:\pc-wamp\apache1.3.31\htdocs\phpMyAdmin\index.php gibt x) Editieren der Datei D:\pc-wamp\apache1.3.31\htdocs\phpMyAdmin\config.inc.php -) Suchen nach der Zeile .............. ------------------------------------------------------------ Server Side Includes (optional) ------------------------------------------------------------ perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/ |