GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer Spacewalk sur CentOS

Spacewalk gère les mises à jour de contenu logiciel pour les distributions dérivées de Red Hat telles que Fedora, CentOS et Scientific Linux, derrière votre pare-feu. Il s'agit de la version open source de RedHat satellite 5.Nous avons RedHat satellite 6 et la version open source est katello. Je vais vous montrer en détail comment configurer cela en détail dans mon prochain tutoriel. Spacewalk est un outil très puissant lorsqu'il s'agit de gérer l'infrastructure et il est vraiment stable et bien construit.

Je passe en revue l'installation de Spacewalk et vous montrerai en détail comment le configurer pour qu'il soit prêt pour la production, ainsi que toutes les fonctionnalités que nous pouvons utiliser avec lui. Je vais avec l'installation intégrée de Postgres.

Dans ce tutoriel, j'utiliserai 3 serveurs :

  • 192.168.1.20 - Serveur de sortie dans l'espace - centos 7
  • 192.168.1.21 - client de sortie dans l'espace - centos 6
  • 192.168.1.22 - client de sortie dans l'espace - centos 7

Exigences

CentOS 7 avec installation minimale :

cat /etc/redhat-release

Résultat :

CentOS Linux version 7.3.1611(Core)

SELinux en mode forcé :

statut
Statut SELinux :activé 
Montage SELinuxfs :/sys/fs/selinux
Répertoire racine SELinux :/etc/selinux
Nom de la stratégie chargée :ciblé
Mode actuel :application
Mode du fichier de configuration :application
État de la politique MLS :activé
État de la politique deny_unknown :autorisé
Version maximale de la politique du noyau :28
[[email protected] ~]#

Ajoutez l'entrée d'hôte/etc/hosts

192.168.1.20 spacewalk.sunil.cc spacewalk

Installation du serveur Spacewalk

Installation du dépôt Spacewalk CentOS.

rpm -Uvh http://yum.spacewalkproject.org/2.6/RHEL/7/x86_64/spacewalk-repo-2.6-0.el7.noarch.rpm
cat> /etc/yum.repos.d/jpackage-generic.repo <[jpackage-generic]
name=JPackage générique
baseurl=http://vesta .informatik.rwth-aachen.de/ftp/pub/comp/Linux/jpackage/5.0/generic/free/
#mirrorlist=http://www.jpackage.org/mirrorlist.php?dist=generic&type=free&release=5.0
enabled=1
gpgcheck=1
gpgkey=http://www.jpackage.org/jpackage.asc
EOF
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Installation de PostgreSQL pour la sortie dans l'espace :

yum install -y sortie dans l'espace-setup-postgresql sortie dans l'espace-postgresql

Ajout de règles de pare-feu.

firewall-cmd --add-service=http --permanent; pare-feu-cmd --add-service=https --permanent ; firewall-cmd --add-port=5222/tcp --permanent;firewall-cmd --add-port=5269/tcp --permanent;firewall-cmd --add-port=69 â??permanent; firewall-cmd --add-port=5222/udp --permanent;firewall-cmd --add-port=5269/udp --permanent

Et rechargez le pare-feu.

firewall-cmd --reload

Activer le pare-feu.

systemctl activer le pare-feu
systemctl redémarrer le pare-feu

Configurez le serveur PostgreSQL.

Ici, j'ai donné le nom de la base de données à spacewalk, le nom d'utilisateur à spacewalkuser et le mot de passe spacewalkuser.

spacewalk-setup-postgresql create --db spacewalk --user spacewalkuser --password spacewalkuser
/usr/bin/spacewalk-setup-postgresql :ligne 87 :isSUSE :commande introuvable/usr/bin/spacewalk-setup-postgresql :ligne 100 :isSUSE :commande introuvableRemarque :demande de transfert vers 'systemctl enable postgresql. service'.Création d'un lien symbolique depuis /etc/systemd/system/multi-user.target.wants/postgresql.service vers /usr/lib/systemd/system/postgresql.service.Astuce :la méthode préférée pour le faire est désormais "postgresql -setup initdb"Initialisation de la base de données... OK/usr/bin/spacewalk-setup-postgresql :ligne 154 :[:018446744073692774399 :expression entière attendueRedirection vers /bin/systemctl start postgresql.serviceRedirection vers /bin/systemctl recharge postgresql.service 

