[Debian 6] LAMP waarin php5 niet wil werken

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • RainerSGF
  • Registratie: Juli 2008
  • Laatst online: 17-09 22:22
Gisteren terug zin gekregen om verder een website uit te bouwen en daarom een Lamp willen opzetten. Dit heb ik gedaan via lamp wiki debian. Echter als ik nadien via 'localhost' een eenvoudige php-pagina wil openen, dan stelt m'n browser telkens voor dit te openen/downloaden als een bestand op zich.

K'geraak er niet uit. Al via google verder gekeken alsook hier op tweakers.net forum. Tot nu toe al even gekeken in verschillende configuratie-bestanden (userdir.conf en default-bestand in /etc/apache2/sites-available/), waarvan de DocumentRoot juist zou moeten zijn. Iemand die mij verder kan helpen?

Systeem - I'm learning, I learn it from a book :)


Acties:
  • 0 Henk 'm!

  • Kabouterplop01
  • Registratie: Maart 2002
  • Laatst online: 28-09 20:41

Kabouterplop01

chown -R me base:all

http://www.htaccess-guide.com/directoryindex-uses/

Directory index is denk ik wat je bedoelt.

Acties:
  • 0 Henk 'm!

  • Zombaya
  • Registratie: April 2012
  • Laatst online: 25-08 23:13
Als het gedownloade bestand opent, krijg je dan het uitgevoerde resultaat te zien of de originele sourcecode?

Ik gok op het tweede en dan komt dit omdat je php-code niet wordt uitgevoerd door apache. Als je hierop googlet zal je waarschijnlijk wel de oplossing vinden.

Ik zou vooral dit stuk uit de wiki nog eens nalezen:
To be able to serve PHP (PHP needs to be installed as per instructions) check /etc/apache2/mods-available/php5.conf is correct:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
    #<IfModule mod_userdir.c>
    #    <Directory /home/*/public_html>
    #        php_admin_value engine Off
    #    </Directory>
    #</IfModule>
</IfModule>

[ Voor 59% gewijzigd door Zombaya op 08-07-2012 14:44 ]

Zombaya


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 23:03

Hero of Time

Moderator LNX

There is only one Legend

Standaard LAMP geïnstalleerd via tasksel, als je niet bij het installeren al de taak 'webserver' hebt geselecteerd? Het is niets anders dan dit:
aptitude install apache2 php5 mysql-server

Dan eventueel nog php5 activeren via ''a2enmod php5'' en klaar. Herstart apache en het moet draaien.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • RainerSGF
  • Registratie: Juli 2008
  • Laatst online: 17-09 22:22
