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
Dans ce didacticiel, nous allons apprendre à configurer une application Web Koa.js pour la production, en utilisant Node.js. Nous allons également lier un exemple de domaine, avec un proxy inverse, en utilisant Apache, et apprendre à le gérer avec un gestionnaire de processus approprié. Sans plus tarder, commençons.
Node.js est un framework JavaScript multiplateforme rapide basé sur le moteur V8 de Chrome. Il est utilisé dans les applications de bureau et de serveur et est célèbre pour sa gestion de boucle d'événement à un seul thread. Node.js dispose d'un registre de packages appelé Node Package Manager (NPM), qui héberge plus d'un demi-million de packages. Les packages (ou modules) NPM sont le cœur de réseau de Node.js, car ils sont du code communautaire qui peut être utile dans votre application Node.js. Dans notre application Koa.js, Node.js est au cœur de sa fonction.
Koa.js est un framework web minimaliste, construit sur la plateforme Node.js. Fabriqué par la même équipe derrière le framework Express.js populaire, son objectif est de minimiser davantage le framework Express.js déjà minimaliste en excluant le middleware de son noyau. Une caractéristique majeure de Koa.js est le fait qu'il n'y a pas de rappel. Koa.js est construit sur des générateurs basés sur ES6 et des fonctionnalités ES6, telles que Promises.
Apache est un serveur Web open source populaire, utilisé comme point de départ très basique pour les serveurs Web. Dans ce didacticiel, nous utiliserons Apache comme proxy inverse, ce qui nous permettra de lier notre application à un exemple de domaine. Si vous n'avez pas de domaine, ce tutoriel fonctionnera toujours pour vous, à la seule différence que le site Web fonctionnera sur votre IP VPS, au lieu d'un domaine.
Comme pour tout framework Node.js, vous devrez installer Node.js sur votre VPS. Pour les besoins de ce didacticiel, je suppose que Node.js est déjà installé sur votre système. Sinon, vous pouvez simplement suivre les instructions ici .
Nous devrons créer un dossier, qui contiendra les fichiers de base de notre application.
mkdir site
N'hésitez pas à remplacer site
par tout autre nom que vous souhaitez pour le répertoire. Ensuite, nous devrons initialiser notre fichier de package Node.js. Accédez au répertoire que vous venez de créer, exécutez npm init
et complétez les invites. En fin de compte, cela devrait ressembler à ceci:
{
"name": "site",
"version": "1.0.0",
"description": "Koa.js Site",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "yourname",
"license": "ISC"
}
Maintenant que notre répertoire est configuré, nous pouvons procéder à l'installation de Koa.js. Dans le répertoire de travail actuel /site
, tapez ce qui suit.
npm install koa
Cela va télécharger le module Koa.js à partir de NPM et l'installer dans notre répertoire de projet pour une utilisation future. Ensuite, nous allons créer notre exemple de fichier d'application qui contiendra notre code d'application. Pour ce faire, créez un index.js
fichier.
nano index.js
Une fois à l'intérieur du fichier, créez un exemple d'application.
const Koa = require('koa');
const app = new Koa();
app.use(async ctx => {
ctx.body = 'Hello World';
});
app.listen(3000);
console.log('Website is live!')
Enregistrez et fermez le fichier. CTRL+ X.
Nous voulons nous assurer que notre application fonctionne correctement. Pour le démarrer, exécutez node index.js
, et vous verrez Website is live
dans la console.
Maintenant que nous savons que notre site Web est fonctionnel, nous pouvons procéder à l'installation d'Apache et de ses dépendances.
sudo apt install -y libapache2-mod-proxy-html libxml2-dev
Afin d'utiliser la fonction de proxy inverse trouvée dans Apache, nous devrons activer les modules nécessaires.
a2enmod proxy
a2enmod proxy_http
a2enmod proxy_ajp
a2enmod rewrite
a2enmod deflate
a2enmod headers
a2enmod proxy_balancer
a2enmod proxy_connect
a2enmod proxy_html
Certains de ces modules ont peut-être déjà été activés, mais il est toujours bon de les revérifier.
Maintenant, nous devons modifier le fichier de configuration par défaut pour Apache.
sudo nano /etc/apache2/sites-enabled/000-default.conf
Ici, nous devrons ajouter un bloc pour notre application.
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass / http://0.0.0.0:3000/
ProxyPassReverse / http://0.0.0.0:3000
ServerName localhost
</VirtualHost>
Enregistrez le fichier, CTRL+ X.
Vous remarquerez peut-être que nous utilisons le port 3000
comme port pour notre ProxyPass
et ProxyPassReverse
IP. Comme il s'agit du même port que celui sur lequel nous exécutons notre application Koa.js, il est impératif de saisir le bon port.
Une fois les modifications apportées, nous devrons redémarrer Apache et relancer notre application Koa.js.
sudo systemctl restart apache2
Cela garantira que notre fichier de configuration est actif et prêt à fonctionner lorsque nous démarrons notre application Koa.js. Une fois Apache redémarré, revenez dans le répertoire de votre site et démarrez l'application Koa.js comme nous l'avons fait précédemment. À partir de votre navigateur Web, accédez à http://yourdomain
ou http://yourip:
, et vous verrez "Hello World".
Maintenant que nous avons couvert les bases de la création d'un exemple d'application Koa.js, nous nous rendons compte que dans un environnement de production, le démarrage de l'application tel que nous sommes maintenant n'est pas pratique. Un gestionnaire de processus est définitivement une exigence. C'est là que systemd entre en jeu. En termes simples, systemd se compose d'un logiciel qui fournit des blocs de construction pour un système Linux. Similaire à "init", il fournit un système pour gérer les processus utilisateur après le démarrage du système. Dans le cas de notre application, systemd nous permet de démarrer automatiquement notre site Web après le redémarrage du système, au cas où un événement perturbe la disponibilité du système. Il fournit également un ensemble d'outils qui peuvent être utiles lors de la gestion de notre application. La meilleure partie est le fait qu'il est intégré à Ubuntu 16.04 LTS, nous n'avons donc pas besoin d'installer de logiciel supplémentaire.
Tout ce dont nous avons besoin pour démarrer notre application sera contenu dans un fichier appelé service
. Il contient des détails sur notre application, tels que son nom, son répertoire, son environnement et plus encore. Pour créer notre fichier système, ouvrez un éditeur de texte.
sudo nano /lib/systemd/system/site.service
Modifiez et enregistrez le fichier comme ceci.
[Unit]
Description=desc here
Documentation=https://example.com
After=network.target
[Service]
Environment=NODE_PORT=3000
Type=simple
User=youruser
ExecStart=/usr/bin/node /home/[youruser]/site/index.js
Restart=on-failure
[Install]
WantedBy=multi-user.target
Remplacez youruser
par le nom d'utilisateur de votre serveur. Voici un bref aperçu des domaines importants:
After
- Cela informe systemd d'attendre que l'interface réseau soit prête avant de démarrer notre application.Environment
- Ici, nous pouvons spécifier des variables d'environnement pour notre application. Notre port Node.js en fait partie.Type
- Cela informe systemd que notre application peut simplement être démarrée, sans baisser les privilèges des utilisateurs et autres.User
- Cela indique à systemd que nous voulons exécuter l'application sous notre compte utilisateur, ce qui est recommandé. L'exécution d'applications en tant qu'utilisateur root peut entraîner de nombreux compromis de sécurité.ExecStart
- Essentiellement la commande que systemd exécutera pour démarrer notre application, similaire à la façon dont nous l'avons démarrée manuellement auparavant.Restart
- Indique à systemd dans quelles conditions redémarrer notre application. Dans ce cas, nous souhaitons redémarrer notre site internet en cas d'erreur.Nous sommes maintenant prêts à démarrer notre service systemd.
sudo systemctl daemon-reload
Cela est nécessaire chaque fois qu'un fichier de service systemd change pour que systemd enregistre les nouvelles modifications apportées.
Ensuite, lancez votre application.
sudo systemctl start site
Accédez à nouveau au site dans votre navigateur pour vérifier que tout fonctionne.
stop
- Arrête complètement l'application.restart
- Arrête l'application et la redémarre sous un nouveau processus.enable
- Indique à systemd de démarrer l'application chaque fois que vous démarrez votre ordinateur.status
- Affiche des informations sur l'application en cours d'exécution, telles que la disponibilité, l'état de l'application et plus encore.Pour utiliser l'une de ces fonctions, exécutez ce qui suit.
systemctl <function> site
Nous avons réussi à mettre en place une application Koa.js et appris à inverser son proxy, ainsi qu'à la gérer avec systemd. Vous êtes maintenant prêt à développer votre application et à vous appuyer sur cet exemple. Si vous souhaitez en savoir plus sur Koa.js et plus de choses que vous pouvez faire avec, visitez leur site Web , pour plus d'informations utiles. En plus de cela, si vous souhaitez en savoir plus sur le gestionnaire de processus de systemd, lisez la documentation correspondante ici . Enfin, si vous souhaitez en savoir plus sur le proxy inverse d'Apache, n'hésitez pas à les consulter ici .
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.