sunnuntai, 9. syyskuuta 2012

LAMP-palvelimen asennus ja testaus

Asensin LAMP-palvelimen Ubuntun (12.04) live-ympäristöön Acer Aspire One -miniläppäriini (ks. tarkemmat tiedot). Asennuskohteena oli läppärini.

PHP:n käyttöönotto Apachessa

Asensin aluksi (9.9. klo 22.45 GMT+3) Apache2:n, PHP5-moduulin, MYSQL-palvelindemonin sekä MYSQL-asiakasohjelman. Tämän jälkeen otin userdir-moduulin käyttöön (jotta ~/public_html alkaisi toimia). Otin myös PHP5-moduulin käyttöön.
sudo apt-get install apache2 libapache2-mod-php5 mysql-server mysql-client && sudo a2enmod userdir && sudo a2enmod php5 && sudo service apache2 restart && mkdir ~/public_html/
Asetin PHP:n toimimaan myös käyttäjien kotihakemistoissa muokkaamalla Apachen konffia.
sudoedit /etc/apache2/mods-available/php5.conf
Muutin tiedostosta seuraavat rivit kommentoiduiksi:
#    <IfModule mod_userdir.c>
#        <Directory /home/*/public_html>
#            php_admin_value engine Off
#        </Directory>
#    </IfModule>

Käynnistin Apache-demonin uudelleen ja kokeilin, tulkkaako Apache2 kotihakemistoissa olevia *.php-tiedostoja. Tein tämän lynxillä.
sudo service apache2 restart && echo '<? echo ("PHP toimii kotihakemistossa"); ?>' > /home/ubuntu/public_html/index.php && sudo apt-get install lynx && lynx http://localhost/~ubuntu
Lynx palautti terminaaliemulaattoriin tekstin "PHP toimii kotihakemistossa.", mikä osoittaa, että PHP-koodi ajettiin onnistuneesti.

MySQL:in käyttöönotto

Yritin kirjautua MySQL-demonin komentotilaan, mutta törmäsin ongelmaan:
ubuntu@ubuntu:~$ mysql -uroot -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Hetken guuglattuani syyksi selvisi kovalevytilan puute. Koska järjestelmäni pyörii muistitikulla, tämä oli sen verran suuri ongelma, että päätin jättää leikin kesken klo 23.24 ja tehdä lopun tehtävästä (PHP-ohjelmoinnin) virtuaalipalvelimellani.

MySQL-kokeiluja virtuaalipalvelimella

Otin yhteyden Hollannissa sijaitsevaan virtuaalipalvelimeeni.
ssh blaa@turkanen.tilaa.nl
Kirjauduin mysqlin komentokäyttöliittymään.
mysql -uroot -p
Loin uuden käyttäjän ja uuden tietokannan.
create database myslitesti;
grant all privileges on myslitesti.* to 'myslitesti'@'localhost' identified by 'blaa';
Kirjauduin root-käyttäjältä ulos.
exit
 Otin tietokannan "myslitesti" käyttöön käyttäjällä "myslitesti".
mysql -umyslitesti -p myslitesti
Loin uuden taulun.
create table myslitesti;
Loin taulukolle rakenteen.
create table terkut (terkut TEXT, viimeisimmat TEXT);
Alustin tiedot.
 insert into terkut (kahva, terkut) values ('viimeisin', 'blaa');
Poistuin komennolla "exit" ja aloin kirjoittaa MySQL-tietokantaa käyttävää PHP-tiedostoa. Tavoitteena oli tehdä kikkare, joka kävijälle edellisen kävijän jättämät terveiset. Sähläsin MySQL-hakujen kanssa 10.9. klo 00.55 asti ja päätin jatkaa aamulla. Jatkoin nysväämistä 10.9. klo 06.30 ja luovutin klo 7.23, kun MySQL-haut eivät ottaneet onnistuakseen. Viimeisin yritykseni näytti tältä ja lähdekoodi seuraavanlaiselta:

<?
$yhteys = mysql_connect("localhost", "myslitesti", "blaa") or die ("Error: mysql_connect");
mysql_select_db("myslitesti", $yhteys) or die ("Error: mysql_select_db");
// Haetaan vanhat terkut kannasta
$vanhat_terkut = "SELECT * FROM terkut WHERE kahva = 'terkut'";
$vanhat_terkut = mysql_query($vanhat_terkut);
mysql_close ($yhteys);
?>

<!doctype html>
<head>
<title>Terkut</title>
<meta charset="utf-8" />
</head>

<body>
<form action="terkut.php" method="GET">
<table>
<tr><td><? echo $vanhat_terkut; ?></td></tr>
<tr><td><input type="text" name="uudet_terkut" /><input type="submit"
value="Lähetä" /></td></tr>
</table>
</body>

Ei kommentteja:

Lähetä kommentti