Installez WordPress sur Ubuntu 17.04 | 17.10 avec Apache2 HTTP / 2 et Let's Encrypt SSL

  • Michael Arnold
  • 0
  • 3697
  • 1114

La bonne chose à propos du démarrage d'un nouveau site Web ou blog WordPress est que vous avez la possibilité de tout configurer correctement du premier coup. Lorsque vous faites les choses correctement la première fois, il n'est pas nécessaire de revenir en arrière pour résoudre les problèmes qui n'ont pas été correctement configurés.

Lorsque vous démarrez un nouveau site Web en 2018, n'oubliez pas de les inclure: SSL / TLS et Prise en charge HTTP / 2.

De nos jours, la majorité des sites Web et des blogs fonctionnent sur HTTPS.

Les sites WordPress fonctionnant sur HTTPS ou SSL / TLS peuvent être mieux classés que ceux qui ne le sont pas. Étant donné que HTTPS est important aux yeux de Google et d'autres fournisseurs de moteurs de recherche, pourquoi ne pas l'inclure dans votre configuration WordPress.

En outre, HTTP / 2 (version 2) est la version la plus récente de HTTP / 1 et gagne également rapidement en tractions. Donc, si vous allez installer WordPress en 2018, obtenez un certificat gratuit Let's Encrypt SSL / TLS et activez HTTP / 2.

Ce bref tutoriel va montrer aux étudiants et aux nouveaux utilisateurs comment installer WordPress avec Apache2 HTTP / 2 et la prise en charge de Let's Encrypt sur Ubuntu 17.04 | 17.10 Lorsque vous êtes prêt à installer correctement WordPress, continuez avec les étapes ci-dessous:

ÉTAPE 1: PRÉPARER ET METTRE À JOUR UBUNTU

Il est bon de toujours mettre à jour les serveurs Ubuntu avant d'installer les packages ... pour mettre à jour Ubuntu, exécutez les commandes ci-dessous.

sudo apt update && sudo apt dist-upgrade && sudo apt autoremove

Après la mise à jour d'Ubuntu, continuez ci-dessous avec l'installation des packages requis pour que WordPress fonctionne.

ÉTAPE 2: INSTALLER LE SERVEUR WEB Apache2

À partir de la version Apache2 2.4.24 et plus, le support HTTP / 2 est inclus par défaut… La version Apache2 fournie avec Ubuntu ne prend pas en charge HTTP / 2, du moins pas encore. Pour installer Apache2 avec le support HTTP / 2, vous devrez ajouter un référentiel tiers… Exécutez les commandes ci-dessous pour installer la dernière version d'Apache2 avec le support HTTP / 2.

sudo add-apt-repository ppa: ondrej / apache2 sudo apt mise à jour sudo apt installer apache2 

Maintenant que la dernière version d'Apache2 est installée, exécutez les commandes ci-dessous pour activer le support HTTP / 2… Le support HTTP / 2 est activé à partir d'Apache2 2.4.24 et jusqu'à.

sudo a2enmod http2

Après l'installation d'Apache2, les commandes ci-dessous peuvent être utilisées pour arrêter, démarrer et permettre au service Apache2 de toujours démarrer avec le serveur démarre.

sudo systemctl stop apache2.service sudo systemctl start apache2.service sudo systemctl activer apache2.service 

ÉTAPE 3: INSTALLER LE SERVEUR DE BASE DE DONNÉES MARIADB

Le serveur de base de données MariaDB dépasse rapidement MySQL dans les communautés open source et Linux ... MariaDB est le serveur de base de données par défaut sur la majorité des distributions Linux ... et WordPress nécessite un serveur de base de données ... exécutez les commandes ci-dessous pour installer MariaDB.

sudo apt-get install serveur-mariadb client-mariadb

Après l'installation, les commandes ci-dessous peuvent être utilisées pour arrêter, démarrer et permettre au service MariaDB de toujours démarrer au démarrage du serveur.

sudo systemctl stop mariadb.service sudo systemctl start mariadb.service sudo systemctl activer mariadb.service 

Après cela, exécutez les commandes ci-dessous pour sécuriser le serveur MariaDB et créer un nouveau mot de passe root.

sudo mysql_secure_installation

Lorsque vous y êtes invité, répondez aux questions ci-dessous en suivant le guide.

  • Entrez le mot de passe actuel pour root (entrez pour aucun): appuyez simplement sur Entrée
  • Définir le mot de passe root? [O / n]: Oui
  • Nouveau mot de passe: entrez le mot de passe
  • Entrez à nouveau le nouveau mot de passe: Répétez le mot de passe
  • Supprimer les utilisateurs anonymes? [O / n]: Oui
  • Interdire la connexion root à distance? [O / n]: Oui
  • Supprimer la base de données de test et y accéder? [O / n]: Oui
  • Recharger les tables de privilèges maintenant? [O / n]: Oui

