Accueil Synology Vacances Jardin Aide

Virtual Host

Allez voir la section fichiers de configs pour trouver les fichiers à modifier. On part du principe que le nom de domaine principal est combes.fr

Pré requis :


Vérifier que vous avez bien activé les virtuals hosts (panneau de configuation --> Service Web -->Hotes Virtuels)


Exemple 1 :

Bloc pour ajouter un virtual Host pour la freebox :

#Freebox
<VirtualHost *:80>
ServerName freebox.combes.fr
ProxyRequests Off
ProxyVia Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://192.168.0.1/
ProxyPassReverse / http://192.168.0.1
</VirtualHost>


Exemple 2 :

Bloc pour ajouter une redirection vers un sous repertoire 'ftp' du repertoire web"

<VirtualHost *:80>
ServerName ftp.combes.fr
DocumentRoot "/var/services/web/ftp"
ErrorDocument 403 "/webdefault/error.html"
ErrorDocument 404 "/webdefault/error.html"
ErrorDocument 500 "/webdefault/error.html"
</VirtualHost>

Si cela ne fonctionne pas, ajouter les lignes suivantes dans le fichier den conf d'apache puis redemarrer le service Web
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so

Fichiers de config importants

Voici un extrait du fichier de config de Config File Editor #SSH
/etc/ssh/sshd_config,SSH_conf

#Apache - php
#/usr/syno/etc/php.ini,Conf_PHP
#/usr/syno/apache/conf/httpd.conf-user,Conf_Module_Apache #Vieilles version
/etc/httpd/conf/httpd.conf,Conf_Module_Apache
#/usr/syno/etc/httpd-vhost.conf-user,Conf_Virtual_Host1 #Vieilles version
/usr/syno/etc/httpd-vhost.conf-user2,Conf_Virtual_Host
/etc/httpd/sites-enabled-user/httpd-vhost.conf-user,VirtualHost_5.2
/etc/httpd/sites-enabled-user/httpd-ssl-vhost.conf-user,VirtualHost_SSL_5.2
/usr/syno/etc/smb.conf,samba Daemon
/usr/syno/etc.defaults/smb.conf,samba Daemon-defaults
#Fichier host
/etc/hosts,hosts
/etc.defaults/hosts,hosts-defaults

#Logs
/var/log/messages,Logs

#Crontab
/etc/crontab,crontab
/etc.defaults/crontab,crontab-defaults

#Sauvegarde
#/usr/syno/bin/synonetbkp,BACKUP_Synonetbkp
/etc/rsyncd.conf,BACKUP_Rsyncd
#/etc/synonetbkp.conf,synonetbkp.conf

#Montage au demarrage
#/etc/rc.local,rc.local
/etc/fstab,fstab
/etc.defaults/fstab,fstab-defaults

#Mails
/usr/syno/synoman/webman/texts/fre/mails,Conf_Mail_message
/usr/syno/synoman/webman/texts/enu/mails,Conf_Mail_Message_EN
/usr/syno/synoman/webman/texts/fre/notification_category,notification_category
/usr/syno/etc/notification/notification_filter.settings,notificationsettings
/usr/syno/synoman/webman/texts/enu/notification_category,notification_category_EN
#/usr/syno/mailstation/etc/main.cf,Postifx main.cf
#/usr/syno/mailstation/etc/dovecot.conf,dovecot
/usr/syno/avahi/avahi-daemon.conf,avahi

#Divers
/etc/inetd.conf, inetd.conf
/etc.defaults/inetd.conf, inetd.conf-defaults
/etc/profile,profile
/etc.defaults/profile,profile-defaults
/var/log/rsync.error,rsync-error

#TV
/etc/dhcpd/dhcpd-eth0-tv.info,tv.info
/etc/dhcpd/dhcpd-eth0-tv.conf,tv.conf
/volume1/homes/admin/apigandi/update_api,gandi
#redemarrer crontab /usr/syno/sbin/synoservicectl --restart crond
#redemarrer apache httpd -k restart

Transformer son NAS en serveur de déploiement Windows

Contacter moi pour avoir le tuto et les sources.