Configuration du serveur Spacewalk.

spacewalk-setup --skip-db-install
* Configuration de SELinux..** Base de données :Configuration de la connexion à la base de données pour le backend PostgreSQL.** Base de données :Installation de la base de données intégrée Ignorée. Impossible de se connecter à la base de données. Vos informations de connexion peuvent être incorrectes. Erreur :DBI connect('dbname=rhnschema','rhnuser',...) a échoué :FATAL :aucune entrée pg_hba.conf pour l'hôte "[local]", l'utilisateur "rhnuser", la base de données "rhnschema", SSL désactivé sur / usr/share/perl5/vendor_perl/Spacewalk/Setup.pm line 1686.Hostname (laisser vide pour local)?Database? sortie dans l'espaceNom d'utilisateur ? spacewalkuserPassword?** Base de données :Remplissage de la base de données.*** Progression :###########################* Configuration de tomcat.* Configuration des utilisateurs et groupes.** GPG :Initialisation de GPG et importation de la clé.** GPG :Création du répertoire /root/.gnupgVous devez saisir une adresse e-mail.Admin Email Address ? [email protected]* Exécution de la configuration initiale.* Configuration de l'hôte virtuel SSL d'Apache. Le programme d'installation doit-il configurer le serveur SSL par défaut d'Apache pour vous (enregistre le fichier ssl.conf d'origine) [O] ?** /etc/httpd/conf.d/ssl.conf a été sauvegardé sur ssl.conf-swsave* Configuration de jabberd.* Création de certificats SSL.Mot de passe du certificat CA ?Vous devez saisir un mot de passe.Mot de passe du certificat CA ?Retapez le mot de passe du certificat CA ?Organisation ? Unité d'organisation informatique [spacewalk.sunil.cc]?Adresse e-mail [[email protected]]?Ville ? Den HaagÉtat?État? Zuid-HollandCountry code (Exemples :"US", "JP", "IN", ou tapez "?" pour voir une liste) ? NL** SSL :Génération du certificat CA.** SSL :Déploiement du certificat CA.** SSL :Génération du certificat du serveur.** SSL :Stockage des certificats SSL.* Déploiement des fichiers de configuration.* Mise à jour de la configuration dans la base de données.* Configuration de Cobbler.. Cobbler nécessite que les services tftp et xinetd soient activés pour la fonctionnalité de provisionnement PXE. Activer ces services [O] ? Y* Redémarrage des services.Installation terminée.Visitez https://spacewalk.sunil.cc pour créer le compte administrateur Spacewalk.[[email protected] ~]#

Redémarrez la sortie dans l'espace.

redémarrage du service de sortie dans l'espace
Arrêt des services de sortie dans l'espace...Redirection vers /bin/systemctl stop taskomatic.serviceStopping cobblerd (via systemctl) :[ OK ]Redirection vers /bin/systemctl stop rhn-search.serviceRedirection vers /bin/systemctl stop osa-dispatcher .serviceRedirection vers /bin/systemctl stop httpd.serviceRedirection vers /bin/systemctl stop tomcat.serviceRedirection vers /bin/systemctl stop jabberd.serviceRedirection vers /bin/systemctl stop postgresql.serviceDone.Starting spacewalk services...Redirection vers /bin/ systemctl start postgresql.serviceRedirection vers /bin/systemctl start jabberd.serviceRedirection vers /bin/systemctl start tomcat.serviceAttente que tomcat soit prêt ...Redirection vers /bin/systemctl start httpd.serviceRedirection vers /bin/systemctl start osa-dispatcher .serviceRedirection vers /bin/systemctl start rhn-search.serviceStarting cobblerd (via systemctl):[ OK ]Redirection vers /bin/systemctl start taskomatic.serviceDone.[[ema il protégé] ~]# 

Configurer la sortie dans l'espace de l'utilisateur

Accéder à l'URL depuis le navigateur http://192.168.1.20

Remplissez les détails de l'organisation.

Spacewalk est installé avec succès.

