Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: Tomaatti - 03.06.06 - klo:20.27

Otsikko: PHP ja Apache
Kirjoitti: Tomaatti - 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.
Otsikko: Re: PHP ja Apache
Kirjoitti: raimo - 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


Otsikko: Re: PHP ja Apache
Kirjoitti: Tomaatti - 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.
Otsikko: Re: PHP ja Apache
Kirjoitti: raimo - 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.