Orangescrum est une application de gestion de projet et de collaboration gratuite et open-source. Il est idéal pour les petites et moyennes entreprises et vous aide à créer et à gérer vos projets, équipes, documents et tâches et à communiquer avec les autres membres de l'équipe. C'est une application de gestion de projet très utile avec une interface simple qui vous aide à planifier, organiser et gérer vos tâches pour tous les projets. Il est livré avec de nombreuses fonctionnalités, notamment Scrum Board, Sprint Planning and Reports, Story Points, Project Backlog et bien d'autres.
Dans ce tutoriel, nous allons vous montrer comment installer l'outil de gestion de projet OrangeScrum sur le serveur Ubuntu 20.04.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un nom de domaine valide pointé vers l'adresse IP de votre serveur.
- Un mot de passe root est configuré sur le serveur.
Installer Apache, MariaDB et PHP
Tout d'abord, installez le serveur Web Apache et le serveur de base de données MariaDB avec la commande suivante :
apt-get install apache2 mariadb-server -y
Après avoir installé les packages ci-dessus, vous devrez installer PHP version 7.2 et les autres extensions requises sur votre système. Par défaut, Ubuntu 20.04 est livré avec la version PHP 7.4, vous devrez donc ajouter le référentiel Ondrej dans votre système.
Tout d'abord, installez les packages requis avec la commande suivante :
apt-get install software-properties-common gnupg2 -y
Ajoutez ensuite le dépôt Ondrej avec la commande suivante :
add-apt-repository ppa:ondrej/php
Ensuite, mettez à jour le référentiel et installez PHP avec les autres packages requis avec la commande suivante :
apt-get install php7.2 php7.2-bcmath php7.2-cgi php7.2-cli php7.2-common php7.2-curl php7.2-dba php7.2-enchant php7.2-fpm php7.2-gd php7.2-imap php7.2-intl php7.2-ldap php7.2-mbstring php7.2-mysql php7.2-opcache php7.2-imagick php7.2-memcache php7.2-soap php7.2-tidy php7.2-xml php7.2-zip libapache2-mod-php7.2 xvfb libfontconfig wkhtmltopdf unzip wget -y
Une fois tous les packages installés, modifiez le fichier php.ini et modifiez certains paramètres requis :
nano /etc/php/7.2/apache2/php.ini
Modifiez les valeurs suivantes :
post_max_size = 200M upload_max_filesize = 200M max_execution_time = 300 memory_limit = 512M max_input_vars = 5000 date.timezone = Asia/Kolkata
Enregistrez et fermez le fichier puis redémarrez le service Apache pour appliquer les modifications :
systemctl restart apache2
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Créer une base de données pour OrangeScrum
Ensuite, vous devrez créer une base de données et un utilisateur pour OrangeScrum. Tout d'abord, connectez-vous au shell MariaDB avec la commande suivante :
mysql
Une fois connecté, créez une base de données et un utilisateur avec la commande suivante :
MariaDB [(none)]> CREATE DATABASE orangescrumdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON orangescrumdb.* TO 'orangescrumuser'@'localhost' IDENTIFIED BY 'password';
Ensuite, videz les privilèges et quittez le shell MariaDB avec la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;
Ensuite, vous devrez désactiver le mode strict pour MariaDB. Vous pouvez le faire en créant le fichier disable_strict_mode.cnf :
nano /etc/mysql/conf.d/disable_strict_mode.cnf
Ajoutez les lignes suivantes :
[mysqld] sql_mode="IGNORE_SPACE,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
Enregistrez et fermez le fichier. Ensuite, redémarrez MariaDB pour appliquer toutes les modifications :
systemctl restart mariadb
Installer OrangeScrum
Tout d'abord, vous devrez télécharger la dernière version d'OrangeScrum depuis leur site officiel. Après l'avoir téléchargé, décompressez le fichier téléchargé avec la commande suivante :
unzip orangescrum-master.zip
Ensuite, déplacez le répertoire extrait vers le répertoire racine d'Apache avec la commande suivante :
mv orangescrum-master /var/www/html/orangescrum
Ensuite, changez le répertoire en Orangescrum et importez la base de données OrangeScrum dans votre base de données :
cd /var/www/html/orangescrum
mysql -u orangescrumuser -p orangescrumdb < database.sql
Entrez le mot de passe que vous avez choisi pour l'utilisateur MySQL 'orangescrumuser' lorsqu'il est demandé par la commande mysql.
Ensuite, éditez le fichier database.php et définissez les paramètres de votre base de données :
nano app/Config/database.php
Modifiez les lignes suivantes :
class DATABASE_CONFIG { public $default = array( 'datasource' => 'Database/Mysql', 'persistent' => false, 'host' => 'localhost', 'login' => 'orangescrumuser', 'password' => 'password', 'database' => 'orangescrumdb', 'prefix' => '', 'encoding' => 'utf8', ); }
Enregistrez et fermez le fichier lorsque vous avez terminé.
Ensuite, donnez les permissions appropriées au répertoire orangescrum :
chown -R www-data:www-data /var/www/html/orangescrum
chmod -R 775 /var/www/html/orangescrum
Configurer Apache pour OrangeScrum
Ensuite, vous devrez créer un nouveau fichier de configuration d'hôte virtuel Apache pour OrangeScrum. Vous pouvez le créer avec la commande suivante :
nano /etc/apache2/sites-available/orangescrum.conf
Ajoutez les lignes suivantes :
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /var/www/html/orangescrum/ ServerName orangescrum.example.com <Directory /var/www/html/orangescrum/> DirectoryIndex index.php index.html AllowOverride All Allow from all Order allow,deny Options Indexes FollowSymlinks </Directory> </VirtualHost>
Enregistrez et fermez le fichier puis activez le fichier d'hôte virtuel Apache avec la commande suivante :
a2ensite orangescrum.conf
Ensuite, activez les modules requis avec la commande suivante :
phpenmod mbstring
a2enmod rewrite
a2enmod headers
Ensuite, redémarrez le service Apache pour appliquer les modifications :
systemctl restart apache2
Vous pouvez maintenant vérifier l'état d'Apache avec la commande suivante :
systemctl status apache2
Vous devriez obtenir le résultat suivant :
? apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2020-09-17 15:36:20 UTC; 5min ago Docs: https://httpd.apache.org/docs/2.4/ Process: 40670 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS) Main PID: 40689 (apache2) Tasks: 11 (limit: 2353) Memory: 47.1M CGroup: /system.slice/apache2.service ??40689 /usr/sbin/apache2 -k start ??40690 /usr/sbin/apache2 -k start ??40692 /usr/sbin/apache2 -k start ??40694 /usr/sbin/apache2 -k start ??40698 /usr/sbin/apache2 -k start ??40699 /usr/sbin/apache2 -k start ??40700 /usr/sbin/apache2 -k start ??40706 /usr/sbin/apache2 -k start ??40808 /usr/sbin/apache2 -k start ??40809 /usr/sbin/apache2 -k start ??40810 /usr/sbin/apache2 -k start Sep 17 15:36:20 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...
Sécuriser OrangeScrum avec Let's Encrypt SSL
Ensuite, il est recommandé de sécuriser OrangeScrum avec Let's Encrypt SSL. Tout d'abord, installez le client Certbot pour gérer le SSL.
apt-get install python3-certbot-apache -y
Après avoir installé le client Certbot, exécutez la commande suivante pour installer le SSL Let's Encrypt pour votre domaine :
certbot --apache -d orangescrum.example.com
Il vous sera demandé de fournir votre adresse e-mail et d'accepter les conditions d'utilisation comme indiqué ci-dessous :
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for orangescrum.example.com Enabled Apache rewrite module Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/orangescrum-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/orangescrum-le-ssl.conf Enabling available site: /etc/apache2/sites-available/orangescrum-le-ssl.conf
Ensuite, choisissez de rediriger ou non le trafic HTTP vers HTTPS comme indiqué ci-dessous :
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Tapez 2 et appuyez sur Entrée pour continuer. Une fois l'installation terminée, vous devriez voir la sortie suivante :
Enabled Apache rewrite module Redirecting vhost in /etc/apache2/sites-enabled/orangescrum.conf to ssl vhost in /etc/apache2/sites-available/orangescrum-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://orangescrum.example.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=orangescrum.example.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/orangescrum.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/orangescrum.example.com/privkey.pem Your cert will expire on 2020-11-11. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Désormais, vous pouvez accéder à votre site Web Open Classifieds en toute sécurité à l'aide de l'URL https://orangescrum.example.com.
Accéder à OrangeScrum
Maintenant, ouvrez votre navigateur Web et tapez l'URL https://orangescrum.example.com. Vous devriez voir l'écran d'inscription à OrangeScrum :
Fournissez vos informations SMTP ou cliquez sur Ignorer cette étape bouton. Vous devriez voir l'écran suivant :
Indiquez votre nom de site, votre adresse e-mail, votre mot de passe et cliquez sur S'inscrire bouton. Vous serez redirigé vers le tableau de bord Orangescrum sur la page suivante :
Conclusion
Toutes nos félicitations! vous avez installé avec succès OrangeScrum avec Let's Encrypt SSL sur le serveur Ubuntu 20.04. Vous pouvez maintenant créer votre premier projet, inviter des utilisateurs et créer et leur attribuer une tâche. N'hésitez pas à me demander si vous avez des questions.