Differences between revisions 1 and 30 (spanning 29 versions)
Revision 1 as of 2010-03-29 08:10:42
Size: 429
Editor: root
Comment:
Revision 30 as of 2010-09-22 07:07:54
Size: 3983
Editor: root
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Generally, you will want to create a user account for running emen2, e.g. 'emen2.' This has the benefit of working well with the default config file. Running as any other user also works fine, you will just have to change one or two paths in config.yml. = Installing and configuring EMEN2 =
Line 3: Line 3:
1. Download the latest EMEN2 source code release and untar [default: /home/emen2/emen2 ] <<TableOfContents>>
Line 5: Line 5:
3. Create a directory for the Database Environment, [default: /home/emen2/db ] = Install Dependencies =

You will first need to install the various [[EMEN2/Dependencies|EMEN2 dependencies]]. They are all straight-forward to install, and can generally be installed using Python's easy_install system.

= Download EMEN2 =

Download the latest EMEN2 source code release and untar

http://ncmi.bcm.edu/ncmi/software/software_details?selected_software=EMEN2

If there is an existing source tree installed, you may want to rename it in case you need to revert to the previous version, e.g. mv emen2 emen2.old.03.20.2010.

If you have an existing EMEN2 environment, I strongly recommend taking an additional tar backup of that directory before proceeding, in addition to normal backup procedures (log archive, db hot backup) in case you need to revert without the difficulty of performing a full recovery from archives.

= Create EMEN2 Environment =

The instructions below assume you are setting EMEN2 up in a separate user account called 'emen2', with a default home directory '/home/emen2', and the emen2 source code in '/home/emen2/src/emen2'

You will need to create a directory for your EMEN2 environment. A reasonable default is /home/emen2/db, or in another place such as /data/db.

It is strongly recommended to set the DB_HOME environment variable to this path for convenience. You will also need to add the parent of the EMEN2 source directory to your PYTHONPATH environment variable. Adjust the paths below, and place in your .bash_profile:

{{{
export EMEN2DBHOME=/home/emen2/db
export PYTHONPATH=$PYTHONPATH:/home/emen2/src
}}}

Create the DB_HOME directory:

{{{
mkdir $EMEN2DBHOME
}}}

= Edit Configuration =

EMEN2 includes very reasonable default settings for a quick setup, but you may want to override some of EMEN2's default configuration options in $EMEN2DBHOME/config.json. See [[EMEN2/config]]. Primarily, you will want to check the path and network settings to specify data directory/file storage areas and web server ports.

= Initialize EMEN2 Environment =

After checking your configuration, you should run the setup.py script to bootstrap your database environment:

{{{
python ./bin/setup.py
}}}

The rest of the EMEN2 environment will be created, skeleton parameter/protocol definitions will be installed, and a root user created. You will be prompted on the shell for a root password.

= Test Web Server =

{{{
python ./bin/server.py
}}}

You should be able to connect to this web server instance once it is "listening..." The default port is 8080. You may login with the root password you specified previously.

= Optional: Import =

You may want to import the parameter and protocol definitions from the EMEN2 installation at the NCMI. In the future, these will be published in an open format, and made available by default.

{{{
python ./clients/clone.py -- --defs --host http://ncmidb.bcm.edu
}}}

Note: the first "--" is intentional and required at the moment. Command arguments for the local database go before "--", arguments to the cloning script go after ("--defs")

You will be prompted for two sets of credentials. First, an NCMI DB account, and second, the root password for the local database. If you do not have an NCMI DB account, you may specify "anonymous" as the username, and your email address as the password.

= Optional: Accelerator Module =

EMEN2 includes a C module that increases index read speed by using some features of the Berkeley DB interface that are not exposed by the bsddb3 module. See [[EMEN2/bulk.so]] for information on how to build this module. This module is not required, and can be enabled/disabled at any time.

= Run as daemon =

After you are satisfied with your setup, you can run EMEN2 in the background

{{{
python ./bin/emen2control.py --start
}}}

You can also shutdown or restart the server with "--shutdown" and "--restart", respectively.

Installing and configuring EMEN2

Install Dependencies

You will first need to install the various EMEN2 dependencies. They are all straight-forward to install, and can generally be installed using Python's easy_install system.

Download EMEN2

Download the latest EMEN2 source code release and untar

http://ncmi.bcm.edu/ncmi/software/software_details?selected_software=EMEN2

If there is an existing source tree installed, you may want to rename it in case you need to revert to the previous version, e.g. mv emen2 emen2.old.03.20.2010.

If you have an existing EMEN2 environment, I strongly recommend taking an additional tar backup of that directory before proceeding, in addition to normal backup procedures (log archive, db hot backup) in case you need to revert without the difficulty of performing a full recovery from archives.

Create EMEN2 Environment

The instructions below assume you are setting EMEN2 up in a separate user account called 'emen2', with a default home directory '/home/emen2', and the emen2 source code in '/home/emen2/src/emen2'

You will need to create a directory for your EMEN2 environment. A reasonable default is /home/emen2/db, or in another place such as /data/db.

It is strongly recommended to set the DB_HOME environment variable to this path for convenience. You will also need to add the parent of the EMEN2 source directory to your PYTHONPATH environment variable. Adjust the paths below, and place in your .bash_profile:

export EMEN2DBHOME=/home/emen2/db
export PYTHONPATH=$PYTHONPATH:/home/emen2/src

Create the DB_HOME directory:

mkdir $EMEN2DBHOME

Edit Configuration

EMEN2 includes very reasonable default settings for a quick setup, but you may want to override some of EMEN2's default configuration options in $EMEN2DBHOME/config.json. See EMEN2/config. Primarily, you will want to check the path and network settings to specify data directory/file storage areas and web server ports.

Initialize EMEN2 Environment

After checking your configuration, you should run the setup.py script to bootstrap your database environment:

python ./bin/setup.py

The rest of the EMEN2 environment will be created, skeleton parameter/protocol definitions will be installed, and a root user created. You will be prompted on the shell for a root password.

Test Web Server

python ./bin/server.py

You should be able to connect to this web server instance once it is "listening..." The default port is 8080. You may login with the root password you specified previously.

Optional: Import

You may want to import the parameter and protocol definitions from the EMEN2 installation at the NCMI. In the future, these will be published in an open format, and made available by default.

python ./clients/clone.py -- --defs --host http://ncmidb.bcm.edu

Note: the first "--" is intentional and required at the moment. Command arguments for the local database go before "--", arguments to the cloning script go after ("--defs")

You will be prompted for two sets of credentials. First, an NCMI DB account, and second, the root password for the local database. If you do not have an NCMI DB account, you may specify "anonymous" as the username, and your email address as the password.

Optional: Accelerator Module

EMEN2 includes a C module that increases index read speed by using some features of the Berkeley DB interface that are not exposed by the bsddb3 module. See EMEN2/bulk.so for information on how to build this module. This module is not required, and can be enabled/disabled at any time.

Run as daemon

After you are satisfied with your setup, you can run EMEN2 in the background

python ./bin/emen2control.py --start

You can also shutdown or restart the server with "--shutdown" and "--restart", respectively.

EMEN2/Install (last edited 2013-06-27 06:59:34 by IanRees)