Installer et configurer

Installer et configurer

Cette section décrit l’installation et la configuration du Service d’Identité OpenStack, nom de code keystone, sur le contrôleur. Pour une question de performance, cette configuration déploie des jetons Fernet et le serveur HTTP Apache pour traiter les requêtes.

Pré-requis

Avant de configurer le service d’Identité d’OpenStack, vous devez créer une base de données et un jeton d’administration.

  1. Pour créer la base de données, effectuer les opérations suivantes :

    • Utilisez le client d’accès à la base de données pour vous connecter au serveur de base de données en tant qu’utilisateur root:

      $ mysql -u root -p
      
    • Créer la base de donnée keystone :

      CREATE DATABASE keystone;
      
    • Attribuer les droits d’accès nécessaires à la base de données keystone :

      GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \
        IDENTIFIED BY 'KEYSTONE_DBPASS';
      GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \
        IDENTIFIED BY 'KEYSTONE_DBPASS';
      

      Remplacer KEYSTONE_DBPASS par un mot de passe approprié.

    • Quitter le client d’accès à la base de données.

  2. Générer une valeur aléatoire à utiliser comme jeton d’administration pendant la configuration initiale :

    $ openssl rand -hex 10
    

Installer et configurer les composants

Note

Les fichiers de configuration par défaut diffèrent d’une distribution à l’autre. Vous pouvez être amené à ajouter ces sections et options plutôt que de modifier des sections et options existantes. De plus, une ellipse (...) dans les extraits de configuration indique d’éventuelles options de configuration par défaut que vous devez conserver.

Note

Ce guide utilise le serveur HTTP Apache avec le module mod_wsgi pour traiter les requêtes du service d’Identité sur les ports 5000 et 35357. Par défaut, le service keystone écoute sur ces ports. Par conséquent, ce guide désactive le service keystone.

  1. Lancer la commande suivante pour installer les packages :

    # zypper install openstack-keystone apache2-mod_wsgi
    
  1. Editer le fichier /etc/keystone/keystone.conf et effectuer les actions suivantes :

    • Dans la section [DEFAULT], définir la valeur du jeton d’administration initial :

      [DEFAULT]
      ...
      admin_token = ADMIN_TOKEN
      

      Remplacer ADMIN_TOKEN par la valeur aléatoire générée lors d’une étape précédente.

    • Dans la section [database], configurer l’accès à la base de données :

      [database]
      ...
      connection = mysql+pymysql://keystone:KEYSTONE_DBPASS@controller/keystone
      

      Remplacer KEYSTONE_DBPASS par le mot de passe choisi pour la base de données.

    • Dans la section [token], configurer le fournisseur de jetons Fernet :

      [token]
      ...
      provider = fernet
      
  1. Peupler la base de données du service d’Identité.

    # su -s /bin/sh -c "keystone-manage db_sync" keystone
    

    Note

    Ignorer les éventuels messages obsolètes.

  2. Initialiser les clés Fernet :

    # keystone-manage fernet_setup --keystone-user keystone --keystone-group keystone
    

Configurer le serveur HTTP Apache

  1. Éditer le fichier /etc/sysconfig/apache2 et configurer l’option APACHE_SERVERNAME pour pointer vers le contrôleur :

    APACHE_SERVERNAME="controller"
    
  2. Créer le fichier /etc/apache2/conf.d/wsgi-keystone.conf avec le contenu suivant :

    Listen 5000
    Listen 35357
    
    <VirtualHost *:5000>
        WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-public
        WSGIScriptAlias / /usr/bin/keystone-wsgi-public
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        ErrorLogFormat "%{cu}t %M"
        ErrorLog /var/log/apache2/keystone.log
        CustomLog /var/log/apache2/keystone_access.log combined
    
        <Directory /usr/bin>
            Require all granted
        </Directory>
    </VirtualHost>
    
    <VirtualHost *:35357>
        WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP}
        WSGIProcessGroup keystone-admin
        WSGIScriptAlias / /usr/bin/keystone-wsgi-admin
        WSGIApplicationGroup %{GLOBAL}
        WSGIPassAuthorization On
        ErrorLogFormat "%{cu}t %M"
        ErrorLog /var/log/apache2/keystone.log
        CustomLog /var/log/apache2/keystone_access.log combined
    
        <Directory /usr/bin>
            Require all granted
        </Directory>
    </VirtualHost>
    
  1. Changer le propriétaire du répertoire /etc/keystone de façon récursive :

    # chown -R keystone:keystone /etc/keystone
    

Finaliser l’installation

  1. Démarrer le service HTTP Apache et le configurer pour qu’il se lance au démarrage du système :

    # systemctl enable apache2.service
    # systemctl start apache2.service
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.