The Open Semantic Framework Installer script is used to install and deploy an OSF stack. It can also be used to install, upgrade, and configure parts of the stack, or related external tools such as the OSF Datasets Management Tool, the OSFOntologies Management Tool, the OSF WS PHP API, etc.
If you prefer, you can create a new OSF instance using a pre-packaged Amazon EC2 instance. Read the Creating and Configuring an Amazon EC2 AMI OSF Instance page to know how to create a OSF instance using this other method.
- Supported Linux Distributions:
- CentOS 7
- CentOS 6
- Ubuntu 14.04
- PHP 5.4 or higher
- 64 Bit Operating System
- Access to internet from your server
- 5 GB of disk space on the partition where you are installing OSF
- 2 GB of RAM
To install OSF on your server, you first have to install the OSF Installer command line tool. You only have to run the following commands:
mkdir -p /usr/share/osf-installer/
cd /usr/share/osf-installer/
wget https://raw.github.com/structureddynamics/Open-Semantic-Framework-Installer/3.4/install.sh
chmod 755 install.sh
./install.sh
Now that the OSF Installer is installed, you can configure the installation and install OSF:
./osf-installer -c --install-osf -v
Or you can simply run the installer, without configuring it, using the settings defined in the installer.ini
configuration file:
./osf-installer --install-osf -v
When you install OSF using that command, then no input is required in the command line. This means that you can create configuration profiles by updating the settings directly in the installer.ini
file and use these values to automatically deploy OSF on your server. This kind of installation is normally used by automated deployment systems to automatically install and configure OSF on a server without requiring external inputs.
Subsequently, if you want to install OSF for Drupal on the same server, then you can run the following command:
./osf-installer -d --install-osf-drupal -v
Usage: osf-install [OPTIONS]
General Options:
-h, --help Show this help section
-v, --verbose Make this installer verbose
-c, --configure-osf-installer Configure the options used by this installer
-d, --configure-osf-drupal-installer Configure the options used by this installer to install OSF for Drupal
--list-configurations List the current configuration used by the installer tool
OSF Installation Options:
Note: the [VERSION] parameter is optional.
If no version is specified, the latest DEV version will be used
--install-osf Install the Open Semantic Framework
--install-apache Install Apache
--install-sql Install SQL
--install-phpmyadmin Install PhpMyAdmin
--install-virtuoso Install Virtuoso
--install-solr Install Solr
--install-php Install PHP
--install-osf-ws-php-api="[VERSION]" Install the OSF-WS-PHP-API library
--install-osf-tests-suites="[VERSION]" Install the OSF Tests Suites
--install-osf-datasets-management-tool="[VERSION]" Install the OSF Datasets Management Tool
--install-osf-permissions-management-tool="[VERSION]" Install the OSF Permissions Management Tool
--install-osf-data-validator-tool="[VERSION]" Install the OSF Data Validator Tool
--install-osf-ontologies-management-tool="[VERSION]" Install the OSF Ontologies Management Tool
OSF Drupal Installation Options:
--install-osf-drupal Install Drupal with the OSF Drupal modules
Upgrade Options:
Note: the [VERSION] parameter is optional.
If no version is specified, the latest DEV version will be used
--upgrade-osf-web-services="[VERSION]" Upgrade the OSF Web Services
--upgrade-osf-ws-php-api="[VERSION]" Upgrade the OSF-WS-PHP-API library
--upgrade-osf-tests-suites="[VERSION]" Upgrade the OSF Tests Suites
--upgrade-osf-datasets-management-tool="[VERSION]" Upgrade the OSF Datasets Management Tool
--upgrade-osf-permissions-management-tool="[VERSION]" Upgrade the OSF Permissions Management Tool
--upgrade-osf-data-validator-tool="[VERSION]" Upgrade the OSF Data Validator Tool
--upgrade-osf-ontologies-management-tool="[VERSION]" Upgrade the OSF Ontologies Management Tool
It is possible to create an installation profile for OSF by properly configuring the installer.ini
file. All the options that are required by the OSF installer appears in that file. In this section, you will know how you can configure the options such that you can automatically deploy OSF on a server with this single command line:
./osf-installer --install-osf -v
All the options are described in the following table:
Section | Option | default value | note |
---|---|---|---|
installer | |||
version | 3.4.0 | Current version of the OSF installer. Do not change | |
osf-configured | false | Specify if OSF as already been configured using the OSF installer on this instance. Internal, Do not change | |
osf-drupal-configured | false | Specify if OSF for Drupal as already been configured using the OSF installer on this instance. Internal, Do not change | |
auto-deploy | false | Specify if the OSF Installer is used in an auto-deployment context. This is normally use if you are deploying OSF using a deployment framework such as Chef . When this option is configured to true then no question will be prompted to the terminal while installing. Also, if an error occur, the proces will die with a specific error code. |
|
upgrade-distro | true | Specify if you want to make sure the latest version of every software of the Linux distribution are up to date. This happens before the installer starts deploying OSF on the server. | |
osf | |||
application-id | administer | Name of the first OSF Application ID to create in OSF |
|
api-key | some-key | The API key related ot the application-id . If the value some-key is specified, then a long random key will be generated by the installer and will be saved in the keys.ini file. |
|
data-folder | /data | Main folder where most of the configuration files, ontologies files, etc. related to OSF will be saved on the server | |
logging-folder | /tmp | Temporary folder to be used by OSF | |
osf-web-services | |||
osf-web-services-version | 3.4.0 | Version of OSF to deploy | |
osf-web-services-folder | /usr/share/osf | Folder where OSF web services will be deployed | |
osf-web-services-domain | localhost | Domain name, or IP address of the OSF server. This domain name or IP address need to be accessible by the server that deploy OSF. | |
osf-components | |||
osf-ws-php-api-version | 3.1.3 | Version of the OSF PHP API to be deployed | |
osf-ws-php-api-folder | StructuredDynamics/osf | Folder where to deploy the OSF PHP API. It needs to be a subfolder of osf-ws-php-api-folder |
|
osf-tests-suites-version | 3.4.0 | Version of the OSF Tests Suites to deploy | |
osf-tests-suites-folder | StructuredDynamics/osf/tests | Folder where to deploy the OSF tests suites. It needs to be a subfolder of osf-ws-php-api-folder |
|
data-validator-tool-version | 3.1.0 | Version of the data validator tool to deploy | |
data-validator-tool-folder | StructuredDynamics/osf/validator | Folder where to deploy the data validator tool. It needs to be a subfolder of osf-ws-php-api-folder |
|
osf-tools | |||
permissions-management-tool-version | 3.1.3 | Version of the PMT to deploy | |
permissions-management-tool-folder | /usr/share/permissions-management-tool | Folder location where to deploy the PMT | |
datasets-management-tool-version | 3.4.0 | Version of the DMT to deploy | |
datasets-management-tool-folder | /usr/share/datasets-management-tool | Folder location where to deploy the PMT | |
ontologies-management-tool-version | 3.1.0 | Version of the OMT to deploy | |
ontologies-management-tool-folder | /usr/share/ontologies-management-tool | Folder location where to deploy the PMT | |
osf-drupal | |||
drupal-version | 7.41 | Drupal version to deploy | |
drupal-folder | /usr/share/drupal | Folder location where to deploy Drupal | |
drupal-domain | localhost | Domain name, or IP address of the OSF server. This domain name or IP address need to be accessible by the server that deploy OSF. | |
drupal-admin-username | admin | Name of the administrator username on Drupal | |
drupal-admin-password | admin | Password of the administrator user on Drupal | |
sql | |||
sql-server | mysql | SQL engine to use for Drupal. *should be mysql . Only one currently supported |
|
sql-host | localhost | Domain name, or IP address of the OSF server. This domain name or IP address need to be accessible by the server that deploy OSF. | |
sql-port | 3306 | reserved -- not yet used | |
sql-root-username | root | Name of the root user of the SQL server | |
sql-root-password | root | Password of the root user of the SQL server | |
sql-app-username | root | Username of the SQL server to use to install Drupal. By default it is root. | |
sql-app-password | root | Password of the SQL server to use to install Drupal. By default it is root. | |
sql-app-database | drupal | reserved -- not yet used | |
sql-app-engine | innodb | reserved -- not yet used | |
sql-app-collation | utf8_general_ci | reserved -- not yet used | |
sparql | |||
sparql-server | virtuoso | Triple store engine to use for OSF. *should be virtuoso . Only one currently supported |
|
sparql-channel | odbc | Communication channel to use between the OSF web service endpoints and the triple store. Can be odbc or http |
|
sparql-dsn | OSF-triples-store | DSN name to use if sparql-channel is odbc |
|
sparql-host | localhost | Domain name, or IP address of the OSF server. This domain name or IP address need to be accessible by the server that deploy OSF. | |
sparql-port | 8890 | Port of the SPARQL endpoint of the triple store | |
sparql-url | sparql | URL ending of the location of the SPARQL endpoint for the Triple Store | |
sparql-graph-url | sparql-graph-crud-auth | URL ending of the location of the SPARQL graph crud auth endpoint for the Triple Store | |
sparql-username | dba | reserved -- not yet used -- dba is currently used |
|
sparql-password | dba | Password of the sparql-username |
|
keycache | |||
keycache-enabled | true | Specify if you want to enable or disable the key-caching system (like memcached) |
|
keycache-server | memcached | Keycaching system to use. Currently only memecached is supported. |
|
keycache-host | localhost | Domain name, or IP address of the OSF server. This domain name or IP address need to be accessible by the server that deploy OSF. | |
keycache-port | 11211 | Port of the keycaching system | |
keycache-ui-password | admin | Password of the keycaching system user interface administrator user | |
solr | |||
solr-host | localhost | Domain name, or IP address of the OSF server. This domain name or IP address need to be accessible by the server that deploy OSF. | |
solr-port | 8983 | Port of the Solr server | |
solr-core | "" | Name of the Solr core to use by this OSF instance. If this value is empty, then no core will be used. | |
owl | |||
owl-host | localhost | Domain name, or IP address of the OSF server. This domain name or IP address need to be accessible by the server that deploy OSF. | |
owl-port | 8080 | Port of the Tomcat instance that host the OWLAPI library | |
scones | |||
scones-host | localhost | Domain name, or IP address of the OSF server. This domain name or IP address need to be accessible by the server that deploy OSF. | |
scones-port | 8080 | Port of the Tomcat instance that host the Scones application | |
scones-url | scones | URL ending where to read the Scones web service endpoints |
Once you have installed the OSF stack, you next query the OSF Web Services endpoints, and import datasets using OSF for Drupal. Here are a few things you can do to start exploring the Open Semantic Framework:
- Start exploring OSF Web Services
- Start exploring OSF for Drupal
- Start exploring Ontologies usage in OSF
- Start importing and manipulating datasets
- Start exploring the Open Semantic Framework architecture
- Start using the OSF Web Services PHP API.
When you are ready to begin developing and configuring your new instance in earnest, the best place to start is A Basic Guide to Content on the TechWiki.
If you are experiencing issues with this installation process, please do make an outreach to the Open Semantic Web Mailing List.
Describe the specifications of the server where you are trying to install OSF. Tell us where the issue happens in the installation process. Also add any logs that could be helpful in debugging the issue.