Toon posts:

Apache 1.3.17 + PHP 4 PL1

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil een nieuwe versie van Apache (1.3.17) en een nieuwe versie van PHP (4 PL1) op mijn linux bak zetten. Maar ik krijg het niet werkend.

Ik gebruik SuSE 7.0. Bij de installatie daarvan is standaard Apache 1.3.12 en PHP 3.0.16 geinstalleerd. Maar ik heb dus geprobeerd om de nieuwere versies erop te zetten.

Moet ik eerst die oude Apache en PHP uninstallen? (Zo ja, hoe dan?)
Moet ik httpd stoppen?

Kortom: wat moet ik eerst doen, om met de volgende stappen te beginnen?

Ik heb een boek gekocht over PHP4. Daarom wil ik dus die nieuwe versie installeren. Ik zal nu de stappen opschrijven die ik gedaan heb (en die dus ook in dat boek staan):

1) Apache 1.3.17 uitgepakt onder /tmp/apache_1.3.17
2) PHP 4PL1 uitgepakt onder /tmp/php-4.0.4pl1
3) cd /tmp/apache_1.3.17
4) ./configure
5) cd /tmp/php-4.0.4pl1
6) ./configure –with-apache=/tmp/apache_1.3.17 –with-mysql –with-xml –enable-track-vars
7) make
8) make install
9) cd /tmp/apache_1.3.17
10) ./configure –prefix=/etc/httpd –activate-module=src/modules/php4/libphp4.a
11) make

de volgende stappen weet ik niet of die wel gedaan moeten worden

12) cd src/support
13) ./apachectl stop
14) cd ..
15) cp httpd /usr/local/bin

16) cd ../../php-4.0.4pl1
17) cp php.ini-dist /usr/local/lib/php.ini

De volgende 2 regels moeten worden toegevoegd aan /etc/httpd/httpd.conf

18) AddType application/x-httpd-php .php
19) AddType application/x-httpd-php .html

20) cd ../apache_1.3.17/src/support
21) ./apachectl start

Nu zal het dus moeten werken. Maar dat is bij mij niet geval.

Wie kan mij helpen?

Verwijderd

wat doet het niet dan?

Verwijderd

Topicstarter
Wat denk je?

Die nieuwe versie van Apache en PHP. Linux gebruikt nog steeds allebei de oude versies.

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-07 15:42

RvdH

Uitvinder van RickRAID

Op vrijdag 09 februari 2001 22:38 schreef tokkie het volgende:
Moet ik eerst die oude Apache en PHP uninstallen? (Zo ja, hoe dan?)
Moet ik httpd stoppen?
Uninstallen: nee
httpd stoppen: ja
1) Apache 1.3.17 uitgepakt onder /tmp/apache_1.3.17
2) PHP 4PL1 uitgepakt onder /tmp/php-4.0.4pl1
3) cd /tmp/apache_1.3.17
4) ./configure
5) cd /tmp/php-4.0.4pl1
6) ./configure –with-apache=/tmp/apache_1.3.17 –with-mysql –with-xml –enable-track-vars
7) make
8) make install
9) cd /tmp/apache_1.3.17
10) ./configure –prefix=/etc/httpd –activate-module=src/modules/php4/libphp4.a
11) make
So far so good.. maar.. :
12) cd src/support
13) ./apachectl stop
Is waarschijnlijk niet zo netjes. Ik weet niet precies hoe apachectl werkt, en of ie versie-specifiek is. Het is in ieder geval verstandiger je huidige Apache te stoppen met de apachectl die er bij hoorde.
14) cd ..
15) cp httpd /usr/local/bin

16) cd ../../php-4.0.4pl1
17) cp php.ini-dist /usr/local/lib/php.ini
Hoeft niet. Met de make install van Apache wordt je httpd al vervangen, en de nodige files overschreven. Configfiles (o.a. httpd.conf) blijven staan.
De volgende 2 regels moeten worden toegevoegd aan /etc/httpd/httpd.conf

18) AddType application/x-httpd-php .php
19) AddType application/x-httpd-php .html
Das goed.
20) cd ../apache_1.3.17/src/support
21) ./apachectl start
Nogmaals, met make install worden de nodige files gemaakt en overschreven. Je hoeft de apache dus niet vanuit de source dir te starten.
Nu zal het dus moeten werken. Maar dat is bij mij niet geval.

Wie kan mij helpen?
Tip: configure apache met --with-prefix=/www

Zo worden alle apache files netjes onder /www geplaatst, wat heeeeeeeel wat overzichtelijker is. Zo staat je httpd.conf in /www/conf/httpd.conf, en je apachectl in /www/bin/apachectl.

Zo wordt Apache hoe dan ook goed gestart, met de juiste versie, en de juiste config files.

Check je error-log eens, daar staat wel info in waarom je httpd niet wilt starten.

Verwijderd

Topicstarter
Ik heb ook dit geprobeerd, maar de directory /WWW blijft gewoon leeg!

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-07 15:42

RvdH

