Outils personnels
User menu

Déploiement de Virtuoso

De Dbpedia.fr.

Sommaire

Sources

Ces informations ont été tirées principalement des sites suivants :

Installation de Virtuoso

Installation depuis un dépôt Linux

Sur Fedora 15 et RHEL 6:

# yum install virtuoso-opensource

Il est aussi utile d'installer une invite de commande SQL pour virtuoso : isql (attention, ce n'est pas la même commande que pour odbc) :

# yum install virtuoso-opensource-utils

L'interface d'aministration en ligne est aussi très utile :

# yum install virtuoso-opensource-conductor

Compilation des sources

Documentation de Openlink

Liste des dépendances

Téléchargement des sources

Page correspondante de la doc Openlink

$ git clone git://github.com/openlink/virtuoso-opensource.git
$ git checkout --track remotes/origin/stable/7

pour télécharger la dernière version stable de la branche 7.x.

Compilation

Page correspondante de la doc Openlink

  • Spécifier les paramètres de compilation donnés dans cette page, dans le cas d'une machine Linux 64:
$ export CFLAGS="-O2 -m64"
  • Génération des fichiers de configuration :
$ cd virtuoso-opensource
$ ./autogen.sh
  • configuration du chemin d'installation, différentes options sont décrites sur cette page, par exemple pour installer virtuoso dans le répertoire /usr/bin/virtuoso :
$ ./configure --prefix=/usr/local/virtuoso 
  --program-transform-name="s/isql/isql-v/"

Rq. l'option --prefix=/usr/bin/virtuoso spécifie l'emplacement où sera installé virtuoso, --program-transform-name="s/isql/isql-v/" permet de renommer l'interface de commande sql de virtuoso en isql-v pou éviter un clash avec celle de unixODBC.

  • compilation et installation
$ make
# make install

Démarage automatique de Virtuoso

Avec Upstart

Copier le code suivant dans le fichier /etc/init/virtuoso.conf:

# myservice - myservice job file

description "Virtuoso"
author "Julien Cojan <julien.cojan@inria.fr>"

# Stanzas
#
# Stanzas control when and how a process is started and stopped
# See a list of stanzas here: http://upstart.ubuntu.com/wiki/Stanzas#respawn

# When to start the service
start on runlevel [2345]

# When to stop the service
stop on runlevel [016]

# Automatically restart process if crashed
respawn

# Start the process
script
 virtuoso-t -d -c /data/virtuoso/db/virtuoso.ini +wait
 sleep 60
end script

/data/virtuoso/db/virtuoso.ini est le chemin du fichier de configuration à utiliser. (adapté de http://thegeekcorner.pagesperso-orange.fr/fr/memo/creer_script_upstart.html).

Recharger la configuration de Upstart:

# initctl reload-configuration

Virtuoso devrait être lancé au démarrage et redémarrer automatiquement après une pause de 60 secondes en cas d'arrêt.

Pour le démarrer manuellement:

$ initctl start virtuoso

Pour l'arrêter (il n'y aura pas de redémarrage auto):

$ initctl stop virtuoso


Ancienne version, avec system V

Un modèle de script de démarage est donné dans les sources de virtuoso : debian/init.d

Après l'avoir édité :

# cp [chemin vers le fichier édité] /etc/init.d/virtuoso
# chmod ugo+rx /etc/init.d/virtuoso

Cela permet de lancer virtuoso par la commande service:

$ service virtuoso start

(idem pour l'arrêt en remplaçant start par stop).

Pour faire démarrer virtuoso lors du boot:

# ln -s /etc/init.d/virtuoso /etc/rc2.d/S99virtuoso
# ln -s /etc/init.d/virtuoso /etc/rc3.d/S99virtuoso
# ln -s /etc/init.d/virtuoso /etc/rc5.d/S99virtuoso

Voir les instructions sur les instructions de openlink.

Commandes et emplacement des fichiers

Fichier de configuration : virtuoso.ini, par défault il se trouve dans /var/lib/virtuoso/db/.

Démarrage de virtuoso :

virtuoso-t -f -c [chemin/vers/virtuoso.ini]

L'option -f permet d'avoir la sortie dans la console (foreground), l'option -c permet de spécifier le fichier de configuration.

Configuration

  • Pour activer les logs d'accès au serveur http de Virtuoso, il faut ajouter la ligne suivante (la décommenter) au fichier virtuoso.ini :
HTTPLogFile = ../logs/http.log

A l'exécution de Virtuoso, les fichiers de log auront des noms de la forme http[date sous forme JJMMAAA].log

  • Pour rendre le serveur http de Virtuoso accessible sur le port 80 :
    • autoriser virtuoso-t à lire les ports sécurisés (<1024), avec les droits root :
# setcap 'cap_net_bind_service=+ep' /usr/bin/virtuoso-t

(où /usr/bin:virtuoso-t est le chemin d'accès à virtuoso-t). Cela permet d'accéder au port 80 sans pour autant donner les droits root à virtuoso.

    • configurer Virtuoso pour lire sur le port 80
      • soit directement dans le fichier virtuoso.ini
      • soit par isql (méthode recommandée par l'équipe de DBpedia).