Vous êtes ici : Accueil / Debian GNU/Linux / Applications Web / Gestion de contenu / Installer Fork CMS sur Debian

Installer Fork CMS sur Debian

Par Pierre-Yves Landuré Dernière modification 17/05/2016 10:23

Fork est un CMS moderne écrit en PHP. Il est conçu pour être facile à utiliser et personnaliser. Sa principale force de permettre l'organisation modulaire des pages de contenu. Il dispose toutefois d'une banque de thèmes et modules très limitée.

Ce guide est testé sur:

  • Debian 7.0 Wheezy

Ce guide est testé avec ces versions de Fork:

  • 3.8.2

Pré-requis

Ce guide nécessite :

Paramètres

Renseignez le nom de domaine où sera disponible l'application:

domain="www.domain.com"

Renseignez le nom d'hôte du serveur MySQL:

mysqlHost="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é):

sslKeyName="${domain}"

Installation

Détectez le proxy de commande (command ou sudo):

cmdProxy='command'
command type -f 'sudo' &>'/dev/null' && cmdProxy='sudo'

Déterminez le chemin d'installation:

installPath="/var/lib/fork/${domain}"

Assurez-vous que le dossier parent existe:

${cmdProxy} mkdir -p "${installPath}"

Préparation de l'environnement

Installez les logiciels nécessaires:

${cmdProxy} apt-get install php5-mysql php5-gd php5-cli php5-curl

Activez les modules Apache nécessaires:

${cmdProxy} a2enmod rewrite expires deflate

Rechargez la configuration de PHP:

test -e '/etc/init.d/php5-fpm' && ${cmdProxy} service 'php5-fpm' 'restart'
test -e '/etc/init.d/apache2' && ${cmdProxy} service 'apache2' 'force-reload'

Création de la base de données

Créez la base de données:

mysqlParams="$(command mysql-tools --server="${mysqlHost}" --with-ssh \
--auto-hosts --db-prefix="fork" --create "${domain}")"

Affichez les paramètres de la nouvelle base de données:

echo "${mysqlParams}"

Notez les informations de connexion fournies.

Mise en place de l'application

Installez l'application à l'aide de Composer:

command pushd "${installPath}"
${cmdProxy} composer create-project 'forkcms/forkcms' .
command popd

Corrigez le propriétaire des fichiers:

${cmdProxy} chown -R root:root "${installPath}"

Autorisez la modification des caches et emplacements de données par le serveur:

while read writeablePath; do
${cmdProxy} chown -R www-data:www-data "${installPath}/${writeablePath}"
done <<< "app/config
app/logs
app/cache
src/Backend/Cache
src/Frontend/Cache
src/Backend/Modules
src/Frontend/Modules
src/Frontend/Files
src/Frontend/Themes
library"

 

Mise en place des tâches cron

Mettez en place les tâches cron:

echo "# Fork CMS cron tasks for http://${domain}/
*/5 * * * *    www-data    /usr/bin/wget -O - --quiet --timeout=1440 'http://${domain}/backend/cronjob?module=Core&action=ProcessQueuedHooks'
*/5 * * * *    www-data    /usr/bin/wget -O - --quiet --timeout=1440 'http://${domain}/backend/cronjob?module=Core&action=SendQueuedEmails'
" | ${cmdProxy} tee "/etc/cron.d/fork-${domain//./-}"

Recharchez la configuration de cron:

${cmdProxy} service cron reload

Mise en place de l'hôte virtuel

Créez la configuration du serveur HTTP pour le domaine:

if [ -n "${sslKeyName}" -a -e "/etc/ssl/private/${sslKeyName}.key" ]; then
  ${cmdProxy} a2tools --ssl="${sslKeyName}" --overrides='All' "${domain}" "${installPath}"
${cmdProxy} a2tools --template="redirect" "${domain}" "https://${domain}"
else
${cmdProxy} a2tools --overrides='All' "${domain}" "${installPath}"
fi

L'installation est maintenant disponible sur le domaine.

Accédez à la procédure d'installation via l'URL fournie par:

echo "http://${domain}/install/"

Sécurisation

Interdisez la modification du dossier de configuration:

${cmdProxy} chown -R root:root "${installPath}/app/config"

Sauvegardes

Sauvegardez l'installation avec Backup Manager (voir Installer et configurer Backup Manager sur Debian):

${cmdProxy} backup-manager-tools add "${installPath}"

N'oubliez pas de sauvegarder la base de données (voir Installer et configurer MySQL sur Debian).

Remerciements