Problème de demarrage du NAS

Cela est due en géneral a un peripherique USB de connecté. Voici quelques commandes permettant de forcer la fin du boot :
Usage: synobootseq [COMMAND]
--set-start-etcrc
--set-check-fs
--set-start-services
--set-boot-done
--get
--is-ready

gnoboot > synobootseq --set-boot-done
gnoboot > synobootseq --is-ready
gnoboot> /usr/syno/etc/rc.d/S97apache-sys.sh start
gnoboot> /usr/syno/etc/rc.d/S95sshd.sh start

[Synology] Distribuer un service DDNS grâce à votre serveur et Gandi

BY· 13 JANVIER 2014

Bonjour,

L’API Gandi est un outil merveilleux ! Voyez dans cet article comment procéder pour permettre à vos amis de se débarrasser de DynDNS, No-IP, etc.. Et proposer vous même un service DDNS. C’est facile, et ça ne coûte rien.. !

/!\ Article réécrit le 25/04/2014

Je n’ai jamais trouvé les offres gratuites DynDNS très fiables. De plus, j’étais constamment spamé par mail..Et puis après payer $30 (Offre perso) Je trouve ça honteux.. En sachant qu’un domaine c’est 15€ chez Gandi par exemple..

Après avoir découvert l’API Gandi, j’ai donc eu l’idée de proposer à des amis un service ddns pour leur simplifier la vie ! Et leur montrer que les services DynDNS,.. on peut aussi faire sans de nos jours, même si on a des IP Dynamiques..

Aujourd’hui, je souhaiterai donc vous présenter la procédure, si jamais vous souhaitez faire de même;-)

Remarque : on a pas besoin d’avoir un Syno si l’on comprend le concept et que l’on a un compte Gandi:-)C’est pourquoi je vais détaillé les actions à effectuer pour installer l’apigandi, néanmoins vous trouverez pour les utilisateurs Syno le paquet geasy en fin d’article ! Leur permettant d’installer le système et ajouter de nouveau utilisateurs !

I) Mise en place de la Gandi API

Pour cette partie, je vous conseille déjà de suivre mon premier article sur la mise en place d’un nom de domaine avec la Gandi API. En effet, avant de comprendre dans la généralité ce qu’est la Gandi API et comment l’on va organiser cela, il vaut mieux déjà avoir vu le cas particulier de mon premier article.

Une fois cela fait, supprimer le dossier /Volume1/homes/admin/gandyn, s’il existe, si vous avez suivi le premier article en entier. Pensez donc à sauvegarder votre apikey avant toute chose pour éviter d’avoir à la chercher !!:-)

Je pense que permettre à votre client d’accéder à la Gandi API est une très mauvaise chose.. C’est pourquoi il vous faudra séparer récupération de l’ip sur le serveur et la mise à jour de cette derniers dans les zones dns.

Tout se passera dans le dossier admin qui devra être bien entendu sécurisé

chmod -R 711 /volume1/homes/admin

A présent, il va falloir lancer les commandes suivantes, pour installer la nouvelle api généralisée :

cd /volume1/homes/admin/
wget http://partage.gauss-it.net/syno/apigandi/apigandi_service.zip && unzip apigandi_service.zip
chmod -R 755 apigandi_service && chown -R admin:users apigandi_service
mv apigandi_service apigandi

Une fois cela fait, rentrez dans le dossier. Vous y trouverez :

  • un fichierapikey, où mettre votre clef
  • un fichiermaindomain, où mettre votre nom de domaine (expl : gauss-it.net à mettre dans maindomain)
  • un fichierupdate_api, qui exécute tour à tour les dossiers clients et votre dossier principal
  • un dossiermy_domain, qui est la structure gandyn permettant de mettre à jourUNIQUEMENT votre domaine principal. Ce dossier est à renommer du nom mis dans le fichier maindomain (dans mon expl gauss-it.net)

A présent passons à la partie suivante, nous allons voir comment rajouter des clients dans notre service de DDNS.

II) Création de l’utilisateur sur votre serveur

