Differences between revisions 30 and 58 (spanning 28 versions)
Revision 30 as of 2010-09-22 07:07:54
Size: 3983
Editor: root
Comment:
Revision 58 as of 2013-06-27 06:59:34
Size: 2985
Editor: IanRees
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
<<TableOfContents>> EMEN2 has a number of dependencies, which are described on the [[EMEN2/Dependencies|dependencies]] page. However, because EMEN2 is often used with [[EMAN2]], we have packaged all of the EMEN2 dependencies along with binary builds of EMAN2, which greatly simplifies installation. See the [[EMAN2]] page for information on installing EMAN2 and the notes below. On Linux, we usually install EMAN2 into $HOME/EMAN2; make sure to run the "EMAN2/eman2-installer" script and add the resulting EMAN2 init script (EMAN2/eman2.bashrc) to your shell rc (usually $HOME/.profile or $HOME/.bashrc).
Line 5: Line 5:
= Install Dependencies = '''Note:''' After reading this document, you can view a [[EMEN2/Install/Example|walk-through of a successful installation]].
Line 7: Line 7:
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. = Install EMEN2 =
Line 9: Line 9:
= 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:
EMEN2 can be installed using either Python easy_install:
Line 28: Line 12:
export EMEN2DBHOME=/home/emen2/db
export PYTHONPATH=$PYTHONPATH:/home/emen2/src
sudo python -m easy_install -U emen2
Line 32: Line 15:
Create the DB_HOME directory: Note the "-U" flag will upgrade emen2 to the current version if it is already found.

Alternatively, you may install EMEN2 by downloading the source, unpacking, and running the setup.py script:

[[http://pypi.python.org/pypi/emen2|Download EMEN2]]
Line 35: Line 22:
mkdir $EMEN2DBHOME python ./setup.py build
sudo python ./setup.py install
Line 38: Line 26:
= Edit Configuration = '''Note:''' Installing EMEN2 with EMAN2
Line 40: Line 28:
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:
If you are using an EMAN2 binary distribution to take care of all the dependencies, you will need to use EMAN2's Python environment on Linux and Windows. On Linux, assuming you installed EMAN2 into $HOME/EMAN2, you would use $HOME/EMAN2/Python/bin/python as the interpreter. This will ensure that the correct dependencies are loaded and EMEN2 is installed in the correct location. On Mac OS X, EMAN2 uses the system default Python environment, so no special action is required. Example:
Line 47: Line 31:
python ./bin/setup.py $HOME/EMAN2/Python/bin/python -m easy_install -U emen2
Line 50: Line 34:
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. = Creating an EMEN2 database environment =
Line 52: Line 36:
= Test Web Server = Here is a "quick start" guide to initialize an EMEN2 DB and start the web server. The "-h" argument in the scripts below are references to a directory to keep the EMEN2 DB; the directory will be created if it does not exist.
Line 55: Line 39:
python ./bin/server.py python -m emen2.db.create -h $HOME/test.db
Line 58: Line 42:
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. This will prompt for a "root" account password, and create a minimal EMEN2 environment. The email address will be used for password recovery and system messages if a mail server is provided in the configuration. The password can be left empty, but the system will not be secure at all.
Line 60: Line 44:
= 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.
To start the EMEN2 web server with default settings:
Line 65: Line 47:
python ./clients/clone.py -- --defs --host http://ncmidb.bcm.edu python -m emen2.web -h $HOME/test.db
Line 68: Line 50:
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 able to access the server at http://localhost:8080
Line 70: Line 52:
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
Another way to start the web server is to use the "[[EMEN2/emen2ctl|emen2ctl]]" program:
Line 81: Line 55:
python ./bin/emen2control.py --start emen2ctl restart -h $HOME/test.db
Line 84: Line 58:
You can also shutdown or restart the server with "--shutdown" and "--restart", respectively. This will daemonize emen2, and log all messages to a file, $HOME/test.db/log/emen2.log.

Finally, if you want to start EMEN2 at system boot, see [[EMEN2/Startup|EMEN2 Startup]] for details on using the [[EMEN2/emen2ctl|emen2 init script]].

Installing and configuring EMEN2

EMEN2 has a number of dependencies, which are described on the dependencies page. However, because EMEN2 is often used with EMAN2, we have packaged all of the EMEN2 dependencies along with binary builds of EMAN2, which greatly simplifies installation. See the EMAN2 page for information on installing EMAN2 and the notes below. On Linux, we usually install EMAN2 into $HOME/EMAN2; make sure to run the "EMAN2/eman2-installer" script and add the resulting EMAN2 init script (EMAN2/eman2.bashrc) to your shell rc (usually $HOME/.profile or $HOME/.bashrc).

Note: After reading this document, you can view a walk-through of a successful installation.

Install EMEN2

EMEN2 can be installed using either Python easy_install:

sudo python -m easy_install -U emen2

Note the "-U" flag will upgrade emen2 to the current version if it is already found.

Alternatively, you may install EMEN2 by downloading the source, unpacking, and running the setup.py script:

Download EMEN2

python ./setup.py build
sudo python ./setup.py install

Note: Installing EMEN2 with EMAN2

If you are using an EMAN2 binary distribution to take care of all the dependencies, you will need to use EMAN2's Python environment on Linux and Windows. On Linux, assuming you installed EMAN2 into $HOME/EMAN2, you would use $HOME/EMAN2/Python/bin/python as the interpreter. This will ensure that the correct dependencies are loaded and EMEN2 is installed in the correct location. On Mac OS X, EMAN2 uses the system default Python environment, so no special action is required. Example:

$HOME/EMAN2/Python/bin/python -m easy_install -U emen2

Creating an EMEN2 database environment

Here is a "quick start" guide to initialize an EMEN2 DB and start the web server. The "-h" argument in the scripts below are references to a directory to keep the EMEN2 DB; the directory will be created if it does not exist.

python -m emen2.db.create -h $HOME/test.db

This will prompt for a "root" account password, and create a minimal EMEN2 environment. The email address will be used for password recovery and system messages if a mail server is provided in the configuration. The password can be left empty, but the system will not be secure at all.

To start the EMEN2 web server with default settings:

python -m emen2.web -h $HOME/test.db

You will be able to access the server at http://localhost:8080

Another way to start the web server is to use the "emen2ctl" program:

emen2ctl restart -h $HOME/test.db

This will daemonize emen2, and log all messages to a file, $HOME/test.db/log/emen2.log.

Finally, if you want to start EMEN2 at system boot, see EMEN2 Startup for details on using the emen2 init script.

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