======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/