User Tools

Site Tools


doc:appunti:linux:spip

SPIP CMS

Sistema di Content Management SPIP

Riferimenti

24 Mag 2004 - Installazione SPIP 1.7.2

Scompattato l'archivio SPIP-v1-7-2.zip nella DocumentRoot, ci sono alcuni file con permessi diversi da 0644, rimessi a posto.

Essendo costituito da file .php3, bisogna aggiungere a /etc/apache-ssl/httpd.conf delle direttive del tipo:

DirectoryIndex index.php index.php3 ...
AddType application/x-httpd-php .php .php3
AddType application/x-httpd-php-source .phps

Per un minimo di sicurezza si fanno appartenere tutti i file ad un utente non privilegiato (es. webmaster), diverso dall'utente del server web, file con permessi 0644 e directory con 0755. Prima della configurazione si devono fare delle eccezioni:

chown www-data:www-data CACHE/              Cache delle pagine generate
chown www-data:www-data IMG/
chown www-data:www-data ecrire/data/        Sessioni PHP, log di SPIP
chown www-data:www-data ecrire/             Per creare il file inc_connect.php3

In MySQL si crea il database (spip) e l'utente (spip):

mysqladmin -u root -p create spip
mysql> connect mysql;
mysql> GRANT ALL ON spip.* TO spip@localhost
    -> IDENTIFIED BY 'secret';
mysql> FLUSH PRIVILEGES;

La configurazione iniziale si effettua via web andando all'indirizzo http://spip-server/ecrire/. Dopo la configurazione è opportuno restringere un po' i permessi:

chmod 0640 ecrire/inc_connect.php3
chown webmaster.webmaster ecrire/data

Informazioni fornite per la configurazione (Personal Information):

Signature           Nome Cognome
Your e-mail address nome@dominio.tld
Your login          admin_name
Your password       admin_secret

Il nome del sito si può cambiare dall'interfaccia di ammnistrazione, altrimenti è dentro una tabella MySQL e anche in un file ecrire/data.

Note negative

  • I file scompattati dall'archivio hanno permessi non corretti: file .css con attributo +x, …
  • Purtroppo gli script hanno estensione .php3, brutto specialmente quando si sta usando PHP4.
  • Non supporta Pear DB. La versione ufficiale del programma supporta come backend solo MySQL, esistono delle versioni non ufficiali
  • Il file ecrire/inc_connect.php3 contiene la password di connessione a MySQL in chiaro ed ha permessi 0666!!! Per fortuna lo si può far appartenere all'utente del server web.
  • Anche i file generati dinamicamente in queste directory hanno permessi 0666:
CACHE/*
IMG/*
ecrire/data/*

Aggiornamento ad una nuova versione

Si è fatto l'aggiornamento dalla versione 1.8 beta 1 CVS alla 1-8pr1 a causa di un bug di sicurezza (esecuzione di comando da remoto) annunciato sulla mailing list.

Backup di tutto da sistema operativo

Per cautela si è provveduto a fare il backup della DocumentRoot e un dump del database:

tar zcvf spip.tgz /var/www/spip/
mysqldump -a --add-drop-table -h localhost -p -u spip spip > spip.dump

Backup del contenuto da Spip

Spip prevede un modo alternativo (misto web-ftp) per fare il backup in formato XML del contenuto dell'intero sito. Dalla pagina di amministrazione: Configuration, Site Maintenance, Backup the database. Per confermare l'operazione è necessario fare quella che Spip chiama autenticazione via FTP, in pratica ci si deve collegare via FTP al sito, creare (nella directory ecrire/data) un file con il nome proposto durante la procedura, e quindi completare la procedura di backup dalla pagina web. Al termine il file di autorizzazione viene rimosso ed il dump si trova nel file ecrire/data/dump.xml.gz pronto per essere prelevato via FTP. Il backup creato in questo modo può essere reinstallato solo su una stessa versione di Spip.

Aggiornamento dei file

Dopo aver scompattato l'archvio SPIP-v1-8pr1.zip in una directory temporanea si controlla ownership e permessi dei file (l'archvio originale ha qualche pecca da questo punto di vista). Il suggerimento è che tutti i file e le directory appartengano ad un utente non privilegiato (ad esempio un webmaster), i file abbiano permesso 0644 e le directory 2755. In pratica:

chown -R webmaster:webmaster SPIP-v1-8pr1
find -type f SPIP-v1-8pr1 -print0 | xargs -0 chmod 0644
find -type d SPIP-v1-8pr1 -print0 | xargs -0 chmod 2755

Queste modifiche vanno fatte sui file nuovi, attenzione a non cambiare i permessi di file e directory in uso poiché alcuni devono essere scrivibili dall'utente che fa girare il server web (vedere le note a proposito dell'installazione). Quando i file nuovi avranno gli opportuni privilegi, devono essere copiati nella directory in uso, sovrascrivendo i vecchi.

Aggiornamento della struttura del database

Per completare l'upgrade si deve accedere all'area privata del sito Spip con le credenziali di amministratore e cliccare sul link proposto (“if you are a site administrator, please click on this link”). Questa procedura richiede una autenticazione via FTP del tutto simile a quella richiesta durante la procedura Spip di backup: si inizia la procedura da web, si crea via FTP il file richiesto in ecrire/data/admin_XXXX, si completa la procedura via web.

paros:/home/www/www.rigacci.org/SPIP-v1-8pr1# find . -type f ! -perm 644
./habillage.css
./impression.css
./typographie.css

Le directory invece paiono a posto.

Come utilizzare gli stili per www.rigacci.org

Top title

Occhiello, compare solo nella visualizzazione dell'articolo e nella home page (verificare se va bene).

Title

Titolo principale dell'articolo.

Subtitle

Sottotitolo, compare solo nella visualizzazione dell'articolo.

Brief description

Descrizione di una riga o meno. Compare come tooltip quando si passa col mouse sul titolo dell'articolo. Compare anche nella home page al posto dell'incipit dell'articolo. Direi che non va bene e va cambiato.

Deck

Breve introduzione all'articolo ed eventuale link al sito originale, del tipo [www.sito.org->http://www.sito.it/page.php]

Postscript

How to use PHP code inside an article

doc/appunti/linux/spip.txt · Last modified: 2006/09/29 21:01 by 127.0.0.1