ÉTAPE 4: INSTALLER PHP ET LES MODULES ASSOCIÉS

Maintenant qu'Apache2 et MariaDB sont installés, exécutez les commandes ci-dessous pour installer PHP et les modules PHP associés sur le nouveau serveur. Ceci est une bonne liste de modules PHP à installer.

sudo apt installer php libapache2-mod-php php-commun php-mbstring php-xmlrpc php-soap php-gd php-xml php-intl php-mysql php-cli php-mcrypt php-ldap php-zip php-curl

Après avoir installé PHP, exécutez les commandes ci-dessous pour ouvrir le fichier par défaut PHP-FPM.

sudo nano /etc/php/7.x/apache2/php.ini

Selon votre système, le X dans la commande ci-dessus pourrait être 0 ou 1 .

Faites ensuite défiler les lignes du fichier et modifiez les lignes suivantes ci-dessous et enregistrez.

post_max_size = 100M memory_limit = 256M max_execution_time = 360 upload_max_filesize = 100M 

ÉTAPE 5: CRÉER UNE BASE DE DONNÉES BLANK WORDPRESS

À ce stade, tous les packages et serveurs WordPress requis sont installés. Le nouveau serveur est maintenant prêt à héberger WordPress… Sur le nouveau serveur, créez une base de données WordPress vierge. WordPress utilisera cette base de données vide pour stocker son contenu.

Exécutez les commandes ci-dessous pour vous connecter au serveur de base de données. Lorsque vous êtes invité à entrer un mot de passe, saisissez le mot de passe root que vous avez créé ci-dessus.

sudo mysql -u racine -p

Créez ensuite une base de données vide appelée WP_database vous pouvez utiliser le même nom de base de données de l'ancien serveur.

CREATE DATABASE WP_database;

Créez un utilisateur de base de données appelé wp_user avec un nouveau mot de passe. Vous pouvez utiliser le même nom d'utilisateur et le même mot de passe de l'ancien serveur.

CREATE USER 'wp_user' @ 'localhost' IDENTIFIED BY 'type_password_here';

Ensuite, accordez à l'utilisateur un accès complet à la base de données.

GRANT ALL ON WP_database. * TO 'wp_user' @ 'localhost' IDENTIFIED BY 'type_user_password_here' AVEC GRANT OPTION;

Enfin, enregistrez vos modifications et quittez.

PRIVILÈGES DE RINÇAGE; SORTIE; 

ÉTAPE 6: CONFIGURER LE NOUVEAU SITE WORDPRESS

Ensuite, configurez le fichier de configuration du site WordPress sur le serveur. Exécutez les commandes ci-dessous pour créer un nouveau fichier de configuration appelé wordpress.conf

sudo nano /etc/apache2/sites-available/wordpress.conf

Ensuite, copiez et collez le contenu ci-dessous dans le fichier et enregistrez-le. Remplacer example.com avec votre propre nom de domaine.

 ServerAdmin [email protected] DocumentRoot / var / www / html / wordpress / ServerName example.com ServerAlias ​​www.example.com  Options + FollowSymlinks AllowOverride All Exiger tout accordé  ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log combiné 

Enregistrez le fichier et quittez.

ÉTAPE 7: ACTIVER LE SITE WORDPRESS

Après avoir configuré le VirtualHost ci-dessus, activez-le en exécutant les commandes ci-dessous

sudo a2ensite wordpress.conf sudo a2enmod réécrire

ÉTAPE 8: TÉLÉCHARGER LA DERNIÈRE VERSION DE WORDPRESS

Ensuite, visitez le site WordPress et téléchargez la dernière…. ou exécutez les commandes ci-dessous pour le faire pour vous.

cd / tmp && wget https://wordpress.org/latest.tar.gz tar -zxvf latest.tar.gz sudo mv wordpress / var / www / html / wordpress 

Ensuite, exécutez les commandes ci-dessous pour définir les autorisations appropriées pour le répertoire racine de WordPress.

sudo chown -R www-data: www-data / var / www / html / wordpress / sudo chmod -R 755 / var / www / html / wordpress /

ÉTAPE 9: CONFIGURER WORDPRESS

