Run Syncope in real environmentsPage edited by Denis Signoretto
Comment:
Added links for Oracle orm.xml for 1.0.X and latest version.
Changes (3)
Full ContentIntroductionOnce you have created your project, you can start adapting it to your own needs and requirements. Deployment directoryCurrently, Syncope needs two base directories to be defined:
For example, you can create directories as follows: $ mkdir /opt/syncope $ mkdir /opt/syncope/bundles $ mkdir /opt/syncope/log
rename it to orm.xml and copy it under the directory created above Microsoft SQL Server
jpa.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
jpa.url="" class="code-comment">//localhost:1344;database=syncope;selectMethod=cursor;sendStringParametersAsUnicode=false
jpa.username=syncope
jpa.password=syncope
jpa.dialect=org.apache.openjpa.jdbc.sql.SQLServerDictionary
quartz.jobstore=org.quartz.impl.jdbcjobstore.MSSQLDelegate
quartz.sql=tables_sqlserver.sql
logback.sql=sqlserver.sql
This assumes that you have an SQL Server instance running on localhost, listening on its default port 1344 with a database syncope fully accessible by user syncope with password syncope You will also need to
JEE containerApache Tomcat 7This assumes that you have got Apache Tomcat 7 installed in directory $CATALINA_HOME. Set EnvironmentGNU / Linux - Mac OS XCreate $CATALINA_HOME/bin/setenv.sh with content (keep everything on a single line). JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server \
-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m \
-XX:MaxPermSize=256m -XX:+DisableExplicitGC"
WindowsCreate %CATALINA_HOME%\bin\setenv.bat with content (keep everything on a single line). set JAVA_OPTS=-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server
-Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m
-XX:MaxPermSize=256m -XX:+DisableExplicitGC
context.xmlUncomment <Manager pathname="" /> in $CATALINA_HOME/conf/context.xml. Optionally, define a datasource for internal storage (following example is for MySQL): please check that the connection parameters are same as configured above. <Resource name="jdbc/syncopeDataSource" auth="Container" type="javax.sql.DataSource" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" testWhileIdle="true" testOnBorrow="true" testOnReturn="true" validationQuery="SELECT 1" validationInterval="30000" maxActive="100" minIdle="2" maxWait="10000" initialSize="2" removeAbandonedTimeout="20000" removeAbandoned="true" logAbandoned="true" suspectTimeout="20000" timeBetweenEvictionRunsMillis="5000" minEvictableIdleTimeMillis="5000" jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer" username="syncope" password="syncope" driverClassName="com.mysql.jdbc.Driver" url="" class="code-quote">"jdbc:mysql://localhost:3306/syncope?characterEncoding=UTF-8"/> Be sure to put the JDBC driver JAR file under $CATALINA_HOME/lib for the Datasource you have defined above. Glassfish 3.1Update core glassfish-web.xmlWhen using a datasource for internal storage, be sure to add <resource-ref> <res-ref-name>jdbc/syncopeDataSource</res-ref-name> <jndi-name>jdbc/syncopeDataSource</jndi-name> </resource-ref> assuming that your Glassfish instance provides a datasource named jdbc/syncopeDataSource. right after </context-root>> in core/src/main/webapp/WEB-INF/glassfish-web.xml. JBoss AS 7.1Use JBossPersistenceMappingFactoryUntil issue OPENJPA-2229 gets fixed and reaches Apache OpenJPA mainstream, a temporary fix is needed. Download this file, copy it under core/src/main/resources/ and replace <entry key="openjpa.MetaDataFactory" value="org.apache.syncope.core.persistence.openjpa.JBossPersistenceMappingFactory(URLs=vfs:${project.build.directory}/cargo/configurations/jboss71x/deployments/${project.build.finalName}.war/WEB-INF/classes/, Resources=META-INF/orm.xml)"/> with <entry key="openjpa.MetaDataFactory" value="org.apache.syncope.core.persistence.openjpa.JBossPersistenceMappingFactory(URLs=vfs:/content/${project.build.finalName}.war/WEBINF/classes/, Resources=META-INF/orm.xml)"/> Use DataSourceWhen using a DataSource, a few additional adjustments are needed. core web.xmlChange <resource-ref> <res-ref-name>jdbc/syncopeDataSource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> </resource-ref> to <resource-ref> <res-ref-name>jdbc/syncopeDataSource</res-ref-name> <res-type>javax.sql.DataSource</res-type> <res-auth>Container</res-auth> <lookup-name>java:/syncopeDataSource</lookup-name> </resource-ref> assuming that you have defined a DataSource with JNDI name 'java:/syncopeDataSource' in JBoss configuration. core jboss-deployment-structureAdd <module name="com.mysql"/>
right before </dependencies> assuming that 'com.mysql' is the name of the JBoss module you have deployed for your JDBC Driver (MySQL in this case). Oracle WebLogic 12Update core web.xmlChange classpath*:/*Context.xml to /WEB-INF/classes/*Context.xml at the beginning of core/src/main/webapp/WEB-INF/web.xml. Update core weblogic.xmlWhen using a datasource for internal storage, be sure to add <resource-description> <jndi-name>syncopeDataSource</jndi-name> <res-ref-name>jdbc/syncopeDataSource</res-ref-name> </resource-description> assuming that your WebLogic instance provides a datasource named syncopeDataSource. before </weblogic-web-app> in core/src/main/webapp/WEB-INF/weblogic.xml. Other setup tasksUse datasourceSyncope, when not finding a datasource called jdbc/syncopeDataSource, will connect to internal storage by instantiating a new connection upon request: this is of course strongly discouraged for any production environment. When using a container-managed datasource, be sure to uncomment the <resource-ref ... /> element in core/src/main/webapp/WEB-INF/web.xml. Connect console to coreModify console/src/main/resources/configuration.properties so that provided properties reflects the scheme, hostname and port number where your JEE container is running and the URL context where Syncope core will be deployed. For example, when running your JEE container on port 9080, you should have
scheme=http
host=localhost
port=9080
path=/syncope/rest/
Disable console debugOnce you are ready to deploy, you might would like to get rid of Wicket debug features provided by the console. Just change development to deployment at the beginning of console/src/main/webapp/WEB-INF/web.xml. Build and deployAssuming that you have created the two deployment directories defined above, just run
mvn clean package -Dbundles.directory=/opt/syncope/bundles -Dlog.directory=/opt/syncope/log
At this point you can deploy core/target/syncope.war and console/target/syncope-console.war to your JEE container. Test your installation
Change Notification Preferences
View Online
|
View Changes
|
Add Comment
|
- [CONF] Apache Syncope > Run Syncope in real environments confluence
- [CONF] Apache Syncope > Run Syncope in real environment... confluence
- [CONF] Apache Syncope > Run Syncope in real environment... confluence
- [CONF] Apache Syncope > Run Syncope in real environment... confluence
- [CONF] Apache Syncope > Run Syncope in real environment... confluence
- [CONF] Apache Syncope > Run Syncope in real environment... confluence
- [CONF] Apache Syncope > Run Syncope in real environment... confluence
- [CONF] Apache Syncope > Run Syncope in real environment... confluence
- [CONF] Apache Syncope > Run Syncope in real environment... confluence
- [CONF] Apache Syncope > Run Syncope in real environment... confluence
- [CONF] Apache Syncope > Run Syncope in real environment... confluence
- [CONF] Apache Syncope > Run Syncope in real environment... confluence
- [CONF] Apache Syncope > Run Syncope in real environment... confluence
- [CONF] Apache Syncope > Run Syncope in real environment... confluence
- [CONF] Apache Syncope > Run Syncope in real environment... confluence
- [CONF] Apache Syncope > Run Syncope in real environment... confluence