Bonjour à tous,
Depuis que j’ai touché aux VPS avec le tuto pour y installer dodoc 10 j’essaye de migrer d’autres outils et en particulier un nextcloud qui était sur une raspberry avec yunohost. Mais ce dernier comme tous mes serveurs yunohost a fini par crashé et j’ai perdu mes données.
Je cherche donc à réinstaller un nextcloud mais attention sans faire de mal à mon précieux nouveau né dodoc 10. Ce qui n’a pas été sans difficultés. Les tutoriels que j’ai pu trouvé utilisent tous apache. Je ne le savait pas mais apache et nginx ne sont pas copains car ils font un peu le même chose. Faire travailler ensemble ces deux programmes a été fatal pour dodoc.
Donc je me suis fais aider par chatGPT qui m’a tout dabord mal aiguiller puis à force de persévérance on a trouvé une piste qui tiens la route.
Je propose donc un tutoriel que je vous invite à compléter en répondant à ce fil.
0/ Prérequis
Assurez-vous d’avoir un serveur Ubuntu configuré avec un utilisateur disposant des droits sudo. Vous devez également avoir Nginx déjà installé et configuré pour gérer dodoc sur le port 80.
Les minimas en terme de stockage et de capacité sont à définir.
- Assurez-vous que votre système est à jour ;
sudo apt update sudo apt upgrade -y
- Installer php et d’autres modules requis :
sudo apt install php-fpm php-mysql php-curl php-gd php-intl php-json php-mbstring php-xml php-zip php-bz2 php-imagick
1/ Téléchargement de nextcloud
- Installer nextcloud, dans le bon dossier :
wget https://download.nextcloud.com/server/releases/nextcloud-25.0.0.zip
unzip nextcloud-25.0.0.zip sudo mv nextcloud /var/www/
- Si « unzip » ne fonctionne pas, c’est qu’il faut l’installer
sudo apt install unzip
- Une fois extrait, attribuer à nextcloud les droits nécessaires :
sudo chown -R www-data:www-data /var/www/nextcloud
sudo chmod -R 755 /var/www/nextcloud
- supprimer l’archive compressé :
sudo rm -r nextcloud-25.0.0.zip
2/ Paramétrer le proxy
Si je comprend bien, nginx comme apache sont des proxy. On cherche ici a ce qu’il oriente un visiteur vers le bon logiciel.
Dans notre cas, dodoc.mon-domaine.fr vers une ip prenons ici 000.000.0.00 et vers un port où est un programme. Par exemple dodoc est sur le port 80 donc son adresse est : 000.000.0.00:8080.
On cherche ici à ce que le domaine : cloud.mon-domaine bien qu’il envoi vers le même IP puisse renvoyer sur un autre port, le port 81 par exemple.
2.1 Paramétrer votre zone DNS
La première chose à faire est de paramétrer votre zone DNS et de définir une entrée A pour qu’n domaine de votre choix puisse renvoyer vers l’IP de votre serveur.
Dans mon cas j’aurai deux entrées A avec deux sous-domaines différents (dodoc.mon-domaine.fr et cloud.mon-domaine.fr) qui renvoient vers la mêm adresse IP.
La direction vers le port se fera par nginx justement.
2.2 Paramétrer Nginx
- Editer le fichier de configuration nginx déjà configuré lors de l’installation de dodoc.
sudo nano /etc/nginx/sites-available/default
- Y rentrer le code suivant à la suite des lignes destinés à dodoc.
- Remplacer
dodoc.mon-domaine.fr
etcloud.mon-domaine.fr
par vos domaines ou vos sous domaine.
#configuration de dodoc
server {
server_name dodoc.mon-domaine.fr;
client_max_body_size 100M;
location / {
proxy_pass https://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
# Configuration pour Nextcloud
server {
listen 81;
server_name cloud.mon-domaine.fr;
root /var/www/nextcloud;
index index.php index.html;
access_log /var/log/nginx/nextcloud_access.log;
error_log /var/log/nginx/nextcloud_error.log;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_sc>
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param HTTPS on;
fastcgi_intercept_errors on;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
}
location ~ /\.ht {
deny all;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires max;
log_not_found off;
}
}
- Si besoin, activer la configuration de nextcloud :
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
- Redémarrer nginx :
sudo systemctl restart nginx
3/ Accés à nextcloud
Depuis un navigateur on devrait pouvoir retrouver nextcloud en tapant son domaine associé avec un protocole http : http://cloud.mon-domaine.fr
Pour le moment cet acnés ne fonctionne pas. Il me faut encore spécifier le numéro de port à la fin de l’URL. Tel que : http://cloud.mon-domaine.fr:81
La raison de ceci viens probablement d’une mauvaise configuration de nginx. La chose reste à éclaircir.
4/ A améliorer
- Précisions pour la création de la base de données
- Pouvoir se connecter sans spécifier le numéro de port à la fin de l’URL.
- Ajouter une étape pour la génération du certificat SSL en accord avec le tuto de dodoc.