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
Ruby on Rails est un framework web populaire pour Ruby qui a été développé pour augmenter la productivité d'un programmeur. Cependant, faire fonctionner ensemble diverses gemmes et dépendances peut parfois être difficile. Ce guide vous aidera à configurer un environnement Rails complet prêt pour la production, y compris les gemmes et les dépendances couramment utilisées.
Remarque : Il est fortement recommandé de ne pas installer l'un de ces services en tant que root, car vous pourriez vous exposer à une attaque. La configuration d'un utilisateur deploy
ou app
est une convention courante:
sudo adduser deploy
sudo adduser deploy sudo
su deploy
Assurez-vous que vous exécutez tous les derniers packages sur votre machine virtuelle Ubuntu:
sudo apt-get update && sudo apt-get upgrade -y
Afin de pouvoir compiler Ruby en utilisant rbenv et d'autres gemmes, divers packages doivent être installés. Selon la version de Ruby dont vous aurez besoin, certains packages peuvent ne pas être nécessaires.
sudo apt-get install -y curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev
sudo apt-get install -y libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev
sudo apt-get install -y python-software-properties libffi-dev
sudo apt-get install -y build-essential openssl libreadline6 libreadline6-dev libreadline-dev
sudo apt-get install -y automake libtool bison pkg-config bison autoconf libc6-dev ncurses-dev
sudo apt-get install -y libapr1-dev libaprutil1-dev libx11-dev libffi-dev tcl-dev tk-dev
Ceux-ci sont nécessaires pour compiler plusieurs gemmes, telles que Passenger:
sudo apt-get install -y zlib1g zlib1g-dev libssl-dev libyaml-dev libcurl4-openssl-dev libruby
La communauté Ruby utilise Git comme SCM de choix; mais d'autres, comme Mercurial ou Subversion, peuvent également être installés:
sudo apt-get install -y git git-core
sudo apt-get install -y libmysqld-dev mysql-client libmysqlclient-dev
Requis pour plusieurs gemmes populaires qui nécessitent des bibliothèques XML natives:
sudo apt-get install -y libxml2-dev libxslt-dev
Ajoutez des référentiels officiels à partir de Node avec la dernière version car les référentiels Ubuntu par défaut ont tendance à être à la traîne par rapport à quelques versions majeures:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
Ces packages ne sont pas requis pour que le système fonctionne, mais ils sont utiles si vous devez utiliser certaines gemmes.
Ces bibliothèques ne sont pas nécessaires et peuvent être ignorées sauf si vous prévoyez d'utiliser des gemmes de manipulation d'image; comme Rmagick:
sudo apt-get install -y imagemagick libmagickwand-dev libvips-dev
Installez les pilotes pour SQLite ou PostgreSQL si vous devez vous connecter à d'autres bases de données ou préférez une base de données locale simple:
sudo apt-get install -y libsqlite3-dev sqlite3 libpq-dev postgresql postgresql-contrib
Utilitaires qui ne sont normalement pas préinstallés lors d'une nouvelle installation d'Ubuntu. N'hésitez pas à installer l'éditeur de texte de votre choix:
sudo apt-get install -y iotop htop nano vim
MariaDB est un serveur SQL relationnel puissant, entièrement compatible avec MySQL. La façon la plus simple d'installer la dernière version de MariaDB est d'utiliser les dépôts officiels:
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386] http://ftp.utexas.edu/mariadb/repo/10.2/ubuntu zesty main'
sudo apt update
sudo apt install -y mariadb-server
Suivez les invites et configurez un mot de passe root. Après, vérifiez que vous pouvez accéder à votre nouvelle installation:
mysql -V
Il affichera une ligne similaire à celle-ci:
mysql Ver 15.1 Distrib 10.2.8-MariaDB, for debian-linux-gnu (x86_64) using readline 5
Connectez-vous au shell MySQL:
mysql -h localhost -u root -p
Remarque : utilisez \q
pour quitter.
Installez Rbenv en utilisant git. Il s'agit de la méthode d'installation la plus simple et elle permet des mises à jour faciles plus tard. Installez également ruby-build
, il est responsable de la compilation des différentes versions de Ruby:
cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
Remarque : lorsque vous devez mettre à jour simplement cd ~/.rbenv
et git pull
.
Rendez Rbenv et Ruby-build disponibles dans le shell. Pour vous assurer que les lignes d'exportation sont insérées au début du .bashrc
fichier, ce qui est important pour les commandes bash non interactives, utilisez ces lignes:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.temp_bashrc
echo 'eval "$(rbenv init -)"' >> ~/.temp_bashrc
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.temp_bashrc
cat ~/.temp_bashrc ~/.bashrc > ~/.combined_bashrc && mv ~/.combined_bashrc ~/.bashrc && rm ~/.temp_bashrc
exec $SHELL
Vérifiez si Rbenv et Ruby-build sont installés et sont disponibles dans le shell:
rbenv install --list
Si rbenv
n'est pas reconnu, déconnectez-vous et reconnectez-vous dans le shell.
Créez un ~/.bash_profile
fichier et pointez-le vers la source de votre ~/.bashrc
fichier. Si vous devez exécuter des commandes shell non interactives à partir de votre application Rails, telles que les tâches cron configurées par la whenever
gemme, elle utilisera la même version de Ruby que votre shell interactif. Cela peut aider à éviter des erreurs étranges. Ajoutez cette ligne au ~/.bash_profile
fichier:
if [ -f $HOME/.bashrc ]; then
source $HOME/.bashrc
fi
Installez Ruby 2.4.1:
rbenv install 2.4.1
Remarque : Ce processus peut prendre 5 à 15 minutes selon les ressources de votre machine virtuelle et il n'y a pas de barre de progression.
Rendez Rbenv disponible partout.
rbenv global 2.4.1
Ajoutez la clé PGP et le support HTTPS pour apt:
sudo apt-get install -y dirmngr gnupg
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
sudo apt-get install -y apt-transport-https ca-certificates
Ajoutez le référentiel Passenger:
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger zesty main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update
Installez les modules Passenger + Nginx:
sudo apt-get install -y nginx
sudo apt-get install -y libnginx-mod-http-passenger
Visitez votre instance Vultr en utilisant son nom de domaine ou son IP pour les tester à ce stade. S'ils fonctionnent, votre page affichera la page d'accueil Nginx par défaut.
Installez Bundler et Rails:
gem install bundler rails --no-ri --no-rdoc
La convention Ubuntu / Debian consiste à configurer votre application dans /var/www
. Par défaut, il n'est accessible en écriture que par root. Pour que la configuration fonctionne, donnez la propriété à l'utilisateur sudo deploy
:
sudo chown deploy:deploy /var/www -R
Générez l'application rails dans /var/www/
. Si vous avez déjà une application que vous souhaitez déployer, git clone
cliquez ici, puis exécutez bundle
:
cd /var/www
rails new example --database=mysql
Prep Nginx.
sudo nano /etc/nginx/nginx.conf
Changez d'utilisateur en deploy
.
user deploy;
Dans la http
section de la configuration, il devrait y avoir une ligne qui indique à Nginx de charger les modules, y compris passager. S'il est manquant, vous pouvez l'ajouter juste après le Virtual Host Configs
titre, mais avant sites-enabled
.
include /etc/nginx/conf.d/*.conf;
Modifiez / créez le passenger.conf
fichier.
sudo nano /etc/nginx/conf.d/mod-http-passenger.conf
Dites au passager d'utiliser notre configuration Rbenv. Il peut contenir une ligne pointant vers la version Ruby incluse avec Passenger, il suffit de la supprimer ou de la commenter.
passenger_ruby /home/deploy/.rbenv/shims/ruby;
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
Configurez l'hôte virtuel pour pointer vers l'application /var/www/example/
.
sudo nano /etc/nginx/sites-enabled/example.conf
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example/public;
passenger_enabled on;
# When you are ready to switch to production mode - change this to `production`
passenger_app_env development; # <-- !important
}
Redémarrez Nginx.
sudo service nginx restart
À ce stade, votre application est prête à être utilisée en mode développement. Pour passer en mode production, vous devez revenir à votre configuration Nginx et modifier le rails_env
paramètre sur production
.
Avant de passer en mode de production, vous aurez toujours besoin de configurer votre base de données de production example_production
, database.yml
et clé secrète. Découvrez un outil comme Capistrano ou Mina pour accélérer votre processus de déploiement d'applications. C'est une bonne pratique d'utiliser des variables ENV avec un bijou comme dotenv
, et de ne pas valider vos mots de passe, clés secrètes et autres dans votre référentiel git.
Il existe plusieurs services offrant des certificats SSL pour votre domaine, beaucoup sont payants et un couple est gratuit. Configurez SSL quel que soit le service que vous utilisez. Let's Encrypt est très facile et gratuit à utiliser. Let's Encrypt est une organisation à but non lucratif soutenue par de nombreux géants de la technologie.
Exécutez les commandes suivantes et suivez les invites.
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx
sudo certbot --nginx
sudo certbot renew --dry-run
Si vous accédez à votre instance Vultr en utilisant maintenant HTTPS
, vous verrez un site Web sécurisé.
Votre certificat nouvellement délivré expirera et devra être renouvelé périodiquement. La façon la plus simple de procéder consiste à configurer un travail cron.
sudo crontab -e
30 2 * * 1 /usr/bin/certbot renew
En tant qu'étape finale, mais facultative, redémarrez votre machine virtuelle et assurez-vous que tous les services redémarrent comme prévu.
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.