Déploiement de Virtuoso
De Dbpedia.fr.
Sommaire |
Sources
Ces informations ont été tirées principalement des sites suivants :
- How to Install Virtuoso Open Source (VOS) on Fedora Core Linux
- Example for DBpedia data sets Upload
- Guide for Internationalization Developers
- Documentation officielle
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
Téléchargement des sources
Page correspondante de la doc Openlink
$ cvs -z3 -d:pserver:anonymous@virtuoso.cvs.sourceforge.net:/cvsroot/virtuoso co -rVOS-6_1_4 virtuoso-opensource
pour télécharger la version 6.1.4.
Compilation
Page correspondante de la doc Openlink
- Génération des fichiers de configuration :
$ cd virtuoso-opensource $ ./autogen.sh
- Pour optimiser le code, spécifier les paramètres de compilation donnés dans cette page, dans le cas d'une machine Linux 64:
$ CFLAGS="-O2 -m64" $ export CFLAGS
- 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/bin/virtuoso
Rq. l'option --program-transform-name="s/isql/isql-v/" permet aussi 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
où /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).
- configurer Virtuoso pour lire sur le port 80