Author: Kevin Mitcham (C)opyright 2004 Dartmouth College (see www.dartmouth.edu) (C) OpenCA Projekt 2005 This document can be modified and redistributed along the terms of the GNU Free Documentation License 1.2 (or newer) You can obtain a copy at http://www.gnu.org/licenses/fdl.txt Please notice that there is a live CD too at: http://www.dartmouth.edu/%7Edeploypki/CA/InstallOpenCALiveCD.html This page was created by the Dartmouth PKI Lab Outreach. ======================================================================= Note: The HowTo was edited by the OpenCA Team Jun 2005 to reflect latest changes on URLs and Options to install from source (actual commands marked with a "*") (We ran on Debian "unstable") (assumes an apache install using default options) download new tarball from http://www.openca.info/download/ into a source directory Alternately, get a snapshot or cvs via sourceforge http://sourceforge.net/projects/openca We are currently running a snapshot from a couple of weeks ago; RC4 actually gave me some problems. * gunzip openca-0.9.2xxx.tar.gz * tar xvf openca-0.9.2xxx.tar * make distclean first install the ra (may want to update the web-host value) * ./configure \ --prefix=/usr/local/openra \ --with-httpd-user=www-data \ --with-httpd-group=www-data \ --with-openca-prefix=/usr/local/openra/openca \ --with-etc-prefix=/usr/local/openra/openca/etc \ --with-httpd-fs-prefix=/usr/local/openra/httpd \ --with-module-prefix=/usr/local/openra/modules \ --with-node-prefix=ra-node \ --with-engine=no \ --with-web-host=localhost \ --enable-ocspd \ --enable-dbi \ --enable-rbac \ * make * make install-online Now for the CA (may want to update the web-host value) * make distclean * ./configure \ --prefix=/usr/local/openca \ --with-httpd-user=www-data \ --with-httpd-group=www-data \ --with-openca-prefix=/usr/local/openca/openca \ --with-etc-prefix=/usr/local/openca/openca/etc \ --with-httpd-fs-prefix=/usr/local/openca/httpd \ --with-module-prefix=/usr/local/openca/modules \ --with-node-prefix=ca-node \ --with-engine=no \ --with-web-host=localhost \ --enable-ocspd \ --enable-dbi \ --enable-rbac \ * make * make install-offline Note: If you build a "all on one" Installation, you can omit the second configure/make step create the DB: *mysql -uroot -p mysql create database openca; create database openra; grant all privileges on openca.* to openca@localhost identified by "openca"; grant all privileges on openra.* to openra@localhost identified by "openra"; test the DB * mysql -uopenca -p use openca show tables (should return empty set, as DB is empty) exit; * mysql -uopenra -p use openra show tables (should return empty set, as DB is empty) exit; edit the apache httpd.conf (location varies, but this is the apache config file) in the script aliases section, add: # OpenCA Mods # CA Aliases Alias /ca /usr/local/openca/httpd/htdocs/ca/ Alias /ca-node /usr/local/openca/httpd/htdocs/ca-node/ ScriptAlias /cgi-bin/ca/ /usr/local/openca/httpd/cgi-bin/ca/ ScriptAlias /cgi-bin/ca-node/ /usr/local/openca/httpd/cgi-bin/ca-node/ # OpenCA Mods # RA Aliases Alias /ra /usr/local/openra/httpd/htdocs/ra/ Alias /pub /usr/local/openra/httpd/htdocs/pub/ Alias /ra-node /usr/local/openra/httpd/htdocs/ra-node/ ScriptAlias /cgi-bin/ra/ /usr/local/openra/httpd/cgi-bin/ra/ ScriptAlias /cgi-bin/pub/ /usr/local/openra/httpd/cgi-bin/pub/ ScriptAlias /cgi-bin/ra-node/ /usr/local/openra/httpd/cgi-bin/ra-node/ # OpenCA Mods AllowOverride None Options ExecCGI Order allow,deny Allow from all AllowOverride None Options ExecCGI Order allow,deny Allow from all AllowOverride None Options FollowSymLinks Indexes Order allow,deny Allow from all AllowOverride None Options FollowSymLinks Indexes Order allow,deny Allow from all # OpenCA Mods # adding dir to symlinks following for cert retrieval # not totally clear WHY openca puts a symlink here, but it did. AllowOverride None Options FollowSymLinks Indexes Order allow,deny Allow from all modify the config.xml for the ra (located in /usr/local/openra/openca/etc) Now onto the config.xml, for the ca and the ra. for the CA: general options ca_organization ca_locality ca_country service_mail_account (set to [EMAIL PROTECTED]) dbmodule -> DBI for the mysql database db_type-> mysql db_name -> openca db_host -> localhost (or whatever) db_port -> 3306 (the mysql default port) db_user -> openca db_passwd -> XXX configuration of absolute paths (as needed. once again, looks like some of the work is already done) dataexchange configuration de-activate dfault, by adding comment brackets activate mode 1, node acts as CA only by removing comment brackets configuration of relative paths (as needed. Not done first time through due to error) (these might not be in config.xml; if not, see below) dataexchange_device_up /usr/local/openca/openca/var/tmp/ca-up