Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
fr:informatique:server:nextcloud [2025/02/10 17:38] – supprimée - modification externe (Date inconnue) 127.0.0.1 | fr:informatique:server:nextcloud [2025/02/15 19:44] (Version actuelle) – ↷ Liens modifiés en raison d'un déplacement. 20.171.207.126 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Serveur de sync de fichiers perso ====== | ||
+ | Spoil : ça va partir en cacahuète... | ||
+ | ===== Ini ===== | ||
+ | |||
+ | Il y a quelques années, j' | ||
+ | De plus, le serveur étant à l' | ||
+ | |||
+ | J' | ||
+ | |||
+ | Pour retrouver ce confort je souhaite déployer un truc façon owncloud qui soit accessible au minimum sur mon réseau local. Et ce truc, c'est [[https:// | ||
+ | Comme j'aime me prendre la tête et trouver la solution la plus complexe possible à un problème simple, je me suis imposé des handicaps : | ||
+ | * sur [[https:// | ||
+ | * dans des container [[https:// | ||
+ | * sous [[https:// | ||
+ | |||
+ | ===== Les mains dans le cambouis numérique ===== | ||
+ | |||
+ | Coup de bol, les raspberry pi 4 b sont enfin bootables sur périphériques usb. Manque de bol, l' | ||
+ | |||
+ | La solution : créer une carte micro sd avec l' | ||
+ | |||
+ | ===== Apache et PostgreSQL sous Docker ===== | ||
+ | Pour docker, un petit coup de pacman et il était installé. Le plus dur, ça a été la prise en main de cet outil. | ||
+ | |||
+ | Après d' | ||
+ | |||
+ | La solution adoptée pour le cron, employer le cron de l' | ||
+ | |||
+ | Sur l' | ||
+ | < | ||
+ | */5 * * * * docker exec -u www-data php -f / | ||
+ | </ | ||
+ | |||
+ | Dans le container, pour apache et php, il a fallu augmenter la taille max d' | ||
+ | < | ||
+ | nano / | ||
+ | </ | ||
+ | Et y mettre :\\ | ||
+ | < | ||
+ | upload_max_filesize = [VALEUR]M | ||
+ | post_max_size = [VALEUR]M | ||
+ | memory_limit = [VALEUR]M | ||
+ | </ | ||
+ | |||
+ | L' | ||
+ | Il a fallu générer la clef SSL, puis la renseigner dans la config. ( C'est la version courte, il m'a fallu trois jour pour me documenter et ne plus que ça déconne lol) | ||
+ | < | ||
+ | a2enmod ssl | ||
+ | a2ensite default-ssl | ||
+ | mkdir / | ||
+ | openssl req -x509 -nodes -days 1095 -newkey rsa:2048 -out / | ||
+ | </ | ||
+ | |||
+ | Active le ssl dans apache, crée le fichier de config pour l' | ||
+ | |||
+ | < | ||
+ | nano / | ||
+ | </ | ||
+ | Pour y modifier les lignes comme suit :\\ | ||
+ | < | ||
+ | SSLCertificateFile / | ||
+ | SSLCertificateKeyFile / | ||
+ | </ | ||
+ | Et enfin, dans le CLI\\ | ||
+ | < | ||
+ | service apache2 reload | ||
+ | </ | ||
+ | Qui relance apache avec ses nouveaux paramètres. Si j'ai oublié un truc, c'est à ce moment qu'il va gueuler xD | ||
+ | |||
+ | De manière à simplifier certaines manip, j'ai déployé un container de portainer. Je ne crache jamais sur une interface graphique qui permet de voir les infos direct, là où je mettrais un temps fou à retrouver la bonne commande. | ||
+ | |||
+ | Et finalement, j'ai forcé le raspberry à démarrer sur la console au lieu de l' | ||
+ | < | ||
+ | sudo systemctl set-default multi-user.target | ||
+ | </ | ||
+ | |||
+ | Ça libère de la RAM et du CPU, même si ce raspberry ne manque ni de l'un ni de l' | ||
+ | Avec les trois containers actifs (nextcloud, postgresql et portainer) moins de 600Mo de RAM sont utilisés. Ça pourrait évidemment changer si j'ai plus d' | ||
+ | |||
+ | ==== Petite surprise ==== | ||
+ | |||
+ | Suite à une coupure de courant, le serveur renvoyait systématiquement une erreur. Après fouille des logs, il s' | ||
+ | |||
+ | Découverte : Docker attribue les adresses IP dans l' | ||
+ | |||
+ | ==== Accès universel ==== | ||
+ | |||
+ | Après longue réflexion, j'ai décidé de prendre le risque d' | ||
+ | Mais je n'y suis pas! Le jour où on sera raccordés à la fibre, je migrerai probablement mes sites sur un serveur local, il faudra envisager de transférer le nom de domaine chez OVH ou Ghandi. | ||
+ | |||
+ | ==== Hostname resolver ==== | ||
+ | |||
+ | Derniers ajustements en date, je me suis retrouvé le nez dedans en essayant de joindre mon serveur depuis un ordinateur sous linux. Ca passe via l' | ||
+ | |||
+ | Après contrôle de la config réseau etc. je me suis rendu compte que les services AVAHI Zeroconf n' | ||
+ | |||
+ | Retour sur le PC sous Manjaro petit ping de contrôle sur [hostname serveur nextcloud].local et .... parfait, ça répond ! Problème résolu :D | ||
+ | |||
+ | ===== Vais-je me satisfaire du status quo ? ===== | ||
+ | |||
+ | Le setup me suffisait. Mais clairement y a des trucs qui foirottent plus ou moins. Et autant ça sync entre mes machines, autant le fait que madame puisse pas l' | ||
+ | |||
+ | Donc je vous invite à suivre mes pérégrinations dans le monde des serveurs avec [[fr: |