Athletica 6.3 on CentOS 7

Athletica provides all functionality necessary to successfully manage track and field athletics meetings. This post describes its installation of version 6.3 on CentOS 7.

Prerequisites

Make sure you have root privileges or, much better, your user is in the sudoers list. For instruction on how to change the sudoers list visit http://blog.zwiegnet.com/linux-server/add-user-to-sudoers-group-centos/.

For the installation of Athletica we need two tools which are not in the minimal installation of CentOS 7: wget and unzip.

yum install wget unzip

Apache and PHP

Install and start Apache daemon:

yum install httpd
yum install php php-mysql
systemctl start httpd

Auto start daemon on startup:

systemctl enable httpd.service

To test whether your Apache is running, try to download the index page with wget localhost. You should get 403 Forbidden. This is because the directory /var/www/html/ is empty and directory listing is disabled.

Optional: To enable upload and restore of large Athletica backup files, change the PHP configuration like this:

vi /etc/php.ini
# upload_max_filesize = 50M
# post_max_filesize = 50M

MySQL Server / Daemon

MySQL is not in the default repositories of CentOS. Instead, there is a MySQL Yum repository that you can find at mysql.com: http://dev.mysql.com/downloads/repo/yum/

To install the repository, execute the following command:

yum install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

Install and start MySQL daemon:

yum install mysql-community-server
systemctl start mysqld

Athletica

You can find the latest version of Athletica at swiss-athletics.ch: http://swiss-athletics.ch/de/athletica/athletica.html.

Download and unzip:

wget http://swiss-athletics.ch/files/wettkaempfe/athletica/de_Athletica_PkgUpgrade_6.3.zip -O athletica-6.3.zip

unzip athletica-6.3.zip -d /var/www/html/

MySQL Databases

mysql

mysql> create database athletica;
mysql> create database athletica_technical;
mysql> create database liveresultate;

mysql> create user 'athletica'@'localhost' identified by 'athletica';
mysql> grant all on *.* to 'athletica'@'localhost';

mysql> create user 'athletica'@'%' identified by 'athletica';
mysql> grant select on *.* to 'athletica'@'%';

mysql> exit;
mysql -D athletica < /var/www/html/athletica_6.0.sql
mysql -D athletica < /var/www/html/upgrade_6_1.sql
mysql -D athletica < /var/www/html/upgrade_6_1_patch.sql
mysql -D athletica_technical < /var/www/html/athletica_technical.sql
mysql -D liveresultate < /var/www/html/athletica_liveresultate.sql

Firewall

#iptables -I INPUT -p tcp --dport 80 -j ACCEPT
#iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

firewall-cmd --get-active-zones
public
  interfaces: enp0s3
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=3306/tcp --permanent

Issues and Improvements

  • Harden MySQL installation
  • Character set problem

👍