Difference between revisions of "MySQL - OpenKM 6.2"

From OpenKM Documentation
Jump to: navigation, search
Line 21: Line 21:
  
 
<source lang="sql">
 
<source lang="sql">
DROP DATABASE IF EXISTS okm_app;
+
DROP DATABASE IF EXISTS okmdb;
  
CREATE DATABASE okm_app DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;
+
CREATE DATABASE okmdb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;
  
 
CREATE USER openkm@localhost IDENTIFIED BY '*secret*';
 
CREATE USER openkm@localhost IDENTIFIED BY '*secret*';
GRANT ALL ON okm_app.* TO openkm@localhost WITH GRANT OPTION;
+
GRANT ALL ON okmdb.* TO openkm@localhost WITH GRANT OPTION;
 
</source>
 
</source>
  
Line 38: Line 38:
 
           maxActive="100" maxIdle="30" maxWait="10000" validationQuery="select 1"
 
           maxActive="100" maxIdle="30" maxWait="10000" validationQuery="select 1"
 
           username="openkm" password="*secret*" driverClassName="com.mysql.jdbc.Driver"
 
           username="openkm" password="*secret*" driverClassName="com.mysql.jdbc.Driver"
           url="jdbc:mysql://localhost:3306/okm_app?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF8"/>
+
           url="jdbc:mysql://localhost:3306/okmdb?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF8"/>
 
</source>
 
</source>
  

Revision as of 10:04, 10 November 2012

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, OpenKM will automatically change the hibernate.hbm2ddl property from create to none.


Nota advertencia.png This configuration property should be set before the database creation. Once the database has been initialized don't modify it because can damage your installation. If your OpenKM installation has been already configured with another database (default one is an embedded one called HSQL) you can't switch to another database simply changing this property.

More info about this at:

Database creation

Starting with OpenKM 6.0, only one database is needed:


Nota clasica.png VERIFY your default database engine is inodb, otherside set it. With mysql root user can execute show engines; to show default engine.

DROP DATABASE IF EXISTS okmdb;

CREATE DATABASE okmdb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_bin;

CREATE USER openkm@localhost IDENTIFIED BY '*secret*';
GRANT ALL ON okmdb.* TO openkm@localhost WITH GRANT OPTION;

More info at MySQL: Case Sensitivity in String Searches.

Tomcat datasources

$ vim $TOMCAT_HOME/conf/server.xml
<Resource name="jdbc/OpenKMDS" auth="Container" type="javax.sql.DataSource"
          maxActive="100" maxIdle="30" maxWait="10000" validationQuery="select 1"
          username="openkm" password="*secret*" driverClassName="com.mysql.jdbc.Driver"
          url="jdbc:mysql://localhost:3306/okmdb?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=UTF8"/>

Login configuration

$ vim $TOMCAT_HOME/OpenKM.xml
<security:authentication-manager alias="authenticationManager">
  <security:authentication-provider>
    <security:password-encoder hash="md5"/>
    <security:jdbc-user-service 
        data-source-ref="dataSource"
        users-by-username-query="select usr_id, usr_password, 1 from OKM_USER where usr_id=? and usr_active='T'"
        authorities-by-username-query="select ur_user, ur_role from OKM_USER_ROLE where ur_user=?"/>
  </security:authentication-provider>
</security:authentication-manager>