Wiki Markup |
---|
{tip} Kuali Milestone Release 0.3 is now available\! Visit OLE in the Cloud: {html}<A href="http://demo.ole.kuali.org/ole-demo/portal.jsp" mce_href="http://demo.ole.kuali.org/ole-demo/portal.jsp" target="_Blank">DEMO Drive</A>{html}, or use our online [OLE 0.3 Drivers Manual|OLE:OLE 0.3 Milestone Release Documentation] to navigate Kuali OLE with your local installation\! {tip} h2. Overview These instructions provide the necessary steps to install OLE on to a local Linux server under Tomcat running either an Oracle or MySQL database. While it is possible to install the software locally on a laptop via an IDE, these instructions do not those steps. There are multiple options for installation, but the suggested layout is two schemas/databases. One for OLE/Rice/KFS and one for the Docstore. The development version of OLE is currently running on two separate applications servers. One for OLE and one for the Docstore, but a single application server can be used. The installation process is in two distinct parts: 1. [#OLE /Rice/KFS Server Installation] 2. [#Docstore/Docsearch server installation] h1. *Server Requirements* {color:#333333}The installation of the OLE Server requires the following:{color} Ant (OLE is using 1.7.1) Maven (OLE is using 2.2.1) Tomcat (OLE is currently running under Tomcat6 and has only been tested with Tomcat6) Oracle or MySQL Database. (OLE is using Oracle 11.2.0.2.v3 and MySQL 5.1.57) \\ The easiest means of installing the software is to have access to root or the ability to sudo root. \\ h2. *Oracle Requirements* Two empty schemas will be needed. One for the OLE/Rice/KFS installation and one for the OLE Docstore installation. Schema name, username, Password, Host Address, Port and SID are needed for installation configuration. The names can be of the sites choosing to meet local naming conventions. h2. *MySQL Requirements* Two empty databases will be needed. One for the OLE/Rice/KFS installation and one for the OLE Docstore installation. Database name, username, Password, Host Address and Port are needed for installation configuration. The names can be of the sites choosing to meet local naming conventions. h2. *Tomcat Requirements* The following JAVA_OPTS need to be added to the local configuration file for Tomcat. JAVA_OPTS="$JAVA_OPTS \-Xmx1024m \-Xms768m \-XX:MaxPermSize=256m \-XX:PermSize=256m \-XX:MaxNewSize=256m \-XX:NewSize=256m" JAVA_OPTS="$JAVA_OPTS \-XX:+UseParNewGC \-XX:+UseConcMarkSweepGC \-XX:SurvivorRatio=128 \-XX:MaxTenuringThreshold=0 \-XX:+UseTLAB" JAVA_OPTS="$JAVA_OPTS \-XX:+CMSClassUnloadingEnabled \-XX:+CMSPermGenSweepingEnabled" JAVA_OPTS="$JAVA_OPTS \-Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false \-Djava.awt.headless=true" JAVA_OPTS="$JAVA_OPTS \-Dcom.sun.jndi.ldap.read.timeout=60000 \-Dcom.sun.jndi.ldap.connect.pool.timeout=30000 \-Dcom.sun.jndi.ldap.connect.timeout=10000" JAVA_OPTS="$JAVA_OPTS \-Dnetworkaddress.cache.ttl=60 \-Doracle.net.CONNECT_TIMEOUT=10000 \-Djava.util.prefs.syncInterval=2000000" JAVA_OPTS="$JAVA_OPTS \-Duser.timezone=-05:00 \-Duser.language=en \-Duser.region=US" JAVA_OPTS="$JAVA_OPTS \-Dapp.environment=dist" JAVA_OPTS="$JAVA_OPTS \-Dhttp.url=localhost:8080" JAVA_OPTS="$JAVA_OPTS \-Dorg.apache.jackrabbit.repository.home=/opt/docstore \-Dorg.apache.jackrabbit.repository.conf=/opt/docstore/repository.xml" {anchor:OLE /Rice/KFS Server Installation} h1. *OLE Server Installation* h6. {color:#ff0000}{*}It is suggested the Tomcat server be down during the installation process{*}{color} h2. *Software Checkout* Checkout the software from the OLE SVN repository into a local working directory: \\ svn co {html}<A href="https://svn.kuali.org/repos/ole/branches/OLE-0.3/ole" mce_href="https://svn.kuali.org/repos/ole/branches/OLE-0.3/ole" target="_Blank">https://svn.kuali.org/repos/ole/branches/OLE-0.3/ole</A>{html} <local working directory> \\ This will checkout a copy of the current distribution onto your machine for local configuration. \\ h2. *Modification of impex-build.properties* Change to the home directory of the installation user (*cd ~*) and create an impex-build.properties file and add the following options(only options in <> need to be provided): h3. *For Oracle Installations:* import.torque.database.user=<schema/database username> import.torque.database.schema=<oracle schema name you created for OLE> import.torque.database.password=<password> \\ torque.project=ole torque.schema.dir=<local working directory>/ole-cfg-dbs/rice torque.output.dir=$\{torque.schema.dir\}/output torque.schema.dir.2=<local working directory>/ole-cfg-dbs/development torque.output.dir.2=$\{torque.schema.dir.2\}/output import.torque.database=oracle import.torque.database.driver = oracle.jdbc.OracleDriver import.torque.database.url = jdbc:oracle:thin:@<hostname>:<port>:<SID> \\ post.import.liquibase.project=ole post.import.liquibase.xml.directory=<local working directory>/work/db/rice-data \\ h3. *For MySQL Installation:* import.torque.database.user=<database username> import.torque.database.schema=<mysql db name you created for OLE> import.torque.database.password=<password> \\ torque.project=ole torque.schema.dir=<local working directory>/ole-cfg-dbs/rice torque.output.dir=$\{torque.schema.dir\}/ouput torque.schema.dir.2=<local working directory>/ole-cfg-dbs/development torque.output.dir.2=$\{torque.schema.dir.2\}/output import.torque.database=mysql import.torque.database.driver=com.mysql.jdbc.Driver import.torque.database.url=jdbc:mysql://<host address>:3306/<db name> \\ post.import.liquibase.project=ole post.import.liquibase.xml.directory=<local working directory>/work/db/rice-data \\ h2. *Run Impex Script* Change directory to <local working directory>/ole-cfg-dbs/db-impex/impex Run the Ant build: *ant import* This will run the impex script, creating the OLE/Rice/KFS schemas and initial importing of data. h2. *Modify dist-build.properties* Change directory to the local working directory and edit the dist-build.properties file. Modify the following entries (no <>).: user.home=<local working directory> i.e. user.home=/opt/ole-src appserver.url=<application server url> rice.url=http://<rice host url>/ole-<build environment> deploy.working.directory=<local working directory> build.environment=<name of environment i.e. dist or dev or test> \\ h3. *For Oracle* datasource.url=jdbc:oracle:thin:@jdbc:oracle:thin:@<hostname>:<port>:<SID> datasource.username=<db username> datasource.password=<db password> h3. *For MySQL* datasource.url= jdbc:mysql://<host address>:3306/<db name> \\ datasource.username=<db username> datasource.password=<db password> \\ h3. *For Oracle* rice.server.datasource.url=jdbc:oracle:thin:@jdbc:oracle:thin:@<hostname>:<port>:<SID> rice.server.datasource.username=<db username> rice.server.datasource.password=<db password> h3. *For MySQL* rice.server.datasource.url= jdbc:mysql://<host address>:3306/<db name> \\ rice.server.datasource.username=<db username> rice.server.datasource.password=<db password> h3. For both Oracle and MySQL ole.docstore.url=http://<docstore url>/ole-docsearch/ ole.docstoreapp.url=http://<docstore url>/oledocstore/document ole.bibeditor.url=http://<ole server url>/ole-demo/bibEditor ole.bibeditor.create.url=http://<ole server url>/ole-demo/bibEditor ole.docsearch.url=http://<docstore url>/ole-docsearch/bib/select ole.docsearch.app.url=http://<docstore url>/ole-docsearch/ *There will be other entries in the file that do not require local modification.* * * h2. *Build War File* From the local working directory, enter the following command: * * *ant \-propertyfile ./dist-build.properties clean-project dist dist-external* This will create the ole war file ole-<build.enviroment>.war in the local working directory. It will also create three configuration files: *skel.zip* * settings.zip* * security.zip* * * h2. *Zip Files* The three zipfiles need to be unpacked. Copy the following into a shell script and execute. The lines may need to be changed to meet local requirements, but will unpack the files into the location OLE is expecting to find the various configuration options*. INSTANCE must match the build.enviroment option in the dist-build.properties file.\* *INSTANCE=<build environment>* mkdir \-p /opt/sa_forms/java/$\{INSTANCE\}/ole mkdir \-p /opt/j2ee/$\{INSTANCE\}/ole mkdir \-p /opt/logs/$\{INSTANCE\}/ole mkdir \-p /opt/work/$\{INSTANCE\}/ole * * *\# changing the owner so that tomcat can read/write these directories* *chown \-R tomcat /opt/sa_forms* *chown \-R tomcat /opt/j2ee* *chown \-R tomcat /opt/logs* *chown \-R tomcat /opt/work* * * *\# Unpacking as tomcat for proper permissions* sudo \-u tomcat unzip \-o skel.zip \-d /opt/work/$\{INSTANCE\}/ole sudo \-u tomcat unzip \-o security.zip \-d /opt/sa_forms/java/$\{INSTANCE\}/ole sudo \-u tomcat unzip \-o settings.zip \-d /opt/j2ee/$\{INSTANCE\}/ole h2. *Copy war file* Copy the ole-<build.environment>.war to your local Tomcat webapps directory for deployment. h2. *Increase the Operating System Max Open Files * The OLE and document store servers both use a large number of files to manage network connections and the document store. On each OLE server, you should make the following change: (*NOTE:* This is for the flavor of Linux used by the OLE project, the exact commands may differ on your servers.) Edit {{/etc/security/limits.d/90-nproc.conf}}. Add the two "nofile" lines to set the default limit for number of user's processes to prevent accidental fork bombs. See RedHat Bugzilla entry #432903 for reasoning. {noformat:title=/etc/security/limits.d/90-nproc.conf} soft nproc 1024 soft nofile 8096 hard nofile 8096 {noformat} h2. {color:#000000}{*}Restart Tomcat{*}{color} Restart Tomcat and the OLE application should be available at http://<application url>:<port>/ole-<build environment>* * {anchor:Docstore/Docsearch server installation} \\ \\ h1. {color:#000000}{*}Docstore Server Installation{*}{color} h6. {color:#ff0000}It is suggested the Tomcat server be down during the installation process{color} h2. Software Checkout Three separate checkouts are necessary for the installation of the document store. svn co {html} <A href="https://svn.kuali.org/repos/ole/branches/OLE-0.3/ole-discovery/OLE-SOLR" mce_href="https://svn.kuali.org/repos/ole/branches/OLE-0.3/ole-discovery/OLE-SOLR" target="_Blank">https://svn.kuali.org/repos/ole/branches/OLE-0.3/ole-discovery/OLE-SOLR</A> {html} <local working directory> svn co {html} <A href="https://svn.kuali.org/repos/ole/branches/OLE-0.3/DocumentStore" mce_href="https://svn.kuali.org/repos/ole/branches/OLE-0.3/DocumentStore" target="_Blank">https://svn.kuali.org/repos/ole/branches/OLE-0.3/DocumentStore</A>{html} <local working directory> svn co {html}<A href="https://svn.kuali.org/repos/ole/branches/OLE-0.3/ole-discovery/OLE-DocSearch" mce_href="https://svn.kuali.org/repos/ole/branches/OLE-0.3/ole-discovery/OLE-DocSearch" target="_Blank">https://svn.kuali.org/repos/ole/branches/OLE-0.3/ole-discovery/OLE-DocSearch</A>{html} <local working directory> h2. Solr Installation Installation of Solr requires the copying of files from the local working directory for the Solr checkout to /opt/docstore/solr. To accomplish this do the following steps: # mkdir /opt/docstore # mkdir /opt/docstore/solr # cd <local working directory for OLE-SOLR checkout> # cp \-R ./ /opt/docstore/solr The directories for the Solr are now created and the requisite files copied. h2. Repository.xml Creation The document store depends on a repository.xml file for configuration. To create the repository.xml and copy the file to the appropriate directory do the following steps # cd <local working directory for DocumentStore checkout>/documentstore-webapp # Modify the repository-dist.properties file. The following entries need to be modified with the values from the schema created for the docstore. ## repository.datasource.url=jdbc:oracle:thin:@<Docstore Oracle Hostname>:<port>:<SID> ## repository.datasource.username=<username for schema created for the Docstore> ## repository.datasource.password=<password> # ant build-repo-config-dist # cp repository.xml /opt/docstore This is the location specified in the Tomcat JAVA_OPTS. h2. Build and Copy Docstore War File From the <local working directory for DocumentStore checkout> enter the command: *mvn \-Dmaven.test.skip=true package* This will create <local working directory DocumentStore checkout>/documentstore-webapp/target/documentstore-webapp.war copy this warfile to your Tomcat webapps directory h2. Build and Copy Docsearch War File From the <local working directory for OLE-docsearch checkout> enter the command: *ant war* This will create <local working directory for DocumentStore checkout>dist/ole-docsearch.war copy this warfile to your Tomcat webapps directory h2. Change Ownership of /opt/docstore Directory If the software was installed as root, the ownership of the /opt/docstore directory needs to be changed to be owned by the tomcat user. Example would be: *chown \-R tomcat:tomcat /opt/docstore* h2. Start Tomcat Server Start your local Tomcat server. During the initial start up process, the docstore application will create the necessary tables in the docstore schema. h2. |
Page Comparison
General
Content
Integrations