Création d'un canal de sortie dans l'espace

Cliquez sur les canaux -> gérer les canaux logiciels -> créer un canal

Créer une chaîne parent -> centos6.8-parent

Nous devons maintenant créer des chaînes enfants

Canaux -> gérer les canaux -> créer un canal

Choisissez le canal parent pour être centos-6.8-parent

Nous allons maintenant créer le référentiel pour centos 6.8

Lier le dépôt au canal enfant que nous avons créé précédemment

Besoin de reproduire les mêmes étapes pour la création de canaux dans centos 7.

 

Nous devons maintenant télécharger les packages à partir du référentiel. Nous pouvons le faire via la ligne de commande ou depuis le tableau de bord.

ligne de commande

[[email protected] ~]# spacewalk-repo-sync --list00:01:23 =======================================00:01:23 | Libellé de chaîne | Référentiel |00:01:23 =====================================00:01:23 centos-7-enfant | http://mirror.centos.org/centos/7.3.1611/os/x86_64/00:01:23 centos-6.8 | http://mirror.centos.org/centos/6.8/os/x86_64/00:01:23 centos-7 | Aucun ensemble de référentiels00:01:23 centos-6.8-parent | Aucun référentiel défini[[email protected] ~]#[[email protected] ~]# spacewalk-repo-sync -c centos-6.800:02:18 ======================================00:02:18 | Chaîne :centos-6.800:02:18 ======================================00:02 :18 Synchronisation du canal démarrée.00:02:18 URL du dépôt :http://mirror.centos.org/centos/6.8/os/x86_64/00:02:30 Paquets dans le dépôt :669600:02:40 Paquets déjà synchronisés :000:02:40 Paquets à synchroniser :669600:02:40 1/6696 :389-ds-base-1.2.11.15-74.el6-0.x86_6400:02:43 2/6696 :389-ds-base- devel-1.2.11.15-74.el6-0.i68600:02:43 3/6696 :389-ds-base-devel-1.2.11.15-74.el6-0.x86_6400:02:44 4/6696 :389- ds-base-libs-1.2.11.15-74.el6-0.i68600:02:45 5/6696 :389-ds-base-libs-1.2.11.15-74.el6-0.x86_6400:02:46 6/ 6696 :ConsoleKit-0.4.1-6.el6-0.x86_6400:02:47 7/6696 :ConsoleKit-devel-0.4.1-6.el6-0.x86_64

Une fois que c'est fait, cela ressemblera à ceci

[[email protected] ~]# spacewalk-repo-sync -c centos-6.808:44:57 ======================================08:44:57 | Chaîne :centos-6.808:44:57 ======================================08:44 :57 Synchronisation du canal démarrée.08:44:57 URL du dépôt :http://mirror.centos.org/centos/6.8/os/x86_64/08:44:58 Paquets dans le dépôt :669608:45:47 Aucun nouveau paquet à sync.08:45:47 Repo http://mirror.centos.org/centos/6.8/os/x86_64/ a un fichier comps comps.xml.08:45:47 Repo http://mirror.centos.org/ centos/6.8/os/x86_64/ a 0 errata.08:45:47 Synchronisation du canal terminée en 0:00:49.08:45:47 Temps total :0:00:49[[email protected] ~]#

Depuis le navigateur Web

Vous pouvez également planifier la synchronisation quotidienne ou hebdomadaire pour une synchronisation automatique sur cette page et également sélectionner la synchronisation uniquement des derniers packages

Création de clés d'activation pour les hôtes Centos 6 et centos 7 pour l'authentification avec le serveur Spacewalk

Allez dans Systèmes -> Clés d'activation -> Créer une clé

Maintenant, nous devons créer la clé pour centos 6 , ici j'utilise la clé comme centos-6 et choisis le canal parent que j'ai créé plus tôt centos-6.8-parent

Faites de même pour centos 7

Vous devriez voir deux clés une pour les centos 6 et l'autre pour les centos 7

Configuration client

Dans ce chapitre, je vais vous montrer comment installer et configurer des clients avec des serveurs Spacewalk.

Cento6 - 192.168.1.21

Cento7 - 192.168.1.22

Configurer le référentiel client yum

