Installer Dolibarr sur Debian
Dolibarr est un outil PHP de gestion d'entreprise. Il est adapté aux auto-entrepreneurs, TPE, PME. Bien qu'adapté à la législation française et permettant la gestion de la facturation, il lui manque les fonctionnalités de gestion du livre des comptes. Ce guide facilite son installation sur Debian.
Ce guide est testé sur:
- Debian 6.0 Squeeze
- Debian 7.0 Wheezy
Ce guide est testé avec ces versions de Dolibarr:
- 3.3.0
Prérequis
Ce guide nécessite :
- un serveur HTTP Apache 2 avec le script a2tools disponible dans le guide Installer Apache 2 sur Debian.
- un serveur HTTP avec support du PHP, comme décrit par Installer PHP-FPM sur Debian.
- un serveur MySQL, comme décrit par Installer et configurer MySQL sur Debian.
- l'outil mysql-tools d'administration simplifiée de MySQL sur l'hôte local (et l'hôte du serveur MySQL, si différent).
Paramètres
Renseignez le nom de domaine de l'application:
DOMAIN="crm.domaine-exemple.fr"
Renseignez le nom d'hôte du serveur MySQL:
MYSQL_HOST="localhost"
Si le serveur MySQL n'est pas local, l'outil mysql-tools essaiera de s'y connecter avec le client MySQL, ou, en cas d'échec de connexion, via une connexion SSH.
Renseignez le nom du certificat SSL à utiliser pour chiffrer l'application avec HTTPS (créé via la procédure Créer un certificat SSL / TLS sur Debian) (optionnel, recommandé):
SSL_KEY_NAME="${DOMAIN}"
Installation
Déterminez le chemin d'installation:
INSTALL_PATH="/opt/dolibarr/${DOMAIN}"
Déterminez le chemin des données:
DATA_PATH="/var/lib/dolibarr/${DOMAIN}"
Déterminez le chemin du cache:
CACHE_PATH="/var/cache/dolibarr/${DOMAIN}"
Créez les dossiers:
command mkdir --parent "${INSTALL_PATH}"
command mkdir --parent "${DATA_PATH}"
command mkdir --parent "${CACHE_PATH}"
Préparation de l'environnement
Installez les logiciels et modules PHP nécessaires à l'installation et au bon fonctionnement de l'application:
command apt-get install php5-mysql
Adaptez la configuration PHP aux besoins de l'outil:
command php-tools --for="dolibarr" --set "memory_limit" "256M"
command php-tools --for="dolibarr" --set "magic_quotes_gpc" "0"
Rechargez la configuration de PHP:
test -x /etc/init.d/php5-fpm && /etc/init.d/php5-fpm force-reload
test -x /etc/init.d/apache2 && /etc/init.d/apache2 force-reload
test -x /etc/init.d/lighttpd && /etc/init.d/lighttpd force-reload
test -x /etc/init.d/nginx && /etc/init.d/nginx force-reload
Mise en place de l'application
Téléchargez les sources de l'application vers l'emplacement d'installation à l'aide du script sf-downloader:
command wget 'https://raw.github.com/biapy/howto.biapy.com/master/various/sf-downloader' \
--quiet --no-check-certificate --output-document='/tmp/sf-downloader'
SOURCE="$(command bash '/tmp/sf-downloader' --zip --strip-components=1 \
--output-directory="${INSTALL_PATH}" \
--download-template='Dolibarr ERP-CRM/VERSION/dolibarr-VERSION.zip' \
'dolibarr' 'dolibarr-VERSION.zip')"
Ajustez les permissions par défaut de fichiers:
command find "${INSTALL_PATH}" -type d -exec chmod 755 "{}" \+ command find "${INSTALL_PATH}" -type f -exec chmod 644 "{}" \+
Créez le fichier destiné à contenir la configuration de l'application, et donnez lui les permissions adéquates:
command touch "${INSTALL_PATH}/htdocs/conf/conf.php" command chown www-data:www-data "${INSTALL_PATH}/htdocs/conf/conf.php"
Mise en conformité avec la LSB
Mettez en place une architecture de dossier conforme à la LSB:
command mkdir --parent "${DATA_PATH}/documents" command ln -s "${DATA_PATH}/documents" "${INSTALL_PATH}/documents"
if [ -e "${INSTALL_PATH}/htdocs/includes/tcpdf/cache" ]; then command mv "${INSTALL_PATH}/htdocs/includes/tcpdf/cache" "${CACHE_PATH}/tcpdf"
command ln -s "${CACHE_PATH}/tcpdf" "${INSTALL_PATH}/htdocs/includes/tcpdf/cache"
command chown -R www-data:www-data "${CACHE_PATH}" fi
command chown -R www-data:www-data "${DATA_PATH}"
Création de la base de données
Créez la base de données:
command mysql-tools --server="${MYSQL_HOST}" --with-ssh \
--auto-hosts --db-prefix="dolibarr" --create "${DOMAIN}"
Notez les informations de connexion fournies par la commande.
Mise en place de l'hôte virtuel
Créez la configuration du serveur HTTP:
if [ -n "${SSL_KEY_NAME}" -a -e "/etc/ssl/private/${SSL_KEY_NAME}.key" ]; then
command a2tools --ssl="${SSL_KEY_NAME}" "${DOMAIN}" "${INSTALL_PATH}/htdocs"
command a2tools --template='redirect' "${DOMAIN}" "https://${DOMAIN}/"
else
command a2tools "${DOMAIN}" "${INSTALL_PATH}/htdocs"
fi
L'outil est maintenant disponible sur le domaine spécifié en HTTP ou HTTPS si possible.
Configurez l'application à l'aide du script d'installation, disponible à l'adresse fournie par:
echo "http://${DOMAIN}/install"
Sécurisation
Une fois l'installation terminée, sécurisez l'application:
command chown -R root:root "${INSTALL_PATH}" command rm -r "${INSTALL_PATH}/htdocs/install"
command touch "${INSTALL_PATH}/documents/install.lock"
Sauvegardes
Sauvegardez l'installation avec Backup Manager (voir Installer et configurer Backup Manager sur Debian):
command backup-manager-tools add "${INSTALL_PATH}"
command backup-manager-tools add "${DATA_PATH}"
N'oubliez pas de sauvegarder la base de données (voir Installer et configurer MySQL sur Debian).
Mise à jour
Renseignez le nom de domaine ou sera disponible l'application:
DOMAIN="crm.domaine-exemple.fr"
Déterminez le chemin d'installation:
INSTALL_PATH="/opt/dolibarr/${DOMAIN}"
Créez une copie de sauvegarde de l'installation existante:
if [ -d "${INSTALL_PATH}.old" ]; then
command rm -r "${INSTALL_PATH}.old"
fi
command cp -a "${INSTALL_PATH}" "${INSTALL_PATH}.old"
Téléchargez la nouvelle version de l'application:
command wget 'https://raw.github.com/biapy/howto.biapy.com/master/various/sf-downloader' \
--quiet --no-check-certificate --output-document='/tmp/sf-downloader'
SOURCE="$(command bash '/tmp/sf-downloader' --zip --strip-components=1 \
--output-directory="${INSTALL_PATH}" \
--download-template='Dolibarr ERP-CRM/VERSION/dolibarr-VERSION.zip' \
'dolibarr' 'dolibarr-VERSION.zip')"
Ajustez les permissions par défaut de fichiers:
command find "${INSTALL_PATH}" -type d -exec chmod 755 "{}" \+
command find "${INSTALL_PATH}" -type f -exec chmod 644 "{}" \+
Autorisez le serveur HTTP à modifier les fichiers de l'installation le temps de la mise à jour:
command find "${INSTALL_PATH}/htdocs" -type f -exec chown www-data:www-data "{}" \+
Supprimez le verrou d'installation s'il existe:
if [ -e "${INSTALL_PATH}/documents/install.lock" ]; then
command rm "${INSTALL_PATH}/documents/install.lock"
fi
Visitez l'application pour terminer la mise à jour, à l'adresse fournie par:
echo "http://${DOMAIN}/"
Une fois la mise à jour effectuée, sécurisez l'installation:
command touch "${INSTALL_PATH}/documents/install.lock"
command chown -R root:root "${INSTALL_PATH}"
command rm -r "${INSTALL_PATH}/htdocs/install"
Remerciements
- Merci aux développeurs de Dolibarr.