Version 1 — Mai 2009 — dani
Plugin en desarrollo, aún no operacional : http://zone.spip.org/trac/spip-zone...
Sitios SPIP en auto-servicio, tan fáciles como un blog-bigbrother.com, pero que no secuestran ni el contenido del sitio, ni el acceso a la tecnología que hay por debajo.
En la SPIP design party en Nantes en 2007, Têtue ilustraba la situación de SPIP como una escalera que va muy alto, pero a la que le faltan los primeros peldaños. Para quienes pueden llegar por otros medios a la escala es genial, pero no todo el mundo puede llegar ahí.
Por eso, cantidad de gente — incluso mucha que en principio adhiere al manifiesto del web independiente — se dirigen hacia servicios comerciales (o publi-gratuitos) de realización de blogs o de sitios web, en vez de elegir una solución y una infraestructura que les permitiría preservar su libertad.
En la línea de las soluciones de mutualization de SPIP, este plugin SiloSPIP (no hay especial preferencia por ese nombre), intenta plasmar las ideas que acabamos de mencionar, en particular la idea de abrir el acceso a las tecnologías qu sustentan un servicios « todo público » : se pueden crear sitios SPIP « en libre servicio web », elegir juegos de esqueletos, activar o no tal o tal plugin, etc. pero luego, si se quiere, se puede acceder, « por debajo », a los esqueletos SPIP, al PHP y el MySQL, etc.
El proceso de instalación y las dependencias
SiloSPIP depende de los plugins CFG, Inscription2 y Mutualisation.
A la instalación se agreaga una tabla spip_silosites y su bucle
El plugin comprende una página de configuración CFG, en el que se define la dirección del panel AlternC al cual el servicio está acoplado, con un nombre de Administrador AlternC y su contraseña. También se define el dominio o la lista de dominios en sub-dominios de los cuales se pueden crar sitios del silo.
Las balizas y bucles
Una baliza #FORMULAIRE_SILO_CREER_SITE genera un formulario permite a un usuario autenticado crear un sitio en el silo. Se la llama así :
<div class="ajax">
#FORMULAIRE_SILO_CREER_SITE{#SESSION{id_auteur}}
</div>
Una baliza #FORMULAIRE_SILO_SITES, que se llama de la misma manera, permite listar los sitios creados.
Ninguna funcionalidad está aún terminada. La creación de de un sitio lo inscribe en la base, e intenta algunas llamadas a la interface del panel AlternC, utilizando la librería cURL para crear el usuario AlternC, la base MySQL del sitio, el usuario mysql y sus derechos.
El modo de organización de la mutualización de los sitios
Se instala un AlternC.
En una carpeta, a priori fuera de una cuenta AlternC, se instala un código SPIP con el plugin de mutualisation. Por ejemplo, en /usr/share/spip/
Se crea un alias Apache de esta carpeta, válida en todo VirtualHost. Por ejemplo, creamos un archivo /etc/apache2/conf.d/spip.conf con el contenido siguiente :
Alias /spip_mut /usr/share/spip
<Directory /usr/share/php/spip>
Options Indexes FollowSymLinks
DirectoryIndex index.php
AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off
php_flag track_vars On
php_flag register_globals Off
php_value include_path .
</IfModule>
</Directory>
La mutualización podrá ser hecha de la manera siguiente :
- la creación de la base de datos en el Manejador de Archivos del usuario AlternC correspondiente,
- la declaración del sub-dominio nombre.domaine_mutu.org entre los dominios del mismo usuario,
- la configuración de este dominio hacia una carpeta del usuario, en el que una regla de re-escritura (RewriteRule Apache en le archivo .htaccess) lo redirige hacia el alias del SPIP mutualizado : http//nombre.domaine_mutu.org/spip_mut/
- en la carpeta ’sites’ del SPIP mutualizado, en vez de una carpeta por sitio, encontramos un enlace simbólico hacia la carpeta de la cuenta AlternC del usuario : /usr/share/spip/sites/nombre.domaine_mutu.org -> /var/alternc/html/l/login/nombre.domaine_mutu.org
la cual, conforme al plugin mutualización, contiene las carpetas de contenido : /tmp/<c/ode>, <code>/IMG/
, etc.