Version 37 (modified by 13 years ago) (diff) | ,
---|
Proteios 2 Installation
Description
This note describes how to install Proteios 2 from a binary archive or compiled source code.
Requirements
- Proteios distribution (binary archive or source code).
- A database management system (DBMS), e.g. MySQL.
- JDK (Java SDK) version 5 or higher (see http://java.sun.com/).
- Apache Tomcat servlet container should be installed (see http://tomcat.apache.org/).
Quick Install
- Unpack the binary archive or build Proteios from source code (see Build Proteios from Source Code).
- Move to directory
dist
, which contains the installation scriptsinstall-linux.sh
for Unix/Linux?, andinstall-win.bat
for Windows. - Run the appropriate installation script at a command prompt and input requested information.
- Start Tomcat if not already running. Proteios can now be accessed from a web browser at http://localhost:8080/proteios/.
Detailed Instructions
Notes on Installed Software
- The DBMS server must be running during the Proteios installation (in case of MySQL, the daemon
mysqld
), so the DBMS can be accessed. In addition, the path for the DBMS program (mysql
for MySQL) must allow it to be run from the directory the installation is performed from. - JDK (Java SDK): The version to download is SDK for Java 2 Platform Standard Edition 5.0 or higher (make sure that you download the JDK, and not just the JRE, the J2SE Runtime Environment).
- Tomcat must have "write" access to the directory for Proteios user files and the directory for Proteios temporary files.
Information Needed
Installed Packages
- DBMS username and password for a database manager with privileges to
create
anddrop
databases, as well as creating accounts on the DBMS. Note that if you are going to install the web application on a a different server than the database server, you will need to make sure that the user has right to connect from the machine where you are putting the Proteios application. Instructions for mySQL remote access can be found here. - Tomcat installation directory, if it cannot be determined from the value of environment variable
CATALINA_HOME
(Catalina is the name of a Java class in the Tomcat package). If you need to find the directory yourself, first search for a directory with "tomcat" in the name. The "Catalina home" directory is the one with a sub-directory named "webapps".
Proteios Configuration (Set at Installation)
- Name of database for Proteios to use on the DBMS.
- DBMS username and password that the Proteios application can use to connect to the DBMS.
- Password that should be used for the root account in Proteios. The root account is used to add/delete users, groups, and roles in Proteios.
- Location of directory for Proteios user files.
- Location of directory for Proteios temporary files.
- Control port number for Proteios FTP Server (see section FTP Communication Ports). If in doubt, use default setting
8021
.
Example Setup
On many systems the installation procedure can be performed by running a program or script, and is in that case the recommended way to install the Proteios package. In this section the different steps in the setup are described, and an example of each step is provided. The example is based on the following assumptions:
Operating system | Unix/Linux? |
DBMS used | MySQL |
DBMS computer host name or IP number | localhost (same as Proteios is installed on) |
Database manager's DBMS username | caesar
|
Database manager's DBMS password | spqr
|
Name of database to use | proteios_db
|
Proteios' DBMS username | cicero
|
Proteios' DBMS password | palatium
|
Proteios' root account password | protagoras
|
Directory for Proteios' user files | /usr/local/proteios/files/ |
Directory for Proteios' temporary files | /usr/local/proteios/temp/ |
Control port for Proteios FTP Server | 8021 |
Tomcat installation directory | /usr/local/packages/apache-tomcat-5.5.15/ |
Proteios-2 installation directory | /usr/local/packages/Proteios-2.0/ |
Example setup.
Summary - What Happens During Proteios Installation
Proteios is a web application. It uses Tomcat to be accessed through a web browser, and it uses a database to store its data. Below is a summary of the installation procedure.
- The supplied information on the DBMS host name and manager account (username
caesar
and passwordspqr
in the example) is used to create a database with the specified name (proteios_db
in the example). - A new DBMS account (username
cicero
and passwordpalatium
in the example) is set up on the newly created database. - Information on the new DBMS account is stored in a configuration file, so Proteios can use it to access the database later on.
- Information on directory for temporary files is stored in configuration file web.xml.
- Information on control port for Proteios FTP Server is stored in configuration file ftp.properties.
- Log configuration file log4j.properties is created if not existing.
- The database is prepared for storing data on Proteios users, groups, experimental data, and other topics. Initially, it only contains the Proteios
root
account (with passwordprotagoras
in the example), that is used to create all other accounts in Proteios, from which proteomics data can be stored. If a database already exists, you have the option to update instead of dropping it, thus keeping/adjusting stored records (however, please see Restrictions for database structure update). - The directory for user files is created, if not existing.
- The directory for temporary files is created, if not existing.
- When the DBMS setup is finished, Proteios is prepared for use by being deployed into Tomcat, either by copying a number of files to the Tomcat
webapps
directory, or, preferrably, by creating a link between the latter and a directory with the Proteios files. - After the installation is finished, start Tomcat if not already running. Proteios can now be accessed from a web browser through
http://localhost:8080/proteios/
. If the installation is correct, the browser will be re-directed to the Proteios log-in page. To log in for the first time, use usernameroot
and the accompanying password (protagoras
in the example).
Some comments regarding the installation
- The DBMS manager account is only used to prepare the DBMS, and information on this account (username
caesar
and passwordspqr
in the example) is not stored by Proteios in its configuration files. The account is not affected by the installation, and it remains on the DBMS afterwards. - The DBMS account that the installation prepares for Proteios' internal use (username
cicero
and passwordpalatium
in the example), will not normally be used by human users. It is therefore not necessary that the username and password are easy to remember, so more or less cryptical choices likegh45jsd8765j
andk5f89n
could be used in principle. As there is no difference between this account and other from the DBMS point of view, you might want to use non-trivial choices for the username and password, to make sure that the account is not used to access data directly via a DBMS client program.
Restrictions for database structure update
Some changes in database structure cannot be performed by updating an existing database and adjusting stored records. One example is addition of columns with property not-null="true"
.
Alternative 1 - Installation from Script
This section describes the installation using the Linux installation script install-linux.sh
. Move to the directory containing the script. If Proteios 2 has been downloaded as source code and compiled on the system, it is the directory created by ant target package
. Start the installation by typing install-linux.sh
in the command shell. Enter requested information when prompted. A value inside square brackets []
denotes a default value, that will be used if just pressing <Return> (in the case of [Y|n], the value in upper-case denotes the default, in this case 'Y').
For a more detailed description of the steps performed by the script, please see section Alternative 2 - Installation from Command Line.
Installation from Script Step-by-Step
Values entered by the user is shown in monospace
font.
- Enter host name and user name with create privileges on your DBMS.
Host name [localhost]:
Username [root]:caesar
Password:spqr
(Not shown on console) - Enter a password for the root account in proteios.
Password:protagoras
(Not shown on console) - Configure the database name and user that proteios will use to connect to your DBMS.
Database name [proteios]:proteios_db
Username:cicero
Password:palatium
(Not shown on console) - Select a directory for proteios to use for user files.
User files directory [/
usr/
local/
proteios/
data]:/usr/local/proteios/files
- Select a directory for proteios to use for temporary files.
Temporary files directory [/
usr/
local/
proteios/
tmp]:/usr/local/proteios/temp
- Select control port for proteios FTP Server.
FTP Server Control Port [8021]:8021
Thank you! Letś continue with the installation.
Do you want to update an existing 'proteios_db
' database[y|N]? N
Do you want to drop an existing 'proteios_db
' database[y|N]? Y
Dropping database...done
Updating proteios *.config files
Updating proteios web.xml file
Updating proteios ftp.properties file
Creating log config file log4j.properties...
[0%] Building database....................................
[30%] Database built successfully.
[35%] Initializing database...
[37%] --Creating quota types...
...
[79%] --Creating news...
[90%] Database initialised successfully.
Creating user files directory... done
Creating temporary files directory... done
- Let's deploy the webapplication into tomcat.
Deploying proteios into /usr/local/packages/apache-tomcat-5.5.15
proteios is now installed. Start tomcat before use.
To use Proteios, start a web browser on the system the installation was performed on and access the link:http://localhost:8080/proteios/
Alternative 2 - Installation from Command Line
The operations are here given as commands on a command line. It should be noted that it is not in general recommended to perform all operations in this way, as user names and passwords may easily become exposed.
Installation from Command Line Step-by-Step
- The installation should be performed from the directory in the Proteios 2 distribution containing the installation scripts, e.g.
install-linux.sh
, whether these are used or not. If Proteios 2 has been downloaded as source code and compiled on the system, it is thedist
directory relative to the Proteios-2 installation directory (/usr/local/packages/Proteios-2.0/dist
in the example). This will be assumed to be the working directory if not otherwise stated. - [Optional] Delete ("drop" in SQL parlance) the existing database to use. Example command:
mysql -u caesar -p spqr -e "DROP DATABASE IF EXISTS `proteios_db`;"
- Create the database to use, if it doesn't already exist. Example command:
mysql -u caesar -p spqr -e "CREATE DATABASE IF NOT EXISTS `proteios_db` DEFAULT CHARACTER SET utf8;"
- Set full access rights for the database to the Proteios application. Example command:
mysql -u caesar -p spqr -e "GRANT ALL ON `proteios_db`.* TO 'cicero'@'localhost' IDENTIFIED BY 'palatium'; FLUSH PRIVILEGES;"
- The Proteios configuration file
proteios.config
is updated with the database name, username and password to use to connect to the DBMS, and location of directory for storing user files. The configuration file is located in directorywww/WEB-INF/classes
. In the example setup used, the configuration file is:/usr/local/packages/Proteios-2.0/www/WEB-INF/classes/proteios.config
When Proteios later is deployed into the Tomcat installationwebapps
directory, this will in the example correspond to the file:/usr/local/packages/apache-tomcat-5.5.15/webapps/proteios/WEB-INF/classes/proteios.config
The entries that are updated using the example values are:db.url = jdbc:mysql://localhost/proteios_db
db.username = cicero
db.password = palatium
userfiles = /usr/local/proteios/files
- The Proteios configuration file
web.xml
is updated with the directory location for storing temporary files. The web.xml file is located in directorywww/WEB-INF/
. In the example setup used, the configuration file is:/usr/local/packages/Proteios-2.0/www/WEB-INF/web.xml
When Proteios later is deployed into the Tomcat installationwebapps
directory, this will in the example correspond to the file:/usr/local/packages/apache-tomcat-5.5.15/webapps/proteios/WEB-INF/web.xml
The entry that is updated using the example value is:<init-param>
<param-name>temporary.file.repository</param-name>
<param-value>/usr/local/proteios/temp</param-value>
</init-param>
- The Proteios FTP Server configuration file
ftp.properties
is updated with the control port. The ftp.properties file is located in directorywww/WEB-INF/classes
. In the example setup used, the configuration file is:/usr/local/packages/Proteios-2.0/www/WEB-INF/classes/ftp.properties
When Proteios later is deployed into the Tomcat installationwebapps
directory, this will in the example correspond to the file:/usr/local/packages/apache-tomcat-5.5.15/webapps/proteios/WEB-INF/classes/ftp.properties
The entry that is updated using the example value is:PORT_NR=8021
- The log configuration file
log4j.properties
is created from template filelog4j.properties.in
, if the former does not exist. The log4j.properties file is located in directorywww/WEB-INF/classes
. In the example setup used, the configuration file is:/usr/local/packages/Proteios-2.0/www/WEB-INF/classes/log4j.properties
When Proteios later is deployed into the Tomcat installationwebapps
directory, this will in the example correspond to the file:/usr/local/packages/apache-tomcat-5.5.15/webapps/proteios/WEB-INF/classes/log4j.properties
- The Java class path variable is created by first adding the directory
./www/WEB-INF/classes
. Java archive files (*.jar) in directory./www/WEB-INF/lib/
is then listed and appended to the class path, separated by a character specific for the operative system (':' on Unix/Linux?, ';' on Microsoft Windows, where in addition directories are separated with '\' instead of '/', although Java does not seem to be sensitive to this). Example command (the command line has been broken into several lines for clarity and shortened in order to save space):CP=./www/WEB-INF/classes
:./www/WEB-INF/lib/antlr-2.7.6rc1.jar
:./www/WEB-INF/lib/asm-attrs.jar
...
:./www/WEB-INF/lib/xml-apis.jar
- The Proteios database installation java program
InitDB.class
in packageorg.proteios.install
is then run with the previously created class path and with the root account password as argument. Example command (the command line has been broken into several lines for clarity and shortened in order to save space):java -server -cp ./www/WEB-INF/classes
:./www/WEB-INF/lib/antlr-2.7.6rc1.jar
:./www/WEB-INF/lib/asm-attrs.jar
...
:./www/WEB-INF/lib/xml-apis.jar
org.proteios.install.InitDB protagoras
In the case when an existing database is not dropped before initialization, programInitDB.class
is run with extra argumentupdate
:...
org.proteios.install.InitDB update protagoras
- The directory for user files is created if not existing. If it could not be created, the user is instructed to create the directory by hand. Example commands:
mkdir -p /usr/local/proteios/files
- The directory for temporary files is created if not existing. If it could not be created, the user is instructed to create the directory by hand. Example commands:
mkdir -p /usr/local/proteios/temp
- Proteios is deployed into the Tomcat installation
webapps
directory by creating a symbolic link namedproteios
pointing to thewww
directory of the Proteios package. Example commands:cd /usr/local/packages/apache-tomcat-5.5.15/webapps
ln -s /usr/local/packages/Proteios-2.0/www proteios
- The Proteios installation is now completed. Start Tomcat before use. To use Proteios, start a web browser on the system the installation was performed on and access the link:
http://localhost:8080/proteios/
This concludes the tour of the Proteios installation. Please visit the gift shop on your way out.