Ongelmatilanteita

Versio hetkellä 3. elokuuta 2010 kello 14.24 – tehnyt Dogo (keskustelu | muokkaukset) (Lisätty ohje PHP:lle users.cs.helsinki.fi:hin)

http://<miun-tunnus>.users.cs.helsinki/

db muuttaa/muuttuu syksyn 2010 aikana. Kotisivu- ja miksei vaikka php-kehityskin toimii varmaan paraiten users.cs.helsinki.fi-koneessa (svm-16.cs.helsinki.fi). Triviaalein tapa lienee seuraava:

 wanna-htdocs
 cd && chmod 0711 . && chmod 0755 htdocs && echo "<?php echo "Toimii" ?>" > htdocs/index.php

wanna-* komennoilla saa myös PostgreSQLn, MySQLn ja Tomcatin (...)

Miksei mun kotisivu toimi!1! 'You don't have permission to access'...

Kyllä harmittaa 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 . && chmod 0711 public_html
 cd public_html && find ./ -type d -exec chmod 0711 {} \; && 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.


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