Annexes:Cygwin : Différence entre versions

De WikiFr_dbSQWare
Aller à : navigation, rechercher
m (Post installation configuration)
m (Création et lancement du deamon Cygwin)
Ligne 138 : Ligne 138 :
 
ssh oracle@localhost
 
ssh oracle@localhost
 
</pre>
 
</pre>
 +
(depuis votre cgwin pour que cela génère les fichiers de configuration)
 
<br>
 
<br>
(depuis votre cgwin pour que cela génère les fichiers de configuration)
 
 
 
Si vous avez ce genre d’erreur :
 
Si vous avez ce genre d’erreur :
 
[[Fichier:Cygwin capt6.png|admin]]
 
[[Fichier:Cygwin capt6.png|admin]]
Ligne 146 : Ligne 145 :
  
 
Faire “exit” pour revenir avec le user d’admin.
 
Faire “exit” pour revenir avec le user d’admin.
 +
 
==== Création et lancement du daemon cron ====
 
==== Création et lancement du daemon cron ====
  

Version du 24 avril 2024 à 15:58

Les scripts dbSQWare étant majoritairement écrits en shell, pour qu'ils fonctionnent en environnement windows, il vous faut un émulateur de shell.
La procédure déroule l'installation de la 3.5.3 de Cygwin (attention aux anciennes versions de windows !).
Si une version de Cygwin est déjà installée, supprimez la.
Pour plus de détails, voir
'Site principal Cygwin'.
'Install Cygwin'.
'Setting up Cygwin'.

Installation de Cygwin

Télécharger l'installeur Cygwin

Depuis www.cygwin.com, téléchargez la version de l'installeur Cygwin correspondante à votre système.
Pour les systèmes 64 bits, setup-x86_64.exe

Pour les versions plus anciennes de Windows, vous avez la note « How can I install the last Cygwin version for an old, unsupported Windows?” dans les FAQ de https://www.cygwin.com/install.html.

Choisir un miroir

Choisir un miroir pas trop loin de chez nous (mais qui fonctionne) sur :
www.cygwin.com/mirrors.html
Exemple : https://mirrors.filigrane-technologie.fr/cygwin/ (celui utilisé dans l'exemple plus bas.)

Installation mode ligne de commande

Connectez-vous sur la machine Windows avec un compte administrateur. Le mode admin est obligatoire sinon vous risquez d’avoir des problèmes à l’utilisation !

cmd en tant qu'administrateur

Placez-vous dans le répertoire qui contient l’installeur et lancez l'installation en mode ligne de commande en choisissant le bon miroir et le bon chemin :

#Lancez la commande suivante

setup-x86_64.exe -X --quiet-mode --root C:\Cygwin --site https://mirrors.filigrane-technologie.fr/cygwin/ --packages bash-completion,exim,email,bc,cron,coreutils,cygrunsrv,shutdown,expect,gnupg,jq,lz4,pv,ssh-pageant,zstd,gzip,bzip2,sharutils,unzip,zip,ed,vim,gawk,perl,postfix,postfix-doc,postfix-tools,sendmail,curl,inetutils,openssh,openssl,ping,putty,rsync,bash,cpio,cygutils-extra,diffutils,dos2unix,keychain,time,screen,subversion,psmisc,python37,mc,nc,git,git-svn,wget

#Attention, toute la commande tient sur une seule ligne !
#Vous pouvez ajouter l’option --upgrade-also pour mettre à jour une distri déjà installée.


Lien vers la doc complète d’installation :
https://www.cygwin.com/install.html

Pour plus d’infos sur les options de la ligne de commande :
https://www.cygwin.com/faq/faq.html#faq.setup.cli
Notamment pour « --proxy » si besoin

Si vous voulez détruire le service :
https://www.cygwin.com/faq/faq.html#faq.setup.uninstall-service

Si vous voulez désinstaller Cygwin :
https://www.cygwin.com/faq/faq.html#faq.setup.uninstall-all


Post installation configuration

Création d’un utilisateur Windows dédié (pour le SGBD)

Ajoutez un utilisateur Windows qui portera l’exploitation du SGBD sur votre machine.
Exemple :

  • oracle pour Oracle (le mettre dans le groupe ora_dba)
  • mysql pour MySQL ou MariaDB
  • postgres pour PostgreSQL


Vous pouvez allez dans la gestion de l’ordinateur puis dans la catégorie Utilisateurs et groupes et cliquer sur le dossier utilisateurs, puis faites un clic droit pour faire nouvel utilisateur
admin


Entrez le nom d’utilisateur les mots de passes et cochez la case le mot de passe n’expire jamais
admin


Il est préférable de placer l'utilisateur dans le compte Administrateur et pour oracle, placez le compte également dans le groupe ORA_DBA.
admin

Ouverture du Pare-feu Windows

Vous devez ouvrir le FW « local » s’il est actif pour le port 22 (ssh).
Exemple avec la ligne de commande (CMD windows) avec droits admin :

netsh advfirewall firewall add rule name="SSH open ports" dir=in action=allow protocol=TCP localport=22


Vous pouvez également ouvrir le protocole ICMP le temps de la configuration.