Het feit dat ik een error krijg ('... mixing * ports and non-ports...*) bij het herstarten van apache2 zal hier vermoedelijk ook al een rol in spelen zie ik nu. Ga eens verder zoeken daarop.

Systeem - I'm learning, I learn it from a book :)


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 23:03

Hero of Time

Moderator LNX

There is only one Legend

In zo'n geval is het handig om je vhost te posten. Daar zal een fout in staan. Heb je nog andere bestanden aangepast van apache? Je kan anders apache en bijbehorende pakketten purgen, zeker weten dat er in /etc geen restanten zijn en dan opnieuw installeren. Zou ook kunnen helpen.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • RainerSGF
  • Registratie: Juli 2008
  • Laatst online: 17-09 22:22
Hier de inhoud van /etc/apache2/sites-available/Frederic:

NameVirtualHost *:80

<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /home/frederic/public_html/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/frederic/public_html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>


Telkens wanneer in /etc/init.d/apache2 restart doe krijg ik een waarschuwing "NameVirtualHost *:80: has no VirtualHosts". En uiteindelijk blijf het hoofd-probleem dat ik geen php-pagina's blijkbaar kan laten lezen via firefox (wordt meteen voorgesteld om deze als bestand te download en te laten openen bv. door gedit waar je meteen de broncode ziet).

Systeem - I'm learning, I learn it from a book :)


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 23:03

Hero of Time

Moderator LNX

There is only one Legend

We hebben de code-tag voor een reden. Gebruik die aub.

Om je php te testen, zou ik eerst een simpel hello world pagina maken en die in /var/www/ zetten en die aanroepen, voordat je met virtual hosts gaat werken. Als je vhost niet goed is, dan blijf je rommelen en in de verkeerde richting zoeken. En ik denk dat daar ook het probleem zit. Je hebt te veel in je vhost staan dan noodzakelijk. NameVirtualHost is bijvoorbeeld overbodig en veroorzaakt je fouten. Doe het eens hiermee:
code:
1
2
3
4
<VirtualHost *:80>
        ServerName *:80 # of vervang * voor je IP adres
        DocumentRoot "/home/frederic/public_html"
</VirtualHost>

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • autostatic
  • Registratie: April 2004
  • Laatst online: 04-03 19:08
code:
1
DocumentRoot /home/frederic/public_html/

En de permissies staan goed op die directory?

Acties:
  • 0 Henk 'm!

  • RainerSGF
  • Registratie: Juli 2008
  • Laatst online: 17-09 22:22
code:
1
2
3
4
<VirtualHost *:80>
    ServerName *:80        
    DocumentRoot "/home/frederic/public_html"
</VirtualHost>


Nog steeds krijg ik dezelfde melding "... has no virtualhosts"

Wanneer ik een simpel html-bestand plaats in ofwel /var/www/ of in /home/frederic/public_html/ gebeurt er niets (ook al doe ik telkens na een verandering een restart van apache). Dus de html wordt ook niet geparsed zoals het moet maar geeft in firefox gewoon de volledige broncode weer (zonder dat hij het nu weliswaar vraagt omdat te downloaden).

Systeem - I'm learning, I learn it from a book :)


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 23:03

Hero of Time

Moderator LNX

There is only one Legend

Zet je vhost uit en herstart apache. Het wil nog wel eens gebeuren dat apache van slag is als er een vreemde/gare vhost aanwezig is. Vhost uitschakelen via a2dissite <sitenaam> of verwijder de symlink in sites-enabled.

Daarbij, als je plain text je php bestand krijgt, werkt php niet. Staat de module wel aan? Is php5 überhaupt geïnstalleerd?

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • RainerSGF
  • Registratie: Juli 2008
  • Laatst online: 17-09 22:22
a2dissite lost het probleem niet op. K'heb via herinstallatie het proberen op te lossen, echter ook zonder goed resultaat.

a2enmod php5 zegt dat php5 reeds geladen was/is.

Na elke wijziging doe ik ook steeds een restart van apache, maar het haalt blijkbaar allemaal niet veel uit.
Ik gebruik nu de default-configuratie (files in /var/www). K'heb ook al in de browser 127.0.0.1/index.html gebruikt ipv 'localhost'.


Hela, wacht eens...HET WERKT! K'zie plots dat er nu in die map /var/www/ twee bestanden staan (de eerste is index.html en de tweede is index.php, natuurlijk dat de webserver van streek geraakt en niet weet welke hij moet nemen). Ja, nu werkt het perfect nadat ik index.html heb verwijderd !

Thanks, de herinstallatie en nazicht in /var/www zal zijn werk gedaan hebben. :)

Systeem - I'm learning, I learn it from a book :)


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 23:03

Hero of Time

Moderator LNX

There is only one Legend

Standaard pakt Apache de index pagina in de volgorde: .html, .php, .anders. Dus als je naar een site gaat die index.html heeft en index.php, zal je altijd op index.html uitkomen, tenzij je in je vhost aangeeft wat de index pagina is. Je had het makkelijker kunnen fixen door zelf naar de .php te verwijzen. Dat doen ze bij elke php voor beginners cursus al.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • RainerSGF
  • Registratie: Juli 2008
  • Laatst online: 17-09 22:22
Je had het makkelijker kunnen fixen door zelf naar de .php te verwijzen. Dat doen ze bij elke php voor beginners cursus al
Dat had ik gedaan ook hoor, maar voordien gaf hij ook alles in plain text. De herinstallatie (via 'purge') heeft blijkbaar toch ook iets gedaan. Hopelijk zie jij me niet als een 'beginner', daarvoor ben ik er toch al iets langer mee bezig (ondanks hetgeen ik hier in m'n footer heb gezet :) ). K'vond na enige tijd zoeken gewoon de oplossing niet en/of werd ongeduldig, vandaar ik altijd graag beroep doe op dit unieke forum.

Systeem - I'm learning, I learn it from a book :)

Pagina: 1