# Requirements TreeTrek was built and tested using the following software components: * Debian Linux 13 (kernel 6.12.69) * nginx 1.26.3 * PHP 8.4.16 * Git 2.53.0 # Installation To install: * Download code * Configure settings * Configure web server routing and security * Define display order Replace placeholder values with the configuration details. 1. Set placeholders: ``` bash export REPO=repo.domain.com export OWNER=username export WEBDIR=/var/www export WEBOWNER=www-data ``` 1. Download code: ```bash mkdir -p /var/www/${REPO} cd ${WEBDIR}/${REPO} git clone https://repo.autonoma.ca/repo/treetrek sudo usermod -aG ${OWNER} ${WEBOWNER} ``` 1. Edit `${WEBDIR}/${REPO}/Config.php`. 1. Set `SITE_TITLE`. 1. Set `REPOS_DIR`. 1. Save the file. 1. Edit `<REPOS_DIR>/order.txt` 1. List repositories in the order they must appear. 1. Hide repositories using a hyphen prefix. 1. Save the file. 1. Edit nginx configuration file. 1. Add routing and security rules: ```nginx location ^~ /images/ { allow all; } location ~* ^/images/.*\.svg$ { add_header Content-Type image/svg+xml; } location ~ ^/(git|pages|render)/ { deny all; return 403; } location ^~ /repo/ { try_files $uri $uri/ /index.php?$query_string; } location / { try_files $uri $uri/ /index.php?$query_string; } location = /index.php { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.4-fpm.sock; } location ~ \.php$ { deny all; return 403; } ``` 1. Save the file. 1. Apply changes: ```bash sudo nginx -t && sudo systemctl reload nginx ``` The application is installed.