. . . . . . "2017-06-13T05:41:15Z" . . . . . "VOSFedoraNotes" . . . . . . "2017-06-13T05:41:15Z" . . "21512b807f5835c120496c881785c235" . "VOSFedoraNotes" . "2017-06-13T05:41:15.957527"^^ . "VOSFedoraNotes" . "2017-06-13T05:41:15.957527"^^ . . . . . . . "%META:TOPICPARENT{name=\"VOSBuild\"}%\n\n---+How to Install Virtuoso Open Source (VOS) on Fedora Core Linux\n\n%TOC%\n\n---++Starting Point\n\nWe start from a fresh Fedora Core Linux (14) installation.\n\n---+++Configuring the OS\n\n 1 As a baseline, we favor using sudo to run certain commands as the\nprivileged root user, set up the instance for access via ssh and configure the\nfirewall to permit remote access to ssh and Virtuoso:\n\nbash$ su\nbash# yum update\nbash# yum install openssh-server sudo\nbash# visudo\nbash# /etc/init.d/sshd start\nbash# chkconfig sshd on\nbash# setup\n\n 1 If you wish to access Virtuoso remotely, you need to open ports:\n * 8890/tcp - the web interface\n * 1111/tcp (optional) - the iSQL/ODBC port\n 1 To this end, we run setup from a terminal command line.\n\n---++Installing Virtuoso\n\nFedora carries pre-built binary packages of Virtuoso, although they only give a\nminimalist server installation; you have the option of installing Virtuoso using\nthese packages, or if a newer version is available upstream or you want to\nexperience more of Virtuoso, you can build from source directly.\n\n---+++Installing Virtuoso with Fedora Packages\n\n 1 Fedora ship three packages for Virtuoso, tailored for minimalist usage patterns:\n\n[tim@fedora ~]$ yum search virtuoso\nLoaded plugins: langpacks, presto, refresh-packagekit\n[...]\n============================== Matched: virtuoso ===============================\nredland-virtuoso.i686 : Virtuoso storage support for Redland\nvirtuoso-opensource.i686 : A high-performance object-relational SQL database\nvirtuoso-opensource-utils.i686 : Utilities\n\n 1 The packages contain:\n * virtuoso-opensource -- the bare minimum to run the Virtuoso server with a\ndefault config file\n * virtuoso-opensource-utils -- the isql command for commandline\ninteraction and the virt_mail SMTP handler\n * redland-virtuoso -- a backend to use Virtuoso for storage behind the Redland\nRDF libraries\n 1 For the purposes at hand, we install the first two packages:\n\n[tim@fedora ~]$ sudo yum install redland-virtuoso virtuoso-opensource{,-utils}\n[sudo] password for tim: \nLoaded plugins: langpacks, presto, refresh-packagekit\nAdding en_GB to language list\nSetting up Install Process\nResolving Dependencies\n[...]\nDependencies Resolved\n\n================================================================================\n Package Arch Version Repository Size\n================================================================================\nInstalling:\n redland-virtuoso i686 1.0.12-1.fc14 updates 26 k\n virtuoso-opensource i686 6.1.2-1.fc14 fedora 3.8 M\n virtuoso-opensource-utils i686 6.1.2-1.fc14 fedora 99 k\nInstalling for dependencies:\n libiodbc i686 3.52.7-1.fc12 fedora 163 k\n\nTransaction Summary\n================================================================================\nInstall 4 Package(s)\n\nTotal download size: 4.0 M\nInstalled size: 13 M\n[tim@fedora ~]$ \n\n \n---++++Starting an Instance\n\n 1 Virtuoso instances center around a configuration file, nominally called\nvirtuoso.ini, so typically you copy this file into a directory of its own and\nthe first time Virtuoso runs against it, it creates the empty database\n(virtuoso.db) and other support files alongside.\n 1 Fedora have packaged virtuoso.ini in two locations; one, in /etc/virtuoso/, for\nfuture reference; and a symbolic link in /var/lib/virtuoso/db/virtuoso.ini so\nthe instance can be run under /var/lib/ where it belongs.\n 1 If you wish to run virtuoso as a non-root user (for security reasons), you\nshould change the ownership on /var/lib/virtuoso/db/ accordingly:\n\n[tim@fedora db]$ cd /var/lib/virtuoso/db\n[tim@fedora db]$ sudo chown tim .\n[sudo] password for tim: \n[tim@fedora db]$ ls -la\ntotal 8\ndrwxr-xr-x. 2 tim root 4096 May 18 12:55 .\ndrwxr-xr-x. 3 root root 4096 May 18 12:55 ..\nlrwxrwxrwx. 1 root root 37 May 18 12:55 virtuoso.ini -> ../../../../etc/virtuoso/virtuoso.ini\n\n 1 To start the instance using the default config file:\n\n[tim@fedora db]$ cd /var/lib/virtuoso/db\n[tim@fedora db]$ virtuoso-t -df\n\n Wed May 18 2011\n16:33:22 INFO: { Loading plugin 1: Type `plain', file `wikiv' in `/usr/lib/virtuoso/hosting'\n16:33:22 ERROR: FAILED plugin 1: Unable to locate file }\n16:33:22 INFO: { Loading plugin 2: Type `plain', file `mediawiki' in `/usr/lib/virtuoso/hosting'\n16:33:22 ERROR: FAILED plugin 2: Unable to locate file }\n16:33:22 INFO: { Loading plugin 3: Type `plain', file `creolewiki' in `/usr/lib/virtuoso/hosting'\n16:33:22 ERROR: FAILED plugin 3: Unable to locate file }\n16:33:22 INFO: OpenLink Virtuoso Universal Server\n16:33:22 INFO: Version 06.01.3127-pthreads for Linux as of Jul 22 2010\n16:33:22 INFO: uses parts of OpenSSL, PCRE, Html Tidy\n16:33:22 INFO: SQL Optimizer enabled (max 1000 layouts)\n16:33:23 INFO: Compiler unit is timed at 0.003372 msec\n16:33:26 INFO: Checkpoint started\n16:33:26 INFO: Roll forward started\n16:33:26 INFO: Roll forward complete\n16:33:26 INFO: Checkpoint started\n16:33:26 INFO: Checkpoint finished, log reused\n16:33:27 INFO: Checkpoint started\n16:33:27 INFO: Checkpoint finished, log reused\n16:33:27 INFO: Checkpoint started\n16:33:27 INFO: Checkpoint finished, log reused\n16:33:27 INFO: Checkpoint started\n16:33:27 INFO: Checkpoint finished, log reused\n16:33:27 INFO: HTTP/WebDAV server online at 8890\n16:33:27 INFO: Server online at 1111 (pid 2260)\n\n 1 From here, you can access the web-server by pointing your browser at\nhttp://hostname:8890/.\n 1 To access the server using the command-line isql tool, first you need to create\nan ODBC datasource; given this is a system-wide installation, edit /etc/odbc.ini\nto contain the following configuration:\n\n[Local Virtuoso]\nDriver=/usr/lib/virtodbc_r.so\nAddress=127.0.0.1\nPort=1111\nUID=dba\n\n 1 Then you can run isql with an ODBC connect string on the command line:\n\n[tim@fedora ~]$ /usr/libexec/virtuoso/isql \"DSN=Local Virtuoso;UID=dba;PWD=dba\"\nOpenLink Interactive SQL (ODBC), version 0.9849b.\nType HELP; for help and EXIT; to exit.\nSQL> tables;\nconnected with connection string \"DSN=Local Virtuoso;UID=dba;PWD=dba\". \nCompleted as: \"DSN=Local Virtuoso;UID=dba;PWD=dba;HOST=127.0.0.1\", length=49.\nConnected to OpenLink Virtuoso\nDriver: 06.01.3127 OpenLink Virtuoso ODBC Driver\nShowing SQLTables of tables like 'NULL.NULL.NULL', tabletype/colname like 'NULL'\nTABLE_QUALIFIER TABLE_OWNER TABLE_NAME TABLE_TYPE REMARKS\nVARCHAR VARCHAR VARCHAR VARCHAR VARCHAR\n_______________________________________________________________________________\n\nDB DBA ADMIN_SESSION SYSTEM TABLE NULL\nDB DBA ADM_OPT_ARRAY_TO_RS_PVIEW SYSTEM TABLE NULL\nDB DBA ADM_XML_VIEWS SYSTEM TABLE NULL\nDB DBA ALL_COL_HIST SYSTEM TABLE NULL\n\n\n\n---+++Building Virtuoso from Source\n\n\n---++++Building from Upstream Source\n\n*Note*: Useful prior reading: please see the pages\n[[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSBuild][VOSBuild]]\nand [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSMake][VOSMake]]\nin the VOS Wiki.\n\n---+++++Dependencies\n\nProceed to install the required build dependencies:\n\n[tim@fedora C]$ sudo yum install autoconf automake libtool flex bison gperf \\\n\tgawk m4 make openssl-devel readline-devel\n[sudo] password for tim: \nLoaded plugins: langpacks, presto, refresh-packagekit\nAdding en_GB to language list\nSetting up Install Process\nPackage gawk-3.1.8-3.fc14.i686 already installed and latest version\nPackage m4-1.4.14-1.fc14.i686 already installed and latest version\nPackage 1:make-3.82-3.fc14.i686 already installed and latest version\nResolving Dependencies\n--> Running transaction check\n---> Package autoconf.noarch 0:2.66-2.fc14 set to be installed\n...\n Installing : autoconf-2.66-2.fc14.noarch 28/31 \n Installing : automake-1.11.1-5.fc14.noarch 29/31 \n Installing : libtool-2.2.10-3.fc14.i686 30/31 \n Installing : openssl-devel-1.0.0d-1.fc14.i686 31/31 \n\nInstalled:\n autoconf.noarch 0:2.66-2.fc14 automake.noarch 0:1.11.1-5.fc14 \n bison.i686 0:2.4.3-1.fc14 flex.i686 0:2.5.35-11.fc14 \n gperf.i686 0:3.0.4-2.fc14 libtool.i686 0:2.2.10-3.fc14 \n openssl-devel.i686 0:1.0.0d-1.fc14 \n...\n\n\n---+++++Unpacking\n\nDownload the latest VOS archive (source tarball such as\nvirtuoso-opensource-6.1.3.tar.gz) from\n[[http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VOSDownload#Latest%20source%20code%20on%20Github][GitHub]] and unpack it:\n\n\n\n[tim@fedora C]$ tar xvpfz virtuoso-opensource-6.1.3.tar.gz \nvirtuoso-opensource-6.1.3/\nvirtuoso-opensource-6.1.3/bin/\nvirtuoso-opensource-6.1.3/bin/installer/\nvirtuoso-opensource-6.1.3/bin/installer/virtuoso.ini\n...\n[tim@fedora C]$ cd virtuoso-opensource-6.1.3\n[tim@fedora virtuoso-opensource-6.1.3]$ \n\n\n---+++++Configuring\n\n 1 For the purposes of this demonstration, we use a simple configuration with no\nfrills:\n\n[tim@fedora virtuoso-opensource-6.1.3]$ ./configure --prefix=/usr/local/ \\\n> --with-readline --program-transform-name=\"s/isql/isql-v/\"\nchecking for a BSD-compatible install... /usr/bin/install -c\nchecking whether build environment is sane... yes\nchecking for a thread-safe mkdir -p... /bin/mkdir -p\nchecking for gawk... gawk\n...\n\n 1 There are many other options that can be specified at this stage, to\nenable/disable the building of language-hosting plugins (Perl, Python, Ruby) or\nvarious VAD packages (sub-packages within Virtuoso); for more on these, read the\nrelevant README files in the source distribution and run `./configure\n--help'.\n 1 Here we settle for asking for readline support, ie the ability to cursor-up/down\nand use typical readline key-combinations in the commandline isql tool\nonce built.\n\n---++++++Aside: VOS component locations\n\n 1 Virtuoso instances usually take the form of a designated directory somewhere in\nthe filesystem, centred around a configuration file (nominally virtuoso.ini)\nwhich specifies operational parameters such as the filenames of database\npage-files to use, port-numbers to use, numbers of threads and buffers, etc.\n 1 In the above command, we specify a prefix of /usr/local to Virtuoso's\n./configure script. This forms a base directory under which Virtuoso\nwill create/use the following structure:\n * /usr/local/lib/\n * various libraries for Sesame, JDBC, Jena, Hibernate, and hosting\n * /usr/local/bin\n * where the main executables (virtuoso-t, isql) live\n * /usr/local/share/virtuoso/vad\n * used to store VAD archives prior to installation in an instance\n * /usr/local/share/virtuoso/doc\n * local offline documentation\n * /usr/local/var/lib/virtuoso/db\n * the default location for a virtuoso instance \n * /usr/local/var/lib/virtuoso/vsp\n * various VSP scripts - the default homepage before the Conductor is installed\n 1 Other directory-structures are possible by specifying variously:\n * individual configure options such as --bindir, --libdir, etc.\n * --with-layout={GNU|Debian|Gentoo|RedHat|FreeBSD|opt|OpenLink}%BR%\nwhere each layout specifies a set of locations where the VADs, \ndocumentation (HTML and PDF), demo and default instance databases, and hosting \nlibraries will be installed, each compatible with the packaging requirements of the \nnamed OS distribution (\"opt\" means a prefix of /opt \nand OpenLink is the default, detailed above).\n\n---++++++Aside: isql name conflict\n\nUnfortunately, both unixODBC and Virtutoso provide a command `isql',\nused to access data-sources from the command-line (in unixODBC, an ODBC\ndatasource; in Virtuoso, the SQL interface).\n\nIn order to allow both packages to coexist, it is reasonable to rename\nVirutoso's isql command to isql-v.\n\nGiven that we are installing Virtuoso from source to a different prefix\n(/usr/local), it is not absolutely necessary to do the same here, but to avoid\nhaving to specify different PATH considerations and make life easier, the\nconfigure command above reflects this as well.\n\n---+++++Building and Installing\n\n 1 Having chosen some configure options, run make: \n\n[tim@fedora virtuoso-opensource-6.1.3]$ nice make\nMaking all in .\nmake[1]: Entering directory `/home/tim/C/virtuoso-opensource-6.1.3'\nmake[1]: Nothing to be done for `all-am'.\nmake[1]: Leaving directory `/home/tim/C/virtuoso-opensource-6.1.3'\nMaking all in docsrc\nmake[1]: Entering directory `/home/tim/C/virtuoso-opensource-6.1.3/docsrc'\n...\n\nmake[2]: Nothing to be done for `all-am'.\nmake[2]: Leaving directory `/home/tim/C/virtuoso-opensource-6.1.3/appsrc'\nmake[1]: Leaving directory `/home/tim/C/virtuoso-opensource-6.1.3/appsrc'\n[tim@fedora virtuoso-opensource-6.1.3]$ \n\n 1 Optionally, you can run `make check' to run the test-suite (beware, it takes\nsome hours and multiple gigabytes of disk-space).\n\n[tim@fedora virtuoso-opensource-6.1.3]$ nice make check\n\n 1 Install it to the directory-structure chosen above:\n\n[tim@fedora virtuoso-opensource-6.1.3]$ sudo make install\n[sudo] password for tim: \nMaking install in .\nmake[1]: Entering directory `/home/tim/C/virtuoso-opensource-6.1.3'\nmake[2]: Entering directory `/home/tim/C/virtuoso-opensource-6.1.3'\nmake[2]: Nothing to be done for `install-exec-am'.\ntest -z \"/usr/local/share/virtuoso/doc\" || /bin/mkdir -p \"/usr/local/share/virtuoso/doc\"\n/usr/bin/install -c -m 644 AUTHORS COPYING CREDITS INSTALL \n...\n\n\n---++Getting Started\n\n 1 Take a copy of the default virtuoso.ini and store it safely in case of making\nerroneous changes.\n 1 Change into the default database directory:\n\n[tim@fedora virtuoso-opensource-6.1.3]$ cd /usr/local/var/lib/virtuoso/db/\n[tim@fedora db]$ ls\nvirtuoso.ini virtuoso.ini.sample\n\n * (At this point, if you wish to run virtuoso as a non-root user you should change\nthe ownership on this directory, e.g. sudo chown -R tim . . Virtuoso\nonly requires root if you wish to use it as a webserver listening on port 80; by\ndefault it listens only on high ports.)\n 1 Start the server:\n\n[tim@fedora db]$ virtuoso-t -df\n\n Thu May 19 2011\n01:33:03 INFO: { Loading plugin 1: Type `plain', file `wikiv' in `/usr/local/lib/virtuoso/hosting'\n01:33:03 INFO: WikiV version 0.6 from OpenLink Software\n01:33:03 INFO: Support functions for WikiV collaboration tool\n01:33:03 INFO: SUCCESS plugin 1: loaded from /usr/local/lib/virtuoso/hosting/wikiv.so }\n01:33:03 INFO: { Loading plugin 2: Type `plain', file `mediawiki' in `/usr/local/lib/virtuoso/hosting'\n...\n01:33:17 INFO: Checkpoint finished, log reused\n01:33:17 INFO: Checkpoint started\n01:33:18 INFO: Checkpoint finished, log reused\n01:33:18 INFO: HTTP/WebDAV server online at 8890\n01:33:18 INFO: Server online at 1111 (pid 27873)\n\n * Here we see the server running in foreground mode with maximum debugging\ninformation. Because it's the first time this instance has been run, Virtuoso\nhas created a bunch of database files (virtuoso.db, virtuoso.trx (the\ntransaction log), etc) and installed the Conductor VAD package into the\ndatabase.\n * If you close your terminal while this command is running, Virtuoso will stop. To\nrun it as a daemon instead, omit the \"-df\" options. You can still see most of\nwhat's happening by running tail -f virtuoso.log.\n\n---+++Using Virtuoso\n\n---++++Web-based UI\n\nYou can access the Conductor menu by pointing your web-browser at\nhttp://localhost:8890/conductor/ (substitute hostname as appropriate).\n\nFrom the Conductor you can manage users and automated backups, install VAD\npackages, execute SQL commands in a web-based iSQL tool, configure the RDF\nSponger and loads more.\n\nThere are two system users of immediate importance: dba (the relational data\nadministrative account) and dav (the WebDAV adminstrative account). By default\nboth these accounts have their passwords set the same as the respective\nusernames; it is highly advised that you change these as soon as possible for\nsecurity reasons.\n\n---++++Command-line\n\nVirtuoso provides a SQL/ODBC listener on port 1111/tcp. You can connect directly\nto this and execute SQL statements using the isql tool:\n\n\n[tim@fedora ~]$ /usr/local/bin/isql-v\nOpenLink Interactive SQL (Virtuoso), version 0.9849b.\nType HELP; for help and EXIT; to exit.\nSQL> tables;\nConnected to OpenLink Virtuoso\nDriver: 06.01.3127 OpenLink Virtuoso ODBC Driver\nShowing SQLTables of tables like 'NULL.NULL.NULL', tabletype/colname like 'NULL'\nTABLE_QUALIFIER TABLE_OWNER TABLE_NAME TABLE_TYPE REMARKS\nVARCHAR VARCHAR VARCHAR VARCHAR VARCHAR\n_______________________________________________________________________________\n\nDB DBA ADMIN_SESSION SYSTEM TABLE NULL\nDB DBA ADM_OPT_ARRAY_TO_RS_PVIEW SYSTEM TABLE NULL\n[...]\n\n\n---++Resource Usage\n\nVirtuoso is highly configurable: the same executables and packages will service\nanything from a small \"lite-mode\" installation with a database of 10Mb up to a\nhuge multi-user enterprise installation with terabytes of data.\n\nThe defaults with Virtuoso Open-Source give a 160MB process size in memory,\nabout 29MB database and total 237MB footprint on disk; this has 20 threads\nrunning for database and/or web-server use.\n\nThe wiki document\n[[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSScale][VOSScale]]\ndescribes how to scale Virtuoso in some detail.\n\n---++Related\n\n * [[VOSUbuntuNotes][Ubuntu]]\n * [[VOSDebianNotes][Debian]]\n * [[VOSCentosNotes][CentOS]]\n" .