Redémarrage Apache gulliver sur Tuxinette

Se connecter sur gullivermodere@linux-france.org et faire :

/home/lf/gullivermodere/local/httpd/bin/apachectl restart

Installation de dokuwiki sur tuxinette

Apache 2.2 et PHP


Compilation


config.nice d'apache et de php

mkdir ~/local
mkdir ~/tmp
cd ~/tmp
wget http://mir2.ovh.net/ftp.apache.org/dist//httpd/httpd-2.2.21.tar.bz2
bunzip2 -c httpd-2.2.21.tar.bz2 | tar xf -
./configure --enable-so --enable-http --enable-expires --enable-rewrite --enable-cgi --prefix=$HOME/local/httpd
cd httpd-2.2.21
make
make install
cd ..
wget http://fr2.php.net/get/php-5.2.17.tar.bz2/from/this/mirror
bunzip2 -c php-5.2.17.tar.bz2 | tar xf -
cd ~/tmp/php-5.2.17
./configure \
--prefix=$HOME/local/httpd/php \
--with-config-file-path=$HOME/local/httpd/php \
--with-apxs2=$HOME/local/httpd/bin/apxs \
--with-bz2 \
--with-zlib
make
make install


Configuration apache


Points importants dans du fichier ~/local/httpd/conf/httpd.conf disponible

Listen 8080
[...]
ServerAdmin "contact (A) gulliver POING eu POINTG org"
[...]
# Activation PHP5
LoadModule php5_module        modules/libphp5.so
AddType application/x-httpd-php php
[...]
<Files *.php>
SetOutputFilter PHP
SetInputFilter PHP
</Files>
[...]
DocumentRoot "/home/lf/html/www.linux-france.org"
[...]
ServerTokens Prod
ServerSignature Off
[...]
Include conf/sites-enabled/


Pour installer le fichier de conf préparé pour vous avec amour

cd ~/local/httpd/conf
mv httpd.conf httpd.conf.orig
wget http://gulliver.eu.org/~scollilieux/migration-wiki/httpd.conf


Création d'un vhost pour gulliver.eu.org.

cd ~/local/httpd/conf
mkdir sites-available
mkdir sites-enabled
cd sites-available
wget http://gulliver.eu.org/~scollilieux/migration-wiki/gulliver.eu.org
cd ..
ln -s $HOME/local/httpd/conf/sites-available/gulliver.eu.org $HOME/local/httpd/conf/sites-enabled


Pour info, contenu de ce fichier :

cat sites-available/gulliver.eu.org
NameVirtualHost *:8181
<VirtualHost *:8181>
	ServerAdmin "contact At gulliver Dot eu Dot org"
	ServerName gulliver.eu.org
	ServerAlias *.gulliver.eu.org
	
	DocumentRoot /home/lf/scollilieux/local/httpd/htdocs
	ErrorLog logs/gulliver.eu.org.error.log
	LogLevel warn
	CustomLog logs/gulliver.eu.org.access.log combined
	
	<Directory /home/lf/scollilieux/local/httpd/htdocs>
		DirectoryIndex wiki/doku.php index.php
		RewriteEngine on
		RewriteBase /
		RewriteRule ^(lib/.*)     wiki/$1
		RewriteRule ^_media/(.*)  wiki/lib/exe/fetch.php?media=$1  [QSA,L]
		RewriteRule ^_detail/(.*) wiki/lib/exe/detail.php?media=$1  [QSA,L]
		RewriteRule ^_export/([^/]+)/(.*) wiki/doku.php?do=export_$1&id=$2  [QSA,L]
		RewriteRule ^feed.php     wiki/feed.php
		Include /home/lf/scollilieux/local/httpd/conf/wikini_dokuwiki_re
