HTTP-protokolla, Apache ja CMS - Luento 12
- Luentotaltiointi
- HTTP (Hypertext Transfer Protocol)
- Apache-WWW-palvelin
- Toistuvien elementtien liittäminen
- Esiprosessointi
- CMS (Content Management System)
- Oman WWW-palvelun perustaminen
Tällä luennolla käsitellään tärkeimmät kohdat HTTP-protokollasta sekä oleellisimpia Apache-WWW-palvelimen ominaisuuksia. Lisäksi käydään lyhyesti läpi erilaisia esimerkkejä laajojen WWW-sivustojen ylläpidosta.
Luentotaltiointi
Ongelmia videon katselussa?HTTP (Hypertext Transfer Protocol)
HTTP on protokolla, jonka avulla selain ja WWW-palvelin keskustelevat.
Firefox-selaimen ja WWW-palvelimen välistä HTTP-liikennettä on helppo seurata Tamper Data -laajennuksella.
Selain lähettää WWW-palvelimelle pyynnön:
GET /www/ HTTP/1.1 Connection: keep-alive Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8, video/x-mng,image/png,image/jpeg,image/gif;q=0.2,*/*;q=0.1 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Accept-Encoding: gzip,deflate Accept-Language: en-us,en;q=0.5 Host: appro.mit.jyu.fi Referer: http://appro.mit.jyu.fi/ User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 Keep-Alive: 300
GET /www/ HTTP/1.1 | Pyydetään informaatiota (GET), jonka osoite palvelimella on /www/ käyttäen HTTP/1.1-protokollaa. |
Connection: keep-alive | Käsketään pitää yhteys päällä. |
Accept: text/xml, application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, video/x-mng, image/png, image/jpeg, image/gif;q=0.2, */*;q=0.1 | Luetellaan selaimen ymmärtämät mediatyypit. Kerrotaan myös mitä mediatyyppejä suositaan q-arvojen avulla. |
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 | Luetellaan kelpaavat merkistöt. |
Accept-Encoding: gzip,deflate | Luetellaan tuetut koodaustavat (pakkaus). |
Accept-Language: en-us,en;q=0.5 | Halutut kielet |
Host: appro.mit.jyu.fi | Palvelimen nimi |
Referer: http://appro.mit.jyu.fi/ | Osoite, josta ollaan tulossa (sivu, jolla olevaa linkkiä on klikattu) |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624 | Selaimen tiedot |
Keep-Alive: 300 | Kertoo kuinka monta sekuntia yhteyttä pidetään yllä.
Vain HTTP/1.0-protokollassa, mutta käytetään yhteensopivuussyistä. Oikeastaan muoto pitäisi olla
Keep-Alive: parametri=arvo . |
Palvelin vastaa:
HTTP/1.1 200 OK Connection: close Date: Tue, 06 Apr 2004 10:53:18 GMT Accept-Ranges: bytes ETag: "2da29-2147-4044819d" Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) AxKit/1.62 mod_python/2.7.8 Python/1.5.2 mod_ssl/2.8.12 OpenSSL/0.9.6b DAV/1.0.3 PHP/4.1.2 mod_perl/1.26 mod_throttle/3.1.2 Vary: Accept Content-Length: 8519 Content-Type: application/xhtml+xml; charset=iso-8859-1 Last-Modified: Tue, 02 Mar 2004 12:44:13 GMT
HTTP/1.1 200 OK | Statuskoodi - kaikki kunnossa |
Connection: close | Palvelin sulkee yhteyden. Normaalisti yhteys on pysyvä (persistent), jotta selain voi tehdä useita pyyntöjä (kuvat, css, javascript jne.). |
Date: Tue, 06 Apr 2004 10:53:18 GMT | Päivä ja aika, koska vastaus on lähetetty |
Accept-Ranges: bytes | Sallitaan tavuina määritellyt pyynnöt, joissa halutaan vain osa dokumentista. |
ETag: "2da29-2147-4044819d" | Tunniste. Tunniste muuttuu dokumenttia muutettaessa. |
Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) AxKit/1.62 mod_python/2.7.8 Python/1.5.2 mod_ssl/2.8.12 OpenSSL/0.9.6b DAV/1.0.3 PHP/4.1.2 mod_perl/1.26 mod_throttle/3.1.2 | WWW-palvelimen tiedot |
Vary: Accept-Encoding | Vaihteleeko pyydetty resurssi jonkun ehdon mukaan. Tärkeä tieto esim. välimuisteille. Accept-Encoding: esim. erilainen pakkaus. Accept-Language: tarjolla useita kieliversioita. User-Agent: sivun sisältö riippuu selaimesta. |
Content-Length: 8519 | Sisällön koko |
Content-Type: application/xhtml+xml; charset=iso-8859-1 | Mediatyyppi ja merkistö |
Last-Modified: Tue, 02 Mar 2004 12:44:13 GMT | Milloin viimeksi muutettu |
HTTP-otsikoita voi tutkia tarkemmin esim. seuraavilla ohjelmilla:
- Tamper Data - laajennos Firefoxiin
- Web-Sniffer
HTTP Status codes
Palvelin palauttaa vastauksessa HTTP-statuskoodin, joka kertoo lyhyesti selaimelle miten pyyntö onnistui ja miten tulee jatkossa toimia. Listassa yleisimmät:
- 200 OK
- 300 Multiple Choices
- 301 Moved Permanently
- 302 Found
- 401 Unauthorized Access
- 403 Forbidden
- 404 Not Found
- 406 Not Acceptable
- 408 Request Time-out
- 500 Internal Server Error
Evästeet (engl. Cookie)
Eväste on lyhyt palvelimen lähettämä tekstitieto, jonka selain tallentaa omaan muistiinsa. Selain lähettää saman tiedon takaisin palvelimelle HTTP-otsikoissa sivua pyydettäessä. Tämän avulla voidaan käyttäjän tai palvelimen päähän tallentaa tietoa käyttäjän valinnoista. Evästeellä on määrätty käyttöaika.
Tässä lyhennetyt otsikkotiedot. Ensin kysytään sivua:
GET / HTTP/1.1 Host: www.google.fi
Palvelin lähettää pyynnön evästeen tallentamisesta:
HTTP/1.0 200 OK Set-Cookie: PREF=ID=a777b6655544c:TM=1234556789:LM=98765431:S=rMX_ger_AbCDefG; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.fi
Selain pyytää toista sivua samalla sivustolla:
GET /help/faq_images.html HTTP/1.1 Host: www.google.fi Cookie: PREF=ID=a777b6655544c:TM=1234556789:LM=98765431:S=rMX_ger_AbCDefG
Nyt palvelin tietää, että kyse on samasta selaajasta ja voi toimia sen mukaan.
Apache-WWW-palvelin
Apache on maailman eniten käytetty WWW-palvelinohjelmisto.
- User's Guide Apache 1.3, 2.0 ja 2.2
- Apache HTTP Server Version 2.2 Documentation
- Modules Apache 2.2
- Apache HTTP Server Version 2.0 Documentation
- Modules Apache 2.0
- Apache HTTP Server Version 1.3
- Modules Apache 1.3
Suurin osa WWW-sovellusten tarvitsemasta toiminnallisuudesta kannattaa tehdä jo WWW-palvelimella, koska selainten erot ja laajennuksien puute hankaloittavat joidenkin asioiden suorittamista selaimissa.
.htaccess
.htaccess on Apache-WWW-palvelimissa käytetty tiedosto, jolla voidaan muuttaa palvelimen asetuksia. .htaccess-tiedoston avulla voidaan toteuttaa mm. salasanasuojaus, edelleenohjaus ja MIME-tyyppien lisäykset.
Kaikki seuraavaksi kerrotut ominaisuudet toimivat Apache 2.2:ssa. Suurin osa toimii myös vanhemmissa Apache 2.0:ssa ja Apache 1.3:ssa. Seuraavat esimerkit tulee siis kirjoittaa .htaccess-tiedostoon. Huomaa, että yksi määritys on aina yhdellä rivillä. Komennon ja parametrien välit erotellaan aina välilyönneillä.
Edelleenohjaus
Edelleenohjaus tehdään HTTP:n Location-otsikkotiedoilla. Apachesta löytyy suoraan valmiit komennot tätä varten. Edelleenohjausta EI PIDÄ TEHDÄ käyttämällä väliaikaisia WWW-sivuja ja niihin tehtyjä epästandardeja virityksiä.
Väliaikainen edelleenohjaus (302)
Redirect /tt-appro/index.html http://appro.mit.jyu.fi/
Edelleenohjattavan sivun osoite kerrotaan palvelimen juuresta lukien. Kohdeosoite pitää kertoa kokonaisuudessaan.
Pysyvä edelleenohjaus (301)
Redirect permanent /tt-appro/index.html http://appro.mit.jyu.fi/
Pysyvä edelleenohjaus tehdään lisäämällä avainsana permanent.
Lisää tietoa Apachen edelleenohjauksesta
Useamman tiedoston edelleenohjaus
Jos halutaan samalla kertaa edelleenohjata useampi tiedosto samaan kohteeseen käytetään RedirectMatch-komentoa, joka ymmärtää kohdetiedostossa säännöllisiä lausekkeita (engl. regular expressions, regexp).
Edelleenohjataan kaikki pc-alkuiset tiedostot sekä kaikki win-alkuiset tiedostot:
RedirectMatch permanent /doc/tietokone/pc.* http://appro.mit.jyu.fi/doc/tietokone/
RedirectMatch permanent /doc/kayttojarjestelma/win.* http://appro.mit.jyu.fi/doc/kayttojarjestelma/
Virhedokumentti
Seuraavalla komennolla voidaan määrätä mikä dokumentti palautetaan, jos selain on pyytänyt dokumenttia, jota ei ole olemassa:
ErrorDocument 404 /~omatunnus/cgi-bin/virhedokumentti.html
Käytettävä merkistö
Joskus voi olla tarpeen määritellä käytettävä merkistö palvelimelle. Tarve tulee vastaan käytännössä silloin, kun käytetään jotain muuta merkistöä kuin oletuksena olevaa ISO-8859-1-merkistöä. Vaikka poikkeava merkistö olisi määritelty itse WWW-sivuille, voivat tietyt selaimet (ainakin Internet Explorer) käyttää silti palvelimen tarjoamaa merkistöä, jolloin voi tulla ongelmia esimerkiksi ääkkösten kanssa.
Oletusmerkistö määrätään .htaccess-tiedostoon AddDefaultCharset-komennon avulla, esim. seuraavasti:
AddDefaultCharset utf-8
Mediatyypit
Mediatyyppi kertoo selaimelle minkälainen tiedosto on kyseessä.
Selain ei saa itse arvailla tiedoston tyyppiä tiedostopäätteen perusteella.
Esimerkki mediatyypin määrittelystä .htaccess-tiedostossa AddType-komennolla:
#määrätään .html-päätteisten tiedostojen mediatyypiksi text/plain AddType text/plain .html AddType text/html .txt
Usein käytettyjä mediatyyppejä
AddType text/xml .xml AddType text/xml .xsl AddType application/x-ogg .ogg AddType application/smil+xml .smil AddType video/avi .avi AddType video/x-ms-wmv .wmv AddType application/vnd.ms-excel .xls Addtype application/msword .doc Addtype application/x-msaccess .mdb AddType audio/x-mp3 .mp3 AddType text/plain .sql AddType application/octet-stream .exe AddType application/xhtml+xml .xhtml
Esimerkki
- Tekstitiedosto .html-pääte
- HTML-tiedosto .txt-pääte
- Käytössä oleva .htaccess-tiedosto
Lisätietoa
application/xhtml+xml
W3C:n suositus XHTML:n mediatyypeistä sanoo, että
XHTML-dokumentit pitäisi jakaa selaimille käyttäen application/xhtml+xml
-mediatyyppiä.
Firefoxissa voi tarkistaa tiedoston mediatyypin valitsemalla Tools | Page Info (Työkalut | Tietoja sivusta).
Valitettavasti Internet Explorer (myös versiot 7-8) ja ehkä jotkut vanhemmat
selaimet eivät ymmärrä application/xhtml+xml
-mediatyyppiä. Ongelma voidaan kiertää:
- Apachen mod_rewrite-moduulilla, jolla voidaan säätää Apache käyttämään oikeaa mediatyyppiä sen ymmärtäville selaimille.
- Tutkimalla
Accept
-otsikkotietoa PHP-sivun tms. alussa ja määräämällä otsikkotiedot sen perusteella. - Eräs vaihtoehto on W3C:n ehdottama XSL-muunnoskikka.
- Joillakin palvelimilla ongelmaa ei kierretä, vaan tarjotaan kaikille selaimille text/html-tyyppi, vaikka sivu olisi XHTML-muotoinen.
Salasanasuojaus
Sijoita suojattavassa kansiossa olevaan .htaccess-tiedostoon rivit:
AuthUserFile /foo/bar/tunnus/html/.users AuthGroupFile /dev/null AuthName ByPassword AuthType Basic <Limit GET> require valid-user </Limit>
AuthUserFile-kohtaan annettava polku on oltava WWW-palvelimella toimiva ja sen on osoitettava salasanatiedostoon. Oikean polun alun voi tarkistaa jalava.cc.jyu.fi-koneessa kirjoittamalla siellä echo $HOME.
[anjoekon@jalava ~]$ echo $HOME /home1/137/anjoekon
Saatuun polkuun pitää vielä lisätä html-kansio ja sen mahdolliset alikansiot. Esim.
/home1/137/anjoekon/html/www/.users
Salasanan ja käyttäjätunnuksen voi luoda komennolla htpasswd. Jos .users-tiedosto luodaan ensimmäistä kertaa tai tyhjennetään niin rivin on oltava muotoa:
htpasswd -c .users tunnus
Muut tunnukset saa luotua jatkossa komennolla:
htpasswd .users tunnus
Komennon antamisen jälkeen kysytään luodulle tunnukselle laitettava salasana.
Tämän salasanasuojauksen heikkous on se, ettei varsinaista uloskirjautumista pysty toteuttamaan. Uloskirjautuminen tapahtuu siis vasta suljettaessa selain. Uloskirjautumisen toteuttamiseen tarvitaan WWW-ohjelmointia, esim. PHP:tä.
Huomaa, että salasanasuojaus on vain kevyt suojausmenetelmä. Salasanat liikkuvat verkossa lähes salaamattomina ja osaava pystyy poimimaan ne verkkoliikenteestä. Toiset WWW-palvelimen käyttäjät saattavat pystyä myös tutkimaan WWW-hakemistojasi, vaikka niitä ei selaimella saisikaan näkyville.
Hakemiston indeksitiedosto
Selaimella voidaan pyytää hakemistoa esim. http://users.jyu.fi/~tunnus/harkka/. Hakemiston sisällä täytyy olla jokin dokumentti, jonka palvelin voi antaa selailijalle. Tavallisesti tämän tiedoston nimi index.html. Hakemistosta annettavan oletustiedoston voi muuttaa toiseksi luomalla hakemistoon .htaccess-nimisen tiedoston ja kirjoittamalla esimerkiksi komennon:
DirectoryIndex index.shtml index.php index.html
Tässä tapauksessa ensimmäisenä hakemistosta tarjotaan index.shtml-nimistä tiedostoa, toiseksi
index.php-nimistä tiedostoa ja viimeiseksi index.html
-nimistä tiedostoa.
Ellei mitään näistä löydy hakemistosta, niin Apache luo HTML-sivun, joka näyttää hakemiston sisällä olevat tiedostot
(jos automaattinen hakemistolistaus on palvelimen asetuksissa päällä).
Automaattinen kielivalinta (engl. content negotiation)
Apache mahdollistaa automaattisen kielivalinnan käyttäjän selaimen asetuksien perusteella.
Typemaps
Määrätään kansion indeksitiedostoksi index.var, joka kertoo tarkemmin, mikä tiedosto vastaa mitäkin kieltä. Indeksitiedostoksi voidaan antaa useita vaihtoehtoja, joista ensimmäistä löytyvää käytetään.
DirectoryIndex index.var index.html
Määrätään myös kielten tärkeysjärjestys (LanguagePriority), jos selain ei sitä itse kerro.
Lisäksi määrätään, että noudatetaan itse määrättyä tärkeysjärjestystä, jos selaimen antamista vaihtoehdoista löytyy kaksi yhtä hyvää (ForLanguagePriority Prefer). Ilman tätä palvelin antaisi virheen 300 (Multiple Choices) ja listan vaihtoehdoista.
Jos vaihtoehdoista ei löydy ollenkaan selaimen haluamia kieliä, niin määrätään noudatettavaksi omaa tärkeysjärjestystä (ForLanguagePriority Fallback). Ilman tätä määritystä saataisiin virhe 406 (Not Acceptable) ja lista vaihtoehdoista.
LanguagePriority en fi ForceLanguagePriority Prefer Fallback
Määrätään vielä oikea käsittelijä .var-päätteisille tiedostoille:
AddHandler type-map .var
index.var-tiedostossa kerrotaan eri vaihtoehtojen osoitteet, niiden kielet ja mediatyypit. Muita valintaan vaikuttavia tekijöitä voisivat olla myös merkistö ja enkoodaus (pakkaus). Esimerkiksi suomenkielisestä dokumentista voisi löytyä pakkaamaton ja pakattu versio sekä näistä kummastakin text/html ja application/xhtml+xml -versiot.
URI: index.fi.html Content-Language: fi Content-Type: text/html URI: index.en.html Content-Language: en Content-Type: text/html
Lisää tietoa Apachen kielivalinnasta
Toistuvien elementtien liittäminen
Usein halutaan sivulle toistuvia elementtejä, kuten navigointi, logot, tekijätiedot jne. Toistuvan elementin muuttaminen vaatii paljon turhaa työtä. Tässä yksinkertaisia menetelmiä samojen elementtien liittämiseksi useille WWW-sivulle:
SSI (Server Side Includes)
SSI-komennot ovat HTML-dokumenttiin upotettuja käskyjä, joilla voidaan tulostaa muuttujien arvoja tai suorittaa ohjelmia.
Tietohallintokeskuksen WWW-palvelimessa SSI-komentoja sisältävien tiedostojen
pääte pitää olla .shtml
.
Palvelinta voi käskeä tulkitsemaan SSI-komennot mistä tahansa tiedostoista määräämällä:
AddType text/html .paate AddHandler server-parsed .paate
SSI-esimerkkejä
Kertoo dokumentin muutosajankohdan:
<!--#echo var="LAST_MODIFIED"-->
Päivämäärän esitystapaa voidaan muuttaa SSI-komennolla:
<!--#config timefmt="%Y-%m-%e %T"-->
Lisää tähän kohtaan dokumenttia tiedoston linkit.ssi sisällön:
<!--#include virtual="linkit.ssi"-->
Liitettävään tiedostoon voidaan viitata myös puoliabsoluuttisella viitteellä:
<!--#include virtual="/~omatunnus/hakemistoni/address.include"-->
SSI:llä voidaan määrätä vakiomerkkijono, jota tulostetaan useampaan paikkaan dokumenttia:
<!--#set var="title" value="Nanonano"-->
<!--#set var="css" value="/~omatunnus/hakemistosi/demo2.css"-->
<head>
<title><!--#echo var="title" --></title>
<meta name="keywords" content="<!--#echo var="title" -->">
<link href="<!--#echo var="css" -->" rel="stylesheet" type="text/css" title="Tyylipohja" />
</head>
<body>
<h1><!--#echo var="title" --></h1>
Vakiomuuttujat voi keskittää vaikkapa yhteen tiedostoon.
Lisätietoja SSI:stä löytyy osoitteista:
- http://httpd.apache.org/docs/2.2/mod/mod_include.html
- http://www.mit.jyu.fi/opiskelu/seminaarit/ohjelmistotekniikka/cgi/#Heading13
WWW-ohjelmointikielet
Käytetään ohjelmointikieltä, joka osaa dynaamisesti liittää tietoa sivulle. Esimerkiksi PHP:llä:
index.php:
<?php include("alkumaaritykset.xhtml"); ?> <h1>Nanonanon sivut</h1> <p>Kivaa testiä!</p> <?php include("loppumaaritykset.xhtml"); ?>
alkumaaritykset.xhtml:
<?php echo('<?xml version="1.0" encoding="iso-8859-1"?>'."\n"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fi" > <head> <link href="http://appro.mit.jyu.fi/www/demot/demo2/demo2.css" type="text/css" rel="stylesheet" /> </head> <body> <div class="navbar"> <ul> <li><a href="http://palvelin/kayttaja/hakemisto1/">Diiba</a></li> <li><a href="http://palvelin/kayttaja/hakemisto2/">Daaba</a></li> </ul> </div>
loppumaaritykset.xhtml:
<address> <a href="http://palvelin/kayttaja/">Nano Nano</a><br /> <a href="mailto:nanonano@it.jyu.fi.invalid">nanonano@it.jyu.fi.invalid</a> </address> </body> </html>
Esimerkistä puuttuu (vaihtuvan) title
-elementin määritys. Huomaa myös, että dynaamiset
kielet kuormittavat palvelinta enemmän kuin staattiset sivut.
Esimerkissä on ongelmia myös siinä mielessä, että sivun tekijä saattaa
unohtaa liittää alku- ja loppupalaset dokumenttiin.
Tietokannat ja sivupohjat
Parempi ratkaisu olisi ns. template-tyylinen ratkaisu, jossa sivun tekijä kirjoittaa ainoastaan sivun sisällön ja palvelimelle toteutettu ohjelma liittää automaattisesti tarvittavat palaset ympärille. Sisältö voi tulla esim. erillisestä XML- tai tekstitiedostosta, tietokannasta tai muista tietovarastoista. Sisältöjä tietokantaan voidaan tuottaa myös ohjelman omilla työkaluilla.
Esiprosessointi
SSI:n käyttäminen rasittaa palvelinta huomattavasti, koska palvelin joutuu aina tekemään tiedostojen käsittelyn, vaikka se ei olisi tarpeellista. Järkevämpää olisi tehdä kaikki tarvittavat tiedostojen lisäykset yms. jo valmiiksi esiprosessoimalla.
Parempi tapa sisällyttää muita tiedostoja ja merkitä muutospäivämäärät olisi käyttää Website Meta Languagea (WML) tai C/C++-esikääntäjää tai jotakin muuta työkalua, joka tukee isojen sivukokonaisuuksien hallintaa.
- Tiedonhakusivu - ylläpidetty C/C++-esikääntäjällä
WML (Website Meta Language)
WML on ilmainen HTML:n tuottamiseen tarkoitettu esiprosessointijärjestelmä, joka koostuu yhdeksästä erillisestä kielestä.
Lähtödokumentti suodatetaan läpi yhdeksästä eri vaiheesta ennen lopullisen dokumentin muodostumista.
Esimerkiksi tämän kurssin webbisivut on ylläpidetty WML:llä:
- Luento 12 - index.wml
- pohja.wmltmpl
- omat.wml
- Lisäksi on skriptitiedostoja, jotka tekevät varsinaisen esiprosessoinnin lisäämällä sivuille mm. sisällysluettelon otsikkoelementtien perusteella ja tuottamalla selailtavat .html-tiedostot.
XSL Transformations
XHTML on XML-muotoista tietoa, joten sitä voidaan käsitellä erilaisilla XML-prosessointiin tarkoitetuilla välineillä ja kielillä. XSLT on XML-sovellus, jolla voidaan muuntaa ja yhdistellä XML-dokumentteja. Erityisesti tämän avulla voitaisiin liittää myös toistuvia elementtejä.
CMS (Content Management System)
Tuotetaan sivut jollain järjestelmällä, joka osaa tuottaa sopivanlaisia XHTML-elementtipaloja ja liittää ne sopivalla tavalla yhdeksi sivuksi.
CMS mahdollistaa helpon tavan tuottaa, hallita, jakaa ja julkaista tietoja.
- Helppo tuottaa sisältöä ilman teknisiä taitoja esim. selainpohjaisesti.
- Helppo ylläpitää.
- Ylläpito ja päivitys ei enää yhden henkilön (webmaster) harteilla.
- Versionhallinta.
- Käyttäjäoikeudet - kukin voi muuttaa vain sitä osaa sivustosta mitä hänen käyttöoikeutensa sallivat.
- Helppo integroida olemassaoleviin tietovarastoihin.
Luokittelua
- WWW-julkaisujärjestelmät, portaalien hallintajärjestelmät
- Integroidut järjestelmät (ryhmätyö yms. sovellukset)
- Julkaisujärjestelmät
- Oppimisympäristöt
Wiki
Wiki on avoin julkaisujärjestelmä, jonka sisältöä voivat kaikki lukijat vapaasti lisätä ja muuttaa.
Wikiä voi käyttää esimerkiksi seuraaviin käyttötarkoituksiin:
- Korvata yrityksen intranetin.
- Käyttää FAQ-palstana.
- Projektien suunnittelu- ja dokumentointialustana.
- Seurata bugeja ja ominaisuuksia.
- Hallita mitä tahansa dokumentteja.
- Tehdä ryhmätöitä.
- Rakentaa tiedostoarkiston.
- Luoda ilmoituspalstan.
Wikiohjelmistoja on useita. Yksi esimerkki Wikiohjelmistosta on TWiki.
- Toimii millä tahansa selaimella.
- Tekstihaku
- Automaattiset linkit
- Sivuryhmät
- Sähköpostimuistutukset twikin muutoksista
- Tiedostoliitteet
- Versionhallinta
- Käyttäjäoikeudet
- Valmiit sivupohjat ja skinit
- Tilastointi
- Lukitukset
Jyväskylän yliopistossa on käytössä Confluence-wiki.
Lisätietoa:
Zope/Plone
Zope on pythonilla kirjoitettu vapaa WWW-sovelluspalvelin. Plone on Zopen päälle rakennettu sisällönhallintajärjestelmä (CMS).
Esimerkiksi yliopiston WWW-sivut (ei appro.mit.jyu.fi) ylläpidetään Plonen avulla.
- Sisäänrakennettu tietokanta, johon tallennetaan kaikki sivustolla tarvittava tieto mukaanlukien ohjelmakoodi.
- Hallitaan WWW-selaimella.
- Sisäänrakennettu käyttäjähallinta.
- Hakutyökalut.
- Ryhmätyövälineet.
- Plone - Zopen päälle rakennettu sisällönhallintajärjestelmä
- Zope sovelluskehittäjän näkökulmasta (PDF)
Muita esimerkkejä
Lisätietoa
Oman WWW-palvelun perustaminen
- Kotisivutila palveluntarjoajalta (webbihotelli)
- http://www.palveluntarjoaja.fi/~kayttajatunnus/
- http://kayttajatunnus.palveluntarjoaja.fi
- Domainnimen rekisteröinti (fi vs. com/net/info/biz)
- http://www.etunimisukunimi.fi
- http://omatunnus.sukunimi.net
- Nimipalvelu
- Yleensä WWW-palveluntarjoaja hoitaa pienestä maksusta.
- Muut rekisteröintipalvelut: ICANN valtuuttamat, näiden jälleenmyyjät ja Viestintäministeriö (.fi-tunnukset).
- Esimerkiksi .fi-domain maksaa tällä hetkellä 50 euroa per viisi vuotta, 33 euroa per kolme vuotta tai 12 euroa per yksi vuosi.
- Redirect
- Normaali http-redirect
- Frame-upotus (ei kannata käyttää)
- Sivutilaa palveluntarjoajalta
- Kovalevytila
- Rajoitettu kaista vai rajoittamaton
- Tiedostojen siirto
- FTP
- SFTP
- FTP/SFTP-ohjelmaksi esim. FileZilla
- Palvelut
- Sähköposti
- Tietokannat
- SSL-salaus
- UNIX-käyttöoikeudet
- WWW-ohjelmointikielet (PHP jne.)
- WWW-käyttöliittymät sähköpostille ja tietokannoille
- Yhteinen palvelin, virtuaalipalvelin vai oma palvelin?
- Normaalisti kaikkien käyttäjien sivut samalla palvelimelle.
- Määrätty hakemisto
- Rajoitettu palvelinkonfigurointi
- Virtuaalipalvelin = yksi tietokone, joka on jaettu näennäiskoneiksi
- Käyttäjälle virtuaalipalvelin näyttää oikealta palvelimelta.
- Voidaan tehdä mitä vain tietyillä resursseilla.
- Oma palvelin = fyysinen verkkoon kytketty oma tietokone
- Normaalisti kaikkien käyttäjien sivut samalla palvelimelle.
Käyttäjien kommentit