Deploy/SpaceWalk/Install

De TartareFR
Aller à la navigation Aller à la recherche
LogoSpacewalk.svg

Installation de Spacewalk 2.0.

Pré-requis

SpacewalkRelease2.0.png
  • Ports ouverts en sortie 80, 443, 4545 (seulement si le monitoring est souhaité)
  • Ports ouverts en entrée 80, 443, 5222 (seulement pour effectuer des actions sur les clients) and 5269 (seulement pour effectuer des actions sur le Proxy Spacewalk), 69 udp pour utiliser tftp
  • Espace disque pour la base de données: 250 KiB par client + 500 KiB par channel + 230 KiB par paquet du channel (ex: 1.1GiB pour un channel avec 5000 paquets)
  • Espace disque pour les paquets (default <path>/var/satellite</path>): Red Hat recommende 6GB par channel pour les siens
  • 2GB RAM minimum, 4GB recommendé
  • Un système d'exploitation à jour.
  • Pour utiliser LDAP comme service d'identité central, voir https://fedorahosted.org/spacewalk/wiki/SpacewalkWithLDAP
  • In the following steps we assume you have a default, vanilla installation of your operating system, without any customized setup of yum repositories, user management, security, etc.

Mise en place du dépôt Spacewalk

Les RPM sont disponible au téléchargement sur le dépôt <app>yum</app> du projet:

Pour l'utiliser facilement, On va installer le paquet <package>spacewalk-repo</package>

RHEL 5, CentOS 5

rpm -Uvh http://yum.spacewalkproject.org/2.0/RHEL/5/x86_64/spacewalk-repo-2.0-3.el5.noarch.rpm

RHEL 6, CentOS 6, Scientific Linux 6

rpm -Uvh http://yum.spacewalkproject.org/2.0/RHEL/6/x86_64/spacewalk-repo-2.0-3.el6.noarch.rpm

Fedora 18

rpm -Uvh http://yum.spacewalkproject.org/2.0/Fedora/18/x86_64/spacewalk-repo-2.0-3.fc18.noarch.rpm

Fedora 19

rpm -Uvh http://yum.spacewalkproject.org/2.0/Fedora/19/x86_64/spacewalk-repo-2.0-3.fc19.noarch.rpm

Dépôts et paquets additionels

RHEL 6

Pour utiliser Spacewalk sur RHEL 6, Il est obligatoire d'être inscrit sur le channel RHN:

  • Red Hat Optional Server 6

Jpackage repository

RHEL 6, SL 6, CentOS 6 and Fedora

Pour utiliser Spacewalk sur RHEL 6 et Fedora, quelques dépendances nécessite des paquets provenant du dépôt jpackage. Il faut donc l'installer avant de poursuivre l'installation.

Liste des mirroirs disponibles sur http://www.jpackage.org/mirroring.php

cat > /etc/yum.repos.d/jpackage-generic.repo << EOF
[jpackage-generic]
name=JPackage generic
#baseurl=http://mirrors.dotsrc.org/pub/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

Nous voulons spécifiquement le répertoire 5.0 dans l'URL ci dessus.

Warning.png
Dépôt jpackage et RHEL
Il ne faut pas utiliser le dépôt jpackage-generic sur RHEL 5.

EPEL repository

Spacewalk requière une Machine Virtuel Java en version 1.6.0 ou supérieure. EPEL - Extra Packages pour Enterprise Linux contient une version d'openjdk qui fonctionne avec Spacewalk. D'autres dépendances peuvent être installés du dépôt EPEL sans problème. Pour utiliser le dépôt EPEL, on installe simplement le RPM du dépôt.

EPEL 5 (pour EL 5)

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

EPEL 6 (pour EL 6)

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

CentOS 5

  • Des paquets indispensables: <package>rhn-client-tools</package> et <package>rhnlib</package> sont supprimés des dépôts CentOS, ils se trouvent dans le dépôt spacewalk-client.
    On peut les installer facilement en installant <package>spacewalk-client-repo</package> du dépôt spacewalk-client.
    rpm -ihv http://yum.spacewalkproject.org/1.8-client/RHEL/5/x86_64/spacewalk-client-repo-1.8-4.el5.noarch.rpm
  • Import de la clé GPG pour les RPM Red Hat:
    # wget -O /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release http://www.redhat.com/security/37017186.txt
    # rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

