Installer CKAN from source

Cette section décrit comment installer CKAN utilisé par site_name à partir des sources sur un serveur Ubuntu 20.04.

1. Installer les paquets nécessaires

Avant de configurer le dossier de ckan, il faut installer les librairies suivantes:

sudo apt-get install python3-dev postgresql libpq-dev python3-pip python3-venv git-core solr-jetty openjdk-8-jdk redis-server

2. Installer CKAN dans un Python virtual environment

Astuce

If you’re installing CKAN for development and want it to be installed in your home directory, you can symlink the directories used in this documentation to your home directory. This way, you can copy-paste the example commands from this documentation without having to modify them, and still have CKAN installed in your home directory:

mkdir -p ~/ckan/lib
sudo ln -s ~/ckan/lib /usr/lib/ckan
mkdir -p ~/ckan/etc
sudo ln -s ~/ckan/etc /etc/ckan
  1. Créer un environnement virtuel Python virtual environment (virtualenv) pour ckan et l’activer:

    sudo mkdir -p /usr/lib/ckan/default
    sudo chown `whoami` /usr/lib/ckan/default
    python3 -m venv /usr/lib/ckan/default
    . /usr/lib/ckan/default/bin/activate

Important

La dernière commande ci-dessus active votre virtualenv. Le virtualenv doit rester actif pour le reste du processus d’installation et de déploiement, ou les commandes échoueront. Vous pouvez savoir si le virtualenv est actif car son nom apparaît devant l’invite de votre shell, comme ceci:

(default) $ _

Par exemple, si vous vous déconnectez et vous reconnectez, ou si vous fermez votre fenêtre de terminal et l’ouvrez à nouveau, votre virtualenv ne sera plus activé. et que vous l’ouvrez à nouveau, votre virtualenv ne sera plus activé. Vous pouvez toujours réactiver le virtualenv à l’aide de cette commande:

. /usr/lib/ckan/default/bin/activate
  1. Installez la version recommandée de setuptools:

    sudo apt install python3-testresources
    pip install setuptools==44.1.0
    pip install --upgrade pip
    
  2. Installer CKAN dans votre virtualenv:

    cd /usr/lib/ckan/default/
    pip install -e 'git+https://github.com/ckan/ckan.git@ckan-2.9.5#egg=ckan[requirements]'
    

Avertissement

Il faut obligatoire installer le ckan 2.9.5 parsce que parmis les extensions installes, y’en a qui sont uniquement compatible avec cette version de ckan

  1. Installer la version customise site_name

    cd /usr/lib/ckan/default/src/ckan
    sudo rm -rf ckan
    git clone https://gitlab.com/opendatacomore/ckan_2.9.5.git
    mv ckan_2.9.5 ckan
    cd ckan
    git branch develop
    git checkout develop
    git pull origin develop
    

3. Configurer une base de données PostgreSQL

  1. Vérifiez que PostgreSQL a été installé correctement en listant les bases de données existantes:

    sudo -u postgres psql -l
    
  2. créer un utilisateur dans la base de données s’il n’en existe pas déjà un:

    sudo -u postgres createuser -S -D -R -P ckan_default
    
  3. Créez une nouvelle base de données PostgreSQL, appelée ckan_default, appartenant à l’utilisateur de la base de données que vous venez de créer:

    sudo -u postgres createdb -O ckan_default ckan_default -E utf-8
    
  4. (Pour l’administrateur de site_name) Restaurer la sauvegarde de la base de données:

    gunzip -c main_db.sql.gz | sudo -u postgres psql ckan_default
    gunzip -c datastore_db.sql.gz | sudo -u postgres psql datastore_default
    

4. Creer un ficher de configuration

  1. Créer un dossier contenant les fichiers de configuration:

    sudo mkdir -p /etc/ckan/default
    sudo chown -R `whoami` /etc/ckan/
  2. Créer le fichier de configuration CKAN

    . /usr/lib/ckan/default/bin/activate
    ckan generate config /etc/ckan/default/ckan.ini
    
  3. Editer le fichier ckan.ini, en modifiant les options suivantes:

    Note

    Les paramètres ci-dessous correspondent à la configuration minimale requise pour exécuter le CKAN.

    ## Database Settings
    ## This should refer to the database we created in 3. Configurer une base de données PostgreSQL above
    ## Replace pass with the CKAN database password that you created
    sqlalchemy.url = postgresql://ckan_default:pass@localhost/ckan_default
    
    ## Replace pass with the CKAN database password that you created
    ckan.datastore.write_url = postgresql://ckan_default:pass@localhost/datastore_default
    
    ## Replace pass with the DataStore database password that you created
    ckan.datastore.read_url = postgresql://datastore_default:pass@localhost/datastore_default
    
    ## Site Settings
    ckan.site_url = http://127.0.0.1:5000
    
    ## Storage Settings
    ckan.storage_path = /var/lib/ckan/default

