======Service Kanban.chapril.org====== ====== Introduction ====== Ce service est basé sur kanboard. \\ Site principal : https://kanboard.org/ \\ Sources : https://github.com/kanboard/kanboard \\ ======Installation des pré-requis====== apt update apt install -y apache2 libapache2-mod-php7.3 php7.3-cli php7.3-mbstring \ php7.3-opcache php7.3-json php7.3-mysql \ php7.3-gd php7.3-xml systemctl enable apache2 mariadb Pour les plugins : apt install -y php-zip Si ce n'est pas installé kanboard affichera : Votre instance de Kanboard n'est pas configurée pour installer des extensions depuis l'interface utilisateur. ======Création des dossiers====== mkdir -p /var/www/kanban.chapril.org mkdir -p /var/log/cron/ mkdir -p /var/log/apache2/kanban.chapril.org/ mkdir -p /srv/kanban.chapril.org/tools ======Création des liens====== ln -s /etc/cron.d/kanbanchaprilorg /srv/kanban.chapril.org/kanbanchaprilorg.cron ln -s /var/www/kanban.chapril.org /srv/kanban.chapril.org/www ======Configuration apache2====== cat > /etc/apache2/sites-available/kanban.chapril.org.conf < ServerName kanban.chapril.org ServerAdmin kanban-support@chapril.org ErrorLog ${APACHE_LOG_DIR}/kanban.chapril.org/kanban.chapril.org-error.log CustomLog ${APACHE_LOG_DIR}/kanban.chapril.org/kanban.chapril.org-access.log combined-proxy DocumentRoot /var/www/kanban.chapril.org/ php_admin_value open_basedir "/var/www/kanban.chapril.org/" AllowOverride All EOF =======Création du fichier cron======= La création du fichier cron est tiré de : https://docs.kanboard.org/en/latest/admin_guide/cronjob.html cat > /etc/cron.d/kanbanchaprilorg <>/var/log/cron/kanbanchaprilorg.log 2>&1 EOF ======Installation====== =====Installation du service===== version=1.2.13 wget https://github.com/kanboard/kanboard/archive/v$version.tar.gz tar xzvf v$version.tar.gz -C /var/www/kanban.chapril.org/ --strip-components=1 chown -R www-data:www-data /var/www/kanban.chapril.org/data mkdir /var/www/kanban.chapril.org/upload_tmp_dir/ chown www-data:www-data /var/www/kanban.chapril.org/upload_tmp_dir cp /var/www/kanban.chapril.org/config.default.php /var/www/kanban.chapril.org/config.php =====Base de données===== cat > /srv/kanban.chapril.org/tools/create_database.sql < =====Configuration===== Éditer le fichier de conf : nano /var/www/kanban.chapril.org/config.php afin d'avoir : // Enable/Disable plugin installer (Disabled by default for security reasons) // There is no code review or any approval process to submit a plugin. // This is up to the Kanboard instance owner to validate if a plugin is legit. define('PLUGIN_INSTALLER', true); // Enable/disable email configuration from the user interface define('MAIL_CONFIGURATION', true); // E-mail address used for the "From" header (notifications) define('MAIL_FROM', 'kanban-notifications@chapril.org'); Le mail kanban-notifications@chapril.org est utilisé pour l'en-tête "From" des notifications. // Mail transport to use: "smtp", "sendmail" or "mail" (PHP mail function) define('MAIL_TRANSPORT', 'smtp'); // SMTP configuration to use when the "smtp" transport is chosen define('MAIL_SMTP_HOSTNAME', 'localhost'); define('MAIL_SMTP_PORT', 25); define('MAIL_SMTP_USERNAME', ''); define('MAIL_SMTP_PASSWORD', ''); define('MAIL_SMTP_ENCRYPTION', null); // Valid values are "null", "ssl" or "tls" // Sendmail command to use when the transport is "sendmail" define('MAIL_SENDMAIL_COMMAND', '/usr/sbin/sendmail -bs'); // Run automatically database migrations // If set to false, you will have to run manually the SQL migrations from the CLI during the next Kanboard upgrade // Do not run the migrations from multiple processes at the same time (example: web page + background worker) define('DB_RUN_MIGRATIONS', true); // Database driver: sqlite, mysql or postgres (sqlite by default) define('DB_DRIVER', 'mysql'); // Mysql/Postgres username define('DB_USERNAME', 'kanbanchaprilorg_dbadmin'); // Mysql/Postgres password define('DB_PASSWORD', 'password'); // Mysql/Postgres database name define('DB_NAME', 'kanban_chapril_org_db'); // Mysql/Postgres custom port (null = default port) define('DB_PORT', null); // Mysql SSL key define('DB_SSL_KEY', null); // Mysql SSL certificate define('DB_SSL_CERT', null); // Mysql SSL CA define('DB_SSL_CA', null); =====Activation de la configuration apache===== Activation de la configuration via [[https://manpages.debian.org/stretch/apache2/a2ensite.8.en.html|ad2ensite]] ad2ensite kanban.chapril.org.conf services apache2 restart =====Configuration de l'interface une fois connecté en admin===== =====Application settings===== Aller dans Settings -> Application settings \\ ====Application URL==== * Dans la partie "Application URL" mettre : https://kanban.chapril.org/ \\ * Mettre la langue en Français. \\ * Vérifier que Enable "forget password" est coché. \\ * Changer Timezone pour "Europe/Paris". \\ * Cliquer sur save.\\ =====Taux de change des devises===== Dans Préférences > Taux de change des devises (lorsque la langue est changée en français).\\ Ensuite cliquer sur "Changer la monnaie de référence" puis choisir EUR pour l'euro. =====Installation des différents plugins ===== * Auto Email Extended Actions : Envoyer automatiquement une tâche par e-mail au créateur ou à l'utilisateur assigné à la tâche.\\ * DueDate : Forcer le tri automatique des colonnes en fonction de la date.\\ * ProjectInvitation : Inviter un nouvel utilisateur au projet actuel.\\ * TaskAssignCategory : Automatiquement assigner une catégorie quand une tâche est déplacée dans une colonne spécifique.\\ * Self-Registration : Autoriser les gens à s'inscrire eux-même à Kanboard.\\ * Gantt : Création du diagramme de Gantt. Configuration Gantt :\\ Aller dans Préférences -> Paramètres du diagramme de Gantt \\ Sélectionner "trier les tâches par date". * Auto Subtask Creation : Création de sous-tâche.\\ * TimeMachine : Plugin pour faire des sauvegardes.\\ * UpdateNotifier : Pour connaître la liste des mise à jour des plugins installés.\\ * TaskAssignDateToUndated : Ajouter automatiquement une date d'échéance aux tâches non datées pour les forcer à apparaître sur le calendrier.\\ * Group_assign : Assignation de groupe aux tâches.\\ * KanboardSearchPlugin : Recherche avancée en texte intégral dans tous les projets.\\ * Jabber : Recevoir des notifications sur Jabber.\\ Configuration Jabber : \\ Aller dans Préférences -> Intégrations \\ Rentrer le nom du server XMPP, le nom de domaine de Jabber et le pseudo Jabber pour le kanboard. * Comment Only Restrictions for Project Viewers : Ajout de la possibilité de commenter pour les spectateurs du projet.\\ ======Procédure de mise à jour====== Sauvegarde des données : mkdir -p /var/backups/kanban/$(date +%F)/data cp -r /var/www/kanban.chapril.org/data/ /var/backups/kanban/$(date +%F)/data mkdir -p /var/backups/kanban/$(date +%F)/plugins cp -r /var/www/kanban.chapril.org/plugins/ /var/backups/kanban/$(date +%F)/plugins cp /var/www/kanban.chapril.org/config.php /var/backups/kanban/$(date +%F)/config.php # data sql mkdir -p /var/backups/kanban/$(date +%F)/sql mysqldump -u database_user -password database_name > /var/backups/kanban/$(date +%F)/sql/dump.sql Téléchargement de la nouvelle version : version= last_version mkdir -p /srv/kanban.chapril.org/working_directory cd /srv/kanban.chapril.org/working_directory wget https://github.com/kanboard/kanboard/archive/v${version}.tar.gz mkdir /srv/kanban.chapril.org/working_directory/kanban.chapril.org.new tar xzvf v${version}.tar.gz -C /srv/kanban.chapril.org/working_directory/kanban.chapril.org.new --strip-components=1 Copies des données sauvegardés : cp -rf /var/backups/kanban/$(date +%F)/data/ /srv/kanban.chapril.org/kanban.chapril.org.new/working_directory/data cp -rf /var/backups/kanban/$(date +%F)/plugins/ /srv/kanban.chapril.org/working_directory/kanban.chapril.org.new/plugins cp -rf /var/backups/kanban/$(date +%F)/config.php /srv/kanban.chapril.org/working_directory/kanban.chapril.org.new/config.php cp -r /var/www/kanban.chapril.org /srv/kanban.chapril.org/working_directory/$(date +%F)_kanban.chapril.org.old Mise en place de la nouvelle version : rm -rf /var/www/kanban.chapril.org mv /srv/kanban.chapril.org/working_directory/kanban.chapril.org.new /var/www/kanban.chapril.org Gestion des droits : chown -R www-data:www-data ug+w /var/www/kanban.chapril.org/data/ chmod ug+w /var/www/kanban.chapril.org/data/ chown -R www-data:www-data /var/www/kanban.chapril.org/plugins/ chmod ug+w /var/www/kanban.chapril.org/plugins/ mkdir /var/www/kanban.chapril.org/upload_tmp_dir/ chown -R www-data:www-data /var/www/kanban.chapril.org/upload_tmp_dir/