Hi, It turned out that adding support for MySQL (MariaDB) was more work than just changing the Hibernate dialect. We had to make sure that the required changes did not require existing users to update the database. Modifying all the unit tests to support different databases was also quite a bit of work. That said, now we have it working for MySQL, in principle adding support for other database (if ever) is now relative easy.
We have uploaded an RPM which does not depend on Postgres and contains the required configuration files for MySQL. The RPMs can be downloaded from Backend; http://www.ciphermail.com/downloads/other/djigzo-2.10.3-0.noarch-no-database.rpm Web GUI: http://www.ciphermail.com/downloads/other/djigzo-web-2.10.3-0.noarch.rpm Instructions: 1. Install RPMs Install the RPMs using the quick install guide (https://www.ciphermail.com/documents/quick-install-guide.txt) Note: skip the parts about postgres 2. Install and configure MySQL (MariaDB) Install MySQL yum -y install mariadb-server mariadb systemctl start mariadb systemctl enable mariadb max_allowed_packet should be set to a high value (in mysql config) $ vi /etc/my.cnf.d/server.cnf Add the following line below [server] max_allowed_packet = 128M Note: the max size depends on the largest email, CRL you want to support. systemctl restart mariadb 3. Create database user and database mysql -u root CREATE USER 'djigzo'@'localhost' IDENTIFIED BY 'djigzo'; CREATE DATABASE djigzo CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL ON djigzo.* TO 'djigzo'@'localhost'; Note 1: The database should be set to UTF8 Note 2: ALL permission should probably be changed to a lower privilege but we did not yet check what the minimal required privileges are. 4. Import database scheme $ mysql -u djigzo --password=djigzo djigzo < /usr/share/djigzo/conf/database/sql/djigzo.mysql.sql 5. Tell CipherMail to use MySQL $ vi /usr/share/djigzo/wrapper/djigzo.wrapper.conf Uncomment the line: wrapper.java.additional.15=-Dciphermail.hibernate.database.type=mysql 6. Restart /etc/init.d/djigzo restart Because if licensing issues, we use the JDBC driver from MariaDB (https://downloads.mariadb.org/connector-java/). If you insist on using the driver from MySQL, you need to remove the MariaDB jdbc driver, add the MySQL JDBC driver and configure the hibernate config file to use the MySQL driver. The RPM is probably not final so it might change. We are thinking of splitting up the packages (RPM, deb) into a back-end package which does not automatically configure Postgres and a database specific back-end package which depends on the main back-end package. Let me know how it goes. Kind regards, Martijn Brinkers On 06/30/2015 09:37 AM, [email protected] wrote: > Griasde Martijn! > > Quoting "Martijn Brinkers" [email protected]: > >> Interesting. Why is Postgres not allowed? > > It's a political decision - we can use following prioroties ans databeses: > > 1st Oracle 12 > 2nd MariaDB > >> Anyway, perhaps it's not of legal reasons but some technical reason. > > FULLACK > >> That said, Maria DB is not directly supported but you can see whether >> you can make it work with Maria DB. > > That's a very good idea If you can tell me technical details about > changing the backend database, I'll do it,, test it and give feedback to > you! > >> The database layer uses Hibernate (which is an ORM library). > > My colleague Klaus, my database specialist, assumed, that your are using > Hibernate. > >> This however has never tested but it you are willing to spend some >> time testing it, I can assist you. > > Oh yes, I'll make this tests! So please tell me, what I should do! > > Thanks for help!!! > > > Best regards > Django > -- CipherMail email encryption Open source email encryption gateway with support for S/MIME, OpenPGP and PDF messaging. https://www.ciphermail.com Twitter: http://twitter.com/CipherMail _______________________________________________ Users mailing list [email protected] https://lists.djigzo.com/lists/listinfo/users