Centos 6

[[email protected] ~]# rpm -Uvh http://yum.spacewalkproject.org/2.6-client/RHEL/6/x86_64/spacewalk-client-repo-2.6-0.el6.noarch.rpm 

Centos 7

[[email protected] ~]# rpm -Uvh http://yum.spacewalkproject.org/2.6-client/RHEL/7/x86_64/spacewalk-client-repo-2.6-0.el7.noarch.rpm 

Installation des packages nécessaires.

Centos 6

Installez à la fois le référentiel epel et les packages suivants sur les nœuds centos6 et centos7.

Activer le dépôt epel

[[email protected] ~]# yum install epel-release -y 
[[email protected] ~]# yum install rhn-client-tools rhn-check rhn-setup rhnsd m2crypto yum-rhn-plugin osad rhncfg-actions rhncfg-management -y

Inscrivez-vous sur Spacewalk Server

Avant de nous connecter au serveur de sortie dans l'espace, nous devrons télécharger le certificat SSL à partir du serveur de sortie dans l'espace.

[[email protected] ~]# wget -O /usr/share/rhn/RHN-ORG-TRUSTED-SSL-CERT http://spacewalk.sunil.cc/pub/RHN-ORG-TRUSTED-SSL- CERT--2017-03-04 21:54:16-- http://spacewalk.sunil.cc/pub/RHN-ORG-TRUSTED-SSL-CERTRésoudre spacewalk.sunil.cc... 192.168.1.20Connexion à la sortie dans l'espace .sunil.cc|192.168.1.20|:80... connected.HTTP request sent, en attente de réponse... 200 OKLongueur :5291 (5.2K)Enregistrement vers :/usr/share/rhn/RHN-ORG-TRUSTED-SSL -CERT100 %[=================================================================================================================>] 5 291 --.-K/s en 0s2017-03-04 21:54:17 (630 Mo/s) - /usr/ share/rhn/RHN-ORG-TRUSTED-SSL-CERT enregistré [5291/5291][[email protected] ~]#

Nous devons maintenant nous enregistrer avec la clé d'activation que nous avons créée précédemment, nous avons créé 1-centos6 pour centos6 et 1-centos7 pour centos7.

Centos 6

[[email protected] ~]# rhnreg_ks --force --activationkey="1-centos6" --serverUrl=http://spacewalk.sunil.cc/XMLRPC --sslCACert=/usr/share/rhn/ RHN-ORG-TRUSTED-SSL-CERT --profilename=$HOSTNAME

Centos 7

[[email protected] ~]# rhnreg_ks --force --activationkey="1-centos7" --serverUrl=http://spacewalk.sunil.cc/XMLRPC --sslCACert=/usr/share/rhn/ RHN-ORG-TRUSTED-SSL-CERT --profilename=$HOSTNAME

Synchronisez le profil avec la sortie dans l'espace, exécutez-le sur les nœuds centos6 et centos7.

[[email protected] ~]# rhn-profile-sync

Cela peut être utilisé pour exécuter des commandes à distance et transférer des fichiers depuis Spacewalk et l'une des fonctionnalités intéressantes de l'utilisation du serveur Spacewalk.

 [[email protected] ~]# chkconfig osad on[[email protected] ~]# service osad restartArrêter osad :[ OK ]Démarrer osad :[ OK ][[email protected] ~]# rhn-actions-control --enable-all[[email protected] ~]# 
[[email protected] ~]# systemctl enable osadCréation d'un lien symbolique de /etc/systemd/system/multi-user.target.wants/osad.service vers /usr/lib/systemd/system/osad.service.[[ email protected] ~]# systemctl restart osad[[email protected] ~]# rhn-actions-control --enable-all[[email protected] ~]#

Nous pouvons maintenant effectuer une synchronisation de profil.

 [[email protected] ~]# rhn-profile-syncMise à jour du profil du package...Mise à jour du profil matériel...[[email protected] ~]# [[email protected] ~]# rhn-profile-syncMise à jour du profil du package ...Mise à jour du profil matériel...[[email protected] ~]# 

Vous pouvez maintenant vérifier la même chose sur le tableau de bord de la sortie dans l'espace.

