Skip to content

Manual Installation and Setup

Dan Fabulich edited this page Aug 28, 2020 · 1 revision

New developers should use Docker, as explained in the README. But, if you insist:

Installing dependencies

Perl libraries

To install this project's CPAN dependencies, run the following command from the IFComp/ directory of your cloned repository (the directory that contains the file called "cpanfile"):

curl -fsSL https://cpanmin.us | perl - --installdeps .

(If you already have cpanm installed, you can just run cpanm --installdeps . instead.)

This should crunch though the installation of a bunch of Perl modules. It'll take a few minutes.

If you're planning on contributing to the project, you'll want some additional modules. Use the --with-develop option with the cpanm command. eg.

curl -fsSL https://cpanmin.us | perl - --installdeps --with-develop .

Application configuration

Copy conf/ifcomp_local.conf-dist to conf/ifcomp_local.conf and then update the database pointers therein as appropriate.

Database configuration

Run script/ifcomp_deploy_db.pl to construct the database tables (having first created the database, user, and password, and set up the application configuration appropriately). Note this script won't fill in the role table, the comp table, or the federated_site table. The last of these isn't required for most operation, but the first two do need to be manually filled in once the tables are created.

Making it go

It's a Catalyst application, and works as any other. See the Catalyst documentation for more details.

The application's central control script is ifcomp.psgi, found at the top level within the IFComp directory. A basic way to launch the application from the command line, for the sake of local testing:

plackup ifcomp.psgi

Assuming that you have all the necessary prerequisites (including the plackup program!) installed and available to your local Perl, this should launch the web application and bind it to localhost, port 5000, and write out access and error logs to the terminal. See the plackup manpage for various command-line configuration options (such as changing the port to use, or having the script automatically reload when it detects code changes).