add doc nextcloud and wordpress docker
This commit is contained in:
parent
5325feb234
commit
c752900529
BIN
docs/divers/img/welcome_to_nginx.png
Normal file
BIN
docs/divers/img/welcome_to_nginx.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
File diff suppressed because it is too large
Load Diff
2
docs/divers/serveur_debian_smb_ssh.md
Normal file
2
docs/divers/serveur_debian_smb_ssh.md
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Création d'un serveur local avec partage de fichiers Samba et backup des données en externe
|
||||||
|
|
||||||
@ -0,0 +1,206 @@
|
|||||||
|
# Installer Wordpress avec docker-compose sur Debian 10 avec Nginx en reverse-proxy
|
||||||
|
|
||||||
|
## Installer **nginx**
|
||||||
|
|
||||||
|
Nginx est un serveur web, comme Apache.
|
||||||
|
Nous allons l'utiliser comme reverse-proxy, c'est-à-dire qu'il renverra les requêtes d'un autre serveur, que nous installerons aux côtés de wordpress.
|
||||||
|
|
||||||
|
Ainsi nous pourrons utiliser le serveur de notre choix pour notre web-application Wordpress (Apache ou Nginx).
|
||||||
|
|
||||||
|
|
||||||
|
On installe Nginx à partir des dépôts Debian, de façon à avoir une version stable, avec l'apport des correctifs de sécurité, et qui ne sera jamais cassé par une modification du système.
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo apt update
|
||||||
|
sudo apt upgrade
|
||||||
|
sudo apt install nginx
|
||||||
|
```
|
||||||
|
|
||||||
|
Dans votre navigateur, en tapant dabs la barre d'adresse `http://IP_DU_SERVEUR`, vous devriez accéder à la page d'accueil de nginx
|
||||||
|

