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
Leanote est une alternative gratuite, légère et open source à Evernote, qui est écrite en Golang. En pensant à l'expérience utilisateur, Leanote offre aux utilisateurs de nombreuses fonctionnalités pratiques, notamment la prise en charge multiplateforme, l'écriture dans la syntaxe MarkDown, les blogs publics ou privés, la collecte et le partage de connaissances et la collaboration en équipe.
Dans cet article, je vais vous guider à travers la configuration d'un serveur Leanote sur une instance de serveur CentOS 7. Pour des raisons de sécurité, l'activation de l' HTTPS support
utilisation d'un certificat SSL Let's Encrypt et de Nginx sera également couverte.
203.0.113.1
.leanote
.leanote.example.com
pointé vers l'instance de serveur mentionnée ci-dessus.Lors du lancement d'une nouvelle instance de serveur Vultr CentOS 7, il est toujours recommandé de configurer un fichier d'échange afin de garantir le bon fonctionnement du système. Par exemple, la création d'un fichier d'échange de 2048 Mo est adaptée à une machine avec 2 Go de mémoire.
sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
free -m
Remarque: Si vous utilisez une taille de serveur différente, vous devrez peut-être modifier la taille du fichier d'échange.
Téléchargez et extrayez la dernière version stable de Leanote pour système Linux 64 bits:
cd
wget https://sourceforge.net/projects/leanote-bin/files/2.6.1/leanote-linux-amd64-v2.6.1.bin.tar.gz
tar -zxvf leanote-linux-amd64-v2.6.1.bin.tar.gz
Comme requis par Leanote, le SGBD MongoDB NoSQL doit être en place avant de pouvoir configurer avec succès un serveur Leanote.
Créez le référentiel MongoDB 4.0 YUM comme suit:
cat <<EOF | sudo tee /etc/yum.repos.d/mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/\$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
Installez tous les composants et outils MongoDB à l'aide du référentiel YUM MongoDB 4.0 créé précédemment:
sudo yum install -y mongodb-org
Par défaut, MongoDB utiliserait le 27017
port lors du travail, ce qui n'est pas autorisé si SELinux est en enforcing
mode sur la machine CentOS 7. Utilisez la commande suivante pour confirmer le mode SELinux actuel:
sudo getenforce
Sur une instance de serveur Vultr CentOS 7, SELinux est désactivé par défaut. Ainsi, la sortie de la commande ci-dessus serait:
Disabled
Dans ce cas, vous pouvez vous sentir libre d'ignorer les instructions suivantes pour configurer SELinux et continuer.
Cependant, si vous exécutez une instance de serveur CentOS 7 d'origine, la sortie de la commande ci-dessus serait Enforcing
. Vous devez exécuter l'une des trois options ci-dessous avant de pouvoir démarrer et activer le service MongoDB.
Option 1: autoriser MongoDB à utiliser le 27017
port
sudo semanage port -a -t mongod_port_t -p tcp 27017
Option 2: désactiver SELinux
sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
sudo shutdown -r now
Option 3: changer SELinux en permissive
mode
sudo sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
sudo shutdown -r now
Démarrez le service MongoDB et faites-le démarrer après un redémarrage du système:
sudo systemctl start mongod.service
sudo systemctl enable mongod.service
Utilisez les commandes ci-dessous pour importer les données Leanote initiales dans MongoDB:
rm /home/leanote/leanote/mongodb_backup/leanote_install_data/.DS_Store
mongorestore --host localhost -d leanote --dir /home/leanote/leanote/mongodb_backup/leanote_install_data/
Pour des raisons de sécurité, vous devez activer le contrôle d'accès à MongoDB juste après que le service MongoDB est opérationnel. À cette fin, vous devez créer au moins deux comptes d'utilisateurs MongoDB: un compte d'administrateur d'utilisateurs et un compte d'administrateur de base de données. Vous devrez également modifier la configuration de MongoDB.
Entrez dans le shell MongoDB:
mongo --host 127.0.0.1:27017
Basculez vers la admin
base de données:
use admin
Créez un administrateur utilisateur nommé useradmin
qui utilise un mot de passe useradminpassword
:
db.createUser({ user: "useradmin", pwd: "useradminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
Remarque: L'administrateur des utilisateurs useradmin
est censé gérer tous les utilisateurs de MongoDB, il est donc sage de choisir un mot de passe fort. Bien sûr, une astuce plus sûre consiste à remplacer useradmin
par un nom d'utilisateur difficile à deviner.
Basculez vers la leanote
base de données:
use leanote
Créez un administrateur de base de données nommé leanoteadmin
qui utilise un mot de passe leanoteadminpassword
:
db.createUser({ user: "leanoteadmin", pwd: "leanoteadminpassword", roles: [{ role: "dbOwner", db: "leanote" }] })
Remarque : Encore une fois, il est recommandé de choisir un nom d'utilisateur moins connu et un mot de passe difficile à deviner.
Une fois les utilisateurs MongoDB créés, vous pouvez confirmer les résultats:
use admin
db.auth("useradmin", "useradminpassword")
Confirmez l'administrateur de la base de données:
use leanote
db.auth("leanoteadmin", "leanoteadminpassword")
Les deux sortiront 1
comme confirmation.
Quittez le shell MongoDB:
exit
Afin d'activer le contrôle d'accès à MongoDB, vous devez également ajouter deux lignes au fichier de configuration MongoDB /etc/mongod.conf
, comme suit:
sudo bash -c "echo 'security:' >> /etc/mongod.conf"
sudo bash -c "echo ' authorization: enabled' >> /etc/mongod.conf"
Redémarrez le service MongoDB pour que les modifications prennent effet:
sudo systemctl restart mongod.service
Désormais, vous ne pouvez utiliser les deux comptes utilisateur que pour accéder à MongoDB et le gérer, useradmin
pour gérer tous les utilisateurs de MongoDB et leanoteadmin
pour gérer leanote
uniquement la base de données.
Sauvegardez le fichier de configuration Leanote /home/leanote/leanote/conf/app.conf
:
cd /home/leanote/leanote/conf/
cp app.conf app.conf.bak
Utilisez l' vi
éditeur pour ouvrir le fichier de configuration Leanote:
vi app.conf
Trouvez les lignes suivantes une par une:
site.url=http://localhost:9000
db.username= # if not exists, please leave it blank
db.password= # if not exists, please leave it blank
app.secret=V85ZzBeTnzpsHyjQX4zukbQ8qqtju9y2aDM55VWxAH9Qop19poekx3xkcDVvrD0y
Remplacez-les, respectivement, comme indiqué ci-dessous:
site.url=http://leanote.example.com:9000
db.username=leanoteadmin
db.password=leanoteadminpassword
app.secret=E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
Remarque: Pour des raisons de sécurité, la valeur du app.secret
paramètre DOIT être une chaîne aléatoire de 64 bits différente de celle d'origine. Assurez-vous de remplacer la valeur E52tyCDBRk39HmhdGYJLBS3etXpnz7DymmxkgHBYxd7Y9muWVVJ5QZNdDEaHV2sA
par votre propre valeur aléatoire 64 bits.
Sauvegarder et quitter:
:wq!
Modifiez les règles de pare-feu afin d'autoriser le trafic TCP entrant sur le port 9000
:
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo systemctl reload firewalld.service
Démarrez Leanote en utilisant le script officiel:
cd /home/leanote/leanote/bin
bash run.sh
En voyant Listening on.. 0.0.0.0:9000
, pointez votre navigateur Web préféré http://leanote.example.com:9000
pour commencer à utiliser le site Leanote.
Utilisez le compte administrateur Leanote par défaut pour vous connecter:
admin
abc123
Pour des raisons de sécurité, vous devez modifier le mot de passe par défaut immédiatement après la connexion.
HTTPS
accèsPour l'instant, vous pouvez déjà accéder au serveur Leanote en utilisant le protocole HTTP, un protocole moins sécurisé. Afin d'améliorer la sécurité du système, vous pouvez l'activer HTTPS
en déployant à la fois un certificat SSL Let's Encrypt et le proxy inverse Nginx sur votre machine.
Avant d'obtenir le certificat SSL Let's Encrypt, vous devez configurer correctement le nom d'hôte et le nom de domaine complet sur votre ordinateur.
Tout d'abord, appuyez sur CTRL+ Cpour arrêter le script Leanote run.sh
.
Ensuite, configurez le nom d'hôte et le nom de domaine complet comme suit:
sudo hostnamectl set-hostname leanote
cat <<EOF | sudo tee /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
203.0.113.1 leanote.example.com leanote
EOF
Vous pouvez également confirmer les résultats:
hostname
hostname -f
Bloquer le trafic entrant sur le port 9000
et autoriser le trafic entrant sur les ports HTTP
et les HTTPS
services:
sudo firewall-cmd --permanent --remove-port=9000/tcp
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld.service
Installez l'utilitaire Certbot:
sudo yum -y install yum-utils
sudo yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install -y certbot
Demandez un certificat SSL Let's Encrypt pour le domaine leanote.example.com
:
sudo certbot certonly --standalone --agree-tos --no-eff-email -m [email protected] -d leanote.example.com
Le certificat et la chaîne seront enregistrés comme suit:
/etc/letsencrypt/live/leanote.example.com/fullchain.pem
Le fichier de clé privée sera enregistré comme suit:
/etc/letsencrypt/live/leanote.example.com/privkey.pem
Par défaut, le certificat SSL Let's Encrypt expirera dans trois mois. Vous pouvez configurer un travail cron, comme indiqué ci-dessous, pour renouveler automatiquement vos certificats Let's Encrypt:
sudo crontab -e
Appuyez sur Ipour accéder au insert
mode, puis saisissez la ligne suivante:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew
Sauvegarder et quitter:
:wq!
Ce travail cron tentera de renouveler le certificat Let's Encrypt tous les jours à midi.
Installez Nginx à l'aide du dépôt EPEL YUM:
sudo yum install -y nginx
Créez un fichier de configuration pour Leanote:
cat <<EOF | sudo tee /etc/nginx/conf.d/leanote.conf
# Redirect HTTP to HTTPS
server {
listen 80;
server_name leanote.example.com;
return 301 https://\$server_name\$request_uri;
}
server {
# Setup HTTPS certificates
listen 443 default ssl;
server_name leanote.example.com;
ssl_certificate /etc/letsencrypt/live/leanote.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/leanote.example.com/privkey.pem;
# Proxy to the Leanote server
location / {
proxy_set_header X-Real-IP \$remote_addr;
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-Host \$http_host;
proxy_set_header Host \$http_host;
proxy_max_temp_file_size 0;
proxy_pass http://127.0.0.1:9000;
proxy_redirect http:// https://;
}
}
EOF
Redémarrez Nginx pour appliquer vos modifications:
sudo systemctl daemon-reload
sudo systemctl restart nginx.service
sudo systemctl enable nginx.service
Modifiez le site.url
paramètre dans le fichier de configuration Leanote:
cd /home/leanote/leanote/conf/
vi app.conf
Trouvez la ligne suivante:
site.url=http://leanote.example.com:9000
Remplacer:
site.url=https://leanote.example.com
Sauvegarder et quitter:
:wq!
Exécutez à nouveau le script Leanote:
cd /home/leanote/leanote/bin
bash run.sh
Maintenant, pointez votre navigateur Web préféré sur http://leanote.example.com/
et vous constaterez que le HTTPS
protocole est activé automatiquement. Connectez-vous simplement en tant admin
qu'utilisateur avec le nouveau mot de passe que vous avez configuré plus tôt ou enregistrez de nouveaux comptes d'utilisateur pour la collaboration d'équipe.
Encore une fois, appuyez sur CTRL+ Cpour arrêter le script Leanote. Nous démoniserons ce script plus tard.
wkhtmltopdf
programmeLeanote choisit d'utiliser le wkhtmltopdf
programme pour exporter des pages HTML sous forme de fichiers PDF. Installer wkhtmltopdf
:
cd
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
sudo yum localinstall -y wkhtmltox-0.12.5-1.centos7.x86_64.rpm
which wkhtmltopdf
N'oubliez pas de soumettre le wkhtmltopdf
chemin binaire /usr/local/bin/wkhtmltopdf
dans la Export PDF
section du tableau de bord d'administration Web Leanote lorsque Leanote est de nouveau opérationnel.
Remarque: Si vous trouvez des caractères illisibles dans les fichiers PDF exportés, vous pouvez essayer de résoudre le problème en ajoutant les fichiers de police requis au /usr/share/fonts/
répertoire.
Afin de garder votre site Leanote en ligne, vous pouvez utiliser l'utilitaire Superviseur pour démarrer automatiquement le script Leanote s'il se bloque.
Installez Supervisor à l'aide de YUM:
sudo yum install -y supervisor
Créez un .ini
fichier Supervisor simple pour Leanote:
cat <<EOF | sudo tee /etc/supervisord.d/leanote.ini
[program:leanote]
command=bash /home/leanote/leanote/bin/run.sh
directory=/home/leanote/leanote/bin/
priority=999
autostart=true
autorestart=true
user=leanote
redirect_stderr=true
EOF
Démarrez le service Superviseur, ainsi que le service Leanote:
sudo supervisord -c /etc/supervisord.conf
Confirmez l'état du service Leanote:
sudo supervisorctl status leanote
La sortie ressemblera à ce qui suit:
leanote RUNNING pid 3707, uptime 0:02:36
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
Vultr vous offre une connectivité réseau privée impressionnante pour les serveurs fonctionnant au même endroit. Mais parfois, vous voulez deux serveurs dans des pays différents
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
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
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,
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? 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
LimeSurvey est un outil de sondage en ligne gratuit et open source qui est largement utilisé pour publier des sondages en ligne et recueillir des commentaires sur les sondages. Dans cet article, je vais
Introduction Java est une plate-forme logicielle populaire qui vous permet de développer et dexécuter des applications et des applets Java dans divers environnements matériels. Il y a
Vous utilisez un système différent? Le forum Vanilla est une application de forum open source écrite en PHP. Il est entièrement personnalisable, facile à utiliser et prend en charge externa
Vous utilisez un système différent? Netdata est une étoile montante dans le domaine de la surveillance des métriques système en temps réel. Par rapport à dautres outils du même type, Netdata:
Dans ce didacticiel, découvrez comment configurer un serveur multijoueur Just Cause 2. Prérequis Veuillez vous assurer que le système est entièrement mis à jour avant de commencer
Vous utilisez un système différent? Dans ce tutoriel, je vais vous expliquer comment configurer un serveur Starbound sur CentOS 7. Prérequis Vous devez posséder ce jeu sur vous
ZNC est un videur IRC gratuit et open-source qui reste connecté en permanence à un réseau afin que les clients puissent recevoir des messages envoyés lorsquils sont hors ligne. Thi
Django est un framework Python populaire pour lécriture dapplications Web. Avec Django, vous pouvez créer des applications plus rapidement, sans réinventer la roue. Si tu veux
ionCube Loader est une extension PHP qui permet à un serveur Web dexécuter des fichiers PHP qui ont été encodés à laide dionCube Encoder et qui est requis pour exécuter e
Vous utilisez un système différent? Reader Self 3.5 est un lecteur RSS auto-hébergé simple et flexible, gratuit et open source et une alternative à Google Reader. Reader Sel
Introduction Dans ce tutoriel, installez bien PufferPanel sur notre Vultr VPS. PufferPanel est un panneau de contrôle open source et gratuit pour vous gérer
Vous utilisez un système différent? Introduction BoltWire est un système de gestion de contenu gratuit et léger écrit en PHP. Comparé à la plupart des autres gestionnaires de contenu
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.
Un aperçu de 26 techniques d'analyse des mégadonnées : partie 1
L'IA dans le domaine de la santé a fait de grands progrès au cours des dernières décennies. Ainsi, l'avenir de l'IA dans les soins de santé continue de croître de jour en jour.