Difference between revisions of "Hemera:Install"

From HemeraBook
Jump to: navigation, search
(Updated categories + links to new page name + some improvements)
Line 1: Line 1:
 +
{| align="right"
 +
|-
 +
| __TOC__
 +
|}
 +
 
=Foreword=
 
=Foreword=
 
If ever you have problem while installing Hemera, check the [[Troubleshooting]] page.<br />
 
If ever you have problem while installing Hemera, check the [[Troubleshooting]] page.<br />
 
If you don't find solution, post a request on the [https://sourceforge.net/projects/hemerais/forums/forum/1202771 Help Forum].<br />
 
If you don't find solution, post a request on the [https://sourceforge.net/projects/hemerais/forums/forum/1202771 Help Forum].<br />
 
<br />
 
<br />
This page gives information to install Hemera from scratch, if you already have an Hemera version, you should consider [[Upgrade_Hemera |upgrading it]].
+
This page gives information to install Hemera from scratch, if you already have an Hemera version, you should consider [[Hemera:Upgrade |upgrading it]].
  
 
<br />
 
<br />
 
=Information=
 
=Information=
 +
==Supported Operating Systems/Architectures==
 +
In theory, Hemera is compatible with any [http://en.wikipedia.org/wiki/Unix-like Unix-like] Operating Systems, and any architecture (x86, x86_64 ...), when there is [http://www.gnu.org/software/bash GNU/Bash], and any third-party tools requirements.<br />
 +
In practice, Hemera is regularly tested on Fedora x86_64 for RedHat-based distributions and on Ubuntu x86_64 for Debian-based distributions.<br />
 +
The more OS/architecture combinations the users will test Hemera on, the more the compatibility will be improved.
 +
<br />
 
==Multi user==
 
==Multi user==
 
Hemera is usually installed by a System administrator (or advanced user with root access) to be available for any users.<br />
 
Hemera is usually installed by a System administrator (or advanced user with root access) to be available for any users.<br />
Line 17: Line 27:
 
For greater interoperability and internationalization, it is recommended that you configure your OS to use [http://fr.wikipedia.org/wiki/UTF-8 UTF-8].<br />
 
For greater interoperability and internationalization, it is recommended that you configure your OS to use [http://fr.wikipedia.org/wiki/UTF-8 UTF-8].<br />
 
It can be done defining the $LANG environment variable in the good global file which depends on your operating system.<br />
 
It can be done defining the $LANG environment variable in the good global file which depends on your operating system.<br />
Under RedHat-like GNU/Linux distribution:<br />
+
'''RedHat-based distributions'''<br />
 
  /etc/sysconfig/i18n
 
  /etc/sysconfig/i18n
Under Debian-like GNU/Linux distribution:<br />
+
'''Debian-based distributions'''<br />
 
  /etc/default/locale
 
  /etc/default/locale
 
<br />
 
<br />
 
Create the file if needed, and add the following line (you can change en_US with the language of your choice, but it is mandatory to use UTF-8):<br />
 
Create the file if needed, and add the following line (you can change en_US with the language of your choice, but it is mandatory to use UTF-8):<br />
 
  LANG="en_US.UTF-8"
 
  LANG="en_US.UTF-8"
<br />
 
  
 +
<br />
 
=Get Hemera=
 
=Get Hemera=
''System administrators'' and ''standard users'' may prefer '''release version''', available on the SourceForge [https://sourceforge.net/projects/hemerais/files/Hemera/ project site]:<br />
+
'''System administrators''' and '''standard users''' will prefer [https://sourceforge.net/projects/hemerais/files/Hemera/ release version]:<br />
 
* enter the directory of the version you want
 
* enter the directory of the version you want
* download the Hemera-vX.Y.tgz tarball (X.Y corresponding to the version)
+
* download the Hemera-X.Y.Z.tgz tarball (X.Y.Z corresponding to the version)
 
* uncompress it in the directory of your choice (called [[Appendix#HEMERA_ROOT_PATH |HEMERA_ROOT_PATH]] in this wiki)
 
* uncompress it in the directory of your choice (called [[Appendix#HEMERA_ROOT_PATH |HEMERA_ROOT_PATH]] in this wiki)
 
For a global installation, '''/usr/share/hemera''' is an usual installation path.<br />
 
For a global installation, '''/usr/share/hemera''' is an usual installation path.<br />
 
For standard user, '''~/hemera''' is a good installation path.<br />
 
For standard user, '''~/hemera''' is a good installation path.<br />
 
<br />
 
<br />
For ''developers, contributors and advanced users'', you will prefer [[Install Hemera - Developer | source code version]].
+
'''Trick:''' you should keep the Hemera-X.Y.Z subdirectory and create/update a symbolic link named Hemera (from which to setup) to allow quick switch between installed versions.<br />
 +
For instance, [[Appendix#HEMERA_ROOT_PATH |HEMERA_ROOT_PATH]] will look like:
 +
<pre>
 +
Hemera -> Hemera-0.1.5
 +
Hemera-0.1.0
 +
Hemera-0.1.1
 +
Hemera-0.1.5
 +
ThirdParty
 +
</pre>
  
 +
<br />
 +
'''Developers''', '''contributors''' and '''advanced users''' will prefer [[Hemera:Install for developer |source code version]].
 +
 +
<br />
 
=Setup=
 
=Setup=
''System administrator'' must perform a global setup (with '''-g''' option); it will automatically:
+
'''System administrator''' must perform a global setup (with '''-g''' option); it will automatically:
 
* create the global configuration file
 
* create the global configuration file
 
* create the '''hemera''' group
 
* create the '''hemera''' group
Line 58: Line 80:
  
 
<br />
 
<br />
Standard user must perform a setup; it will automatically:
+
'''Standard user''' must perform a setup; it will automatically:
 
* create a 'system' file in his home directory to define some global Hemera variables (e.g. installation directory)
 
* create a 'system' file in his home directory to define some global Hemera variables (e.g. installation directory)
 
* update/create his ''$HOME/.bashrc'' file to add Hemera main script directories to ''$PATH'' environment variable
 
* update/create his ''$HOME/.bashrc'' file to add Hemera main script directories to ''$PATH'' environment variable
Line 75: Line 97:
 
A specific error message will be given in case of failure.
 
A specific error message will be given in case of failure.
  
 +
<br />
 
=Check Hemera configuration=
 
=Check Hemera configuration=
 
At anytime to check global configuration, you can launch:
 
At anytime to check global configuration, you can launch:
Line 133: Line 156:
 
</pre>
 
</pre>
  
[[Category:HemeraBook]]
+
[[Category:HemeraBook/en]]
 +
[[Category:admin/en]]

Revision as of 10:04, 27 November 2011

Foreword

If ever you have problem while installing Hemera, check the Troubleshooting page.
If you don't find solution, post a request on the Help Forum.

This page gives information to install Hemera from scratch, if you already have an Hemera version, you should consider upgrading it.


Information

Supported Operating Systems/Architectures

In theory, Hemera is compatible with any Unix-like Operating Systems, and any architecture (x86, x86_64 ...), when there is GNU/Bash, and any third-party tools requirements.
In practice, Hemera is regularly tested on Fedora x86_64 for RedHat-based distributions and on Ubuntu x86_64 for Debian-based distributions.
The more OS/architecture combinations the users will test Hemera on, the more the compatibility will be improved.

Multi user

Hemera is usually installed by a System administrator (or advanced user with root access) to be available for any users.
In installation process, a global/common configuration file is created; any user has a specific configuration file (his configuration override global configuration).

However, there is no need special permissions, so any user can install his own Hemera version (e.g. in his home directory), and any needed third-party tools which are not already installed on the Operating System.
If there is no global configuration file, an user can fully configure Hemera in his own configuration file.

UTF-8

For greater interoperability and internationalization, it is recommended that you configure your OS to use UTF-8.
It can be done defining the $LANG environment variable in the good global file which depends on your operating system.
RedHat-based distributions

/etc/sysconfig/i18n

Debian-based distributions

/etc/default/locale


Create the file if needed, and add the following line (you can change en_US with the language of your choice, but it is mandatory to use UTF-8):

LANG="en_US.UTF-8"


Get Hemera

System administrators and standard users will prefer release version:

  • enter the directory of the version you want
  • download the Hemera-X.Y.Z.tgz tarball (X.Y.Z corresponding to the version)
  • uncompress it in the directory of your choice (called HEMERA_ROOT_PATH in this wiki)

For a global installation, /usr/share/hemera is an usual installation path.
For standard user, ~/hemera is a good installation path.

Trick: you should keep the Hemera-X.Y.Z subdirectory and create/update a symbolic link named Hemera (from which to setup) to allow quick switch between installed versions.
For instance, HEMERA_ROOT_PATH will look like:

Hemera -> Hemera-0.1.5
Hemera-0.1.0
Hemera-0.1.1
Hemera-0.1.5
ThirdParty


Developers, contributors and advanced users will prefer source code version.


Setup

System administrator must perform a global setup (with -g option); it will automatically:

  • create the global configuration file
  • create the hemera group
  • create the third-party tools directory structure and update group owner and permissions
 HEMERA_ROOT_PATH/Hemera/scripts/setupHemera.sh -g
05/11/11 22:11.29 [setup]         'hemera' group created/updated.
05/11/11 22:11.29 [setup]         Global configuration file '/etc/hemera.conf' created/updated.
05/11/11 22:11.31 [setup]         Third-party tools '/usr/share/hemera/ThirdParty' structure created/updated.
05/11/11 22:11.31 [setup]         Hemera completed successfully.

You can use -T option to specify another third-party tools directory (use -h option to see all options).

After setup, System administrator can add user to hemera group, to give them permissions to update global configuration file or install/update third-party tools installation (for instance for projettwk user):

usermod -aG hemera projettwk


Standard user must perform a setup; it will automatically:

  • create a 'system' file in his home directory to define some global Hemera variables (e.g. installation directory)
  • update/create his $HOME/.bashrc file to add Hemera main script directories to $PATH environment variable


Configure

Global configuration file is automatically created by global setup.
Standard user can create a specific configuration file, in his home directory, to override global configuration:

mkdir -p $HOME/.hemera
cp HEMERA_ROOT_PATH/Hemera/config/hemera.conf.sample $HOME/.hemera/hemera.conf


For paths, you should read Binary and Library paths configuration first.

Third-Party tools availability

See Install third-party tools.
Each third-party tool binary path, and data file path are checked when using corresponding core module.
A specific error message will be given in case of failure.


Check Hemera configuration

At anytime to check global configuration, you can launch:

 HEMERA_ROOT_PATH/Hemera/scripts/checkConfig.sh
05/11/11 22:37.28 [check]         Checking 'hemera.path.bin' ... OK
05/11/11 22:37.28 [check]         Checking 'hemera.path.lib' ... OK
05/11/11 22:37.28 [check]         Checking 'hemera.language' ... OK
05/11/11 22:37.28 [check]         Checking internationalization files (BEGIN)
05/11/11 22:37.28 [check]         Checking internationalization files (END)
05/11/11 22:37.28 [check]         Found: java version "1.6.0_20" [OpenJDK Runtime Environment (IcedTea6 1.9.10) (fedora-55.1.9.10.fc14-x86_64)]
05/11/11 22:37.28 [check]         Checking 'environment.ant.home' ... OK
05/11/11 22:37.28 [check]         Found: Apache Ant version 1.7.1 compiled on April 16 2010
05/11/11 22:37.28 [check]         Checking 'hemera.run.activation.tomcat' ... OK
05/11/11 22:37.28 [check]         Found: Apache Tomcat Version 7.0.12
05/11/11 22:37.29 [hemera]        Checking 'hemera.run.mode' ... OK
05/11/11 22:37.29 [hemera]        Checking 'hemera.run.activation.inputMonitor' ... OK
05/11/11 22:37.29 [hemera]        Checking 'hemera.run.activation.ioProcessor' ... OK
05/11/11 22:37.29 [hemera]        Checking 'hemera.run.activation.soundRecorder' ... OK
05/11/11 22:37.29 [hemera]        Checking 'hemera.run.activation.tomcat' ... OK
05/11/11 22:37.29 [inputMonitor]  Checking 'hemera.core.iomanager.inputMonitor.path' ... OK
05/11/11 22:37.29 [inputMonitor]  Checking 'hemera.core.iomanager.inputMonitor.options' ... OK
05/11/11 22:37.29 [IOProcessor]   Checking 'hemera.core.iomanager.ioProcessorMonitor.path' ... OK
05/11/11 22:37.29 [IOProcessor]   Checking 'hemera.core.iomanager.ioProcessorMonitor.options' ... OK
05/11/11 22:37.29 [soundRecorder] Checking 'hemera.core.speechRecognition.soundRecorder.path' ... OK
05/11/11 22:37.29 [soundRecorder] Checking 'hemera.core.speechRecognition.soundRecorder.options' ... OK
05/11/11 22:37.29 [featureFile]   Checking 'hemera.core.speechRecognition.soundFeatureCreator.path' ... OK
05/11/11 22:37.29 [featureFile]   Checking 'hemera.core.speechRecognition.soundFeatureCreator.options' ... OK
05/11/11 22:37.29 [speechReco]    Checking 'hemera.core.speechRecognition.mode' ... OK
05/11/11 22:37.29 [speechReco]    Checking 'hemera.core.speechRecognition.soundConverter.path' ... OK
05/11/11 22:37.29 [speechReco]    Checking 'hemera.core.speechRecognition.soundConverter.options' ... OK
05/11/11 22:37.29 [speechReco]    Checking configuration specific to mode 'sphinx3' ...
05/11/11 22:37.29 [speechReco]    Checking 'hemera.core.speechRecognition.tool.path' ... OK
05/11/11 22:37.29 [speechReco]    Checking 'hemera.core.speechRecognition.tool.options' ... OK
05/11/11 22:37.29 [speechReco]    Checking 'hemera.core.speechRecognition.sphinx3.lexicalModel.words' ... OK
05/11/11 22:37.29 [speechReco]    Checking 'hemera.core.speechRecognition.sphinx3.lexicalModel.fillers' ... OK
05/11/11 22:37.29 [speechReco]    Checking 'hemera.core.speechRecognition.sphinx3.languageModel' ... OK
05/11/11 22:37.29 [speechReco]    Checking 'hemera.core.speechRecognition.sphinx3.acousticModel.definition' ... OK
05/11/11 22:37.29 [speechReco]    Checking 'hemera.core.speechRecognition.sphinx3.acousticModel.means' ... OK
05/11/11 22:37.29 [speechReco]    Checking 'hemera.core.speechRecognition.sphinx3.acousticModel.variances' ... OK
05/11/11 22:37.29 [speechReco]    Checking 'hemera.core.speechRecognition.sphinx3.acousticModel.mixtureWeights' ... OK
05/11/11 22:37.29 [speechReco]    Checking 'hemera.core.speechRecognition.sphinx3.acousticModel.transitionMatrices' ... OK
05/11/11 22:37.29 [speech]        Checking 'hemera.core.speech.mode' ... OK
05/11/11 22:37.29 [speech]        Checking 'hemera.core.speech.espeak.language' ... OK
05/11/11 22:37.29 [speech]        Checking 'hemera.core.speech.soundPlayer.path' ... OK
05/11/11 22:37.29 [speech]        Checking 'hemera.core.speech.soundPlayer.options' ... OK
05/11/11 22:37.29 [speech]        Checking configuration specific to mode 'espeak+mbrola' ...
05/11/11 22:37.29 [speech]        Checking 'hemera.core.speech.tool.path' ... OK
05/11/11 22:37.29 [speech]        Checking 'hemera.core.speech.tool.options' ... OK
05/11/11 22:37.29 [speech]        Checking 'hemera.core.speech.mbrola.path' ... OK
05/11/11 22:37.29 [speech]        Checking 'hemera.core.speech.mbrola.options' ... OK
05/11/11 22:37.29 [speech]        Checking 'hemera.core.speech.mbrola.language' ... OK
05/11/11 22:37.30 [manageSound]   Checking 'hemera.core.speech.soundPlayer.path' ... OK
05/11/11 22:37.30 [manageSound]   Checking 'hemera.core.speech.soundPlayer.options' ... OK
05/11/11 22:37.30 [plugin:search] Checking 'hemera.core.command.general.htmlConverter.path' ... OK
05/11/11 22:37.30 [plugin:search] Checking 'hemera.core.command.general.fileSplitter.path' ... OK
05/11/11 22:37.30 [plugin:search] Checking 'hemera.core.command.search.url' ... OK