6. Configuration de Solr

CKAN utilise Solr comme plateforme de recherche, et utilise un fichier de schéma Solr personnalisé qui prend en compte les besoins de recherche spécifiques de CKAN. Maintenant que nous avons installé CKAN est installé, nous devons installer et configurer Solr.

Note

Ces instructions expliquent comment déployer Solr à l’aide du serveur Web Jetty, mais CKAN ne nécessite pas Jetty - vous pouvez déployer Solr sur un autre serveur Web, tel que Tomcat, si cela convient à votre système d’exploitation.

  1. Modifier le fichier de configuration de Jetty (/etc/default/jetty8(9) or /etc/default/jetty) et modifier les variables suivantes:

    NO_START=0            # (line 4)
    JETTY_HOST=127.0.0.1  # (line 16)
    JETTY_PORT=8983       # (line 19)
    

    Note

    Ce paramètre JETTY_HOST n’autorisera que les connexions provenant de la même machine. Si CKAN n’est pas installé sur la même machine que Jetty/Solr, vous aurez besoin de changer ce paramètre pour l’hôte approprié ou pour 0.0.0.0 (et probablement configurer votre pare-feu en conséquence).

  2. Démarrer le serveur Jetty

    sudo service jetty9 restart
    
  3. Vous pouvez tester que Solr répond correctement comme ceci (il se peut que vous deviez d’abord installer curl d’abord):

    curl http://localhost:8983/solr/
    

    Si la reponse ci-dessous s’affiche, c’est que solr a bien ete installe:

    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="solr-admin.css">
    <link rel="icon" href="favicon.ico" type="image/ico"></link>
    <link rel="shortcut icon" href="favicon.ico" type="image/ico"></link>
    <title>Welcome to Solr</title>
    </head>
    
    <body>
    <h1>Welcome to Solr!</h1>
    <a href="."><img border="0" align="right" height="78" width="142" src="admin/solr_small.png" alt="Solr"/></a>
    
    
    <a href="admin/">Solr Admin</a>
    
    
    </body>
    </html>
    
  4. Remplacer le fichier schema.xml par un lien symétrique vers le fichier de schéma CKAN inclus dans les sources.

    sudo mv /etc/solr/conf/schema.xml /etc/solr/conf/schema.xml.bak
    sudo ln -s /usr/lib/ckan/default/src/ckan/ckan/config/solr/schema.xml /etc/solr/conf/schema.xml
  5. Maintenant, redémarrez Solr:

    sudo service jetty9 restart
    

    Vérifier que Solr fonctionne en ouvrant http://localhost:8983/solr/.

  6. Enfin, modifier le paramètre solr_url dans votre fichier config_file (/etc/ckan/default/ckan.ini) afin de pointer vers votre serveur Solr, par exemple:

    solr_url=http://127.0.0.1:8983/solr
    

7. Créer des tables de base de données

Important

Cette partie est reservee aux administrateurs de site_name.

  1. Avant de pouvoir exécuter CKAN pour la première fois, vous devez exécuter db init pour initialiser votre base de données:

    ckan -c /etc/ckan/default/ckan.ini db init
    
  2. Vous devriez voir « Initialising DB: SUCCESS ».

——–. Lien à who.ini

ln -s /usr/lib/ckan/default/src/ckan/who.ini /etc/ckan/default/who.ini

9. Créer un compte administrateur système

Vous devez créer votre premier utilisateur système de site_name à partir de la ligne de commande. Par exemple, pour créer un utilisateur appelé admin et en faire un sysadmin :

ckan -c /etc/ckan/default/ckan.ini sysadmin add $USERNAME email=$EMAIL name=$NAME

10. Démarrer le serveur de développement de ckan

  1. Ouvrir un autre terminal et utilisez le serveur de développement Paste pour servir CKAN depuis la ligne de commande:

    . /usr/lib/ckan/default/bin/activate
    ckan -c /etc/ckan/default/ckan.ini run
    
  2. Ouvrez http://127.0.0.1:5000/ dans un navigateur Web et vous devriez voir la page d’accueil du CKAN.

    Important

    Maintenant que vous avez installé CKAN.