Comment installer MODX Revolution sur un VPS CentOS 7 LAMP
Vous utilisez un système différent? MODX Revolution est un système de gestion de contenu (CMS) de niveau entreprise rapide, flexible, évolutif, gratuit et open source écrit i
Redmine est un outil de gestion de projet gratuit et open source basé sur le Web. Il est écrit en Ruby on Rails et prend en charge plusieurs serveurs de base de données pour stocker la base de données. Il s'agit d'une application riche en fonctionnalités prenant en charge plusieurs projets, une liste de contrôle d'accès basée sur les rôles et un système de suivi des problèmes. Il prend également en charge le diagramme de Gantt et le calendrier, la gestion des fichiers, par wiki et forum par projet, ainsi que de nombreuses autres fonctionnalités. Il prend en charge les systèmes de contrôle de version tels que Git, SVN ou CVS. Il est également multilingue, prenant en charge jusqu'à 49 langues.
Pour ce didacticiel, nous utiliserons 192.168.1.1
comme adresse IP publique et redmine.example.com
comme nom de domaine pointé vers l'instance Vultr. Veuillez vous assurer de remplacer toutes les occurrences de l'exemple de nom de domaine et de l'adresse IP par celui-ci.
Mettez à jour votre système de base à l'aide du guide Comment mettre à jour Ubuntu 16.04 . Une fois votre système mis à jour, procédez à l'installation des dépendances.
Redmine est écrit en Ruby on Rails, nous aurons donc besoin que Phusion Passenger s'intègre au serveur Web Apache pour servir l'application.
Installez Apache.
sudo apt -y install apache2 apache2-dev libcurl4-openssl-dev
Pour construire Ruby et Passenger, nous aurons également besoin d'outils de développement. Installez les outils requis.
sudo apt -y install imagemagick libmagickwand-dev git build-essential automake libgmp-dev
Redmine prend en charge plusieurs types de serveurs de bases de données tels que MySQL, PostgreSQL et MSSQL. Dans ce tutoriel, nous utiliserons PostgreSQL pour héberger le serveur de base de données Redmine.
PostgreSQL est un système de base de données relationnelle objet. Le référentiel Ubuntu par défaut contient une ancienne version de PostgreSQL, alors ajoutez le référentiel PostgreSQL au système.
echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
Installez le serveur de base de données PostgreSQL.
sudo apt -y install postgresql
Démarrez le serveur PostgreSQL et activez-le pour démarrer automatiquement au démarrage.
sudo systemctl start postgresql
sudo systemctl enable postgresql
Modifiez le mot de passe de l'utilisateur PostgreSQL par défaut.
sudo passwd postgres
Connectez-vous en tant qu'utilisateur PostgreSQL.
sudo su - postgres
Créez un nouvel utilisateur PostgreSQL pour Redmine.
createuser redmine
Vous êtes autorisé à utiliser n'importe quel nom d'utilisateur au lieu de redmine
. PostgreSQL fournit le psql
shell pour exécuter des requêtes sur la base de données. Basculez vers le shell PostgreSQL.
psql
Définissez un mot de passe pour le nouvel utilisateur créé pour la base de données Redmine.
ALTER USER redmine WITH ENCRYPTED password 'DBPassword';
Remplacez-le DBPassword
par un mot de passe sécurisé. Créez une nouvelle base de données pour l'installation de Redmine.
CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
Sortez du psql
shell.
\q
Passez à l' sudo
utilisateur.
exit
Installez quelques autres dépendances PostgreSQL requises.
sudo apt -y install libpqxx-dev protobuf-compiler
Nous installerons la dernière version de Ruby à l'aide de RVM. Il est utilisé pour installer et gérer plusieurs versions de Ruby.
Ajoutez le référentiel RVM.
sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt update
Installez RVM.
sudo apt -y install rvm
Comme nous devons installer Ruby sur tout le système, nous basculerons temporairement sur l'utilisateur root.
sudo -i
Mettez à jour les variables d'environnement.
echo "source /etc/profile.d/rvm.sh" | tee -a /etc/profile
source /etc/profile.d/rvm.sh
Installez la dernière version de Ruby.
rvm install 2.5.1
Remarque: Si vous utilisez une version différente de Ruby, assurez-vous de mettre à jour le chemin Ruby en conséquence.
Utilisez la version installée de Ruby.
rvm use 2.5.1 --default
Vous pouvez vérifier sa version.
ruby -v
Vous verrez une sortie similaire.
root@vultr:~# ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
Install bundler
, qui est le gestionnaire de dépendances de l'application Ruby.
gem install bundler
Ruby est maintenant installé. Avant d'installer Redmine, nous devons installer Phusion Passenger.
Exécutez la commande suivante pour installer Passenger.
gem install passenger
Installez le module Apache pour Passenger.
passenger-install-apache2-module
Le script d'installation vous posera quelques questions. Tout d'abord, il vous fournira des informations sur le processus d'installation. Ensuite, il vous demandera de sélectionner la langue que vous utiliserez. Puisque notre application est écrite en Ruby on Rails, sélectionnez Ruby dans le menu et appuyez sur ENTERpour continuer.
Which languages are you interested in?
Use <space> to select.
If the menu doesn't display correctly, press '!'
‣ ⬢ Ruby
⬢ Python
⬡ Node.js
⬡ Meteor
Le programme d'installation va maintenant vérifier les exigences. Le programme d'installation ne rencontrera aucune dépendance manquante et procédera automatiquement à la compilation et à l'installation du module.
Une fois le module installé, il vous demandera d'ajouter le module au fichier de configuration Apache.
Almost there!
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
</IfModule>
After you restart Apache, you are ready to deploy any number of web
applications on Apache, with a minimum amount of configuration!
Press ENTER when you are done editing.
Nous allons ignorer cela pour l'instant et le terminerons plus tard dans le didacticiel. Appuyez sur ENTERpour sauter cette étape.
Enfin, le script d'installation validera l'installation et vous verrez un avertissement indiquant que le module Passager n'est pas spécifié dans la configuration Apache.
Validating installation...
* Checking whether this Passenger install is in PATH... ✓
* Checking whether there are no other Passenger installations... ✓
* Checking whether Apache is installed... ✓
* Checking whether the Passenger module is correctly configured in Apache... (!)
You did not specify 'LoadModule passenger_module' in any of your Apache
configuration files. Please paste the configuration snippet that this
installer printed earlier, into one of your Apache configuration files, such
as /etc/apache2/apache2.conf.
Detected 0 error(s), 1 warning(s).
Press ENTER to continue.
Maintenant que nous avons installé le module Passenger pour Apache, téléchargez et installez Redmine. Basculez à sudo
nouveau vers l' utilisateur car nous n'avons plus besoin d'exécuter de commandes à l'aide de l' root
utilisateur.
exit
Il est recommandé d'utiliser un utilisateur non privilégié pour exécuter l'application afin de la maintenir isolée du reste du système. Créez un nouvel utilisateur pour Redmine et basculez vers l'utilisateur nouvellement créé.
sudo adduser --disabled-password --gecos "Redmine User" redmine
sudo su - redmine
Téléchargez la dernière version de Redmine à partir de la page de téléchargement officielle de Redmine .
cd ~
wget http://www.redmine.org/releases/redmine-3.4.4.tar.gz
Extrayez l'archive et renommez le répertoire par souci de commodité.
tar -xf redmine-*.tar.gz
mv redmine-*/ redmine/
Copiez les exemples de fichiers de configuration sur son emplacement de production.
cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml
Ouvrez le fichier de configuration de la base de données que nous venons de copier pour entrer les détails de la base de données.
nano config/database.yml
Par défaut, le fichier de base de données est configuré pour MySQL. Trouvez les configurations de production et de développement et testez qui utilise l'adaptateur MySQL. Mettez en commentaire toutes ces lignes.
#production:
# adapter: mysql2
# database: redmine
# host: localhost
# username: root
# password: ""
# encoding: utf8
#development:
# adapter: mysql2
# database: redmine_development
# host: localhost
# username: root
# password: ""
# encoding: utf8
#test:
# adapter: mysql2
# database: redmine_test
# host: localhost
# username: root
# password: ""
# encoding: utf8
Furthur, retrouvez les lignes qui sont commentées, ayant la production
configuration de l' postgresql
adaptateur. Décommentez ces lignes et mettez à jour le nom de la base de données et les informations d'identification de l'utilisateur. Assurez-vous d'utiliser l'indentation correcte, qui est de deux espaces.
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: "DBPassword"
Configurez l'application pour utiliser la configuration PostgreSQL.
bundle config build.pg --with-pg-config=/usr/bin/pg_config
Installez les dépendances requises par l'application.
bundle install --path vendor/bundle --without development test
Vous verrez le message suivant à la fin de l'installation.
Installing roadie-rails 1.1.1
Bundle complete! 31 Gemfile dependencies, 55 gems now installed.
Gems in the groups development and test were not installed.
Bundled gems are installed into `./vendor/bundle`
La commande suivante génère des jetons secrets qui sont utilisés pour coder les données de session.
bundle exec rake generate_secret_token
Écrivez la base de données PostgreSQL.
RAILS_ENV=production bundle exec rake db:migrate
Exécutez la commande suivante, qui écrit les données par défaut dans la base de données PostgreSQL.
RAILS_ENV=production bundle exec rake redmine:load_default_data
La commande ci-dessus vous demandera de choisir la langue par défaut à utiliser avec l'application. Le choix par défaut est l'anglais; choisissez selon votre préférence.
[redmine@vultr redmine]$ RAILS_ENV=production bundle exec rake redmine:load_default_data
Select language: ar, az, bg, bs, ca, cs, da, de, el, en, en-GB, es, es-PA, et, eu, fa, fi, fr, gl, he, hr, hu, id, it, ja, ko, lt, lv, mk, mn, nl, no, pl, pt, pt-BR, ro, ru, sk, sl, sq, sr, sr-YU, sv, th, tr, uk, vi, zh, zh-TW [en]
====================================
Default configuration data loaded.
L'installation de l'application Redmine est maintenant terminée. Modifiez la propriété et les autorisations des répertoires et des fichiers.
mkdir -p tmp tmp/pdf public/plugin_assets
chown -R redmine:redmine files log tmp public/plugin_assets
chmod -R 755 files log tmp public/plugin_assets
Nous avons configuré tout ce dont nous avons besoin de l'utilisateur non privilégié. Revenez à l' sudo
utilisateur en exécutant su - <username>
.
Ajoutez le module Passenger pour Apache dans le fichier de configuration Apache. Cela chargera automatiquement le module Passager.
echo "LoadModule passenger_module /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/buildout/apache2/mod_passenger.so" | sudo tee -a /etc/apache2/apache2.conf
Remarque: le chemin d'accès au module Passager peut changer lors de la sortie d'une nouvelle version de Passenger. Pour trouver le chemin d'accès au module, utilisez la sudo find / -name mod_passenger.so
commande.
Créez un nouveau fichier hôte virtuel pour votre application Redmine.
sudo nano /etc/apache2/sites-available/redmine.conf
Remplissez le fichier avec le contenu suivant.
<VirtualHost *:80>
ServerName redmine.example.com
DocumentRoot /home/redmine/redmine/public
PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
PassengerUser redmine
<Directory /home/redmine/redmine/public>
Allow from all
Options -MultiViews
Require all granted
</Directory>
</VirtualHost>
Assurez-vous de le remplacer redmine.example.com
par votre nom de domaine réel. Assurez-vous également que le chemin d'accès à PassengerRoot
et PassengerDefaultRuby
est correct. Le chemin d'accès aux fichiers binaires peut changer lors de la sortie d'une nouvelle version de Ruby ou Passenger. Pour trouver ces chemins, exécutez la commande suivante.
passenger-config about ruby-command
Vous obtiendrez la sortie suivante.
user@vultr:~$ passenger-config about ruby-command
passenger-config was invoked through the following Ruby interpreter:
Command: /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
Version: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
To use in Apache: PassengerRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
To use in Nginx : passenger_ruby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
To use with Standalone: /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3/bin/passenger start
## Notes for RVM users
Do you want to know which command to use for a different Ruby interpreter? 'rvm use' that Ruby interpreter, then re-run 'passenger-config about ruby-command'.
Une fois le fichier hôte virtuel créé. Activez la configuration.
sudo a2ensite redmine
Redémarrez le serveur Web Apache.
sudo systemctl restart apache2
Vous pouvez maintenant accéder à votre interface Redmine sur http://redmine.example.com
. Connectez-vous avec le nom d'utilisateur admin
et le mot de passe admin
. Lors de votre première connexion, Redmine vous demandera de mettre à jour le mot de passe.
Comme notre installation Redmine est sur un serveur public, il est recommandé d'utiliser SSL pour sécuriser l'échange des données du serveur.
Ajoutez le référentiel Certbot.
sudo add-apt-repository --yes ppa:certbot/certbot
sudo apt-get update
Installez Certbot, qui est l'application cliente de Let's Encrypt CA.
sudo apt -y install certbot
Remarque: Pour obtenir des certificats de Let's Encrypt CA, le domaine pour lequel les certificats doivent être générés doit être dirigé vers le serveur. Sinon, apportez les modifications nécessaires aux enregistrements DNS du domaine et attendez que le DNS se propage avant de refaire la demande de certificat. Certbot vérifie l'autorité de domaine avant de fournir les certificats.
Générez les certificats SSL.
sudo certbot certonly --webroot -w /home/redmine/redmine/public -d redmine.example.com
Les certificats générés sont susceptibles d'être stockés dans /etc/letsencrypt/live/redmine.example.com/
. Le certificat SSL sera stocké sous cert.pem
et la clé privée sera stockée sous privkey.pem
.
Les certificats Let's Encrypt expirent dans 90 jours, il est donc recommandé de configurer le renouvellement automatique des certificats à l'aide des tâches Cron.
Ouvrez le fichier de travail Cron pour l' root
utilisateur.
sudo crontab -e
Ajoutez la ligne suivante à la fin du fichier.
30 5 * * * /usr/bin/certbot renew --quiet
Le travail Cron ci-dessus s'exécutera tous les jours à 5h30. Si le certificat doit expirer, il sera automatiquement renouvelé.
Activez le module SSL pour Apache.
sudo a2enmod ssl
Modifiez le fichier hôte virtuel que nous avons créé précédemment pour Redmine.
sudo nano /etc/apache2/sites-available/redmine.conf
Modifiez le fichier hôte virtuel pour qu'il ressemble à ce qui suit.
<VirtualHost *:80>
ServerName redmine.example.com
Redirect permanent / https://redmine.example.com/
</VirtualHost>
<VirtualHost *:443>
ServerAdmin admin@example.com
ServerName redmine.example.com
DocumentRoot "/home/redmine/redmine/public"
<Directory "/home/redmine/redmine/public">
Options None
Require all granted
</Directory>
PassengerAppEnv production
PassengerRoot /usr/share/rvm/gems/ruby-2.5.1/gems/passenger-5.2.3
PassengerDefaultRuby /usr/share/rvm/gems/ruby-2.5.1/wrappers/ruby
PassengerUser redmine
PassengerHighPerformance on
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/redmine.example.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/redmine.example.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/redmine.example.com/chain.pem
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS
<IfModule headers_module>
Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure
Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains"
</IfModule>
</VirtualHost>
Enregistrez le fichier et quittez l'éditeur.
Redémarrez Apache pour que les modifications prennent effet.
sudo systemctl restart apache2
Vous pouvez maintenant accéder Redmine plus HTTPS
à https://redmine.example.com
.
Félicitations, vous avez correctement installé Redmine sur votre instance Ubuntu 16.04. Commencez à développer votre projet en créant ou en important votre projet.
Vous utilisez un système différent? MODX Revolution est un système de gestion de contenu (CMS) de niveau entreprise rapide, flexible, évolutif, gratuit et open source écrit i
McMyAdmin est un panneau de contrôle de serveur Minecraft utilisé pour administrer votre serveur. Bien que McMyAdmin soit gratuit, il existe plusieurs éditions, dont certaines sont pai
TeamTalk est un système de conférence qui permet aux utilisateurs davoir des conversations audio / vidéo de haute qualité, un chat textuel, de transférer des fichiers et de partager des écrans. Cest moi
Vous utilisez un système différent? Introduction CyberPanel est lun des premiers panneaux de contrôle du marché à la fois open source et utilisant OpenLiteSpeed. Quest-ce que
PhpBB est un programme de babillard open source. Cet article vous montrera comment installer phpBB sur un serveur Web Apache sur Ubuntu 16.04. Cétait écrit
Avoir un seul utilisateur, qui est root, peut être dangereux. Permet donc de résoudre ce problème. Vultr nous donne la liberté de faire ce que nous voulons avec nos utilisateurs et nos serveurs
Vous utilisez un système différent? ESpeak peut générer des fichiers audio de synthèse vocale (TTS). Ceux-ci peuvent être utiles pour de nombreuses raisons, telles que la création de votre propre Turin
Vous utilisez un système différent? Thelia est un outil open source pour la création de sites Web de commerce électronique et la gestion de contenu en ligne, écrit en PHP. Code source Thelia i
Vous utilisez un système différent? Fuel CMS est un système de gestion de contenu basé sur CodeIgniter. Son code source est hébergé sur GitHub. Ce guide vous montrera comment
Introduction Vous avez des problèmes de connectivité lorsque des visiteurs dautres pays accèdent à votre site Web? Vous vous demandez pourquoi la vitesse de téléchargement de votre Foreig
Vous utilisez un système différent? Ghost est une plate-forme de blogs open source qui gagne en popularité auprès des développeurs et des utilisateurs ordinaires depuis sa 201
Pip est un outil de gestion des packages Python. Lutilisation dun gestionnaire de packages permet une gestion efficace de votre serveur. Dans ce tutoriel, je vais expliquer comment t
BBR (Bottleneck Bandwidth and RTT) est un nouvel algorithme de contrôle de congestion qui est contribué à la pile TCP du noyau Linux par Google. Avec BBR en place,
Icinga 2 est un système de surveillance des ressources réseau open source largement utilisé, et Icinga Web 2 est linterface Web officielle pour Icinga 2. Dans ce didacticiel,
YOURLS (Your Own URL Shortener) est une application open source de raccourcissement dURL et danalyse de données. Dans cet article, nous couvrirons le processus dinstallation
Vous utilisez un système différent? TLS 1.3 est une version du protocole TLS (Transport Layer Security) qui a été publiée en 2018 en tant que norme proposée dans la RFC 8446
Cet article vous apprendra comment configurer une prison chroot sur Debian. Je suppose que vous utilisez Debian 7.x. Si vous utilisez Debian 6 ou 8, cela peut fonctionner, bu
Introduction Un moyen facile de configurer un serveur VPN sur Debian est avec PiVPN. PiVPN est un installateur et un wrapper pour OpenVPN. Il crée des commandes simples pour vous t
Vous utilisez un système différent? Alfresco Community Edition est une version open source des services de contenu Alfresco. Il est écrit en Java et utilise PostgreSQL t
Vous utilisez un système différent? RTMP est idéal pour diffuser du contenu en direct. Lorsque RTMP est associé à FFmpeg, les flux peuvent être convertis en différentes qualités. Vultr i
Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.
Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.
Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau
ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.
Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+
Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.
Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus
13 outils commerciaux d'extraction de données de Big Data
Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true
Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.