Ensuite, exécutez les commandes ci-dessous pour créer WordPress wp-config.php fichier. Ceci est le fichier de configuration par défaut pour WordPress.

sudo mv /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php

Ensuite, exécutez les commandes ci-dessous pour ouvrir le fichier de configuration WordPress.

sudo nano /var/www/html/wordpress/wp-config.php

Entrez le texte en surbrillance ci-dessous que vous avez créé pour votre base de données et enregistrez.

// ** Paramètres MySQL - Vous pouvez obtenir ces informations auprès de votre hébergeur ** // / ** Le nom de la base de données pour WordPress * / define ('DB_NAME', 'WP_database'); / ** Nom d'utilisateur de la base de données MySQL * / define ('DB_USER', 'wp_user'); / ** Mot de passe de la base de données MySQL * / define ('DB_PASSWORD', 'new_password_here'); / ** Nom d'hôte MySQL * / define ('DB_HOST', 'localhost'); / ** Jeu de caractères de base de données à utiliser pour créer des tables de base de données. * / define ('DB_CHARSET', 'utf8'); / ** Le type d'assemblage de base de données. Ne changez pas cela en cas de doute. * / define ('DB_COLLATE', ");

Enregistrez le fichier et vous avez terminé.

Maintenant tout est configuré… exécutez les commandes ci-dessous pour recharger les paramètres du serveur Web Apache2.

sudo systemctl recharger apache2.service

Après cela, ouvrez votre navigateur et accédez à l'adresse IP du serveur ou au nom de domaine pour continuer la configuration de WordPress.

Étape 10: Obtenez et configurez les certificats SSL Let's Encrypt

Maintenant que la configuration de WordPress est terminée, continuez ci-dessous pour installer et configurer Let's Encrypt. Let's Encrypt fournit désormais un client Apache2 pour automatiser ce processus.

Avant d'obtenir les certificats Let's Encrypt, assurez-vous que votre configuration Apache2 est correctement configurée ... pour le fichier de configuration de votre site, assurez-vous que le Nom du serveur et ServerAlias sont définis.

 ServerAdmin [email protected] DocumentRoot / var / www / html / wordpress / ServerName example.com ServerAlias ​​www.example.com… 

Lorsque ces paramètres sont confirmés, continuez ci-dessous pour obtenir le certificat de votre nom de domaine.

Pour installer le client Let's Encrypt SSL / TLS sur Ubuntu, exécutez les commandes ci-dessous

sudo apt-get installer python-certbot-apache

Après cela, exécutez les commandes ci-dessous pour obtenir votre certificat gratuit Let's Encrypt SSL / TLS pour votre site.

sudo certbot --apache -m [email protected] -d exemple.com -d www.example.com

Après avoir exécuté les commandes ci-dessus, vous devriez être invité à accepter les termes de la licence. Si tout est coché, le client doit installer automatiquement le certificat SSL / TLS gratuit et configurer le site Nginx pour utiliser les certificats.

Veuillez lire les conditions d'utilisation sur https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. Vous devez accepter pour vous inscrire auprès du serveur ACME à l'adresse https://acme-v01.api.letsencrypt.org/directory ----------------------- -------------------------------------------------- ------ (A) gree / (C) ancel: A 

Choisissez Oui (O) pour partager votre adresse e-mail

Seriez-vous prêt à partager votre adresse e-mail avec l'Electronic Frontier Foundation, partenaire fondateur du projet Let's Encrypt et l'association à but non lucratif qui développe Certbot? Nous aimerions vous envoyer un e-mail sur l'EFF et notre travail pour crypter le Web, protéger ses utilisateurs et défendre les droits numériques. -------------------------------------------------- ----------------------------- (O) es / (N) o: O 

Voici comment il est facile d'obtenir votre certificat SSL / TLS gratuit pour votre site Web alimenté par Nginx.

Veuillez choisir de rediriger ou non le trafic HTTP vers HTTPS, en supprimant l'accès HTTP. -------------------------------------------------- ----------------------------- 1: Pas de redirection - N'apportez aucune autre modification à la configuration du serveur Web. 2: Redirection - Faites rediriger toutes les demandes pour sécuriser l'accès HTTPS. Choisissez cette option pour les nouveaux sites ou si vous êtes sûr que votre site fonctionne sur HTTPS. Vous pouvez annuler cette modification en modifiant la configuration de votre serveur Web. -------------------------------------------------- ----------------------------- Sélectionnez le numéro approprié [1-2] puis [enter] (appuyez sur 'c' pour annuler) : 2 

Choisissez l'option 2 pour rediriger tout le trafic via HTTPS. C'est important!

