The following describes how to get started and install EJBCA with the provided quick setup script to run locally.

Quick Setup Script

To install EJBCA using the quick setup script located in bin/extra/ejbca-setup on a Linux machine (Ubuntu or RedHat is recommended), do the following:

  1. Install dependencies.

    sudo apt-get update
    sudo apt-get install unzip openjdk-8-jdk-headless ant ant-optional psmisc mariadb-client bc patch curl
    sudo update-java-alternatives --set java-1.8.0-openjdk-amd64

    Note that EJBCA currently (up to and including EJBCA 7.0) does not support Java 11. If running on a platform that comes with Java 11 by default, such as Ubuntu 18.04, switch to using Java 8 by running the following:

    > sudo update-java-alternatives --set java-1.8.0-openjdk-amd64


    sudo yum install tar unzip java-1.8.0-openjdk-devel ant psmisc mariadb bc patch
  2. Download EJBCA and unpack the ZIP archive in the ejbca install directory:

    $ unzip -d <installdir>
    $ cd <installdir>
    $ ls
  3. Install a MariaDB database and create a database for EJBCA:

    $ sudo mysql -u root -p
    mysql> CREATE DATABASE ejbcatest CHARACTER SET utf8 COLLATE utf8_general_ci;
    mysql> GRANT ALL PRIVILEGES ON ejbcatest.* TO 'ejbca'@'localhost' IDENTIFIED BY 'ejbca';
  4. Configure the script in ejbca/bin/extra/ejbca-setup with your database user and password.

  5. Run the script with ./<ejbca-install-directory>/bin/extra/ejbca-setup according to the following example:


    Do not run the ejbca-setup script from inside the EJBCA directory. The script creates new directories and links, and is thus dependent on being run from just outside the EJBCA directory itself.

    The script will download WildFly 10 and the MariaDB database connector and install everything, resulting in a usable EJBCA installation.

  6. Import superadmin.p12 in your web browser using the password printed on the last line after running the script. Then open the EJBCA Administration Web at https://localhost:8443/ejbca/adminweb/.

Feedback and improvements to the ejbca-setup script are appreciated.