Configurare e amministrare un server Swiki

Le informazioni che seguono (non particolarmente organizzate) sono tratte dalla guida on-line per l'amministratore del server Swiki, dalle FAQ all'indirizzo http://minnow.cc.gatech.edu/swiki/19, dai messaggi sulla lista Squeak http://squeakland.org/mailman/listinfo/squeakland (modulo di iscrizione) e http://squeakland.org/pipermail/squeakland/ (archivio dei messaggi) e dall'esperienza diretta.

Sicurezza

Prima di tutto occorre notare che uno Swiki si amministra con una interfaccia web.

Colleghiamoci quindi all'indirizzo http://myServer:port/admin (dove MyServer è il nome o l'indirizzo IP del server da amministrare e port è il numero di ascolto della porta del server).

Ti viene richiesto un nome utente e una password; i valori di default sono la coppia admin:password; potrebbe essere una buona idea cambiarli in qualcosa più sicuro. Questi valori sono scritti in chiaro (non criptati) nel file (di testo) security.xml nella cartella ComSwiki\swiki\default. Prova ad aprire il file con un editor di testo per verificarne la visibilità. Chiunque abbia accesso a questo file può recuperare il nome utente e la password ed accedere alle funzioni di amministrazione del sito. Il nome utente e la password dell'amministratore possono essere cambiati cliccando sul bottone Security presente in alto nella schermata. Possono essere aggiunti anche altri utenti con priviliegi di aministratore utilizzando la stessa sintassi precedente (nomeutente:password) oppure scrivendo coppie numero_IP:maschera per ciascuna riga nel form presente nella pagina. Nel caso si indichi una coppia numero_IP:maschera, tutti gli utenti che utilizzano la macchina (o le macchine) con quel numero (o campo di numeri) assumono automaticamente - senza nessuna altra forma di autenticazione - la funzione di amministrazione dello swiki. Dopo aver aver digitato tutti i dati desiderati ricordarsi di premere il bottone update security (aggiorna le politiche sicurezza)

Maschera per la configurazione della sicurezza

Creare nuovi swiki

