Kirjoittaja Aihe: PHP ja Apache  (Luettu 2818 kertaa)

Tomaatti

  • Käyttäjä
  • Viestejä: 151
    • Profiili
PHP ja Apache
« : 03.06.06 - klo:20.27 »
Tuli sellainen ongelma Dapperissa, että Apache tarjoaa PHP-tiedostoja ladattavaksi, eivätkä ne ole "suoritettuja".

Eli kun yritän avata http://localhost/hello.php, jonka sisältö on:
Koodia: [Valitse]
<?php print "Hello World;"?>niin selain tarjoaa ladattavaksi kyseistä tiedostoa ja sisältönä on ylhäällä mainittu. Jos tämä toimisi normaalisti, niin selain avaisi sivun ja tulostaisi "Hello world".

Koodia: [Valitse]
Package: apache2-common
Status: install ok installed
Version: 2.0.55-4ubuntu2

Package: php4
Status: install ok installed
Version: 4:4.4.2-1build1
Olen laittanut tiedostoon /etc/apache2/apache2.conf rivit:
Koodia: [Valitse]
AddType application/x-httpd-php .php .poo
AddType application/x-httpd-php-source .phps

PS: .htaccess tiedostotkaan eivät tunnu toimivan. Laitoin siihen sekasotkua eikä virheilmoitusta.
« Viimeksi muokattu: 03.06.06 - klo:20.51 kirjoittanut Tomaatti »

raimo

  • Käyttäjä
  • Viestejä: 4269
  • openSUSE Tumbleweed
    • Profiili
Re: PHP ja Apache
« Vastaus #1 : 03.06.06 - klo:21.16 »
Taistelin saman asian kanssa PHP5:n asennuksen jälkeen.
Katsopas mitä on hakemistossa /etc/apache2/mods-enabled/

Minulla on siis PHP5 käytössä, ja ko hakemistossa php5.conf jonka sisältö:
Koodia: [Valitse]
<IfModule mod_php5.c>
  AddType application/x-httpd-php .php .phtml .php3
  AddType application/x-httpd-php-source .phps
</IfModule>

Samaisessa hakemistossa on myös php5.load sisällöltään:
Koodia: [Valitse]
LoadModule php5_module /usr/lib/apache2/modules/libphp5.so
Tuossa alimmassa oli minulla Ubuntun PHP-asennuksen jäljiltä väärä polku, ja PHP ei toiminut.
apache2.conf tiedostossa minulla ei ole mitään PHP:hen liittyvää, mutta siellä pitää olla rivit:
Koodia: [Valitse]
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf


Tietä käyden tien on vanki. Vapaa on vain umpihanki.
Aaro Hellaakoski

Tomaatti

  • Käyttäjä
  • Viestejä: 151
    • Profiili
Re: PHP ja Apache
« Vastaus #2 : 03.06.06 - klo:21.27 »
Kiitos nopeasta vastauksesta. En tiedä mitä tein, mutta sain PHP-tiedostot nyt toimimaan ohjeidesi mukaan. Saattoi johtua myös pakettien uudelleenasentamisesta.

raimo

  • Käyttäjä
  • Viestejä: 4269
  • openSUSE Tumbleweed
    • Profiili
Re: PHP ja Apache
« Vastaus #3 : 03.06.06 - klo:21.45 »
Kiitos nopeasta vastauksesta. En tiedä mitä tein, mutta sain PHP-tiedostot nyt toimimaan ohjeidesi mukaan. Saattoi johtua myös pakettien uudelleenasentamisesta.
hyvähyvä, .htaccess juttuun liittyen, juuri eilen puhisin sen kanssa...
Aikani turasin ja en saanut toimimaan, no sitten lisäsin /etc/apache2/sites-enabled/ hakemistossa olevaan 000-default tiedostoon tämän lohkon:
Koodia: [Valitse]
<Directory /suojatun/hakemiston/polku>
Options Indexes FollowSymLinks MultiViews Includes
AllowOverride AuthConfig
Order deny,allow
        deny from all       
        AuthType Basic       
        AuthUserFile /polku/salasana/tiedostoon
        AuthName "login"
        require valid-user
        satisfy any
</Directory>
Jolloin homma lähti toimimaan hienosti, ja ko. hakemistossa ei tarvi olla .htaccess tiedostoa.
Includes liittyy SSI:hin eikä ole tarpeellinen jos SSI ei ole käytössä.

edit:
Siinä on jotakin hyvin outoa nyt, nimittäin täsmällisesti manuaalin mukaan tehtynä:
http://httpd.apache.org/docs/2.0/howto/htaccess.html
.htaccess EI toimi, en käsitä miksi. Ja tosiaan kun määräyksen laittaa suoraan tuonne 000-default
tiedostoon homma toimii, mutta pitäisihän se .htaccess saada toimimaan.

Joka tapauksessa 000-default fileeseen pitää lisätä/vaihtaa:
AllowOverride AuthConfig

Ja apache2.conf pitää olla rivi (tää ei kai ole pakollinen, koska lienee oletusarvo?):
AccessFileName .htaccess

Mutta se ei kai siltikään ollenkaan lue .htaccess tiedostoa! grrrr! :)
Alkaa jo epäilyttämään että tähän liittyy jokin Ubuntun erikoisuusominaisuus (sudo tms.)

edit2:
Ja nyt se sitten lähti toimimaan  kun kun, no kun jotakin tein, ilmeisesti?  ::)
Liimailen tähän nyt asiaan vaikuttavat.
.htaccess joka on suojattavassa hakemistossa:
Koodia: [Valitse]
AuthType Basic
AuthName "tunnuksiasi kaivataan"
AuthUserFile /polku/tunnus/tiedostoon
Require valid-user

/etc/apache2/sites-enabled/000-default
Koodia: [Valitse]
<Directory /polku/htdocs/hakemistoon>
    Options Indexes FollowSymLinks MultiViews Includes
    AllowOverride AuthConfig
    Order allow,deny
    allow from all
</Directory>

/polku/htdocs/hakemistoon on sama kuin DocumentRoot asetuksessa määritetty,
Elikkä käytännössä, AllowOverride None vaihdetaan AllowOverride AuthConfig
jolloin jos DocumentRoot hakemiston alihakemistoihin laitetaan .htaccess niin se alkaa toimimaan oitis.
Siinäpä kaikki mitä tarvitaan, enkä käsitä miksi se ei toiminut, ilmeisesti joku typo oli jossakin.

« Viimeksi muokattu: 04.06.06 - klo:12.51 kirjoittanut raimo »
Tietä käyden tien on vanki. Vapaa on vain umpihanki.
Aaro Hellaakoski