direct.txt
		RewriteCond %{REQUEST_FILENAME} !-f
		RewriteCond %{REQUEST_FILENAME} !-d
		RewriteRule (.*) wiki/doku.php?id=$1  [QSA,L]
	</Directory>
	<Directory /home/lf/scollilieux/local/httpd/htdocs/wiki>
		AllowOverride AuthConfig FileInfo Limit
		Options -Indexes -MultiViews +FollowSymLinks
	</Directory>
	
	<LocationMatch "/(data|conf|bin|inc)/">
		Order allow,deny
		Deny from all
		Satisfy All
	</LocationMatch>
</VirtualHost>


On redémarre apache :

~/local/httpd/bin/apachectl graceful


Le fichier ` $HOME/local/httpd/conf/wikini_dokuwiki_redirect.txt` permet de gérer les redirections entre l'ancien wiki et le nouveau.

Installation dokuwiki


Téléchargement et installation


cd ~/local/httpd/htdocs
wget -O - "http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2012-01-25.tgz" | tar zxf -
mv dokuwiki-2012-01-25 wiki


Configuration


cd ~/local/httpd/htdocs/wiki/conf/
wget -O local.php http://gulliver.eu.org/~scollilieux/migration-wiki/local.php.txt
wget -O users.auth.php http://gulliver.eu.org/~scollilieux/migration-wiki/users.auth.php.txt
wget -O acl.auth.php http://gulliver.eu.org/~scollilieux/migration-wiki/acl.auth.php.txt


Suppression du fichier d'installation, inutile car la conf est fournie.

cd ~/local/httpd/htdocs/wiki/
rm install.php


Personnalisation


Thème