netsh advfirewall firewall add rule name="ICMPv4 rule" dir=in action=allow protocol=ICMPv4


Pensez également à ouvrir les FW « centraux » si vous filtrez les flux de manière globale entre les machines !

Configuration de Cygwin (deamon et users)

Mapping des utilisateurs et groupes

Toujours connecté avec le compte windows d’administration avec lequel vous avez installé Cygwin, lancez l’invite de commande Cygwin, puis exécutez les commandes suivantes : Pour configurer les users :

mkpasswd -l > /etc/passwd

Pour configurer les groupes :

mkgroup -l > /etc/group

Vérifiez le fichier /etc/passwd, si un nom d’ordinateur ou de domaine s’est positionné devant le user précédemment créé (en tout début de ligne), retirez le ! Exemples :

  • MONORDI+mysql: => mysql:
  • MONDOMAINE+postgres: => postgres:

Avant : admin
Apres : admin
Ne touchez rien d’autre au reste, c’est ce qui fait le mapping entre cygwin et Windows ! Si vous avez un doute, demandez-nous.

Création du lien ksh => bash

Création du soft link pour permettre aux scripts de fonctionner :

ln -s /bin/bash /bin/ksh 


Création et lancement du deamon Cygwin

Toujours dans la console Cygwin …

Pour créer le démon sshd :

ssh-host-config -y -c ntsec -u admin -w sqw

Pour lancer le deamon :

cygrunsrv -S cygsshd


Pour vérifier que tout est OK, essayez de vous connecter à votre compte oracle/mysql/postres en ssh :

ssh mysql@localhost
# ou
ssh postgres@localhost
# ou
ssh oracle@localhost

(depuis votre cgwin pour que cela génère les fichiers de configuration)
Si vous avez ce genre d’erreur : admin Si vous avez cette erreur passer le compte oracle/mysql/postgres en compte Administrateur !

Faire “exit” pour revenir avec le user d’admin.

Création et lancement du daemon cron

Path

Une fois l'installation terminée, ajoutez le répertoire des binaires 'C:\cygwin64\bin' à la variable d'environnement Windows %PATH%.
Le répertoire doit se trouver au début de la variable %PATH%.
Sur le bureau, cliquez avec le bouton droit de la souris sur Poste de travail et cliquez sur Propriétés.
Cliquez sur l'onglet Avancé.
Cliquez sur Variables d'environnement.
Dans la section Variables système, éditez la valeur de la variable Path.
L'exemple suivant présente une valeur Path avec le répertoire C:\cygwin64\bin au départ.
Le contenu réel de la variable dépend de la configuration de votre ordinateur.
PATH=C:\cygwin64\bin;%SystemRoot%\system32

Les droits

Ouvrez une console Cygwin et exécutez les commandes suivantes :

chmod +r /etc/passwd
chmod +r /etc/group
chmod 755 /var

Démon SSH

Pour configurer SSH, exécutez la commande suivante en local sur la machine.

ssh-host-config -y

Reboot

Si vous avez modifié la variable PATH, redémarrez la machine afin que les modifications soient prises en compte.

Désinstallation de Cygwin

Attention, tous les deamon et commandes en cours doivent être stoppées sinon la suppression des fichiers va échouer.

Supprimez tous les services Cygwin (ie: sshd, cron, cygserver et inetd).

Arrêtez les services démarrés :

cygrunsrv -E service_name

où service_name correspond au nom du service.

Puis désinstallez le service :

cygrunsrv -R service_name

Arrêtez le serveur X11

S'il est en cours d'exécution et arrêtez tous les programmes Cygwin.

Supprimez les points de montage:

umount -A

Sortez de l'invit de commande et vérifiez qu'il ne reste aucun processus Cygwin.

Supprimez le répertoire d'installation de Cygwin et tous ses sous-répertoires.

  • Si vous recevez une erreur indiquant qu'un objet est en cours d'utilisation, vérifiez que tous les services ont été arrêtés et que tous les programmes Cygwin sont fermés.
  • Si vous recevez une erreur Droit d'accès refusé, modifiez les autorisations ou les droits de propriété de votre compte utilisateur sur les fichiers ou dossiers ayant provoqué l'erreur. Pour modifier la propriété du dossier Cygwin à partir de l'explorateur Windows, cliquez avec le bouton droit de la souris sur le dossier Cygwin et cliquez sur Propriétés. Dans l'onglet Sécurité, sélectionnez Avancé. Dans l'onglet Propriétaire, vérifiez que votre compte apparaît comme propriétaire. Cochez la case Remplacer le propriétaire des sous-conteneurs et des objets, puis cliquez sur OK.

Supprimez les raccourcis Cygwin.

Sur le bureau et dans le menu Démarrer ...

Chemin système.

Si Cygwin est dans le PATH, supprimez-le.

Variable d'environnement CYGWIN.

Supprimez la variable d'environnement CYGWIN si elle existe.

Registre Windows.

Supprimez la/les clé(s) de registre 'Software\Cygnus Solutions' sous 'HKEY_LOCAL_MACHINE' et 'HKEY_CURRENT_USER', si elle existe.
Généralement, les seules informations stockées dans le registre sont les informations de montage.

Redémarrer de la session (ou reboot, c'est mieux).