Wordpress est sans conteste la plateforme de blogging la plus largement utilisée sur la planète. Mais l'outil peut être utilisé pour beaucoup plus que des blogs. Avec le bon ajout d'extensions, vous pouvez transformer Wordpress en un site de commerce électronique, un site multimédia, etc. Si vous possédez votre propre serveur, vous pouvez héberger une installation Wordpress sans avoir à faire appel à un tiers. Et c’est exactement ce que nous allons faire ici. Dans ce tutoriel, vous allez apprendre à installer les composants nécessaires ainsi que la plate-forme Wordpress sur Ubuntu Server 18.04. Cela ne supposera qu'une chose: que Ubuntu Server soit opérationnel.
Les dépendances
La première chose à faire est d’obtenir notre serveur LAMP (Linux Apache MySQL PHP) opérationnel. Ubuntu étant déjà présent, il ne reste plus qu'à installer les composants secondaires. Parce que nous utilisons Ubuntu, nous pouvons le faire avec une seule commande. Cependant, avant cela, nous voulons nous assurer que notre serveur est à jour. Ouvrez une fenêtre de terminal et lancez les commandes suivantes:
sudo apt-get updatesudo apt-get upgrade Si le noyau est mis à niveau au cours du processus, un redémarrage sera nécessaire. Si tel est le cas, le serveur devra être redémarré (pour que les modifications prennent effet). Cela signifie que vous devez exécuter la mise à jour / mise à niveau à un moment où un redémarrage est viable. Une fois la mise à jour effectuée, il est temps d’installer les serveurs Web / base de données et PHP. Cela peut être fait avec une seule commande: sudo apt-get installer lampe-serveur ^ Pendant l’installation, vous serez invité à créer / vérifier un mot de passe pour l’utilisateur admin de MySQL. Une fois le processus terminé, vous pouvez pointer un navigateur sur http: // SERVER_IP (où SERVER_IP est l'adresse IP de votre serveur Ubuntu) pour afficher l'écran de bienvenue Apache. Ensuite, nous devons installer quelques extensions PHP nécessaires. Cela peut être fait avec la commande: sudo apt installer php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip Avant de commencer la configuration d’Apache et l’installation de Wordpress, nous allons préparer notre serveur à l’utilisation de SSL (Secure Sockets Layer), différents protocoles Web qui fonctionnent ensemble pour envelopper le trafic HTTP normal dans un wrapper protégé et crypté. . Donc, HTTP devient HTTPS. Comme je ne fais que configurer un serveur de test, je vais créer un certificat SSL auto-signé pour une adresse IP. Pour le faire, suivez ces étapes. Générez le certificat SSL avec la commande suivante: sudo openssl req -x509 -nodes -days 365 -newkey rsa: 2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt Lorsque vous exécuterez cette commande, vous devrez répondre aux questions suivantes: Nom du pays (code à 2 lettres) AU:Nom de l'État ou de la province (nom complet) un État:Nom de la localité (par exemple, ville) :Nom de l'organisation (par exemple, société) Nom de l'unité organisationnelle (par exemple, section) :Nom commun (par exemple, nom de domaine complet du serveur ou VOTRE nom) :Adresse électronique : Pour le certificat auto-signé, il est important de saisir l'adresse IP de votre serveur pour l'entrée Nom commun. Ensuite, nous configurons Apache pour utiliser SSL. Créez un nouveau fichier avec la commande: sudo nano /etc/apache2/conf-available/ssl-params.conf Dans ce nouveau fichier, collez ce qui suit: SSLCipherSuite EECDH + AESGCM: EDH + AESGCM: AES256 + EECDH: AES256 + EDHSSLProtocol Tous -SSLv2 -SSLv3 -TLSv1 -TLSv1.1SSLHonorCipherOrder On# Désactivez le préchargement du HSTS pour le moment. Vous pouvez utiliser la ligne d'en-tête commentée qui comprend# la directive "précharge" si vous en comprenez les implications.# L'en-tête définit toujours Strict-Transport-Security "max-age = 63072000; includeSubDomains; précharge"En-tête toujours définir X-Frame-Options DENYEn-tête toujours définir X-Content-Type-Options nosniff# Requiert Apache> = 2.4SSLCompression offSSLUseStapling onSSLStaplingCache "shmcb: logs / stapling-cache (150000)"# Requiert Apache> = 2.4.11SSLSessionTickets OffEnregistrez et fermez ce fichier. Nous allons maintenant créer un nouveau fichier default-ssl.conf. Avant de faire cela, sauvegardez l’original avec la commande: sudo cp /etc/apache2/sites-available/default-ssl.conf /etc/apache2/sites-available/default-ssl.conf.bak Créez le nouveau fichier avec la commande: sudo nano /etc/apache2/sites-available/default-ssl.conf Dans ce nouveau fichier, collez ce qui suit: Enregistrez et fermez ce fichier. Nous allons maintenant configurer une redirection de sorte que tout le trafic HTTP soit automatiquement redirigé vers HTTPS. Pour ce faire, créez un nouveau fichier avec la commande: sudo nano /etc/apache2/sites-available/000-default.conf Dans ce fichier, ajoutez la ligne suivante sous l'entrée DocumentRoot: Rediriger «/» «https: // SERVER_IP /» Où SERVER_IP est l'adresse IP de votre serveur. Enregistrez et fermez ce fichier. Ensuite, nous devons activer quelques modules et hôtes avec les commandes: sudo a2enmod sslsudo a2enmod en-têtessudo a2ensite default-sslsudo a2enconf ssl-params Enfin, redémarrez Apache avec la commande: sudo systemctl redémarrer apache2 Vous devriez maintenant pouvoir faire pointer votre navigateur sur https: // SERVER_IP (où SERVER_IP est l'adresse IP de votre serveur) et toujours voir l'écran de bienvenue d'Apache. Wordpress dépend d'une base de données pour fonctionner. Pour créer cela, vous devez d'abord vous connecter à l'invite MySQL avec la commande: mysql -u root -p Vous serez invité à saisir le mot de passe de l'utilisateur administrateur MySQL créé lors de l'installation du serveur LAMP. À l'invite de MySQL, créez la base de données avec la commande: CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; Ensuite, créez un nouvel utilisateur et accordez-lui l'autorisation d'accéder à la base de données à l'aide de la commande suivante: GRANT ALL ON wordpress. * TO 'wordpressuser' @ 'localhost' IDENTIFIED BY 'PASSWORD'; Où PASSWORD est un mot de passe unique et fort. Purge les privilèges de la base de données et quitte avec les commandes: FLUSH PRIVILEGES;SORTIE Nous devons activer .htaccess pour Wordpress. Pour ce faire, créez un nouveau fichier de configuration Apache avec la commande: sudo nano /etc/apache2/sites-available/wordpress.conf Dans ce fichier, collez ce qui suit: Activez le module de réécriture avec la commande: sudo a2enmod réécrire Redémarrez Apache avec la commande: sudo systemctl redémarrer apache2 Nous allons télécharger le fichier Wordpress officiel avec les commandes suivantes: cd / tmpcurl -O https://wordpress.org/latest.tar.gz Décompressez Wordpress avec la commande: tar xvzf latest.tar.gz Créez un fichier .htaccess factice avec la commande: touch /tmp/wordpress/.htaccess Copiez le fichier de configuration exemple dans le fichier de configuration nécessaire à l’aide de la commande suivante: cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php Créez un répertoire de mise à niveau (pour éviter les problèmes d'autorisations) avec la commande: mkdir / tmp / wordpress / wp-content / upgrade Copiez le contenu du répertoire wordpress dans la racine du document avec la commande: sudo cp -a / tmp / wordpress /. / var / www / html / wordpress Enfin, ajustez la propriété et les autorisations du répertoire wordpress nouvellement déplacé à l’aide des commandes suivantes: sudo chown -R www-data: www-data / var / www / wordpresssudo find / var / www / wordpress / -type d -exec chmod 750 {} ;sudo find / var / www / wordpress / -type f -exec chmod 640 {} ; Cette section devient un peu compliquée. Le fichier wp-config.php doit être modifié, mais avant de pouvoir le faire, vous devez télécharger des clés secrètes uniques à ajouter au fichier de configuration. Pour obtenir ces clés, lancez la commande: Cela produira un certain nombre de longues chaînes, chacune associée à une option de configuration spécifique. Chaque chaîne est associée aux valeurs suivantes dans le fichier de configuration: CLÉ D'AUTHENTIFICATIONSECURE_AUTH_KEYLOGGED_IN_KEYNONCE_KEYAUTH_SALTSECURE_AUTH_SALTLOGGED_IN_SALTNONCE_SALT Copiez ces valeurs dans un autre fichier. Ensuite, ouvrez le fichier de configuration Wordpress avec la commande: sudo nano /var/www/wordpress/wp-config.php Localisez les valeurs ci-dessus et collez la clé secrète pour chacune. Après cela, faites défiler et éditez les valeurs pour: DB_NAME DB_USER DB_PASSWORD Les valeurs ci-dessus ont été créées précédemment (avec MySQL). Enregistrez et fermez ce fichier. Vous pouvez maintenant pointer votre navigateur sur https: // SERVER_IP / wordpress et parcourir l'installateur basé sur le Web pour terminer l'installation. Après quelques clics et un peu de frappe, votre instance de Wordpress sera opérationnelle. Activer SSL
La base de données
Autoriser .htaccess et activer le module de réécriture
Téléchargez, décompressez et préparez Wordpress
Configurer Wordpress
Terminez l'installation