Auteur Sujet: Installer WordPress sur une VM  (Lu 24675 fois)

0 Membres et 1 Invité sur ce sujet

Alexis-Fox

  • Invité
Installer WordPress sur une VM
« Réponse #60 le: 12 juillet 2018 à 23:22:57 »
J'ai recommancé mon installation pour refaire quelque chose de tout propre :D
Dans les commandes que je me suis noté j'ai rien trouvé de mieux que de faire un mixe entre des lignes d'installations avec MySQL et MariaDB et PHP mal installé. Je supprime donc MySQL et de nouveau cette Erreur 2002 (je suis trop fort, je sais). Après quelques heures de bidouille, j'ai réussi à m'en sortir et tout tourne nickel :)

J'essaie de supprimer le /index.php/ de mes URL, histoire d'avoir des liens plus propres. Si je modifie les permaliens dans les paramètres de WP, c'est direct Erreur 404 quand j'ouvre une page. J'ai cru comprendre qu'il y avait une histoire de mode rewrite à activer sur Apache et une modification du fichier htacces.
J’ai modifié de htacces avec :
# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

Puis modifié les permaliens WordPress en /%postname/

Chaque lien redirige en erreur 404 du serveur, donc c’est pas bon. C’est donc mode rewrite d’Apache qui serait en cause ?

Sinon, j’ai pris la première VM de chez OVH, pour tester mes commandes avant de les mettre sur ma VM MilkyWan.

vivien

  • Administrateur
  • *
  • Messages: 47 088
    • Twitter LaFibre.info
Installer WordPress sur une VM
« Réponse #61 le: 13 juillet 2018 à 08:46:19 »
Tu as bien activés les modules Apache ?

4 modules sont nécessaires pour un site web en https avec SSLStaplingCache et ré-écriture d'URL :
- a2enmod ssl (nécessaire pour SSL)
- a2enmod headers (nécessaire pour pour toute configuration bien sécurisé)
- a2enmod socache_shmcb (nécessaire pour SSLStaplingCache avec shmcb)
- a2enmod rewrite (nécessaire la ré-écriture d'URL)


Pour t'aider dans la configuration Apache : https://mozilla.github.io/server-side-tls/ssl-config-generator/

Et https://observatory.mozilla.org/ pour les règles des headers à rajouter

Free_me

  • Abonné Free fibre
  • *
  • Messages: 3 075
  • Marseille
Installer WordPress sur une VM
« Réponse #62 le: 13 juillet 2018 à 18:05:52 »
Tu nous donnes un intérêt de mettre MariaDB a la place de MySQL ?

Les deux sont très proche en terme de compatibilité, comme de performance.

MariaDB supporte tativement des moteurs plus performants : aria et tokudb par exemple.
Et puis y a maxscale qui change la vie aussi

Alexis-Fox

  • Invité
Installer WordPress sur une VM
« Réponse #63 le: 13 juillet 2018 à 19:28:01 »
Tu as bien activés les modules Apache ?

4 modules sont nécessaires pour un site web en https avec SSLStaplingCache et ré-écriture d'URL :
- a2enmod ssl (nécessaire pour SSL)
- a2enmod headers (nécessaire pour pour toute configuration bien sécurisé)
- a2enmod socache_shmcb (nécessaire pour SSLStaplingCache avec shmcb)
- a2enmod rewrite (nécessaire la ré-écriture d'URL)


Pour t'aider dans la configuration Apache : https://mozilla.github.io/server-side-tls/ssl-config-generator/

Et https://observatory.mozilla.org/ pour les règles des headers à rajouter
Merci Vivien, je vais me concentrer là-dessus  :D

Alexis-Fox

  • Invité
Installer WordPress sur une VM
« Réponse #64 le: 15 juillet 2018 à 20:20:02 »
J'ai synthétisé un peu tout ce qui est sur ce topic, et rajouté d'autres choses trouvées ailleurs. J'arrive à la fin des configs. Dites moi si quelque chose ne va pas :)

Pour ne pas s’embêter, on execute tout en root :
#sudo su -

On met le système à jour :
#apt update && apt upgrade



Installer LAMP


MariaDB :
#apt install mariadb-server

Apache2
#apt install apache2

PHP :
#apt install php libapache2-mod-php php-mysql



2) Téléchargement de WordPress + décompression


#cd
#wget https://fr.wordpress.org/wordpress-4.9.7-fr_FR.tar.gz
#tar zxvf wordpress-4.9.7-fr_FR.tar.gz



3) Création des dossiers racine web :
(Avec l'arborescence que j’utilise)


#mkdir -p /var/www/site1/html
#mkdir -p /var/www/site2/html




4) Déplacement de WordPress vers les bons dossiers :

