Schrift
[thread]3127[/thread]

Installation Apache1.3 + mod_perl Win32: Anleitung



<< >> 2 Einträge, 1 Seite
Strat
 2004-08-24 02:16
#30966 #30966
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
Hi Leute,

da ich meinen PC gerade neu installiert habe, habe ich mich dazu entschieden, meine Web-Entwicklungsumgebung auch mal wieder upzudaten, und habe da gleich eine Anleitung verfasst. Sie ist zwar noch nicht vollstaendig (wird wohl erst an den naechsten Abenden fertig), aber ich poste sie mal und bitte um Kommentare, Verbesserungsvorschlaege, ...

Wo ..... sind, fehlt noch was...

das fertige habe ich fuer's wiki geplant, und dann auch den Punkt zu dem 500er Fehler erweitern.

Was denkt ihr darueber?\n\n

<!--EDIT|Strat|1093299559-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Strat
 2004-08-24 02:16
#30967 #30967
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
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 &copy; 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/
<< >> 2 Einträge, 1 Seite



View all threads created 2004-08-24 02:16.