DotClear WordPress or DokuWiki ?
====== DokuWiki ======
Blogger avec DokuWiki est peut être la bonne solution.
Liens:
*http://blog.andreas-haerter.com/2011/05/15/how-to-create-a-dokuwiki-blog-blogtng-plugin
*http://www.dokuwiki.org/tips:cms
A voir... Parce que ni DotClear, ni WordPress ne font ce que je veux!
Un exemple à suivre ? : http://www.alternativeoutput.it/wiki/
Le template de complément: http://www.dokuwiki.org/template:mnml-blog
====== Wordpress ======
Un peu surpris par la misére de l'editeur "wiki" de dotclear (inadapté pour bloguer du "code" comme avec dokuwiki), je m'essaye a WordPress.
Liens:
*http://blog.nicolargo.com/2011/08/installation-pas-a-pas-dun-serveur-de-blog-wordpress-sur-debian-squeeze.html
*http://fr.wordpress.org/
===== Installation =====
==== /var/www ====
$ su
# cd /var/www
# wget http://fr.wordpress.org/wordpress-3.3.1-fr_FR.tar.gz
# tar xvzf wordpress-3.3.1-fr_FR.tar.gz
# chown -R www-data: wordpress
# cd wordpress
Si on a configuré apache (qu'on verra plus loin), on a droit a ce message:
Votre installation PHP ne dispose pas de MySQL. Extension requise pour WordPress.
==== MySQL ====
# aptitude install mysql-server php5-mysql
# mysql -u root -p
mysql> create database wordpress;
Query OK, 1 row affected (0.00 sec)
GRANT ALL PRIVILEGES ON wordpress.* TO "wordpress"@"localhost" IDENTIFIED BY "";
Query OK, 0 rows affected (0.00 sec)
flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
On aura générer le "" avec **''pwgen''** par exemple...
==== Apache2 ====
=== php5-cgi ===
Lien: http://blog.tmartin.fr/post/2009/10/21/Utilisation-de-PHP5-en-mode-CGI
# aptitude install apache2-mpm-worker
# aptitude install php5-cgi
Activer “php5-cgi” en lieu et place de son equivalent en module (voir section suivante).
=== virtualhost ===
Pour mémoire:
ServerAdmin webmaster@MONBLOG-PERSO.FR
ServerName wordpress.MONBLOG-PERSO.FR
DocumentRoot /var/www/wordpress
Options FollowSymLinks
AllowOverride None
Order deny,allow
deny from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
DirectoryIndex index.php
Options +FollowSymLinks -Indexes
AllowOverride FileInfo
#AllowOverride None
#Order allow,deny
#allow from all
Order deny,allow
Allow From
Deny From All
AddHandler cgi-php5 .php
Action cgi-php5 /cgi-bin/php5
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
==== wp-config.php ====
# cd /var/www/wordpress
# cp -p wp-config-sample.php wp-config.php
Adapter wp-config.php selon son MySQL. Par exemple (extrait):
define('DB_NAME', 'wordpress');
define('DB_USER', 'wordpress');
define('DB_PASSWORD', '');
Et en passant par là: [[https://api.wordpress.org/secret-key/1.1/salt/]] ...\\
... on peut aussi générer d'autres clés pour les cookies:
define('AUTH_KEY', '2gG-TXma&Y85GR#/puUXB?{2
**Hello World**
Mais en fait, il subsite au moins 1 bug énervant: Impossible d'avoir une ligne vide dans du code :-|
==== syntaxhighlighter ====
Lien: http://wordpress.org/extend/plugins/syntaxhighlighter/
====== DotClear2 ======
===== DotClear2 - Methode A =====
Plus mieux ?
L'idée:
*nginx est installé en frontal
*on va utilisé "php5-cgi" (au lieu de "libapache2-mod-php5" )
Ce qui aura l'avantage de :
* utiliser apache2-mpm-worker ?
* nginx ?
* ... ? je sais pas
==== Dépendances ====
# aptitude install apache2-mpm-worker
# aptitude install php5-cgi php5-cli php5-gd
# aptitude install php5-sqlite
==== rpaf ====
Comme on a un frontal nginx, les IP vu sont celle de nginx en local.
Donc:
# aptitude install libapache2-mod-rpaf
Dans **''/etc/apache2/mods-enabled/rpaf.conf''** , adapter la ligne pour donner l'IP de nginx:
RPAFproxy_ips
# apache2ctl graceful
Voila.
==== php5-cgi ====
Lien:
*http://blog.tmartin.fr/post/2009/10/21/Utilisation-de-PHP5-en-mode-CGI
Activer "php5-cgi" en lieu et place de son equivalent en module:
# TJ ---------------------
AddHandler cgi-php5 .php
Action cgi-php5 /cgi-bin/php5
#Order allow,deny
#Allow from all
Order deny,allow
Allow From
Deny from all
# -------------------------
==== dotclear2-loader.php ====
# cd /var/www
# mkdir dotclear
# cd dotclear
Télécharger ''dotclear2-loader.php''
# wget <...>dotclear2-loader.php
Permettre l'ecriture...
# chown www-data: .
http:///dotclear/dotclear2-loader.php
J'installe dans le repertoire courant (et non pas dans ".../dotclear/dotclear")
:!: Mais comme dit plus loin, pour SQLite, il faut faire ça à la main, un peu.
Préparer le répertoire ou stocker la base:
# mkdir -p /var/lib/db/dotclear
# chown www-data: /var/lib/db/dotclear/.
Générer un truc aléatoire:
# dd if=/dev/urandom bs=36 count=1 | openssl base64
OUUu2S225BZCjOiMDCZBxk82cY1X8yyTfH0uxmfeDbZUyFp+
Dans ''.../dotclear/inc/'' :
# cp -p config.php.in config.php
Modifier **''config.php''** pour avoir (par exemple):
define('DC_DBDRIVER','sqlite');
define('DC_DBNAME','/var/lib/db/dotclear/blog.sqlite');
define('DC_MASTER_KEY','');
Et reprendre en retournant par là:
http:///dotclear/admin/install/
===== DotClear2 - methode B =====
Plus classique.
Liens:
*http://fr.dotclear.org/documentation/2.0/admin/install
==== pré-requis ====
# aptitude install libapache2-mod-php5
# aptitude install php5-mysql
ou
# aptitude install php5-sqlite
Facultatif:
# aptitude install php5-gd
==== installation ====
Suivre les instructions ici http://fr.dotclear.org/documentation/2.0/admin/install ...
Au plus simple, avec **''dotclear2-loader.php''** et avec **''sqlite''** :
# cd /var/www
# mkdir dotclear
# cd dotclear
# wget http://download.dotclear.net/loader/dotclear2-loader.php
# chown www-data: .
Et puis avec son navigateur:
http:///dotclear/dotclear2-loader.php
Suivre la procédure...
Jusqu'à la configuration de la base de données ! et là, pour **''sqlite''**, il faut editer à la main le fichier de config...
# cd inc
# cp config.php.in config.php
# vi config.php
et faire en sorte d'avoir:
define('DC_DBDRIVER','sqlite');
define('DC_DBHOST','');
define('DC_DBUSER','');
define('DC_DBPASSWORD','');
define('DC_DBNAME','');
define('DC_DBPREFIX','dc_');
define('DC_DBPERSIST',false);
define('DC_MASTER_KEY','');
define('DC_ADMIN_URL','http:///dotclear/admin/');
define('DC_SESSION_NAME','dcxd');
define('DC_PLUGINS_ROOT',dirname(__FILE__).'/../plugins');
define('DC_TPL_CACHE',dirname(__FILE__).'/../cache');
Et puis:
http:///dotclear/admin/install
Et voila.
====== Dotclear ======
===== Installer =====
Télécharger la dernière version a partir d'ici: [[http://www.dotclear.net/]]\\
Par exemple:
$ cd ~/tmp
$ wget http://download.dotclear.net/latest-1.2.tar.gz
Decompresser:
$ tar xvzf latest-1.2.tar.gz
Et on récupère: ''dotclear-1.2.5.tar.gz'', qu'on decompresse:
$ tar xvzf dotclear-1.2.5.tar.gz
==== Renommer en ''monblog'' ====
Qu'on fout a partir de la racine:
$ mv dotclear ~/www/.
Et que je renomme autrement:
$ cd ~/www
$ mv dotclear monblog
==== Répertoires en ecriture ====
Il faut autoriser en écriture les répertoires suivant:
* monblog/conf
* monblog/images
* monblog/themes
Et donc pour chacun de ces répertoires:
$ cd ~/www/monblog
$ chown :www-data conf
$ chmod g+w conf
etc...
==== MySQL ====
Se connecter a MySQL:
$ mysql -u root -p
Creer une database:
mysql> create database dotclear;
Creer un user associé:
mysql> GRANT ALL ON dotclear.* TO dotclear@localhost;
(Pas besoin de mot de passe ?)
==== install ====
Effectuer l'install a partir de PHP:
http://tjaouen.fr/monblog/install
Et le plus dur est fait ;-)
==== admin ====
Là, c'est pas evident puisqu'il faut faire:
http://tjaouen.fr/monblog/ecrire
====== Plugins ======
===== Antispam =====
==== Installer ====
Installer le plugin 'captcha accessible', qui fonctionne avec Dotclear 2 (celui que j'utilise).\\
Lien: [[http://www.atelierphp5.com/un-captcha-accessible.html]]
Pour installer:
DotClear-Administration > Outils > Gestionnaire des plugins
(Faire en sorte que le répertoire "''monblog/ecrire/tools''" soit autorisé en écriture à "''www-data''".)
Copier/Coller le lien vers le plugin:
[[http://www.atelierphp5.com/pub/dotclear/plugin-captcha-1.1.pkg.gz]]
Puis cliquer sur "''[Installer]''"...\\
Le plugin "Anti-Spam pour les commentaires" apparait, mais il n'est pas activé, donc faire:
Selectionner puis "''Action sur les plugins sélectionnés'' : basculer etat".\\
Voila le plugin activé.
==== Configurer ====
Suivre les instructions affiché dans la section "plugins > Captcha"...
=== Table SQL ===
A creer selon modèle...
=== Code HTML ===
A injecter dans "''form.php''" (exemple):\\
(Si vous utilisez le theme par defaut, sinon, adapter)
$ vi monblog/themes/default/form.php
L'ajout d'une "''table''" est de mon fait.
=== Modifier les fichiers de configuration ====
Allez dans "''monblog/ecrire/tools/captcha''" :
$ cd monblog/ecrire/tools/captcha
=== UTF8 ===
Modifier les fichiers php en UTF-8... (parce que j'avais des problèmes avec les accents...):
$ recode latin1..utf8 *php
(Si nécessaire, installer d'abord le pakage ''recode'')
=== Personnaliser ===
Editer les paramètres en éditant le fichier "''config.php''" (Exemple) :
$ vi config.php
...
$GLOBALS['captcha_level'] = 1;
...
$GLOBALS['captcha_logs'] = '/spam.txt';
====== Et voila ======
{{captcha-sample.gif|}}