On supprime le contenu du dossier racine :
#rm -R /var/www/site1/html

#mv wordpress /var/www/site1/html


Pour les autres sites :
#cd
#tar zxvf wordpress-4.9.7-fr_FR.tar.gz
Puis
#rm -R /var/www/site2/html
#mv wordpress /var/www/site2/html
#service apache2 restart

Et recommencer pour chaque site


4) Virtualhosts


#cd /etc/apache2/sites-available
#cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/nom-du-site.conf
#nano nom-du-site.conf


Modifier le fichier :

<VirtualHost *:80>
   ServerAdmin contact@monsite1.fr
   ServerName monsite1.fr
   ServerAlias www.monsite.fr
   DocumentRoot /var/www/monsite1/html
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet


Puis quitter
^X (control + X)
Et sauvegarder
Y puis Entrer (touche Y puis touche Entrer)

#service apache2 restart
Puis créer un Virtualhost par site.



5) Donner les droits d’écriture à Apache


#chown -R www-data:www-data /var/www/site1/html
#service apache2 restart

Et pareil pour chaque site
6) Créer les bases de données


#mysql
#CREATE DATABASE site1;
#CREATE USER ‘user’@‘localhost’ IDENTIFIED BY ‘password’;
#GRANT ALL PRIVILEGES ON site1. TO * ‘user’@‘localhost’;

Et WordPress te voilà…



7) Configurer php.ini

Étape préliminaire : Se mettre dans le dossier du fichier PHP :
- PHP 5: #cd /etc/php5/apache2/
- PHP 7.0 : #cd /etc/php/7.0/apache2/
- PHP 7.2 : #cd /etc/php/7.2/apache2/

1/ Augmentation de la limite mémoire de 128 à 256 Mo :
#sed -i -e "s/memory_limit = 128M/memory_limit = 256M/g" php.ini
Vérification : #grep memory_limit php.ini

2/ Augmentation du post_max_size de 8Mo à 8 Go :
#sed -i -e "s/post_max_size = 8M/post_max_size = 8000M/g" php.ini
Vérification : #grep post_max_size php.ini

3/ Augmentation du upload_max_filesize de 2Mo à 6 Go :
#sed -i -e "s/upload_max_filesize = 2M/upload_max_filesize = 6000M/g" php.ini
Vérification : #grep upload_max_filesize php.ini

4/ Configuration du date.timezone :
#sed -i -e "s/;date.timezone =/date.timezone = \"Europe\/Paris\"/g" php.ini
Vérification : #grep date.timezone php.ini

5/ Configuration du date.timezone :
#sed -i -e "s/;date.default_latitude = 31.7667/date.default_latitude = 48.8534/g" php.ini
Vérification : #grep date.default_latitude php.ini

6/ Configuration du date.timezone :
#sed -i -e "s/;date.default_longitude = 35.2333/date.default_longitude = 2.3488/g" php.ini
Vérification : #grep date.default_longitude php.ini

Puis redémarrer Apache : #service apache2 restart



8. Configurer le serveur mail :

