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
👍