Linux Xubuntu ja LAMP:n asennus

Tehtävä: http://terokarvinen.com/2013/aikataulu-%E2%80%93-linux-palvelimena-ict4tn003-9-ja-10-syksylla-2013

“h5.

– Asenna ja testaa LAMP
– Aiheuta vähintään 3 virhettä ja analysoi lokista
– Tee nimipohjainen virtuaalipalvelin, joissa toimii myös http://www.”

Käytän tässä tehtävässä Linux Xubuntu 12.04 versiota.

LAMP:n asennus

Aloitin asentamalla apache palvelinohjelman ja testaamalla sen menemällä osoittoiseen localhost

$ sudo apt-get update

$ sudo apt-get install apache2

apache toimi. Seuraavaksi laitoin käyttäjä hakemiston toimimaan ja tein kotisivu hakemiston ja testi sivut.

$ sudo a2enmod userdir

$ sudo service apache2 restart

$ mkdir public_html

$ cd public_html

$ nano index.html

Seuraavaksi asensin PHP:n ja asetin käyttäjä hakemistoon oikeudet tehdä php sivuja. Käynnistin palvelimen uudestaan.

$ sudo apt-get install php5 libapache2-mod-php5

$ sudoedit /etc/apache2/mods-available/php5.conf

kommentoin seuraavat rivit pois conf tiedostosta:

<IfModule mod_userdir.c>
<Directory /home/*/public_html>
#php_admin_value engine Off
</Directory>
</IfModule>
</IfModule>

$ sudo service apache2 restart

Muutin index.html tiedoston php tiedostoksi ja laitoin testipätkän php koodia.

$ mv index.html index.php

$ nano index.php

Seuraavat rivit php tiedostoon:

<?php

echo "Hi, I'm a PHP script!";

?>

Testasin sivuja ja ne toimivat.

Seuraavaksi asensin mysql:n ja myphpadminin:

$ sudo apt-get install mysql-server phpmyadmin

Asennuksen jälkeen menin osoitteeseen http://localhost/phpmyadmin/ ja pääsin kirjautumaan sisään luomallani root käyttäjällä. Loin käyttäjän ja tietokannan ja annoin molemmille nimeksi hats. Kirjauduin hats käyttäjällä tietokantaan ja tein sinne pöydän hats mihin laitoin kaksi riviä: id ( auto_increment, primary_key) ja name ( varchar, 100). Lisäsin pöytään kaksi riviä: bluehat ja redhat. seuraavaksi menin muokkaamaan luomaani index.php tiedostoa public_html hakemistoon. Laitoin seuraavan pätkän tiedostoon:

<?php
/* database.php – Use mysql database from php
* (c) 200309 Tero.Karvinen <at-sign> iki.fi, adapted from php.net
* See http://iki.fi/karvinen Linux Apache MySQL PHP tutorial. */

/* Connect to database */
$link = mysql_connect(“localhost”, “hats”, “salasana”)
or die(“Could not connect : ” . mysql_error());
print “Connected successfully”;
mysql_select_db(“hats”) or die(“Could not select database”);

/* Perform SQL query */
$query = “SELECT * FROM hats”;
$result = mysql_query($query)
or die(“Query failed : ” . mysql_error());

/* Print results in HTML */
print “<table>\n”;
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
print “\t<tr>\n”;
foreach ($line as $col_value) {
print “\t\t<td>$col_value</td>\n”;
}
print “\t</tr>\n”;
}
print “</table>\n”;
mysql_free_result($result);

/* Close connection */
mysql_close($link);
?>

Ja tallensin tiedoston. Seuraavaksi menin osoitteeseen http://localhost/~xubuntu/ ja sain seuraavan näkymän

phpjamysql

LAMP ympäristö on nyt asennettu ja testattu toimivaksi.

Virheiden analysointia

otin viimeisimmät rivit /var/log/apache2/error.log tiedostosta

$ tail -F /var/log/apache2/error.log

[Fri Sep 27 11:28:04 2013] [error] [client 127.0.0.1] File does not exist: /var/www/myphpadmin = tiedostoa ei ole olemassa eli osoite on kirjoitettu väärin, oikea osoite olisi /var/www/phpmyadmin

[Fri Sep 27 11:04:02 2013] [error] [client 127.0.0.1] File does not exist: /home/xubuntu/public_html = käyttäjä yrittää mennä hakemistoon mitä ei ole vielä luotu, asia korjautuu tekemällä public_html hakemiston käyttäjälle komenoilla:

$ cd

$ mkdir public_html

Could not select database = olin kirjoittanut index.php tiedostoon väärän tietokannan nimen, korjasin sen laittamalla oikean nimen eli hats kohtaan: mysql_select_db(“hats”)

Nimipohjaisen virtuaalipalvelimen tekeminen

One comment on “Linux Xubuntu ja LAMP:n asennus

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s