(Chez OVH -> serveur mail de 5 Go par domaine)
L’activer
Télécharger le plugin WP Mail SMTP
Configurer le plugin


Me reste plus qu’à configurer correctement Apache et supprimer le /index.php
Et configurer un backup vers FTP

EDIT : Je rajoute le certificat let's encrypt

Se mettre à la racine : #cd /
Installation : #apt-get install git-core
Téléchargement : #git clone https://github.com/letsencrypt/letsencrypt
Dossier : #cd letsencrypt
Configuration : #./letsencrypt-auto

Renouveler le certificat SSL : #./letsencrypt-auto renew
« Modifié: 15 juillet 2018 à 20:43:52 par Alexis-Fox »

Nh3xus

  • Réseau Deux Sarres (57)
  • Abonné MilkyWan
  • *
  • Messages: 3 247
  • Sarrebourg (57)
Installer WordPress sur une VM
« Réponse #65 le: 15 juillet 2018 à 21:57:51 »
Il te manque toute la partie qui concerne la configuration HTTPS de tes Vhosts.

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 425
  • Lyon (69) / St-Bernard (01)
    • Twitter
Installer WordPress sur une VM
« Réponse #66 le: 15 juillet 2018 à 22:03:26 »
Non, c'est Let's Encrypt qui le fait tout seul.

Alexis-Fox

  • Invité
Installer WordPress sur une VM
« Réponse #67 le: 15 juillet 2018 à 22:08:54 »
Non, c'est Let's Encrypt qui le fait tout seul.
C’est ce que je me disais, comme le fichier default-ssl.conf c’est ajouté :)

Nh3xus

  • Réseau Deux Sarres (57)
  • Abonné MilkyWan
  • *
  • Messages: 3 247
  • Sarrebourg (57)
Installer WordPress sur une VM
« Réponse #68 le: 16 juillet 2018 à 08:58:00 »
Non, c'est Let's Encrypt qui le fait tout seul.

Toi tu le laisse toucher à ta conf Apache ?

Moi j'utilise juste la partie certbot car j'ai pas confiance dans le bousin.

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 425
  • Lyon (69) / St-Bernard (01)
    • Twitter
Installer WordPress sur une VM
« Réponse #69 le: 16 juillet 2018 à 11:27:42 »
Oui, moi aussi. Mais là en l'occurence c'est assez simple pour notre ami :)

Alexis-Fox

  • Invité
Installer WordPress sur une VM
« Réponse #70 le: 16 juillet 2018 à 12:04:15 »
Il te manque toute la partie qui concerne la configuration HTTPS de tes Vhosts.

Toi tu le laisse toucher à ta conf Apache ?

Moi j'utilise juste la partie certbot car j'ai pas confiance dans le bousin.

Oui, moi aussi. Mais là en l'occurence c'est assez simple pour notre ami :)

Concrètement c'est quoi l'avantage de configurer ses VirtualHosts "à la main" ?

Alexis-Fox

  • Invité
Installer WordPress sur une VM
« Réponse #71 le: 16 juillet 2018 à 13:20:32 »
J'ai synthétisé un peu tout ce qui est sur ce topic, et rajouté d'autres choses trouvées ailleurs. J'arrive à la fin des configs. Dites moi si quelque chose ne va pas :)

Pour ne pas s’embêter, on execute tout en root :
#sudo su -

On met le système à jour :
#apt update && apt upgrade

J'ai oublié de noter que après chaque config de vHost, il faut taper
#a2ensite monsitesite.fr
Sinon on reste sur la page html de base d'Apache  :)



Installer LAMP


MariaDB :
#apt install mariadb-server

Apache2
#apt install apache2

PHP :
#apt install php libapache2-mod-php php-mysql



2) Téléchargement de WordPress + décompression


#cd
#wget https://fr.wordpress.org/wordpress-4.9.7-fr_FR.tar.gz
#tar zxvf wordpress-4.9.7-fr_FR.tar.gz



