Ongelmatilanteita
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: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
Terkuin,
-- dogo