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
Un usage courant d'un serveur virtuel Vultr est d'héberger des sites Web Wordpress. Ce guide vous montre comment automatiser la configuration d'un serveur virtuel à partir de zéro (en utilisant Ansible) et déployer plusieurs sites Web Wordpress indépendants (en utilisant Webmin / Virtualmin). Virtualmin / Webmin est une interface utilisateur graphique qui vous permet de gérer le déploiement de plusieurs comptes de serveur virtuel sur la même machine (avec pile LAMP / LEMP). Virtualmin est très similaire à cPanel et Plesk, et dans ce tutoriel, nous utiliserons l'édition gratuite de GPL. Après la configuration initiale du serveur Vultr et l'installation de Virtualmin, vous pouvez configurer très rapidement plusieurs serveurs virtuels à partir de l'interface Virtualmin et installer directement Wordpress sur ce serveur virtuel avec son propre nom de domaine.
Dans ce didacticiel, au lieu d'entrer manuellement une longue liste de commandes, nous utiliserons plutôt Ansible. Ansible est un outil d'automatisation basé sur python qui vous permet d'automatiser de manière fiable et répétée les tâches du serveur. Cela signifie qu'une fois que vous aurez suivi ce didacticiel, vous pourrez déployer un autre serveur de la même manière avec seulement quelques commandes.
Installez Ansible sur votre ordinateur local ou sur un autre serveur.
mkdir ansible
cd ansible
virtualenv env
source env/bin/activate
pip install ansible
Ansible fonctionne en se connectant à votre serveur via SSH. L'accès SSH est plus sécurisé si nous utilisons des clés plutôt qu'un mot de passe. Générons d'abord une paire de clés publique et privée.
mkdir ssh_keys
ssh-keygen -t rsa -b 2048 -f ./ssh_keys
Dans le ssh_keys
répertoire, il y aura maintenant deux fichiers, ssh_keys
et ssh_keys.pub
. ssh_keys
est votre fichier de clé privée et doit être conservé en lieu sûr. Vous pouvez maintenant ouvrir le ssh_keys.pub
, qui contient la clé publique.
Connectez-vous au tableau de bord Web Vultr et cliquez sur Deploy New Server
.
Sélectionnez une région, le type de serveur (Ubuntu 16.04), la taille du serveur, puis dans la partie 6 ( SSH keys
), cliquez sur Add New
. Sur la page suivante, collez votre clé publique et donnez-lui un nom, puis cliquez sur Add SSH key
. Enfin, assurez-vous que la clé est sélectionnée et cliquez sur Deploy now
.
Une fois que le serveur a terminé le déploiement, vous verrez son adresse IP. Vous devrez vous connecter au serveur DNS de votre nom de domaine et le pointer vers cette adresse.
Les fichiers d'automatisation d'Ansible sont appelés roles
. Nous allons d'abord configurer la structure du répertoire (à l'intérieur du ansible
répertoire que vous venez de créer à l'étape 1) et les fichiers de base.
mkdir -p group_vars roles/common/tasks/ roles/common/handlers
touch hosts group_vars/all deploy.yml roles/common/handlers/main.yml
Modifiez le hosts
fichier pour qu'il contienne les éléments suivants, en remplaçant le ip address
par le serveur que vous venez de créer. Ansible utilise python 2, qu'Ubuntu 16.04 n'a pas installé par défaut. Dans le hosts
fichier, nous indiquons à Ansible d'utiliser python 3.
[common]
192.0.2.1 ansible_python_interpreter=/usr/bin/python3
Modifiez le deploy.yml
fichier pour qu'il contienne les éléments suivants. Nous allons utiliser l' root
utilisateur.
- name: apply common configuration to server
hosts: all
user: root
roles:
- common
Modifiez le /group_vars/all
fichier pour qu'il contienne les éléments suivants. Ces variables indiquent à Ansible l'emplacement de vos clés SSH, les paramètres du fichier d'échange, votre nom de domaine complet et le mot de passe root. N'oubliez pas de ne pas inclure le fichier dans le contrôle de code source car il contient votre mot de passe en texte clair.
ssh_dir: ./ssh_keys
swap_file_path: /swapfile
swap_file_size: 1G
swappiness: 1
hostname: example.com
new_password: YOUR_PASSWORD_HERE
Modifiez le common/handlers/main.yml
fichier pour qu'il contienne les éléments suivants.
- name: restart sshd
service: name=ssh state=restarted
Une automatisation possible est plus facile à comprendre si nous la décomposons en tâches. Créons des fichiers pour chacune de nos tâches dans le processus.
cd roles/common/tasks
touch hosts main.yml setup.yml users.yml ufw.yml swap.yml virtualmin.yml
main.yml
doit pointer vers chaque fichier contenant les commandes Ansible, alors modifiez-le pour qu'il contienne les éléments suivants.
- include: setup.yml
- include: users.yml
- include: ufw.yml
- include: swap.yml
- include: virtualmin.yml
La première étape de la configuration d'un nouveau serveur consiste à mettre à jour le cache de dépôt et à définir le fuseau horaire. Modifiez le common/handlers/setup.yml
fichier pour qu'il contienne les éléments suivants.
- apt: update_cache=yes
sudo: yes
- name: set timezone to Europe/London
timezone:
name: Europe/London
Maintenant, nous donnerons à l'utilisateur root un mot de passe (dont nous aurons besoin pour accéder à l'interface Web de virtualmin), mais désactiverons les connexions par mot de passe via SSH (puisque nous utilisons la méthode d'authentification par clés plus sécurisées). Modifiez users.yml
pour contenir les éléments suivants.
- name: Change passwd
user: name=root password={{ new_password | password_hash('sha512') }} update_password=always
- name: Disable SSH password login
lineinfile: dest=/etc/ssh/sshd_config regexp="^#?PasswordAuthentication" line="PasswordAuthentication no"
notify: restart sshd
Pour la sécurité, nous avons besoin d'un pare-feu. Nous utiliserons le pare-feu simple pour autoriser l'accès SSH sur le port 22
, l'accès Web sur le port 80
et l'accès Web sécurisé sur le port 443
. Modifiez le ufw.yml
fichier pour qu'il contienne les éléments suivants.
- name: Set default firewall policy to deny all
become: True
ufw: state=enabled direction=incoming policy=deny
tags: firewall
- name: enable SSH in firewall
ufw: rule=allow port=22
sudo: yes
- name: enable HTTP connections for web server
ufw: rule=allow port=80
sudo: yes
- name: enable HTTPS connections for web server
ufw: rule=allow port=443
sudo: yes
- name: enable firewall
ufw: state=enabled
sudo: yes
Facultativement, vous pouvez inclure un fichier d'échange. Ceci est essentiel si votre serveur a moins de 2 Go de RAM pour éviter les pannes de mémoire. Modifiez swap.yml
pour contenir les éléments suivants.
- name: Set swap_file variable
set_fact:
swap_file: "{{swap_file_path}}"
tags:
- swap.set.file.path
- name: Check if swap file exists
stat:
path: "{{swap_file}}"
register: swap_file_check
tags:
- swap.file.check
- name: Create swap file
command: fallocate -l {{swap_file_size}} {{swap_file}}
when: not swap_file_check.stat.exists
tags:
- swap.file.create
- name: Change swap file permissions
file: path="{{swap_file}}"
owner=root
group=root
mode=0600
tags:
- swap.file.permissions
- name: Format swap file
sudo: yes
command: "mkswap {{swap_file}}"
when: not swap_file_check.stat.exists
tags:
- swap.file.mkswap
- name: Write swap entry in fstab
mount: name=none
src={{swap_file}}
fstype=swap
opts=sw
passno=0
dump=0
state=present
tags:
- swap.fstab
- name: Turn on swap
sudo: yes
command: swapon -a
when: not swap_file_check.stat.exists
tags:
- swap.turn.on
- name: Set swappiness
sudo: yes
sysctl:
name: vm.swappiness
value: "{{swappiness}}"
tags:
- swap.set.swappiness
Virtualmin a son propre fichier d'installation qui peut être téléchargé et exécuté par Ansible. Ici, nous utilisons l'installation minimale ( LINK
). Les éléments supplémentaires consistent à configurer le mot de passe du serveur MySQL qui n'est pas défini lors de l'installation par Virtualmin. Nous devons arrêter temporairement MySQL et ajouter le répertoire d'authentification avant de changer le mot de passe. Modifiez virtualmin.yml
pour contenir les éléments suivants.
- name: download virtualmin install script
get_url: >
url=http://software.virtualmin.com/gpl/scripts/install.sh
dest=/root/install.sh
mode=0755
- name: virtualmin install (takes around 10 mins) you can see progress using $ sudo tail -f /root/virtualmin-install.log
tags: non-idem
shell: ~/install.sh --force --hostname {{ hostname }} --minimal --yes
args:
chdir: /root
- name: temp stop mysql
service:
name: mysql
state: stopped
- name: change owner (and group) of mysqld dir
file:
path: "/var/run/mysqld"
state: directory
owner: mysql
group: mysql
- name: virtualmin set mysql password
shell: virtualmin set-mysql-pass --user root --pass {{ new_password }}
- name: restart mysql
service:
name: mysql
state: started
Le rôle Ansible est maintenant terminé et nous sommes prêts à déployer.
À partir du dossier ansible, nous pouvons maintenant simplement exécuter la commande suivante, et Ansible exécutera automatiquement toutes les tâches que nous avons créées. La première fois que vous vous connectez, vous recevrez un avertissement de clé SSH, tapez simplement " yes
" à l'invite.
ansible-playbook deploy.yml --private-key=ssh_keys/ssh_keys -i hosts
Si nous souhaitons utiliser un autre serveur, nous pouvons simplement changer l'adresse IP dans le fichier hosts et réexécuter cette commande pour terminer exactement la même configuration.
L'installation est terminée et nous pouvons maintenant aller à https://192.0.2.1:10000
(utilisez l'adresse IP de votre serveur). Votre navigateur émettra un avertissement de sécurité car le certificat est auto-signé, cliquez sur advanced
et ajoutez une exception. Une page de connexion vous sera présentée. Le nom d'utilisateur est root
et le mot de passe est celui que vous avez entré dans le group_vars/all
fichier à l'étape 3. La première fois que vous entrez dans Virtualmin, vous serez présenté avec l'assistant de post-installation. Vous pouvez parcourir ces paramètres manuellement ou cliquer sur cancel
pour accepter les valeurs par défaut.
Pour obtenir votre premier serveur Wordpress opérationnel, à partir du tableau de bord Virtualmin, cliquez sur Create Virtual Server
. Vous devrez saisir un nom de domaine, une description et un mot de passe administrateur. Le nom de domaine doit être différent du nom de domaine complet Virtualmin et vous devrez pointer l'enregistrement DNS vers l'adresse IP de votre serveur.
Cliquez Create Server
. Une fois que Virtualmin a fini de créer votre serveur, cliquez Install Scripts
sur le menu de gauche. Sélectionnez Wordpress
, cliquez Show install options
sur et sur la page suivante, choisissez l'emplacement de l'installation de Wordpress. Choisissez At top level
et cliquez Install Now
.
C'est tout ce que vous devez faire - vous pouvez terminer l'installation de Wordpress en visitant votre http://example.net/wp-admin/install.php
(où example.net
est ce nom de domaine des serveurs virtuels). Si vos enregistrements DNS ne se sont pas encore propagés, vous pouvez accéder au Services > Preview Website
menu Virtualmin.
Vous pouvez répéter cette étape plusieurs fois pour créer plusieurs sites Wordpress sur le même serveur Vultr.
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
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
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
Vous utilisez un système différent? Fork est un CMS open source écrit en PHP. Le code source de Forks est hébergé sur GitHub. Ce guide vous montrera comment installer Fork CM
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
Les instances Vultr sont un excellent moyen dexécuter votre blog WordPress, mais une extension plus notable de WordPress est WooCommerce, un plugin de commerce électronique qui étend e
Introduction Plus vous maintenez votre installation OpenBSD par défaut et sans autant de packages ajoutés, plus elle sera sécurisée. Alors que le plus de commo
Introduction WordPress est le système de gestion de contenu dominant sur Internet. Il alimente tout, des blogs aux sites Web complexes avec un contenu dynamique
Ghost est une plate-forme de publication open source moderne basée sur Node.js avec un client administrateur Ember.js, une API JSON et une API de thème optimisée par Handlebars.js. Ghos
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
Vous utilisez un système différent? Dotclear est un moteur de blog très simple. Il est open-source et facile à utiliser. Ce tutoriel passera par linstallation sur
Ghost est le dernier et le plus grand parvenu à rivaliser avec WordPress. Le développement du thème est rapide et facile à apprendre car les développeurs de Ghost ont décidé dutiliser
Neos est un système de gestion de contenu open source innovant, idéal pour créer et éditer du contenu en ligne. Avec des auteurs et des éditeurs à lesprit, Neo
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
Vous utilisez un système différent? MODX Revolution est un système de gestion de contenu (CMS) de niveau entreprise rapide, flexible, évolutif et open source écrit en PHP. Cest moi
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
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
Vous utilisez un système différent? Fork est un CMS open source écrit en PHP. Le code source de Forks est hébergé sur GitHub. Ce guide vous montrera comment installer Fork CM
Vous utilisez un système différent? Dotclear est un moteur de blog très simple qui a été construit sur PHP. Dans ce tutoriel, nous allons installer Dotclear sur Ubunt
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.