Installing OpenXPKI CA

Installing OpenXPKI CA

  1. Connect the machine using PuTTY or another client.
  2. From the client, run the
    sudo su -
    command to go to the root user.
  3. Enter the root password.
  4. In
    nano /etc/apt/sources.list
    , change the source for installing the updates.
  5. Update the file. For example:
    # # deb cdrom:[Debian GNU/Linux testing _Buster_ - Official Snapshot amd64 DVD Binary-1 20190527-04:04]/ buster contrib main # deb cdrom:[Debian GNU/Linux testing _Buster_ - Official Snapshot amd64 DVD Binary-1 20190527-04:04]/ buster contrib main deb http://security.debian.org/debian-security buster/updates main contrib deb-src http://security.debian.org/debian-security buster/updates main contrib # buster-updates, previously known as 'volatile' # A network mirror was not selected during install. The following entries # are provided as examples, but you should amend them as appropriate # for your mirror of choice. # deb http://ftp.debian.org/debian/ buster-updates main deb-src http://ftp.debian.org/debian/ buster-updates main deb http://ftp.us.debian.org/debian/ buster main
  6. Save the file.
  7. Run the following commands:
    • apt-get update
    • apt-get upgrade
  8. Update the CA certificate lists in the server using
    apt-get install ca-certificates
    .
  9. Install
    en_US.utf8 locale
    using
    dpkg-reconfigure locales
    .
  10. Select the
    en_US.UTF-8 UTF-8
    locale, and then make it the default locale for the system.
    Use the Tab and spacebar keys for selecting and navigating the menu.
  11. Check the locales that you have generated using
    locale –a
    .
    Sample output
    C C.UTF-8 en_IN en_IN.utf8 en_US.utf8 POSIX
  12. Copy the fingerprint of the OpenXPKI package using
    nano /home/Release.key
    . For this instance, copy the key in
    /home
    .
  13. Type
    55D89776 006F632B E0196E3E D2495509 BAFDDC74 22FEAAD2 F055074E 0FE3A724
    as the value.
  14. Run the following command:
    gpg --print-md sha256 /home/Release.key
  15. Add the package using the
    wget https://packages.openxpki.org/v3/debian/Release.key -O - | apt-key add -
    command.
  16. Add the repository to your source list (buster) using
    echo " deb http://packages.openxpki.org/v3/debian/ buster release" > /etc/apt/sources.list.d/openxpki.list
    , and then
    apt update
    .
  17. Install MySQL and Perl MySQL binding using
    apt install mariadb-server libdbd-mariadb-perl
    .
  18. Install apache2.2-common using
    apt install apache2
    .
  19. In
    nano /etc/apt/sources.list
    , install the fastcgi module to speed up the user interface.
    We recommend using
    mod_fcgid
    .
  20. Add the
    deb http://http.us.debian.org/debian/ buster main
    line in the file, and then save it.
  21. Run the following commands:

      apt-get update

      apt install libapache2-mod-fcgid

  22. Enable the fastcgi module using
    a2enmod fcgid
    .
  23. Install the OpenXPKI core package using
    apt install libopenxpki-perl openxpki-cgi-session-driver openxpki-i18n
    .
  24. Restart the Apache® server using
    service apache2 restart
    .
  25. Check whether the installation is successful using
    openxpkiadm version
    .
    If the installation is successful, then the system shows the version of the installed OpenXPKI. For example,
    Version (core): 3.18.2
    .
  26. Create the empty database, and then assign the database user using
    mariadb -u root -p
    .
    • This command must be typed in the client. Otherwise, you cannot enter the password.
    • Type the password for the MySQL. For this instance,
      root
      is the MySQL user.
    • openxpki
      is the user on which OpenXPKI is installed.
    CREATE DATABASE openxpki CHARSET utf8; CREATE USER 'openxpki'@'localhost' IDENTIFIED BY 'openxpki'; GRANT ALL ON openxpki.* TO 'openxpki'@'localhost'; flush privileges;
    If the MySQL service is not running, then run
    /etc/init.d/mysql start
    to start the service.
  27. Type
    quit
    to exit from MySQL.
  28. Store the used credentials in
    /etc/openxpki/config.d/system/database.yaml
    .
    Sample file content
    main: debug: 0 type: MariaDB name: openxpki host: localhost port: 3306 user: openxpki passwd: openxpki
    Change
    user
    and
    passwd
    to match the MariaDB user name and password.
  29. Save the file.
  30. For empty database schema, run
    zcat /usr/share/doc/libopenxpki-perl/examples/schema-mariadb.sql.gz | \ mysql -u root --password --database openxpki
    from the provided schema file.
  31. Type the password for the database.