dave0 / leaguerunner

Leaguerunner is a web-based application for managing scheduling, score submission and standings for an Ultimate Frisbee league.
GNU General Public License v2.0
15 stars 5 forks source link

Leaguerunner - PHP software to run an ultimate league

Leaguerunner is a LAMP application for managing an Ultimate league. It runs the Ottawa-Carleton Ultimate Association's summer, fall, and winter indoor leagues, handling over 500 teams and 6000 registered players in more than 60 different divisions and three seasons of play.

Prerequisites:

1) Webserver with PHP 5.x, with PDO (PHP Data Objects) extension. PDO ships with PHP 5.1, and is available as a PECL extension for 5.0

2) MySQL database, and the relevant PHP support for MySQL

3) PHP PEAR libraries

4) PHP jpgraph library

5) The ability to run Perl scripts from the commandline for maintenance tasks. The Perl DBI and DBD::mysql modules are required for this.

6) (optional) mod_rewrite is required if you want clean URLs (if you want http://your-server/leaguerunner/home instead of http://your-server/leaguerunner/index.php?q=/home)

Once the prerequisites are installed and configured normally (nothing really special is needed for Leaguerunner), you can install the software.

To install Leaguerunner: 1) copy all of the src/ directory to some location under your server's web root. If your site's root is at /var/www/html, /var/www/html/leaguerunner is a good place to put it. You can also run it from a user's public_html directory if you wish.

2) create the database. First, you need to create it. This can be done by running: mysql -uroot -p and logging in as the MySQL root user. Once logged in, run the following SQL commands: CREATE DATABASE leaguerunner; GRANT ALL ON leaguerunner.* TO leaguerunner_user@localhost IDENTIFIED BY 'password'; FLUSH PRIVILEGES; Be sure to choose an appropriate username instead of "leaguerunner_user" and a better password in place of "password".

3) Change into the directory in which you installed Leaguerunner, and edit the leaguerunner.conf file. You may need to create one anew by copying leaguerunner.conf.example. In this file, you should change, at minimum:

  - dsn, username, and password values in the [database] section for database connections

  - base_url in the [paths] section for the URL to use when accessing Leaguerunner.

4) Run perl/bin/db-init-or-upgrade.pl --action=install --config=/path/to/leaguerunner.conf

 using the path to the leaguerunner.conf you just edited.  This will
 install the necessary tables for Leaguerunner.

Once this is complete, you should be able to point your web browser at the base URL and log in using the user 'admin' with a password of 'admin'.

If you can log in, but get an error finding /home: 1) check that mod_rewrite is enabled and that the .htaccess file can override the config files. The keywords to search for in httpd.conf (apache) are "mod_rewrite" and "AllowOverride".

2) if you do not have mod_rewrite, ensure that you have not enabled clean URLs for your configuration (the default is to have them turned off in new installations). Since this configuration setting is made using the web UI, you will need to directly modify the database to turn it off and gain access to the web interface. To do this, execute the SQL: UPDATE variable SET value = '0' WHERE name = 'clean_url';