Exécuter des commandes à distance et gérer des fichiers via une sortie dans l'espace.

Dans ce chapitre, nous verrons à quel point la sortie dans l'espace est puissante lorsqu'il s'agit d'exécuter des commandes à distance et de gérer des fichiers de configuration.

Pour exécuter les commandes à distance, connectez-vous au tableau de bord de la sortie dans l'espace et recherchez l'hôte sur lequel nous devrons exécuter la commande à distance.

Cliquez sur la commande à distance et tapez les commandes que vous devrez exécuter.

Une fois planifié, vous pouvez accéder à l'onglet planifié et vérifier le statut.

Cliquez sur l'hôte pour voir les résultats.

Exécution de commandes à distance depuis la sortie dans l'espace.

Nous devrons installer spacecmd pour exécuter des commandes à distance.

[[email protected] ~]# yum install spacecmd -y

nous allons d'abord ajouter le système à l'aide de ssm et avant de vous connecter, vous pouvez utiliser les mêmes informations d'identification que le frontend.

[[email protected] ~]# spacecmdBienvenue dans spacecmd, une interface de ligne de commande pour Spacewalk.Tapez :'help' pour une liste de commandes 'help ' pour une aide spécifique à la commande 'quit' pour quitterSpacewalk Nom d'utilisateur :administratorSpacewalk Password :INFO :Connecté à https://spacewalk.sunil.cc/rpc/api en tant qu'administrateurspacecmd {SSM:0}> system_listcentos6.sunil.cccentos7.sunil.cccentos7test.sunil.ccspacecmd {SSM:0}> ssm_add centos6.sunil. ccspacecmd {SSM:1}> ssm_listcentos6.sunil.ccspacecmd {SSM:1}> quitter 

créer un script appelé avec n'importe quel nom ici je l'ai nommé ff.sh.

 [[email protected] ~]# cat ff.sh#!/bin/bashcat /etc/redhat-release[[email protected] ~]# 

Maintenant, pour exécuter la commande à distance.

[[email protected] ~]# spacecmd -y system_runscript "ssm -f ff.sh"INFO :Connecté à https://spacewalk.sunil.cc/rpc/api en tant qu'administrateurUtilisateur :rootGroup :rootTimeout :600 secondesHeure de début :20170305T12:16:17pScript Contents---------------#!/bin/bashcat /etc/redhat-releaseSystems-------centos6.sunil.ccINFO :ID d'action :33INFO :Programmé :1 système(s)[[email protected] ~]# 

Pour vérifier la sortie, vous pouvez exécuter la commande ci-dessous.

 [[email protected] ~]# spacecmd schedule_getoutput 33INFO :Connecté à https://spacewalk.sunil.cc/rpc/api en tant qu'administrateurSystème :centos6.sunil.ccHeure de début :20170305T12:16:19Heure d'arrêt :20170305T12:16 :19Code de retour :0Sortie------CentOS version 6.8 (finale)[[email protected] ~]# 

Dépannage

Si vous voyez que les commandes sont en attente pendant une longue période, les étapes suivantes peuvent être effectuées pour résoudre ce problème.

Assurez-vous que osa-dispatcher est en cours d'exécution sur le serveur de sortie dans l'espace.

 [[email protected] ~]# systemctl status osa-dispatcher ? osa-dispatcher.service - Démon de répartiteur OSA Chargé :chargé (/usr/lib/systemd/system/osa-dispatcher.service ; activé ; préréglage fournisseur :désactivé) Actif :actif (en cours d'exécution) depuis le 2017-03-05 09 :59h55 HEC ; il y a 2h 21min Processus :3470 ExecStart=/usr/sbin/osa-dispatcher --pid-file /var/run/osa-dispatcher.pid (code=exited, status=0/SUCCESS) Processus :3469 ExecStartPre=/bin/ rm -f /var/run/osa-dispatcher.pid (code=exited, status=0/SUCCESS) PID principal :3474 (osa-dispatcher) CGroup :/system.slice/osa-dispatcher.service ??3474 /usr /bin/python -s /usr/sbin/osa-dispatcher --pid-file /var/run/osa-dispatcher.pidMar 05 09:59:55 spacewalk.sunil.cc systemd[1] :Démarrage du démon OSA Dispatcher. ..mars 05 09:59:55 spacewalk.sunil.cc systemd[1] :fichier PID /var/run/osa-dispatcher.pid non lisible (encore ?) après le démarrage.mars 05 09:59:55 spacewalk.sunil .cc systemd[1] :démon de répartiteur OSA démarré.[[email protected] ~]# 

