Outils pour utilisateurs

Outils du site


www_dotclear

Ceci est une ancienne révision du document !


DotClear WordPress or DokuWiki ?

DokuWiki

Blogger avec DokuWiki est peut être la bonne solution.

Liens:

A voir… Parce que ni DotClear, ni WordPress ne font ce que je veux!

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:

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 "<MOT_DE_PASSE>";
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 “<MOT_DE_PASSE>” 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:

<VirtualHost *:80>
      ServerAdmin webmaster@MONBLOG-PERSO.FR
      ServerName wordpress.MONBLOG-PERSO.FR

      DocumentRoot /var/www/wordpress

      <Directory />
              Options FollowSymLinks
              AllowOverride None
              Order deny,allow
              deny from all
      </Directory>

      ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
      <Directory "/usr/lib/cgi-bin">
              AllowOverride None
              Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
              Order allow,deny
              Allow from all
      </Directory>

      <Directory /var/www/wordpress/>
              DirectoryIndex index.php
              Options +FollowSymLinks -Indexes
              AllowOverride FileInfo
              #AllowOverride None

              #Order allow,deny
              #allow from all
              Order deny,allow
              Allow From <MY_IP>
              Deny From All

              AddHandler cgi-php5 .php
              Action cgi-php5 /cgi-bin/php5
      </Directory>

      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

</VirtualHost>

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', '<MOT_DE_PASSE>');

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<!d]]0C;)S6M+)J(0$ki0cCYt~|VTt,++|BA)}&I');
...
etc...

configuration

Maintenant, on devrait pouvoir atteindre la page d'installation: http://wordpress.eez.fr/wp-admin/install.php

Bugs

Liens:

suhosin[9817]: ALERT - script tried to increase memory_limit to 268435456 bytes which is above the allowed value (attacker 'x.x.x.x', file '/var/www/wordpress/wp-admin/admin.php', line 109)

Dans /etc/php5/conf.d/suhosin.ini faire en sorte d'avoir:

extension=suhosin.so
[suhosin]
suhosin.memory_limit = 256M

Tips

Permalien

(Permalink)

Lien: http://codex.wordpress.org/Using_Permalinks

# a2enmod rewrite

Et ajouter dans le “virtual Host”:

AllowOverride FileInfo

DokuWiki

Lien: http://wordpress.org/extend/plugins/wp-dokuwiki/

# cd /var/www/wordpress/wp-content/plugins
# wget http://downloads.wordpress.org/plugin/wp-dokuwiki.zip
# unzip wp-dokuwiki.zip
# chown -R www-data: wp-dokuwiki

Activer le plugin dans le panneau de controle.

Ensuite, le tab “html”, faire:

<wiki>
**Hello World**
</wiki>

Mais en fait, il subsite au moins 1 bug énervant: Impossible d'avoir une ligne vide dans du code :-|

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 <IP_LOCAL_DE_NGINX>
# apache2ctl graceful

Voila.

php5-cgi

Lien:

Activer “php5-cgi” en lieu et place de son equivalent en module:

# TJ ---------------------
<Location /dotclear/>
              AddHandler cgi-php5 .php
              Action cgi-php5 /cgi-bin/php5

              #Order allow,deny
              #Allow from all
              Order deny,allow
              Allow From <MON_IP_PENDANT_L_INSTALLATION>
              Deny from all
</Location>
# -------------------------

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://<mon_web>/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','<LE_TRUC_ALEATOIRE_PLUS_HAUT>');

Et reprendre en retournant par là:

http://<mon_web>/dotclear/admin/install/  

DotClear2 - methode B

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://<HOST>/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','<CHEMIN_VERS_UNE_BASE_SQLITE.db>');
define('DC_DBPREFIX','dc_');
define('DC_DBPERSIST',false);
define('DC_MASTER_KEY','<CLE_A_CREER_PAR_EXEMPLE: LS -lR /| MD5SUM>');
define('DC_ADMIN_URL','http://<HOST>/dotclear/admin/');
define('DC_SESSION_NAME','dcxd');
define('DC_PLUGINS_ROOT',dirname(__FILE__).'/../plugins');
define('DC_TPL_CACHE',dirname(__FILE__).'/../cache');

Et puis:

http://<HOST>/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
<fieldset>	
<p class="field">
<table border="1" bgcolor="lightgray" ><tr><td>
  <label for="dc_captcha"><?php dcCaptcha::question(); ?></label>
  <?php dcCaptcha::field(); ?>
</td></tr></table>
</p>

<p><input type="checkbox" id="c_remember" name="c_remember" />
<label for="c_remember">Se souvenir de mes informations</label>
</p>
<p><input type="submit" class="preview" name="preview" value="pr&eacute;visualiser" />
<input type="submit" class="submit" value="envoyer" />
<input type="hidden" name="redir" value="<?php dcCommentFormRedir(); ?>" /></p>
</fieldset>

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'] = '<quelque_part_ou_www_a_les_droits>/spam.txt';

Et voila

www_dotclear.1330098635.txt.gz · Dernière modification : 2012/02/24 15:50 de thierry