Ongelmatilanteita
Miksei mun kotisivu toimi!1! 'You don't have permission to access'...
Silloin sapettaa kun hienot sivut on just julkaisua varten valmiit ja lapiokurssin assari kyselee tuotosten perään. Ei huolta, seuraavilla hilirimpsuilla oikeudet menevät kohdilleen ja sivut alkavat näkyä:
cd && chmod 0711 . && wwwonly public_html cd public_html && find ./ -type d -exec wwwonly {} \; && find ./ -type f -exec chmod 0644 {} \;
1. rivillä siirrytään kotihakemistoon ja jos se onnistuu, muutetaan sen oikeudet drwx--x--x ja jos sekin onnistuu, muutetaan public_html-hakemiston oikeudet semmoisiksi kuin laitos on tarkoittanut. Merkit && komentojen välissä tarkoittavat: 'mikäli edellinen komento suoritettiin onnistuneesti, siirry seuraavaan'.
Kakkosrivillä siirrytään hakemistoon public_html ja jos se onnistuu, muutetaan kaikkien sen alla olevien hakemistojen omistukset niinkuin laitos on ne tarkoittanut ja jos sekin onnistuu, muutetaan public_html:n alla olevien kaikkien tiedostojen oikeudet niin että vain omistaja voi muuttaa mutta muut lukea.
Lisätietoa: http://www.cs.helsinki.fi/compfac/ohjeet/WWW/rajoittaminen.html - mm. kuinka tehdään salasanasuojattuja sivuja.
HUOMAA ETTÄ TÄTÄ EI PIDÄ KÄYTTÄÄ KONEELLA alkokrunni.cs.helsinki.fi (db). PHP ei toimi, jos omistusoikeuksia muutetaan komennolla wwwonly.
PHP db:llä: Forbiddeniä ja Internal Server Erroria puskee, muttei kauan
PHP:n saattaminen toimintaan db.cs.helsinki.fi:ssä eli alkokrunnilla vie sormen suuhun joskus paatuneemmaltakin säätäjä-ässältä. Ei huolta, taas löytyy hilirimpsut joilla homma lähtee käyntiin nollasta sataan. Kun olet kirjautuneena db:lle, seuraavat loitsut tekevät aivan alusta oikeat jutut. HUOMAA että kaikki hipsut eivät ole '-merkkejä, vaan `-merkkejä. Kannattaa leikkaa-liimata.
cd && chmod 0711 . cd public_html && chmod 755 . && chown `id -nu`:tkol . && { TEMPDIR=`mktemp -d testphp.XXXX` && cd $TEMPDIR && chmod 0755 . && { cat > .htaccess <<EOF AddHandler cgi-script php AddCharset UTF-8 .html AddCharset UTF-8 .php EOF chmod 0644 .htaccess } }
Jos edelliset komennot menivät nätisti läpi, luo tiedosto test.php
seuraavasti:
cat > test.php <<EOF #!/usr/local/bin/php <?php header('Content-type: text/html; charset=UTF-8'); echo <<<PHPEOF <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="CACHE-CONTROL" content="NO-CACHE" /> <meta name="ROBOTS" content="NOINDEX,NOFOLLOW,NOARCHIVE" /> <title>PHP test page</title> </head> <body> PHPEOF; echo "\n <h2>PHP-testi.</h2>\n"; echo "</body>\n"; echo "</html>\n"; ?> EOF chmod 0700 test.php
..ja lopuksi testaa toimivuus komennolla
lynx http://db.cs.helsinki.fi/u/`id -nu`/$TEMPDIR/test.php