Un utilisateur, client du service de ddns, devra être créé. Ainsi qu’un groupe spécial. Chez moi, le groupe s’appelle network, pour qu’ils aient un status spécial par rapport aux autres membres !!

Si jamais un virtualhost existe déjà avec le même nom que votre client, le virtualhost sera surplanté par votre client. C’est pourquoi l’utilisateur ne pourra pas choisir n’importe quel nom et c’est donc à vous de l’autoriser ou le changer si nécessaire !

Une fois l’utilisateur créé sur votre serveur, il faut que vous ajoutiez une entrée dans le fichier de zone de votre compte gandi

sous-domain 300 IN A 1.2.3.4

Sinon vous aurez une erreur du type :

Traceback (most recent call last):

File "src/gandyn.py", line 160, in <module>

main(sys.argv, globals(), locals())

File "src/gandyn.py", line 142, in main

previous_ip_address = gandi_updater.get_record_value()

File "src/gandyn.py", line 53, in get_record_value

)[0][‘value’]

IndexError: list index out of range

Et lancez le script ./update_api pour être sûr que tout fonctionne ! N’hésitez pas à regarder votre fichier de zone et les logs de chaque utilisateur du service dans le dossier <user>/logs/gandyn.log

III) Création du lien client-serveur

À présent, l’idée est simple. Créer un lien entre votre serveur et celui de la personne dont l’IP est dynamique. Pour cela, il faudra donc préparer le serveur distant, ainsi que le votre.

  1. Créer une paire ssh sur le serveur distant pour se passer de l’authentification par mot de passe.
  2. Autoriser la clef ssh sur votre serveur
  3. Envoyer l’ip courante du serveur distant au votre, régulièrement. (expl : vérification toutes les heures, puis envoie si nécessaire)

Pour cela, j’ai créé un petit script disponible ici : http://partage.gauss-it.net/syno/apigandi/update_ddns et permettant d’envoyer l’ip de l’ordinateur client vers un serveur distant. (n’oubliez pas de changer le chmod !)

Il va falloir dans un premier temps modifier comme indiqué dans le fichier update_ddns, les différentes variables.
De plus, pour pour automatiser l’envoi veuillez lancez les commandes suivantes :

apt-get install crontab scp

crontab -e # et ajouter la commande "0 */1 * * * ~/update_ddns"

Une fois cela fait le serveur distant vous fournira son adresse ip actuelle dans le fichier/volume1/homes/<user>/extip. Il ne vous reste plus qu’à créer le dossier pour votre nouvel utilisateur dans /volume1/homes/admin/apigandi. Ce que nous allons voir dès à présent !! :-)

IV) Finalisation de l’installation du service

a. Mise en place d’un nouveau client

Pour ce faire lancez simplement les commandes suivantes, pour chaque nouvel utilisateur :

cd /volume1/homes/admin
wget http://partage.gauss-it.net/syno/apigandi/apigandi_client.zip && unzip apigandi_client.zip
chmod -R 755 apigandi_client && chown -R admin:users apigandi_client

Commencez par changer le nom du dossier "apigandi_client" par le nom de l’utilisateur nouvellement créé. Puis entrez dans le dossier et modifier le fichier subdomain, en indiquant le nom du sous-domaine que vous voulez utiliser (uniquement le sous-domaine : machin.gauss-it.net -> machin à mettre dans le fichier subdomain).

b. Automatisation des requêtes gandyn

Le script-shell ‘update_api’ va chercher les dossiers de chaque client dans /volume1/homes/admin/apigandi/ et lancer la mise à jour de leur ip dans le fichier de zones.

Ce script permet de n’avoir à écrire qu’une crontab sur l’interface du DSM (perso j’ai opté pour un update toutes les 4 heures) et la voici en image ! :-)

crontab_gandyn

Conclusion,

Comme je le disais en début d’article, voici la commande d’installation de l’apigandi pour Geasy, n’hésitez pas à la lancer à chaque nouvel utilisateur.
Avec ce petit article vous êtes à présent en mesure de distribuer votre propre service de DDNS pour vos amis, et ainsi peut-etre aussi rentabiliser votre nom de domaine ! :)