-
Notifications
You must be signed in to change notification settings - Fork 13
Manual Installation and Setup
New developers should use Docker, as explained in the README. But, if you insist:
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 .
Copy conf/ifcomp_local.conf-dist
to conf/ifcomp_local.conf
and then update the database pointers therein as appropriate.
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.
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).