3) Création des dossiers racine web :
(Avec l'arborescence que j’utilise)


#mkdir -p /var/www/site1/html
#mkdir -p /var/www/site2/html




4) Déplacement de WordPress vers les bons dossiers :

On supprime le contenu du dossier racine :
#rm -R /var/www/site1/html

#mv wordpress /var/www/site1/html


Pour les autres sites :
#cd
#tar zxvf wordpress-4.9.7-fr_FR.tar.gz
Puis
#rm -R /var/www/site2/html
#mv wordpress /var/www/site2/html
#service apache2 restart

Et recommencer pour chaque site


4) Virtualhosts


#cd /etc/apache2/sites-available
#cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/nom-du-site.conf
#nano nom-du-site.conf


Modifier le fichier :

<VirtualHost *:80>
   ServerAdmin contact@monsite1.fr
   ServerName monsite1.fr
   ServerAlias www.monsite.fr
   DocumentRoot /var/www/monsite1/html
   ErrorLog ${APACHE_LOG_DIR}/error.log
   CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet


Puis quitter
^X (control + X)
Et sauvegarder
Y puis Entrer (touche Y puis touche Entrer)

#service apache2 restart
Puis créer un Virtualhost par site.



5) Donner les droits d’écriture à Apache


#chown -R www-data:www-data /var/www/site1/html
#service apache2 restart

Et pareil pour chaque site
6) Créer les bases de données


#mysql
#CREATE DATABASE site1;
#CREATE USER ‘user’@‘localhost’ IDENTIFIED BY ‘password’;
#GRANT ALL PRIVILEGES ON site1. TO * ‘user’@‘localhost’;

Et WordPress te voilà…



7) Configurer php.ini

Étape préliminaire : Se mettre dans le dossier du fichier PHP :
- PHP 5: #cd /etc/php5/apache2/
- PHP 7.0 : #cd /etc/php/7.0/apache2/
- PHP 7.2 : #cd /etc/php/7.2/apache2/

1/ Augmentation de la limite mémoire de 128 à 256 Mo :
#sed -i -e "s/memory_limit = 128M/memory_limit = 256M/g" php.ini
Vérification : #grep memory_limit php.ini

2/ Augmentation du post_max_size de 8Mo à 8 Go :
#sed -i -e "s/post_max_size = 8M/post_max_size = 8000M/g" php.ini
Vérification : #grep post_max_size php.ini

3/ Augmentation du upload_max_filesize de 2Mo à 6 Go :
#sed -i -e "s/upload_max_filesize = 2M/upload_max_filesize = 6000M/g" php.ini
Vérification : #grep upload_max_filesize php.ini

4/ Configuration du date.timezone :
#sed -i -e "s/;date.timezone =/date.timezone = \"Europe\/Paris\"/g" php.ini
Vérification : #grep date.timezone php.ini

5/ Configuration du date.timezone :
#sed -i -e "s/;date.default_latitude = 31.7667/date.default_latitude = 48.8534/g" php.ini
Vérification : #grep date.default_latitude php.ini

6/ Configuration du date.timezone :
#sed -i -e "s/;date.default_longitude = 35.2333/date.default_longitude = 2.3488/g" php.ini
Vérification : #grep date.default_longitude php.ini

Puis redémarrer Apache : #service apache2 restart



8. Configurer le serveur mail :

(Chez OVH -> serveur mail de 5 Go par domaine)
L’activer
Télécharger le plugin WP Mail SMTP
Configurer le plugin


Me reste plus qu’à configurer correctement Apache et supprimer le /index.php
Et configurer un backup vers FTP

EDIT : Je rajoute le certificat let's encrypt

Se mettre à la racine : #cd /
Installation : #apt-get install git-core
Téléchargement : #git clone https://github.com/letsencrypt/letsencrypt
Dossier : #cd letsencrypt
Configuration : #./letsencrypt-auto

Renouveler le certificat SSL : #./letsencrypt-auto renew