Uitvinder van RickRAID

Je moet bij Apache ook een `make install` runnen na de make.

Verwijderd

Topicstarter
Nu staat wel alles onder /WWW

Maar als ik nu mijn website bekijk in een browser, krijg ik nog steeds die oude site van de vorige Apache te zien (en hij geeft nog steeds het oude versienummer weer)

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-07 15:42

RvdH

Uitvinder van RickRAID

Start je hem wel via /www/bin/apachectl start? En if so, wat zegt de /www/logs/error_log, tijdens het opstarten?

Daar staat voor Aphrodite dit in:
[Fri Feb 2 23:15:54 2001] [notice] Apache/1.3.14 (Unix) PHP/4.0.4pl1 configured -- resuming normal operations

Staat daar wel de goeie versienummer?

Verwijderd

Topicstarter
In /WWW/logs/error_log staat:

[Sat Feb 10 00:58:48 2001] [crit] (98)Address already in use: make_sock: could not bind to port 80
[Sat Feb 10 12:32:04 2001] [crit] (98)Address already in use: make_sock: could not bind to port 80

Het kan best zijn dat ik iets vergeet, waar jij vanuit gaat dat ik standaard zou doen (ik ben nog maar een beginneling)

Dus kan je ALLE stappen (als ik er een paar vergeten bent) die ik zou moeten doen geven?

Verwijderd

Op zaterdag 10 februari 2001 12:37 schreef tokkie het volgende:
In /WWW/logs/error_log staat:

[Sat Feb 10 00:58:48 2001] [crit] (98)Address already in use: make_sock: could not bind to port 80
[Sat Feb 10 12:32:04 2001] [crit] (98)Address already in use: make_sock: could not bind to port 80
Heb je toevallig al iets op port 80 draaien? (een standaard installed webserver?)
check eens netstat -le | grep tcp

Verwijderd

Topicstarter
Dit krijg ik te zien:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
linux:9~ # netstat -le | grep tcp
tcp        0      0 *:www-http              *:*                     LISTEN
root       17328
tcp        0      0 *:ndmp                  *:*                     LISTEN
root       1023
tcp        0      0 *:auth                  *:*                     LISTEN
root       739
tcp        0      0 *:ssh                   *:*                     LISTEN
root       648
tcp        0      0 *:netbios-ssn           *:*                     LISTEN
root       621
tcp        0      0 *:printer               *:*                     LISTEN
root       544
tcp        0      0 *:ftp                   *:*                     LISTEN
nobody     62
tcp        0      0 *:smtp                  *:*                     LISTEN
root       600
raw        0      0 *:tcp                   *:*                     7
root       0
linux:9~ #

  • mavink
  • Registratie: April 2000
  • Laatst online: 27-05 09:16
Het verstandigste lijkt me toch om eerst de ouwe webserver helemaal te deinstalleren met de package manager van je distributie (waarschijnlijk rpm), kijk voor de details even in de handleiding die je erbij kreeg. Als er dan nog een webserver draait moet je die gewoon afsluiten, en daarna kan je de nieuwe installeren. Dat voorkomt behoorlijk wat problemen.

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-07 15:42

RvdH

Uitvinder van RickRAID

Precies. Er draait nog een webserver op port 80, vandaar dat hij zegt dat ie em niet kan starten. En vandaar dat je het oude versienummer nog te zien krijgt.

Sluit em af, make install in de apache source dir, en /www/bin/apachectl start.

Verwijderd

Topicstarter
YES :) :) :) :) :) :) :) :)

HET WERKT!!!

Ik heb via Yast eerst apache 1.3.12 gedeinstalleerd. Vervolgens heb ik er ook mod_php (of zoiets) eraf gehaald.

Vervolgens heb ik in /etc/rc.config gezet:

START_HTTPD=no (zodat apache niet automatisch wordt geladen bij het booten)

Vervolgens heb ik mijn linux bak gereboot ( :( ja ik weet het, linux zou je hier helemaal niet voor moeten rebooten, maar ik heb er nog weinig verstand van en zo weet ik zeker dat het goed gaat en er dus geen webserver actief is)

Toen heb ik alle stappen nog eens herhaald en toen apache gestart en het werkt!!

Als ik bijv info.php (waar in staat <?php phpinfo(); ?> ) laadt, dan zie ik ook informatie over PHP4 PL1.

Maar ik dacht dus, ik zet die START_HTTPD in /etc/rc.config weer terug op yes, zodat bij het booten automatisch apache wordt gestart.

Maar dat werkt niet. (Waarschijnlijk omdat dat verwijst naar die oude versie van apache). Als ik mijn server reboot en ik geef het commando:

netstat -le | grep tcp

dan staat httpd er niet bij.

Ik moet dus ergens in een bootscript zetten:

/WWW/bin/apachectl start

Maar de vraag is in welk script ik dat moet zetten?

Kan iemand dat aangeven?

Verwijderd

Topicstarter
Laat maar alles werkt nu helemaal!!

Iedereen bedankt! :)
Pagina: 1