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|}}