Prima di creare un nuovo swiki osserviamo le differenze tra i due principali packages (pacchetti) presenti da cui deriveremo quello nuovo.

  • Refs
    questo pacchetto è la base per la funzionalità standard dello swiki
  • Docs
    questo pacchetto eredita le proprie caratteristiche dal pacchetto Ref. Le maggiori differenze sono:
    • la funzione lock (blocco della pagina per sottoporre a restrizioni la sua modifica) è presente come bottone nel menu (invece che nella pagina da modificare)
    • i references (l'elenco delle pagine gerarchicamente superiori che hanno collegamenti alla pagina corrente si ottengono cliccando un bottone presente nel menu (e non nel corpo della pagina corrente)

Per creare un nuovo swiki clicca su Create nella pagina di amministrazione. Devi fornire il nome del nuovo swiki, scegliere il package (Refs, Docs, Imged o Forward) da cui ereditare le principali caratteristiche. Puoi configurare anche altri parametri (anche se quelli di default spesso sono adeguati). La sicurezza dello swiki che stai creando può essere configurata in modo analogo a quanto detto nel paragrafo sicurezza sopra riportato, definendo uno o più utenti (o numeri_IP) che, in questo caso, hanno privilegio di amministratori locali. Il relativo file security.xml si trova nella cartella ComSwiki\swiki\NomeSwiki dove NomeSwiki è il nome che hai scelto per lo swiki che stai creando.

L'amministratore dello swiki ha la possibilità di rendere statico lo swiki (come vedremo meglio di seguito) e di sbloccare pagine che sono state bloccate dagli utenti.

Aggiungere un logo in ogni pagina

Ciascun swiki può avere uno skin (similmente ai cellulari) a scelta tra dieci possibilità (alien, aqua, blue, dock, gt, orange, poor, project, simple, text). È comunque possibile personalizzare ulteriormente le pagine aggiungendo un logo in alto a sinistra nella pagina.

Per fare ciò segui i seguenti passi:

  • crea il tuo logo in formato .gif o .jpg (ad esempio logo.gif)
  • copialo nella cartella ComSwiki\swiki\default\files\schemes\skin (dove skin è la cartella dello skin prescelto)
  • crea un file di testo chiamato (il nome è tassativo e occhio alle maiuscole!) beforeButtons.sm
  • scrivici dentro
    <img src="<?toFiles?>logo.gif" alt="Descrizione del logo" width=xxx heigth=yyy>
    dove xxx e yyy sono le dmensioni (in pixel) dell'immagine
  • ferma e fai ripartire il server.

Render di uno swiki

Letteralmente ridurre o convertire uno swiki. È l’operazione che permette di rendere “statico” uno swiki creando delle pagine che possono essere pubblicate su un server web “convenzionale”.

Per rendere statico uno swiki collegati a: http://myServer:port/mySwiki/render dove mySwiki è il nome dello swiki che vuoi rendere statico. L'intero contenuto dello swiki in formato html più le eventuali immagini e i file collegati saranno salvati, preservando tutti i collegamenti, nella cartella swiki/mySwiki/render presente nella cartella di installazione del server swiki e che sarà quindi possibile esportare su un server convenzionale.

La conversione di uno swiki è privilegio esclusivo dell'amministratore locale dello swiki e qundi sottoposta alla conoscenza della coppia nomeutente:password

Collegare swiki sullo stesso server

Per collegarsi ad un altro swiki sullo stesso server senza utilizzare un percorso assoluto esiste la sintassi quasi assoluta

Es.

  • http:/altroSwiki (notare il singolo slash)
  • http:/ ci porta alla radice di tutti gli swiki (in pratica all’elenco degli swiki presenti sul server)

Configurazioni multiple del server swiki

Come avevamo accennato nella pagina download e installazione di swiki per far partire il server occorre "trascinare squeak.image su squeak.exe (oppure fare semplicemente doppio click su squeak.exe)".

Squeak.image è l'immagine che contiene anche la configurazione del server swiki (ad esempio la porta di ascolto). È quindi possibile avere più immagini con configurazioni differenti. Alla partenza è possibile selezionare l'immagine preferita trascinandola su squeak.exe. Nel caso si faccia doppio click su squeak.exe ed esistano più immagini, compare una finestra che ci permette di selezionare quella preferita.

Come far partire automaticamente il server swiki su Windows

Normalmente il server swiki viene lanciato manualmente dall'utente ma è possibile farlo partire automaticamente anche in assenza di un utente che si colleghi al computer.

La procedura è differente nel caso si tratti di macchine classe NT, 2000, XP oppure 95, 98, Me.

Classe NT

Collegarsi con privilegi di amministratore alla macchina su cui vogliamo installare il server swiki in modalità partenza automatica e lanciare la seguente linea di comando:

  • Squeak.exe -service: ComSwiki squeak.image
    il server swiki verrà installato come servizio di sistema e come tale partirà all'avvio della macchina anche in assenza di un utente che si colleghi. ComSwiki è il nome con cui apparirà nella lista dei servizi del sistema e squeak.image è l'immagine che contiene tra l'altro la configurazione del server swiki come accennato nel paragrafo precedente. È quindi possibile avere contemporaneamente più server swiki con configurazioni differenti sulla stessa macchina indicando immagini diverse: in questo caso occorre assegnare nomi differenti ai servizi: ad esempio ComSwiki1, ComSwiki2...
  • L'amministrazione del/dei servizio/i viene effettuata con i normali strumenti di NT che permettono di configurare quando deve partire, con i privilegi di quale utente deve girare ...

Classe 9X

In questo caso occorre editare manualmente il registro (l'operazione è altamente pericolosa - può richiedere di reinstallare il sistema operativo in caso di errore - per cui decliniamo ogni responsabilità).

Nel ramo:

HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
  • aggiungere la stringa
    ComSwiki
  • assegnarle il valore
    "C:\programmi\ComSwiki\Squeak.exe" "C:\programmi\ComSwiki\squeak.image"
    dove "C:\programmi\ComSwiki\"; è il percorso in cui è stato installato squeak.

Anche in questo caso il server partirà automaticamente alla partenza della macchina anche in assenza di utente che si collega.