EtusivuLehtiPelihalliHyötyMBinternetAjankohtaistaKeskustelu
 
 
Avain: Salasana:
  Luo avain
HintaseurantaTuoteseurantaWebmailNettijatkotPalauteTilaa lehti  

Rakenna oma nettipalvelin

takaisintakaisin

Apassi

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 Apache on www-palvelinohjelma, joka lähettää nettisivut selaimelle.
www.apache.org/dyn/closer.cgi
www.apache.org/dist

Php Php on skriptauskieli, jolla tehdään dynaamisia nettisivuja.
www.php.net/downloads.php

MySQL MySQL on tietokantapalvelin, johon on tehokasta ja turvallista säilöä dynaamisten nettisivujen tiedot.
www.mysql.com/downloads


Php 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 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 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 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.


MyySQL :-) 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


Ankka 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)

DynDNS.org 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 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 Auria Kotikaista
Palvelimen pito ei ole sallittua.
http://www.auria.fi/...



Elisa Elisa ADSL
Palvelimen pito ei ole sallittua.
www.elisa.fi/...


Jippii Jippii ADSL
Palvelimen pito on sallittua.
www.kotijippii.com/adsl.shtml


MTV3 MTV3 Laajakaista
Palvelimen pito on sallittua.
www.mtv3.fi/laajakaista


dna dna Laajakaistanetti
Palvelimen pito ei ole sallittua.
www.dnainternet.net/tuotteet/laajakaista


Sonera Sonera Laajakaista
Palvelimen pito on sallittua. Ei koske Sonera Kiinteistöliittymää.
fi.soneraplaza.net/internet/laajakaista



Antti Iiskola, Jukka Sundholm, Rasmus Wickholm


Copyright © Sanoma Magazines Finland Oy, MikroBitti 1999-2008 - käyttöehdot