Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Apache Fortress 1.0.1 and ApacheDS Quickstart System Architecture
Minimum hardware requirements:
Minimum software requirements:
Everything else covered in steps that follow. Tested on Debian & Centos systems.
a. For 32-bit (as sudo or root):
wget http://www.trieuvan.com/apache//directory/apacheds/dist/2.0.0-M21/apacheds-2.0.0-M21-32bit.bin chmod a+x *.bin ./apacheds-2.0.0-M21-32bit.bin
b. For 64-bit (as sudo or root):
wget http://www.trieuvan.com/apache//directory/apacheds/dist/2.0.0-M21/apacheds-2.0.0-M21-64bit.bin chmod a+x *.bin ./apacheds-2.0.0-M21-64bit.bin
Accept the defaults.
If you have trouble pulling you can get binaries here: Apache Directory Downloads Page.
Edit ApacheDS conf file
sudo vi /opt/apacheds-2.0.0-M21/conf/wrapper.conf
wrapper.java.command=/usr/bin/java
contains fully qualified location of target machine's java.
Save and exit.
After installation start the directory server process. From system command prompt (as sudo or root):
/etc/init.d/apacheds-2.0.0-M21-default start
/etc/init.d/apacheds-2.0.0-M21-default status ApacheDS - default is running (70041).
a. from git:
git clone --branch 1.0.1 https://git-wip-us.apache.org/repos/asf/directory-fortress-core.git cd directory-fortress-core
b. or download package:
wget http://www.apache.org/dist/directory/fortress/dist/1.0.1/fortress-core-1.0.1-source-release.zip unzip fortress-core-1.0.1-source-release.zip cd fortress-core-1.0.1
cp build.properties.example build.properties
build.properties.example contains the apacheds default config. Learn more about the config here: README-CONFIG
export JAVA_HOME=... export M2_HOME=... export PATH=$PATH:$M2_HOME/bin
mvn install
There are many ways to import an ldif file into an LDAP server like ApacheDS. For example an LDAP browser like Apache Directory Studio can be used. This guide shows how to use the OpenLDAP client.
a. Test to see if it is already installed. From the command prompt enter:
ldapmodify
b. If the command was not found we need to install the OpenLDAP client:
i. For Redhat / Centos based systems:
yum install -y openldap-clients
ii. Else for Debian based systems:
sudo apt-get install ldap-utils
Load the fortress schema to ApacheDS instance using ldapmodify command.
ldapmodify -h localhost -p 10389 -D uid=admin,ou=system -w secret -a -f ./ldap/schema/apacheds-fortress.ldif
mvn install -Dload.file=./ldap/setup/refreshLDAPData.xml mvn install -Dload.file=./ldap/setup/DelegatedAdminManagerLoad.xml
These will build the Directory Information Tree (DIT), create the config and data policies needed for the integration test to follow.
mvn -Dtest=FortressJUnitTest test
Tests the APIs against your LDAP server.
Tests run: 83, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 372.708 sec - in org.apache.directory.fortress.core.impl.FortressJUnitTest Results : Tests run: 83, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] --- maven-antrun-plugin:1.8:run (default) @ fortress-core --- [INFO] Executing tasks fortress-load: [INFO] Executed tasks [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 6:21.897s [INFO] Finished at: Sun Mar 27 14:52:13 UTC 2016 [INFO] Final Memory: 31M/356M
mvn -Dtest=FortressJUnitTest test
Tests run: 109, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 778.501 sec - in org.apache.directory.fortress.core.impl.FortressJUnitTest Results : Tests run: 109, Failures: 0, Errors: 0, Skipped: 0 [INFO] [INFO] --- maven-antrun-plugin:1.8:run (default) @ fortress-core --- [INFO] Executing tasks fortress-load: [INFO] Executed tasks [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 13:08.304s [INFO] Finished at: Sun Mar 27 15:08:41 UTC 2016 [INFO] Final Memory: 27M/357M [INFO] ------------------------------------------------------------------------
Notice 109 tests ran this time vs 83 the first time.
Test Notes:
During this section, you will be asked to setup Apache Tomcat 8 and prepare for usage with Apache Fortress
wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.30/bin/apache-tomcat-8.0.30.tar.gz tar -xvf apache-tomcat-8.0.30.tar.gz sudo mv apache-tomcat-8.0.30 /usr/local/tomcat8
Change the tomcat version as neeeded - v7 and beyond are ok.
sudo wget http://repo.maven.apache.org/maven2/org/apache/directory/fortress/fortress-realm-proxy/1.0.1/fortress-realm-proxy-1.0.1.jar -P /usr/local/tomcat8/lib
sudo vi /usr/local/tomcat8/conf/tomcat-users.xml
<role rolename="manager-script"/> <role rolename="manager-gui"/> <user username="tcmanager" password="m@nager123" roles="manager-script"/> <user username="tcmanagergui" password="m@nager123" roles="manager-gui"/>
Save and exit tomcat-users.xml file
Configure Tomcat as a service (optional)
a. Edit the config file:
vi /etc/init.d/tomcat
b. Add the following:
#!/bin/bash # description: Tomcat Start Stop Restart # processname: tomcat # chkconfig: 234 20 80 CATALINA_HOME=/usr/local/tomcat8 case $1 in start) sh $CATALINA_HOME/bin/startup.sh ;; stop) sh $CATALINA_HOME/bin/shutdown.sh ;; restart) sh $CATALINA_HOME/bin/shutdown.sh sh $CATALINA_HOME/bin/startup.sh ;; esac exit 0
c. Add the init script to startup for run level 2, 3 and 4:
cd /etc/init.d chmod 755 tomcat chkconfig --add tomcat chkconfig --level 234 tomcat on
a. If running Tomcat as a service:
service tomcat start
b. Else
sudo /usr/local/tomcat8/bin/startup.sh
tail -f -n10000 /usr/local/tomcat8/logs/catalina.out
http://hostname:8080/manager
During this section, you will be asked to setup Apache Fortress Rest Application
a. from git:
git clone --branch 1.0.1 https://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse.git cd directory-fortress-enmasse
b. or download package:
wget http://www.apache.org/dist/directory/fortress/dist/1.0.1/fortress-rest-1.0.1-source-release.zip unzip fortress-rest-1.0.1-source-release.zip cd fortress-rest-1.0.1
cp ../[FORTRESS-CORE-HOME]/config/fortress.properties src/main/resources
where FORTRESS-CORE-HOME is package location on your machine
mvn clean install -Dload.file=./src/main/resources/FortressRestServerPolicy.xml tomcat:deploy
mvn tomcat:redeploy
mvn test -Dtest=EmTest
During this section, you will be asked to setup Apache Fortress Web Application
a. from git:
git clone --branch 1.0.1 https://git-wip-us.apache.org/repos/asf/directory-fortress-commander.git cd directory-fortress-commander
b. or download package:
wget http://www.apache.org/dist/directory/fortress/dist/1.0.1/fortress-web-1.0.1-source-release.zip unzip fortress-web-1.0.1-source-release.zip cd fortress-web-1.0.1
cp ../[FORTRESS-CORE-HOME]/config/fortress.properties src/main/resources
where FORTRESS-CORE-HOME is package location on your machine
mvn clean install -Dload.file=./src/main/resources/FortressWebDemoUsers.xml tomcat:deploy
mvn tomcat:redeploy
http://hostname:8080/fortress-web
Click on the links, to pull up various views on the data stored in the directory.
Run the selenium automated test:
mvn test -Dtest=FortressWebSeleniumITCase
Requires Firefox on target machine.