Après cela, le client SSL doit installer le certificat et configurer votre site Web pour rediriger tout le trafic via HTTPS.

Toutes nos félicitations! Vous avez activé avec succès https://example.com et https://www.example.com Vous devez tester votre configuration sur: https://www.ssllabs.com/ssltest/analyze.html?d=example.com https : //www.ssllabs.com/ssltest/analyze.html? d = www.example.com ---------------------------- -------------------------------------------------- - REMARQUES IMPORTANTES: - Félicitations! Votre certificat et votre chaîne ont été enregistrés à: /etc/letsencrypt/live/example.com/fullchain.pem Votre fichier de clé a été enregistré à: /etc/letsencrypt/live/example.com/privkey.pem Votre certificat expirera le 2018-02-24. Pour obtenir une version nouvelle ou modifiée de ce certificat à l'avenir, exécutez simplement à nouveau certbot avec l'option "certonly". Pour renouveler * tous * vos certificats de manière non interactive, exécutez "certbot renouveler" - Si vous aimez Certbot, pensez à soutenir notre travail en: faisant un don à ISRG / Let's Encrypt: https://letsencrypt.org/donate En faisant un don à EFF: https://eff.org/donate-le

Le bloc de code en surbrillance doit être ajouté automatiquement à votre fichier de configuration Apache2 WordPress par Let's Encrypt certbot. Votre site WordPress est prêt à être utilisé sur HTTPS.

 ServerAdmin [email protected] DocumentRoot / var / www / html / wordpress / ServerName example.com ServerAlias ​​www.example.com  Options + FollowSymlinks AllowOverride All Exiger tout accordé  ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log combiné RewriteEngine on RewriteCond% SERVER_NAME = example.com [OR] RewriteCond% SERVER_NAME = www.example.com RewriteRule ^ https: // % SERVER_NAME% REQUEST_URI [END, NE, R = permanent] 

Un nouveau fichier de configuration pour le domaine doit également être créé nommé /etc/apache2/sites-available/wordpress-le-ssl.conf. Il s'agit du fichier de configuration du module SSL Apache2 et doit contenir les définitions de certificat qui y sont définies.

  ServerAdmin [email protected] DocumentRoot / var / www / html / wordpress / ServerName example.com ServerAlias ​​www.example.com  Options + FollowSymlinks AllowOverride All Exiger tout accordé  ErrorLog $ APACHE_LOG_DIR /error.log CustomLog $ APACHE_LOG_DIR /access.log combiné SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privment /etc/letsencrypt/options-ssl-apache.conf  

ÉTAPE 11: CHANGER APACHE2 POUR UTILISER HTTP / 2

Lorsque Let's Encrypt est configuré et HTTP / 2 activé, ajoutez ceci comme dans le fichier de configuration globale Apache2 pour activer HTTP / 2 sur tous les sites.

sudo nano /etc/apache2/apache2.conf

Ensuite, ajoutez la ligne ci-dessous n'importe où dans le fichier et enregistrez… Après cela, redémarrez et HTTP / 2 sera activé sur tous les sites.

Protocoles h2 http / 1.1

Si vous ne souhaitez pas l'activer pour tous les sites, ajoutez la ligne ci-dessus au fichier de configuration SSL spécifique au site.

  ServerAdmin [email protected] DocumentRoot / var / www / html / wordpress / ServerName example.com Protocoles h2 http / 1.1 ServerAlias ​​www.example.com… 

Enregistrez et redémarrez Apache2.

sudo systemctl recharger apache2.service

et Let's Encrypt installés et configurés…. Ouvrez votre navigateur et accédez au nom de domaine ou à l'adresse IP

ex. http://example.com

Si tout est correctement configuré, vous verrez l'assistant de configuration de WordPress et poursuivez la configuration..

Suivez les instructions à l'écran pour terminer l'assistant… vous serez invité à saisir la configuration de votre base de données, les détails administratifs et d'autres paramètres de configuration. Une fois terminé, vous pouvez vous connecter et commencer à utiliser InvoiceNinja. Retourner à http://example.com/wp-admin/ à tout moment par la suite pour vous connecter.

C'est ça!

Pour configurer un processus de renouvellement automatique des certificats, ajoutez une tâche cron pour exécuter le processus de renouvellement.

sudo crontab -e

Ensuite, ajoutez la ligne ci-dessous et enregistrez.

0 1 * * * / usr / bin / certbot renouveler &> / dev / null

Le travail cron tentera de se renouveler 30 jours avant d'expirer




Personne n'a encore commenté ce post.