S'il ne fonctionne pas, veuillez redémarrer le service de sortie dans l'espace.

 [[email protected] ~]# redémarrage du service de sortie dans l'espace 

Assurez-vous que le port du pare-feu est ouvert pour 5222.

Veuillez effectuer les étapes suivantes côté client.

 [[email protected] ~]# systemctl stop osad [[email protected] ~]# rm -rf /etc/sysconfig/rhn/osad-auth.conf [[email protected] ~]# rhn_check -vvv[[ email protected] ~]# systemctl start osad[[email protected] ~]# systemctl status osad ? osad.service - Démon OSAD chargé :chargé (/usr/lib/systemd/system/osad.service ; activé ; préréglage fournisseur :désactivé) Actif :actif (en cours d'exécution) depuis le dim 2017-03-05 13:54:46 CET ; Il y a 26 s Processus :18696 ExecStart=/usr/sbin/osad --pid-file /var/run/osad.pid (code=exited, status=0/SUCCESS) PID principal :18697 (osad) CGroup :/system.slice /osad.service ??18697 /usr/bin/python -s /usr/sbin/osad --pid-file /var/run/osad.pidMar 05 13:54:46 centos7test.sunil.cc systemd[1] :Démarrage du démon OSAD...Mar 05 13:54:46 centos7test.sunil.cc systemd[1] :fichier PID /var/run/osad.pid non lisible (encore ?) après le démarrage.Mar 05 13:54:46 centos7test .sunil.cc systemd[1] :Démon OSAD démarré.[[email protected] ~]# netstat -aunltp|grep 5222tcp 1698 0 192.168.1.23:48127 192.168.1.20:5222 ESTABLISHED 18697/python[[email protected] ~] #

Déploiement du fichier via la sortie dans l'espace.

Dans cet exemple, je vais changer le motd du serveur centos 6.

Je vais d'abord créer un canal de configuration.



Création d'un fichier avec le contenu ci-dessous.

Nous devons maintenant nous abonner au canal sur lequel le serveur doit être déployé.


Le fichier peut être extrait du client.

 [[email protected] ~]# rhncfg-client channelsUsing server name spacewalk.sunil.ccConfig channels:Label Name----- ----motd-change motd[[email protected] ~]#[[email protected] ~]# rhncfg-client getUsing server name spacewalk.sunil.ccDeploying /etc/motd[[email protected] ~]#[[email protected] ~]# ls -l /etc/motd-rw-r--r -- 1 root root 760 5 mars 14:29 /etc/motd[[email protected] ~]# cat /etc/motd*********************** *********************************************** ** Cette système est réservé aux utilisateurs autorisés. L'utilisation de ** ce système peut être surveillée et enregistrée par le personnel du système. ** ** Toute personne utilisant ce système consent expressément à une telle surveillance ** et est informée que si une telle surveillance révèle d'éventuelles ** preuves d'activité criminelle, le personnel du système peut fournir les ** preuves de cette surveillance aux responsables de l'application des lois. ************************************************** *********************[[email protected] ~]# 

Cent OS
  1. Comment installer wordpress sur CentOS 6

  2. Comment installer SpaceWalk sur CentOS 6 / RHEL 6

  3. Comment installer PostgreSQL sur CentOS 7 / RHEL 7

  4. Comment installer MariaDB 10.4 sur CentOS 8 et RHEL 8

  5. Comment installer MySQL 8.0 sur CentOS/RHEL 8

Comment installer PostgreSQL dans CentOS 8

Comment installer le serveur de base de données PostgreSQL CentOS 8

Comment installer Oracle Database 21C sur CentOS 8

Comment installer Spacewalk sur CentOS 6

Comment installer Spacewalk sur CentOS 7

Comment installer Moodle sur CentOS 8