Base de données

Spacewalk utilise un serveur de bases de données pour sauvegarder ses données. Il supporte PostgreSQL (version 8.4 et supérieur) et Oracle RDBMS (version 10g et supérieur).

Serveur PostgreSQL, configuré par Spacewalk (embarqué)

On peut laisser Spacewalk configurer le serveur PostgreSQL sans intervention humaine.

yum install spacewalk-setup-postgresql

On doit alors ignorer la section Configurer Spacewalk.

Serveur PostgreSQL, configuré par nos soins

Par préférence ou pour utiliser un serveur de bases de données déjà existant, on peut installer/configurer un serveur <package>postgresql</package> local ou distant. voir la page de configuration de PostgreSQL afin d'installer et configurer le serveur. On a besoin d'une base et d'un utilisateur, et la base doit avoir le langage plpgsql.

Important.png
Serveur de bases de données PostgreSQL distant
Pour utiliser un serveur PostgreSQL distant, il faut que le paquet <package>postgresql-contrib</package> (ou <package>postgresql84-contrib</package> pour EL 5) soit installé sur le serveur PostgreSQL.

Oracle Pre-Requisites

Pour utiliser un serveur de bases de données Oracle avec Spacewalk, il faut:

  • Instant Client 11.2.0.3.0 installé sur le serveur Spacewalk.
  • Oracle database server, soit sur le serveur Spacewalk ou une autre machine; les versions 10g and 11g fonctionnent.

L'installation du serveur de bases de données gratuit mais limité d'Oracle 11g XE database server est expliqué sur la page configuration d'Oracle 11g Express Edition du wiki fedora page. La configuration spécifique de Spacewalk concernant Oracle database server est sur la page du wiki Full Oracle Setup.

Installer Spacewalk

On va demander à <app>yum</app> d'installer les paquets nécessaires, ainsi que leurs dépendances.

Pour utiliser la base de données PostgreSQL, y compris pour la version embarquée.

yum install spacewalk-postgresql 

Pour utiliser la base de données Oracle

yum install spacewalk-oracle 

Configurer le firewall

Spacewalk a besoin de se connecter sur plusieurs port en entrée et en sortie.

On peut utiliser <app>system-config-firewall</app> ou éditer le fichier <path>/etc/sysconfig/iptables</path> afin d'ajouter les ports 80 et 443.

Pour les systèmes utilisant <package>firewalld</package>

firewall-cmd --add-service=http --add-service=http

On peut ajouter les ports suivants en entrée (optionnel)

  • 5222 pour effectuer des actions sur les clients
  • 5269 pour effectuer des actions sur le Proxy Spacewalk
  • udp/69 pour utiliser tftp

On peut ajouter les ports suivants en sortie (optionnel)

  • 4545 pour le monitoring

Configurer Spacewalk

Le serveur Spacewalk doit avoir un nom pleinement résolvable (FQDN) comme spacewalk.b2pweb.com.

Warning.png
Erreur sur la résolution de nom pleinement qualifié
Si l'installateur se plaint de ne pas trouver le nom pleinement qualifié de l'hôte, il ne faut pas utiliser l'option --skip-fqdn-test afin de passer outre !
Important.png
Mot de passe pour la connexion à la base de données
La configuration exige d'avoir un mot de passe pour la connexion à la base de données.
De plus, il ne faut surtout pas utiliser les caractères '#' , '+' , '-' , '£' (number sign/pound/hash) et '@' dans le mot de passe, ou le script d'initialisation echouera.

Une fois les RPM de Spacewalk installés, on doit configurer l'application.

Si c'est le paquet <package>spacewalk-setup-embedded-postgresql</package> qui a été installé

spacewalk-setup --disconnected

Sinon

spacewalk-setup --disconnected --external-db

Exemple d'exécution

