Differences between revisions 2 and 16 (spanning 14 versions)
Revision 2 as of 2010-03-29 08:23:36
Size: 2131
Editor: root
Comment:
Revision 16 as of 2010-03-29 22:02:43
Size: 3694
Editor: root
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Installing and configuring EMEN2 =
Line 3: Line 5:
1. Download the latest EMEN2 source code release and untar === 0. Install Dependencies ===
Line 5: Line 7:
2. Create a directory for the Database Environment (referred to as $DB_HOME going forward. Reasonable default is /home/emen2/db/ ) 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.
Line 7: Line 9:
Recommended: Set the $DB_HOME environment variable to this path for convenience === 1. Download ===
Line 9: Line 11:
3. Copy emen2/config.sample.yml to $DB_HOME/config.yml Download the latest EMEN2 source code release and untar

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

{{{
cd /home/emen2
tar -xvzf emen2.03.28.2010.tar.gz
cd emen2
}}}

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

If you have an existing database 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.



=== 2. Create Database Environment ===

Create a directory for the Database Environment (referred to as DB_HOME going forward. Reasonable default is /home/emen2/db/ )

Recommended: Set the DB_HOME environment variable to this path for convenience. You will also need to add the EMEN2 source directory to your PYTHONPATH environment variable

Place this in your .bash_profile or similar.

{{{
export DB_HOME=/home/emen2/db
export PYTHONPATH=$PYTHONPATH:/home/emen2/emen2/
}}}

{{{
mkdir $DB_HOME
cp config/config.sample.yml $DB_HOME/config.yml
}}}


=== 3. Create Configuration ===

Copy emen2/config.sample.yml to DB_HOME/config.yml
Line 13: Line 52:
{{{
Line 15: Line 55:
}}}
Line 16: Line 57:
4. After config.yml is to your liking, run
Line 18: Line 58:

=== 4. Initial DB_HOME setup ===

After config.yml is to your liking, run

{{{
Line 19: Line 65:
}}}
Line 20: Line 67:
The rest of the $DB_HOME 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. The rest of the DB_HOME 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.
Line 22: Line 69:
5. Test web server
Line 24: Line 70:

=== 5. Test web server ===

{{{
Line 25: Line 75:
}}}
Line 28: Line 79:
6. Optional: Import Parameter/Protocol definitions from the NCMI Database.
Line 30: Line 80:

=== 6. 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.

{{{
Line 31: Line 87:
}}}
Line 36: Line 93:
6. Daemon === 7. Run as daemon ===
Line 40: Line 97:
{{{
Line 41: Line 99:
}}}

Installing and configuring EMEN2

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.

0. 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.

1. Download

Download the latest EMEN2 source code release and untar

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

cd /home/emen2
tar -xvzf emen2.03.28.2010.tar.gz
cd emen2

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

If you have an existing database 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.

2. Create Database Environment

Create a directory for the Database Environment (referred to as DB_HOME going forward. Reasonable default is /home/emen2/db/ )

Recommended: Set the DB_HOME environment variable to this path for convenience. You will also need to add the EMEN2 source directory to your PYTHONPATH environment variable

Place this in your .bash_profile or similar.

export DB_HOME=/home/emen2/db
export PYTHONPATH=$PYTHONPATH:/home/emen2/emen2/

mkdir $DB_HOME
cp config/config.sample.yml $DB_HOME/config.yml

3. Create Configuration

Copy emen2/config.sample.yml to DB_HOME/config.yml

Edit the various settings in config.yml. See EMEN2/config.yml. Primarily, you will want to check the path and network settings. A simple configuration will have most EMEN2 directories (db, applog, archive, db_hotbackup, emen2files, etc.) placed under the path specified by the "&root" element, which is /home/emen2/ by default.

  root: &root
    /home/emen2/

4. Initial DB_HOME setup

After config.yml is to your liking, run

python ./setup.py

The rest of the DB_HOME 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.

5. Test web server

python ./TwistSupport.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.

6. 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

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.

7. Run as daemon

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

python ./emen2control.py --start

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