|
||||||
|
|
||||||
|
|
||||||
|
## Installation de docker
|
||||||
|
|
||||||
|
### Installation des dépendances
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo apt update
|
||||||
|
sudo apt -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
|
||||||
|
```
|
||||||
|
### Installation de la clé du dépôt Docker
|
||||||
|
|
||||||
|
```
|
||||||
|
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ajout du dépôt docker dans le **sources.list**
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo add-apt-repository \
|
||||||
|
"deb [arch=amd64] https://download.docker.com/linux/debian \
|
||||||
|
$(lsb_release -cs) \
|
||||||
|
stable"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Mise à jour de la liste des paquets et installation de docker
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io
|
||||||
|
```
|
||||||
|
|
||||||
|
### Ajout de l'utilisateur dans le groupe **docker** pour utiliser docker sans sudo
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo usermod -aG docker $USER
|
||||||
|
newgrp docker
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Installation de Docker-Compose
|
||||||
|
|
||||||
|
### Téléchargement de Docker-Compose
|
||||||
|
```
|
||||||
|
curl -s https://api.github.com/repos/docker/compose/releases/latest \
|
||||||
|
| grep browser_download_url \
|
||||||
|
| grep docker-compose-Linux-x86_64 \
|
||||||
|
| cut -d '"' -f 4 \
|
||||||
|
| wget -qi -
|
||||||
|
```
|
||||||
|
|
||||||
|
### Mise en place de l'exécutable
|
||||||
|
|
||||||
|
```
|
||||||
|
chmod +x docker-compose-Linux-x86_64 && sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
|
||||||
|
systemctl restart docker
|
||||||
|
```
|
||||||
|
|
||||||
|
### Auto-complétion pour Bash
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo curl -L https://raw.githubusercontent.com/docker/compose/master/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
|
||||||
|
source /etc/bash_completion.d/docker-compose
|
||||||
|
```
|
||||||
|
|
||||||
|
**Docker et Docker-compose sont maintenant installés**
|
||||||
|
|
||||||
|
## Mise en place de Wordpress avec docker-compose
|
||||||
|
|
||||||
|
Créer un dossier pour accueillir le projet, et le fichier **docker-compose.yml**:
|
||||||
|
|
||||||
|
```
|
||||||
|
mkdir wordpress && cd wordpress
|
||||||
|
touch docker-compose.yml
|
||||||
|
```
|
||||||
|
|
||||||
|
Ce fichier de configuration va déployer une image docker de wordpress et de la base de données mysql.
|
||||||
|
|
||||||
|
!!! info "docker-compose.yml"
|
||||||
|
```
|
||||||
|
version: '3.3'
|
||||||
|
|
||||||
|
services:
|
||||||
|
db:
|
||||||
|
image: mysql:5.7
|
||||||
|
volumes:
|
||||||
|
- db_data:/var/lib/mysql
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_PASSWORD: somewordpress
|
||||||
|
MYSQL_DATABASE: wordpress
|
||||||
|
MYSQL_USER: wordpress
|
||||||
|
MYSQL_PASSWORD: wordpress
|
||||||
|
|
||||||
|
wordpress:
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
image: wordpress:latest
|
||||||
|
ports:
|
||||||
|
- "8000:80"
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
WORDPRESS_DB_HOST: db:3306
|
||||||
|
WORDPRESS_DB_USER: wordpress
|
||||||
|
WORDPRESS_DB_PASSWORD: wordpress
|
||||||
|
WORDPRESS_DB_NAME: wordpress
|
||||||
|
VIRTUAL_HOST: wordpress.mondomaine.fr
|
||||||
|
volumes:
|
||||||
|
db_data: {}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Installation de SSL pour Nginx avec Let's Encrypt
|
||||||
|
|
||||||
|
Let's encrypt est un service qui permet de générer gratuitement un certificat SSL pour le domaine de notre choix.
|
||||||
|
```
|
||||||
|
sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface
|
||||||
|
sudo apt install python3-certbot-nginx
|
||||||
|
sudo certbot -d wordpress.mondomaine.fr
|
||||||
|
```
|
||||||
|
**Les certificats sont alors crés dans `/etc/letsencrypt/wordpress.mondomaine.fr`!**
|
||||||
|
|
||||||
|
## Configuration du **Server Bloc Nginx ** pour wordpress.mondomaine.fr
|
||||||
|
|
||||||
|
On peut maintenant créer le fichier de configuration nginx dans /etc/nginx/sites-available/wordpress.mondomaine.fr.conf:
|
||||||
|
|
||||||
|
!!! info "wordpress.mondomaine.fr"
|
||||||
|
```
|
||||||
|
upstream wpdocker {
|
||||||
|
server 127.0.0.1:8000;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
|
||||||
|
server_name wordpress.mondomaine.fr;
|
||||||
|
|
||||||
|
|
||||||
|
listen [::]:443 ssl; # managed by Certbot
|
||||||
|
listen 443 ssl; # managed by Certbot
|
||||||
|
ssl_certificate /etc/letsencrypt/live/wordpress.mondomaine.fr/fullchain.pem; # managed by Certbot
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/wordpress.mondomaine.fr/privkey.pem; # managed by Certbot
|
||||||
|
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
||||||
|
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://wpdocker;
|
||||||
|
proxy_redirect off;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Host $server_name;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
if ($host = wordpress.mondomaine.fr) {
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
} # managed by Certbot
|
||||||
|
|
||||||
|
location / {
|
||||||
|
rewrite ^/(.*)$ https://$host/$1 permanent;
|
||||||
|
}
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
|
||||||
|
server_name wordpress.mondomaine.fr;
|
||||||
|
return 404; # managed by Certbot
|
||||||
|
}
|
||||||
|
|
||||||
|
```
|
||||||
|
Pour activer ce fichier de configuration, on créé un lien symbolique vers le dossier sites-enabled:
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo ln -s /etc/nginx/sites-available/wordpress.mondomaine.fr.conf /etc/nginx/sites-enabled/
|
||||||
|
```
|
||||||
|
|
||||||
|
On recharge la configuration de Nginx:
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo systemctl reload nginx.service
|
||||||
|
```
|
||||||
|
|
||||||
|
***Et voilà, votre site est accessible à `https://wordpress.mondomaine.fr` !***
|
||||||
|
|
||||||
|
??? info "Plus d'infos sur la configuration de Nginx"
|
||||||
|
Plus d'infos sur [le guide Nginx de Linode](https://www.linode.com/docs/web-servers/nginx/)
|
||||||
@ -53,3 +53,5 @@ nav:
|
|||||||
- divers/index.md
|
- divers/index.md
|
||||||
- divers/backup.md
|
- divers/backup.md
|
||||||
- divers/install_pxe.md
|
- divers/install_pxe.md
|
||||||
|
- divers/wordpress_docker-compose_on_debian-10_with_nginx_reverse-proxy.md
|
||||||
|
- divers/nextcloud_docker-compose_on_debian-10_with_nginx_reverse-proxy.md
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user