Difference between revisions of "MySQL - OpenKM 5.0"
From OpenKM Documentation
(→Repository configuration) |
(→Login configuration) |
||
Line 63: | Line 63: | ||
</application-policy> | </application-policy> | ||
</source> | </source> | ||
+ | |||
+ | == Repository configuration == | ||
+ | <source lang="xml"> | ||
+ | <?xml version="1.0"?> | ||
+ | <!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.6//EN" | ||
+ | "http://jackrabbit.apache.org/dtd/repository-1.6.dtd"> | ||
+ | <Repository> | ||
+ | <!-- virtual file system where the repository stores global state | ||
+ | (e.g. registered namespaces, custom node types, etc.) --> | ||
+ | <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> | ||
+ | <param name="path" value="${rep.home}/repository"/> | ||
+ | </FileSystem> | ||
+ | |||
+ | <!-- Security configuration --> | ||
+ | <Security appName="OpenKM"> | ||
+ | <!-- Access manager: FQN of class implementing the AccessManager interface --> | ||
+ | <AccessManager class="com.openkm.core.OKMAccessManager"/> | ||
+ | <!-- <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager"/> --> | ||
+ | <!-- <AccessManager class="org.apache.jackrabbit.core.security.DefaultAccessManager"> --> | ||
+ | <!-- <param name="config" value="${rep.home}/access.xml"/> --> | ||
+ | <!-- </AccessManager> --> | ||
+ | </Security> | ||
+ | |||
+ | <!-- Location of workspaces root directory and name of default workspace --> | ||
+ | <Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/> | ||
+ | |||
+ | <!-- Workspace configuration template: | ||
+ | used to create the initial workspace if there's no workspace yet --> | ||
+ | <Workspace name="${wsp.name}"> | ||
+ | <!-- Virtual file system of the workspace: | ||
+ | class: FQN of class implementing the FileSystem interface --> | ||
+ | <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> | ||
+ | <param name="path" value="${wsp.home}"/> | ||
+ | </FileSystem> | ||
+ | |||
+ | <!-- Persistence manager of the workspace: | ||
+ | class: FQN of class implementing the PersistenceManager interface --> | ||
+ | <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager"> | ||
+ | <param name="driver" value="com.mysql.jdbc.Driver"/> | ||
+ | <param name="url" value="jdbc:mysql://localhost:3306/okm_repo?autoReconnect=true"/> | ||
+ | <param name="schema" value="mysql"/> | ||
+ | <param name="user" value="openkm"/> | ||
+ | <param name="password" value="*****"/> | ||
+ | <param name="schemaObjectPrefix" value="${wsp.name}_"/> | ||
+ | <param name="externalBLOBs" value="false"/> | ||
+ | </PersistenceManager> | ||
+ | |||
+ | <!-- Search index and the file system it uses. | ||
+ | class: FQN of class implementing the QueryHandler interface --> | ||
+ | <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> | ||
+ | <param name="path" value="${wsp.home}/index"/> | ||
+ | <param name="textFilterClasses" value=" | ||
+ | org.apache.jackrabbit.extractor.PlainTextExtractor, | ||
+ | org.apache.jackrabbit.extractor.MsWordTextExtractor, | ||
+ | org.apache.jackrabbit.extractor.MsExcelTextExtractor, | ||
+ | org.apache.jackrabbit.extractor.MsPowerPointTextExtractor, | ||
+ | org.apache.jackrabbit.extractor.OpenOfficeTextExtractor, | ||
+ | org.apache.jackrabbit.extractor.RTFTextExtractor, | ||
+ | org.apache.jackrabbit.extractor.HTMLTextExtractor, | ||
+ | org.apache.jackrabbit.extractor.XMLTextExtractor, | ||
+ | org.apache.jackrabbit.extractor.PngTextExtractor, | ||
+ | org.apache.jackrabbit.extractor.MsOutlookTextExtractor, | ||
+ | com.openkm.extractor.PdfTextExtractor, | ||
+ | com.openkm.extractor.AudioTextExtractor, | ||
+ | com.openkm.extractor.ExifTextExtractor, | ||
+ | com.openkm.extractor.TiffTextExtractor, | ||
+ | com.openkm.extractor.SourceCodeTextExtractor, | ||
+ | com.openkm.extractor.MsOffice2007TextExtractor"/> | ||
+ | <param name="extractorPoolSize" value="2"/> | ||
+ | <param name="supportHighlighting" value="false"/> | ||
+ | <param name="indexingConfiguration" value="${wsp.home}/../../../indexing_configuration.xml"/> | ||
+ | </SearchIndex> | ||
+ | </Workspace> | ||
+ | |||
+ | <!-- Configures the versioning --> | ||
+ | <Versioning rootPath="${rep.home}/version"> | ||
+ | <!-- Configures the filesystem to use for versioning for the respective | ||
+ | persistence manager --> | ||
+ | <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem"> | ||
+ | <param name="path" value="${rep.home}/version" /> | ||
+ | </FileSystem> | ||
+ | |||
+ | <!-- Configures the persistence manager to be used for persisting version state. | ||
+ | Please note that the current versioning implementation is based on | ||
+ | a 'normal' persistence manager, but this could change in future | ||
+ | implementations. --> | ||
+ | <PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager"> | ||
+ | <param name="driver" value="com.mysql.jdbc.Driver"/> | ||
+ | <param name="url" value="jdbc:mysql://localhost:3306/okm_repo?autoReconnect=true"/> | ||
+ | <param name="schema" value="mysql"/> | ||
+ | <param name="user" value="openkm"/> | ||
+ | <param name="password" value="*****"/> | ||
+ | <param name="schemaObjectPrefix" value="version_"/> | ||
+ | <param name="externalBLOBs" value="false"/> | ||
+ | </PersistenceManager> | ||
+ | </Versioning> | ||
+ | |||
+ | <!-- Search index for content that is shared repository wide | ||
+ | (/jcr:system tree, contains mainly versions) --> | ||
+ | <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex"> | ||
+ | <param name="path" value="${rep.home}/repository/index"/> | ||
+ | <param name="textFilterClasses" value=""/> | ||
+ | <param name="extractorPoolSize" value="2"/> | ||
+ | <param name="supportHighlighting" value="false"/> | ||
+ | </SearchIndex> | ||
+ | |||
+ | <!-- DataStore improve file handling performance --> | ||
+ | <DataStore class="org.apache.jackrabbit.core.data.FileDataStore"> | ||
+ | <param name="path" value="${rep.home}/repository/datastore"/> | ||
+ | <param name="minRecordLength" value="100"/> | ||
+ | </DataStore> | ||
+ | </Repository> | ||
+ | </source> | ||
+ | |||
+ | More info about this at [http://jackrabbit.apache.org/jackrabbit-configuration.html Jackrabbit Configuration]. | ||
[[Category: Installation Guide]] | [[Category: Installation Guide]] | ||
[[Category: OKM Network]] | [[Category: OKM Network]] |
Revision as of 14:47, 16 September 2010
In this OpenKM release you can create the databases automatically configuring the hibernate.dialect and hibernate.hbm2ddl properties in OpenKM.cfg.
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.hbm2ddl=create
Once the tables are created, change the hibernate.hbm2ddl property from create to none.
More info about this at:
Database creation
Starting with OpenKM 5.0, only two databases are needed:
DROP DATABASE IF EXISTS okm_repo;
DROP DATABASE IF EXISTS okm_app;
CREATE DATABASE okm_repo DEFAULT CHARACTER SET utf8;
CREATE DATABASE okm_app DEFAULT CHARACTER SET utf8;
CREATE USER openkm@localhost IDENTIFIED BY '*secret*';
GRANT ALL ON okm_app.* TO openkm@localhost WITH GRANT OPTION;
JBoss datasources
<local-tx-datasource>
<jndi-name>OpenKMDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/okm_app?autoReconnect=true</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>openkm</user-name>
<password>*****</password>
<min-pool-size>5</min-pool-size>
<max-pool-size>20</max-pool-size>
<idle-timeout-minutes>28680</idle-timeout-minutes>
<exception-sorter-class-name>com.mysql.jdbc.integration.jboss.ExtendedMysqlExceptionSorter</exception-sorter-class-name>
<valid-connection-checker-class-name>com.mysql.jdbc.integration.jboss.MysqlValidConnectionChecker</valid-connection-checker-class-name>
<metadata>
<type-mapping>MySQL</type-mapping>
</metadata>
</local-tx-datasource>
Login configuration
<!-- OpenKM -->
<application-policy name = "OpenKM">
<authentication>
<login-module code="org.jboss.security.auth.spi.DatabaseServerLoginModule" flag = "required">
<module-option name="dsJndiName">java:/OpenKMDS</module-option>
<module-option name="principalsQuery">select usr_password as PASSWD from OKM_USER where usr_id=? and usr_active=true</module-option>
<module-option name="rolesQuery">select ur_role as ROLEID, 'Roles' from OKM_USER_ROLE where ur_user=?</module-option>
<module-option name="hashAlgorithm">md5</module-option>
<module-option name="hashEncoding">hex</module-option>
</login-module>
</authentication>
</application-policy>
Repository configuration
<?xml version="1.0"?>
<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.6//EN"
"http://jackrabbit.apache.org/dtd/repository-1.6.dtd">
<Repository>
<!-- virtual file system where the repository stores global state
(e.g. registered namespaces, custom node types, etc.) -->
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
<param name="path" value="${rep.home}/repository"/>
</FileSystem>
<!-- Security configuration -->
<Security appName="OpenKM">
<!-- Access manager: FQN of class implementing the AccessManager interface -->
<AccessManager class="com.openkm.core.OKMAccessManager"/>
<!-- <AccessManager class="org.apache.jackrabbit.core.security.SimpleAccessManager"/> -->
<!-- <AccessManager class="org.apache.jackrabbit.core.security.DefaultAccessManager"> -->
<!-- <param name="config" value="${rep.home}/access.xml"/> -->
<!-- </AccessManager> -->
</Security>
<!-- Location of workspaces root directory and name of default workspace -->
<Workspaces rootPath="${rep.home}/workspaces" defaultWorkspace="default"/>
<!-- Workspace configuration template:
used to create the initial workspace if there's no workspace yet -->
<Workspace name="${wsp.name}">
<!-- Virtual file system of the workspace:
class: FQN of class implementing the FileSystem interface -->
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
<param name="path" value="${wsp.home}"/>
</FileSystem>
<!-- Persistence manager of the workspace:
class: FQN of class implementing the PersistenceManager interface -->
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://localhost:3306/okm_repo?autoReconnect=true"/>
<param name="schema" value="mysql"/>
<param name="user" value="openkm"/>
<param name="password" value="*****"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
<param name="externalBLOBs" value="false"/>
</PersistenceManager>
<!-- Search index and the file system it uses.
class: FQN of class implementing the QueryHandler interface -->
<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${wsp.home}/index"/>
<param name="textFilterClasses" value="
org.apache.jackrabbit.extractor.PlainTextExtractor,
org.apache.jackrabbit.extractor.MsWordTextExtractor,
org.apache.jackrabbit.extractor.MsExcelTextExtractor,
org.apache.jackrabbit.extractor.MsPowerPointTextExtractor,
org.apache.jackrabbit.extractor.OpenOfficeTextExtractor,
org.apache.jackrabbit.extractor.RTFTextExtractor,
org.apache.jackrabbit.extractor.HTMLTextExtractor,
org.apache.jackrabbit.extractor.XMLTextExtractor,
org.apache.jackrabbit.extractor.PngTextExtractor,
org.apache.jackrabbit.extractor.MsOutlookTextExtractor,
com.openkm.extractor.PdfTextExtractor,
com.openkm.extractor.AudioTextExtractor,
com.openkm.extractor.ExifTextExtractor,
com.openkm.extractor.TiffTextExtractor,
com.openkm.extractor.SourceCodeTextExtractor,
com.openkm.extractor.MsOffice2007TextExtractor"/>
<param name="extractorPoolSize" value="2"/>
<param name="supportHighlighting" value="false"/>
<param name="indexingConfiguration" value="${wsp.home}/../../../indexing_configuration.xml"/>
</SearchIndex>
</Workspace>
<!-- Configures the versioning -->
<Versioning rootPath="${rep.home}/version">
<!-- Configures the filesystem to use for versioning for the respective
persistence manager -->
<FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
<param name="path" value="${rep.home}/version" />
</FileSystem>
<!-- Configures the persistence manager to be used for persisting version state.
Please note that the current versioning implementation is based on
a 'normal' persistence manager, but this could change in future
implementations. -->
<PersistenceManager class="org.apache.jackrabbit.core.persistence.bundle.MySqlPersistenceManager">
<param name="driver" value="com.mysql.jdbc.Driver"/>
<param name="url" value="jdbc:mysql://localhost:3306/okm_repo?autoReconnect=true"/>
<param name="schema" value="mysql"/>
<param name="user" value="openkm"/>
<param name="password" value="*****"/>
<param name="schemaObjectPrefix" value="version_"/>
<param name="externalBLOBs" value="false"/>
</PersistenceManager>
</Versioning>
<!-- Search index for content that is shared repository wide
(/jcr:system tree, contains mainly versions) -->
<SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
<param name="path" value="${rep.home}/repository/index"/>
<param name="textFilterClasses" value=""/>
<param name="extractorPoolSize" value="2"/>
<param name="supportHighlighting" value="false"/>
</SearchIndex>
<!-- DataStore improve file handling performance -->
<DataStore class="org.apache.jackrabbit.core.data.FileDataStore">
<param name="path" value="${rep.home}/repository/datastore"/>
<param name="minRecordLength" value="100"/>
</DataStore>
</Repository>
More info about this at Jackrabbit Configuration.