I just wanted to share some observations that I noticed with the latest version, and possibly help out anyone else who is looking to do an upgrade or a new installation. One of our internal production servers was due for an update, and I wanted to share the notes of that experience in the case that it might help someone out. (This, of course, applies to version 1.9.1 and may not apply to 2.0 when it is released, given the amount of changes that are expected.)
Background information (pre-upgrade):
- Hosted on Windows Server 2008 R2
- Running an older version of Razuna (version 1.6.5)
- Running an older install of Java (version 7) and Apache Tomcat (7.0.55)
- Using a local Microsoft SQL Server 2012 for its database
- No web server front-end (Razuna served entirely by Tomcat)
Changes that I wanted to make:
- Upgrade to Razuna 1.9.1
- Install the Razuna Search Server
- Upgrade to latest Java and Apache Tomcat
- Move the database to a dedicated Linux server (running MariaDB)
- Install a web server (Apache or NGINX) and set up a “friendly” URL
Current production server had been running dutifully for several years and was (over)due for an update. Since I am a DIY kind of system administrator, I prefer to do a manual installation. I would not use the stand-alone server package, but I would manually install Apache httpd and Tomcat, and then use the files from GitHub to install Razuna and Search Server. As recommended in the Wiki, I performed the upgrade by following the instructions here: http://wiki.razuna.com/display/ecp/Upgrade+Guide …
Here is a summary of the process as I performed it:
Made a backup of the current server and database.
Shut down the old Tomcat server and disabled its Windows service.
Uninstalled the old Java 7 JDK and JRE.
Downloaded latest Java, version 8 update 144, and installed it.
Updated the JAVA_HOME and JRE_HOME environment variables.
Decided to use latest 8.x release of Apache Tomcat (chose version 8.5.20).
Downloaded the Windows Service Installer and set it up, enabling Service Startup and Native options.
Updated the CATALINA_HOME environment variable.
Modified the context.xml in \manager\META-INF\ to allow access to Tomcat manager. (optional)
Modified the Initial/Maximum memory pool and thread stack size settings in Tomcat configuration.
Shut down the service once I was satisfied with set-up.
Set up a new database and user on our dedicated MariaDB 10.1 database server for Razuna’s use.
(Backups are handled daily by AutoMySQLBackup.)
Now at this point, I set out to acquire latest version of Razuna and Search Server and a couple of issues that I discovered immediately were,
- There is a reference to Razuna version 1.9.2 in the Release Notes, which I was unable to find (even in the GitHub repository).
- The download for Razuna 1.9.1 Stand-alone Server on the Razuna.org download page actually contains Razuna version 1.9, not 1.9.1. I extracted the \webapps\razuna files from the stand-alone .zip and compared them against 1.9.1 from GitHub, and found differences between the files - even the \razuna\global\config\config.cfm file listed the version as 1.9.
I wanted to ensure that I had the latest version of Razuna (1.9.1), so I downloaded the latest release directly from GitHub: https://github.com/razuna/razuna/archive/Razuna-1.9.1.zip
I also wanted the ensure that I had the latest version of Search Server (2.4), so I downloaded the latest release directly from GitHub: https://github.com/razuna/razuna-searchserver/archive/razuna-searchserver-v2.4.zip
Extracted both into \Apache-Tomcat-8.5.20\webapps
Copied the H2 database backups into \webapps\razuna\admin\backup.
(This is also the point where you will want to copy over your assets and customized raz1/raz2/etc folders, if necessary. Not mentioned in the Wiki anywhere, you may also want to copy the files at \webapps\razuna\global\host, where you will find your custom favicon, login image, logo image, and watermarks.)
Started the Tomcat service and refilled my coffee while I waited for everything to boot-up.
At this point, I will browse to the website and initiate the set-up wizard. It’s pretty straightforward until I am waiting on the database restore, at which point I see messages like:
Error on table "raz1_metaform"!
Database reported: Table 'razuna.raz1_metaform' doesn't exist
Error on table "raz1_workflow"!
Database reported: Table 'razuna.raz1_workflow' doesn't exist
Error during import on table raz1_metaform!
Database reported: Table 'razuna.raz1_metaform' doesn't exist
INSERT INTO raz1_metaform (HOST_ID, MF_CF, MF_ORDER, MF_TYPE, MF_VALUE) VALUES( ? , '' , ? , ? , ? )
(Every time I have performed a database restore using the Wizard, I am constantly butting heads with the plugins. We use the Metaform plugin on our Razuna server in order to capture critical information on every upload, it’s quite important. Because the restore process ignores? the plugins, I am forced to recreate the meta forms after every upgrade, and that’s after the task of having to deactivate and then reactivate the plugins to trick Razuna into realizing they are there. There’s no instruction in the Wiki on how to properly transfer plugins in an upgrade, so I’m having to guess at this stage.)
Despite the errors, the restore does end successfully and the Razuna install is ready. I should mention that this opportunity gave us the chance to switch the database usage from a local Microsoft SQL Server install to MariaDB (MySQL). We have a dedicated Linux server hosting MariaDB 10.1 and the new database restore went perfectly fine. (The bonus being that now I can uninstall SQL Server 2012 from the Razuna server and reallocate that memory to Java and Tomcat.)
- Upgrade host settings and reset the cache.[Link]
At this point I begin performing the remaining customizations to the server, including:
- Moving the assets folder to a dedicated partition on the SAN. [Link]
- Setting up the Razuna DAM as its own web root. [Link]
- Installed the Search Server [Link]
I should note that I am running the Search Server on the same system as Razuna. When I selected the Indexing tab in the back-end administration and selected Dedicated server, it wouldn’t accept my database settings (even though I am copying & pasting straight from the source). I discovered that the default address used in the “search servers full address location” field said:
… if you’re using a non-customized Tomcat installation like I am, that port number should say 8080, not 8090. Once I made the change, the configuration form accepted the database settings and enabled the search server (which automatically began indexing the assets). Overall, my experience with the new search server has been positive, and users have complimented the speed at which results are now being displayed.
Now, on to the front end Web server: Since we are running Razuna on Windows Server, it was mostly a choice between IIS, Apache, and NGINX.
- IIS: I chose not to install IIS because it seemed like too much effort/overkill for just one dedicated site.
- NGINX: While I use NGINX for all of my Linux-based sites, I decided against it for this application because you can’t run it as a Windows service out-of-the-box (which is a necessary option for us).
- Apache: That left Apache httpd, which was fine with me since I’ve always had a good experience with it, Linux or Windows. Had it set up and running within an hour, installed it as a Windows service, configured a custom vhost and everything, setting it up with a brand-new canonical URL (something nice and simple like dam.companyname.com instead of servername:8080/razuna/raz1/dam/, a change that I think the users appreciated). This step, while it seemed complicated at the beginning, turned out to be easy to implement (with a little preparation) and with good reward. The Razuna server is flying now and the URLs look clean. I recommend this for everyone setting up a self-hosted Razuna server.
While this post is not meant to serve as a replacement for the instructions found on the Wiki, I wanted to at least compile the notes of my experience from having performed a dozen or so installs and upgrades since I started using Razuna. If it helps anyone out, that’s good to know, and if it can serve as a starting point for other questions, that’s fine as well. I am a systems administrator by trade, and this is the sort of thing I enjoy doing. If anything, hopefully I can find some answers to the issues I had earlier, like the wrong version of Razuna bundled with the download, or the restore process ignoring the plugins database tables.