Nettipalvelin tarjoaa paljon mahdollisuuksia: Kehitä dynaamisia kotisivuja, pystytä privaatti pelipalvelin tai
perusta vaikkapa oma nettiradioasema. Nämä taidot ovat kovaa valuuttaa myös työmarkkinoilla.
Yhdistä huvi ja hyöty, asenna oma nettipalvelin. Ohjelmat ovat ilmaisia. Ohjeet löydät lokakuun
MikroBitistä (MB 10/2002, sivut 78-82).
Ohjelmat
Kopioi kotiisi ilmaiset ohjelmat, joilla teet omasta koneestasi nettipalvelimen.
Allaolevasta listasta pääset valmistajien omille kopiointisivuille, joilta
löydät aina uusimmat versiot ohjelmista.
Apache on www-palvelinohjelma, joka lähettää nettisivut selaimelle.
www.apache.org/dyn/closer.cgi
www.apache.org/dist
Php on skriptauskieli, jolla tehdään dynaamisia nettisivuja.
www.php.net/downloads.php
MySQL on tietokantapalvelin, johon on tehokasta ja turvallista säilöä dynaamisten nettisivujen tiedot.
www.mysql.com/downloads
Php-ohjelmointi
MikroBitissä 6-7/2002 käsittelimme php-kieltä, jolla voit luoda kotisivuillesi toimintaa.
Nettisivun html-koodin sekaan upotettava yksinkertainen ohjelmointikieli tuo kotisivujen
tekemiseen aivan uusia ulottuvuuksia.
Php-jutun nettijatkoista
löydät hyödyllisen php-ohjelmoinnin peruspaketin.
/nettijatkot/2002/06/php
Zend on yhtiö, joka vastaa nykyään PHP:n kehityksestä. Zendin sivut tarjoavat todella
massiivisen paketin tavaraa kaikille php-käyttäjille: oppaita, ohjeita, funktiokuvauksia, artikkeleita,
linkkilista ja aktiivinen php-yhteisö.
www.zend.com
PHP.net on php:n alkuperäinen koti, josta löydät php:n uusimmat versiot, nettimanuaalin,
lyhyen php-ohjelmointikurssin sekä paljon käyttäjien kokemuksia, vinkkejä ja parannusehdotuksia.
www.php.net
PHP-Builder on suuri aloittelijaystävällinen php-yhteisö, jonka ehdottomasti paras ominaisuus on
toimiva keskustelualue. Koska porukkaa on paikalla todella paljon, vastauksia kysymyksiin saa nopeasti ja apua löytyy aina.
www.phpbuilder.com
Php-listaukset
Tässä kaksi php-listausta, joiden avulla voit helposti testata omaa MySQL-tietokantaasi ja lisätä,
poistaa tai muokata sen tietoja. Hieman muuntelemalla voit jo käyttää perusideoita oman, tietokantapohjaisen
sivun luomiseen. Listauksista haku.php on ensimmäinen ja se hakee tiedostoa tulostus.php. Kun kokeilet
tiedostoja, kutsu siis ensin haku.php:tä, esimerkiksi osoitteella http://localhost. Muistathan vaihtaa
tiedostojen sisällä käyttäjätunnukset ja salasanat oman tietokantasi mukaisiksi.
Listaus 1: haku.php
<html>
<head>
<title>haku.php</title>
</head>
<body>
<?php
$host="localhost";
$user="kayttaja";
$password="salasana";
?>
<form action="tulostus.php" METHOD=POST>
Valitse käytettävä tietokanta:<br><br>
<select NAME="database" SIZE=1>
<?php
mysql_connect($host,$user,$password);
$db_table = mysql_list_dbs();
for ($i=0;$i<mysql_num_rows($db_table);$i++)
{
echo("<OPTION>".mysql_tablename($db_table,$i));
}
?>
</select><br><hr>
Kirjoita MySQL - komento, jonka haluat suorittaa:<br><br>
<textarea name="haku" cols=50 Rows=10></textarea>
<br><br>
<input type=SUBMIT Value="Suorita haku.">
</form>
</body>
</html>
|
Haku.php ottaa yhteyden MySQL-tietokantaan localhost-koneella ($host), käyttäjänä $user ja salasanalla $password.
Tämän jälkeen se hakee MySQL-kannasta kaikkien sen sisältämien tietokantojen nimet funktiolla mysql_list_dbs(),
jonka jälkeen ne tulostetaan echo-komennolla valintaruutuun, josta käyttäjä voit valita haluamansa tietokannan.
Käyttäjä voi kirjoittaa tekstikenttään haun tai sql-komennon, joka suoritetaan valitulle tietokannalle.
Suorita haku-painikkeella haku.php lähettää tietokannan nimen ja sql-komennon tiedostolle tulostus.php.
Listaus 2: tulostus.php
<html>
<head>
<title>tulostus.php</title>
</head>
<body>
<?php
$host="localhost";
$user="kayttaja";
$password="salasana";
mysql_connect($host,$user,$password);
mysql_select_db($database);
$haku = stripSlashes($haku);
$tulos = mysql_query($haku);
?>
Suoritettu komento: <b><?php echo($haku); ?></b><hr>
<?php
if ($tulos == 0):
echo("<b>Virhe: ".mysql_errno().": ".mysql_error()."</b>");
elseif (mysql_num_rows($tulos) == 0):
echo("<b>Komento onnistui!</B>");
else :
?>
<table border=1>
<thead>
<tr>
<?php
for($i=0;$i<mysql_num_fields($tulos);$i++)
{
echo("<th>".mysql_field_name($tulos,$i)."</th>");
}
?>
</tr>
</thead>
<tbody>
<?php
for($i=0;$i<mysql_num_rows($tulos);$i++)
{
echo("<tr>");
$rivi_array = mysql_fetch_row($tulos);
for($j=0;$j<mysql_num_fields($tulos);$j++)
{
echo ("<td>".$rivi_array[$j]."</td>");
}
echo("</tr>");
}
?>
</tbody>
</table>
<?php
endif
?>
<hr>
<br>
<form action="haku.php" METHOD=POST>
<INPUT TYPE=SUBMIT VALUE="Uusi haku.">
</form>
</body>
</html>
|
Funktio stripslashes() karsii turhat merkit. Tämän jälkeen tulostus.php ottaa yhteyden MySQL-kantaan ja suorittaa
komennon (parametri $haku, tulee haku.php:ltä). Mikäli tapahtuu virhe, tulostetaan MySQL-virhenumero ja kuvaus,
muuten ilmoitetaan komennon onnistuneen. Tämän jälkeen haetaan kaikkien kenttien määrä ja otsikko, ja tulostetaan ne
html-taulukon header-kenttään. Seuraavaksi noudetaan kaikki kenttien sisältö ja tulostetaan se html-taulukkoon,
omiin soluihinsa. Lopuksi tulostetaan Uusi haku-painike.
Muista tiedostoja ja MySQL-tietokantaasi testatessasi, että kaikkien tiedostojen pitää olla Apachen htdocs-hakemistossa
ja Apachen tulee olla käynnissä. Älä siis raahaa tiedostoa selaimesi ikkunaan tai avaa sitä Tiedosto-valikon kautta,
vaan kirjoita selaimesi osoitekenttään esimerkiksi http://localhost/haku.php. Näin tiedosto kierrätetään Apachen ja
php-tulkin kautta, eli homma toimii. Jos avaat tiedoston suoraan selaimeen tai sen pääte on väärä, täyttyy ruutusi
melkoisesta siansaksasta, kun php-komentoja yritetään tulkita html:ksi ilman php-tulkin apua.
MySQL-tietokantapalvelin
MySQL on tehokas ja ilmainen tietokantapalvelin. MikroBitissä 4/2002 asensimme sen ja loimme siihen
esimerkin vuoksi uuden tietokannan.
MySQL-jutun nettijatkoista voit
lukea lisää tietokantapalvelimesta ja sql-kielestä, sekä kopioida apuohjelmia ja tietokanta-ajureita
omalle koneellesi.
/nettijatkot/2002/04/mysql
MySQL:n kotisivuilta löydät MySQL-tietokantapalvelinohjelman uusimman version lisäksi graafiset käyttöliittymät
ja ohjelmoijille tarpeelliset kehitysympäristöt. Lisäksi tarjolla on kattava uutispaketti ja paljon tietoa MySQL:stä.
www.mysql.com
Dynaamiset nimipalvelut
Kodin adsl-liittymä ei yleensä sisällä kiinteää ip-osoitetta. Sellainen on siis hankittava
mutkan kautta kiertämällä. Oman ip-osoitteesi saat selville esimerkiksi Ankka-palvelusta:
Ankka (ankka.com:1000/?ip)
Vaihtoehto Ankan käyttämiselle on erillisen apuohjelman asentaminen omalle mikrolle. Sopiva ohjelma on esimerkiksi IP2:
IP2 (keir.net/ip2.html)
Varsinainen internet-osoite on numerosarja. Osoitteella 123.456.78.90 on löydettävyyden kannalta ilmeiset puutteensa,
joten oikea domain-nimi tai helposti muistettava nettiosoite on tarpeen. Ratkaisun muuttuvan osoitteen ongelmaan
tarjoaa dynaaminen nimipalvelu. Se muuttaa vaikean ip-numerosarjan helposti muistettavaksi nettiosoitteeksi ja
päinvastoin. Tällainen palvelu on esimerkiksi DynDNS.org:
www.dyndns.org
NetCruiser on apuohjelma, joka kokoaa parhaat dynaamiset nimipalvelut yhden käyttöliittymän alle.
Voit muuttaa kulloisenkin ip-osoitteesi domain-nimeksi. Valittua domainia päivitetään ohjelmallisesti
vastaamaan ip-osoitettasi. Valittavissa on koko liuta mainioita osoitteita varsinkin, jos omassa
palomuurissasi ja internet-yhteydentarjoajasi määrityksissä on portti 80 auki internetiin päin.
NetCruiser-ohjelman löydät seuraavasta osoitteesta:
www.netcruiser-software.com/prod-dd.html
Laajakaistaliittymiä kotiin
Auria Kotikaista
Palvelimen pito ei ole sallittua.
http://www.auria.fi/...
Elisa ADSL
Palvelimen pito ei ole sallittua.
www.elisa.fi/...
Jippii ADSL
Palvelimen pito on sallittua.
www.kotijippii.com/adsl.shtml
MTV3 Laajakaista
Palvelimen pito on sallittua.
www.mtv3.fi/laajakaista
dna Laajakaistanetti
Palvelimen pito ei ole sallittua.
www.dnainternet.net/tuotteet/laajakaista
Sonera Laajakaista
Palvelimen pito on sallittua. Ei koske Sonera Kiinteistöliittymää.
fi.soneraplaza.net/internet/laajakaista