spacewalk-setup --disconnected --external-db
** Database: Setting up database connection for PostgreSQL backend.
Hostname (leave empty for local)? 
Database? spaceschema
Username? spaceuser
Password? 
** Database: Populating database.
*** Progress: ####################################
* Setting up users and groups.
** GPG: Initializing GPG and importing key.
** GPG: Creating /root/.gnupg directory
You must enter an email address.
Admin Email Address? root@spacewalk.b2pweb.com
* Performing initial configuration.
* Activating Spacewalk.
** Loading Spacewalk Certificate.
** Verifying certificate locally.
** Activating Spacewalk.
* Enabling Monitoring.
* Configuring apache SSL virtual host.
Should setup configure apache's default ssl server for you (saves original ssl.conf) [Y]?
** /etc/httpd/conf.d/ssl.conf has been backed up to ssl.conf-swsave
* Configuring tomcat.
** /etc/sysconfig//tomcat6 has been backed up to tomcat6-swsave
** /etc/tomcat6//server.xml has been backed up to server.xml-swsave
** /etc/tomcat6//web.xml has been backed up to web.xml-swsave
* Configuring jabberd.
* Creating SSL certificates.
CA certificate password? 
Re-enter CA certificate password? 
Organization? B2PWeb
Organization Unit [spacewalk.b2pweb.com]? SRS Spacewalk
Email Address [root@spacewalk.b2pweb.com]? 
City? Cavaillon
State? P.A.C.A.
Country code (Examples: "US", "JP", "IN", or type "?" to see a list)? FR
** SSL: Generating CA certificate.
** SSL: Deploying CA certificate.
** SSL: Generating server certificate.
** SSL: Storing SSL certificates.
* Deploying configuration files.
* Update configuration in database.
* Setting up Cobbler..
Processing /etc/cobbler/modules.conf
`/etc/cobbler/modules.conf' -> `/etc/cobbler/modules.conf-swsave'
Processing /etc/cobbler/settings
`/etc/cobbler/settings' -> `/etc/cobbler/settings-swsave'
Cobbler requires tftp and xinetd services be turned on for PXE provisioning functionality. Enable these services [Y]?
* Restarting services.
Installation complete.
Visit https://spacewalk.b2pweb.com to create the Spacewalk administrator account.
Idea.png
Si <app>spacewalk-setup</app> échoue
Il faut corriger l'erreur rapportée et éventuellement la chercher dans les logs du répertoire <path>/var/log/rhn</path>, ainsi que dans les logs de la base de données, d'Apache ou de tomcat.

Configurer Spacewalk avec un fichier

On peut aussi configurer Spacewalk en utilisant un fichier et en exécutant <app>spacewalk-setup</app>

spacewalk-setup --disconnected --answer-file=<FILENAME>
Note.png
Valeur inexistante ou vide
Si une valeur n'est pas déclarée ou est vide, la valeur sera demandée sur la console.
admin-email = root@spacewalk.b2pweb.com
ssl-set-org = B2PWeb
ssl-set-org-unit = SRS Spacewalk
ssl-set-city = Cavaillon
ssl-set-state = P.A.C.A.
ssl-set-country = FR
ssl-password = swpasswd
ssl-set-email = root@spacewalk.b2pweb.com
ssl-config-sslvhost = Y
db-backend=postgresql
db-name=spaceschema
db-user=spaceuser
db-password=swpasswd
db-host=
db-port=5432
enable-tftp=Y

après l'exécution complète de <app>spacewalk-setup</app>, l'application est utilisable !

Une fois assuré de se connecter sur l'interface web Spacewalk, on peut se rendre à l'adresse https://spacewalk.b2pweb.com pour la prochaine étape: Ajouter de contenu

Bug.png
Erreur 403 sur https://spacewalk.b2pweb.com
Dans le fichier <path>/etc/httpd/conf/extra/httpd-ssl.conf</path>, il faut changer le <class>DocumentRoot</class> de <path>/var/www/htdocs</path> en <path>/var/www/html</path>, et redémarrer le service <app>httpd</app>
service httpd restart

Gérer Spacewalk

Spacewalk contient beaucoup de services. Chacun d'eux possède son propre script de gestion (<path>/etc/init.d</path>). Pour gérer tous les services d'un coup

/usr/sbin/spacewalk-service [stop|start|restart].