Installation du thème [http://www.dokuwiki.org/template:a_new_day?s[]=newday newday]

cd ~/local/httpd/htdocs/wiki/lib/tpl
wget -O newday.zip http://blog.chirripo.nl/wp-content/uploads/dokuwiki_template_newday_20100921.zip
unzip newday.zip
cd newday/images
mv favicon.ico favicon.ico.orig
wget -O favicon.ico  http://gulliver.eu.org/~scollilieux/gulliver-favicon.ico


Plugins

Installation du plugin [http://www.dokuwiki.org/plugin:wikicalendar wikicalendar]

cd ~/local/httpd/htdocs/wiki/lib/plugins
wget -O - "http://cloud.github.com/downloads/chimeric/dokuwiki-plugin-wikicalendar/plugin-wikicalendar.tgz" | tar zxf -


migration du wikini -> dokuwiki


migration des données


Téléchargement des logiciels nécessaires depuis [https://gitorious.org/migrate-to-doku/ gitorious]. Tous les scripts seront exécutés depuis le répertoire $HOME/migration-wiki

mkdir ~/migration-wiki
cd ~/migration-wiki
wget -O - http://gitorious.org/migrate-to-doku/migrate-to-doku/archive-tarball/master | tar zxf - 
mv migrate-to-doku-migrate-to-doku/* .
rm -r migrate-to-doku-migrate-to-doku/


Utilisation du script synchronize.sh. Ce script ne fait pas partie de l'archive gitorious, il est adapté à tuxinette.

Le mot de passe de la base de données devra être stocké dans $HOME/var/tmp/mysql_gull.pass.


#!/bin/bash
# (C) Sylvain Collilieux 2011
# Licence WTFPL http://sam.zoy.org/wtfpl/
# 

# Synchronizes data between wikini and dokuwiki

# If $1=1 : complete export from wikini, generates rewrite_rules and comparison page
# Else : only data from last dokuwiki change are exported (no rewrite or comparison
# because there are not complete).

./update_dokuwiki_data.sh $1

echo "Copie vers dokuwiki"
tar --directory dokuwiki/data -cf - . | tar -C ~/local/httpd/htdocs/wiki/data/ -xf -

if [ "$1" == "1" ]
then
	echo Copie du fichier de Redirection
	sh rewrite_rules.sh
	cp wikini_dokuwiki_redirect.txt ~/local/httpd/conf/

	echo "Copie du fichier de comparaison des pages"
	sh comparaison_index.sh
	cp comparaison_wikini_dokuwiki.html ~/html/
fi


cd $HOME/migration-wiki
sh synchronize.sh 1


Synchronisation de wikini -> dokuwiki


Une synchronisation complète a lieu 1 fois par jour. Toutes les 10 minutes de minuit à 3h et de 7h à minuit, il y a une synchronisation partielle.

La synchonisation complète peut être utile en cas de changement dans le script de conversion des pages (migrate-to-doku.py). C'est la raison de son exécution quotidienne. Cette synchonisation peut également se faire à la demande.

crontab -l
15 4 * * * cd migration_wiki ; bash synchronize.sh 1 >/dev/null 2>&1
*/10 0-3 * * * cd migration_wiki ; bash synchronize.sh >/dev/null 2>&1
*/10 7-23 * * * cd migration_wiki ; bash synchronize.sh >/dev/null 2>&1

Migration du site (url)


Dans cet exemple http://gulliver.eu.org/ devient le wiki (on enlève /wiki/).

Récupération du [http://www.linux-france.org/prj/lfoyer/doc/htm/cvs.fr.htm#s4 site statique de Gulliver]

CVSROOT=:ext:cvs@linux-france.org:/home4/lf/cvs/
CVS_RSH=ssh
export CVSROOT CVS_RSH
cd ~/tmp && mkdir cvs_work && cd cvs_work
cvs checkout www.linux-france.org
cd cvs_work/www.linux-france.org/lug/gulliver/


Remplacer fichier .htaccess par celui-ci


Les RewriteCond %{REQUEST_URI} !^/ml-archives/.* permettent de ne pas réécrire l'URL pour les parties statiques existantes (par exemple les archives des listes).

Envoi des données sur lfo

cvs commit 'Migration .htaccess / de Gulliver'
ssh tonlogin@linux-france.org ~lf/bin/authsync_demand


La dernière commande permet de pousser le contenu du CVS sur le site (sinon attendre 20 de chaque heure).

accès à wikini


Le but est de permettre l'accès à l'ancien wiki avec l'url http://gulliver.eu.org/wikini/

Dans le [CVS de Gulliver http://www.linux-france.org/prj/lfoyer/doc/htm/cvs.fr.htm#s4] :

www.linux-france.org/lug/gulliver
mkdir wikini
cp wiki/.htacess wikini/
cvs add wikini/
cvs add wikini/.htaccess

Le contenu du .htaccess :

RewriteEngine on
RewriteRule .*\.css - [L]
RewriteRule .*\.png - [L]
RewriteRule .*\.php.* - [L]
RewriteRule (.*) /~scollilieux/wiki/wakka.php?wiki=$1 [QSA,L,NE,PT]


The Button


À ce stade, dokuwiki devrait être à jour avec les données de wikini. Pour finaliser la migration, il faut :

  • supprimer les tâches de synchronisation de la cron
  • modifier le fichier .htaccess de la racine du site pour activer le proxy

Ce script devra être lancé par le compte qui héberge dokuwiki. Pour lancer ce script, il est nécessaire d'être connecté sur tuxinette avec sa clef SSH et d'activer l'agent forwarding : ssh -A linux-france.org.

<img src="http://gulliver.eu.org/~scollilieux/migration-wiki/bouton.png" alt="LE bouton" border="0" /> bouton.sh

Une étape n'a pas été faite avec ce script car faite après la migration. Le fichier .htaccess disponible sur http://gulliver.eu.org/~scollilieux/migration-wiki/wiki_htaccess doit être mise dans le CVS en remplacement du fichier www.linux-france.org/lug/gulliver/wiki/.htaccess. C'est ce fichier qui contient les redirections entre les anciens noms de pages et les nouveaux (le tout issu du script de migration).

 
machines/installation_dokuwiki_sur_tuxinette.txt · Dernière modification: Le 30/01/2019 à 17:26 par jaxom     Haut de page
Recent changes RSS feed Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki Design by Chirripó