81 lines
2.9 KiB
Bash
Raw Normal View History

2022-01-25 19:01:36 +03:00
#!/bin/bash
2022-01-25 21:42:26 +03:00
echo "[testrail] Welcome to Testrail 6.7.1.1020 with LDAP plugin"
2022-01-25 21:42:26 +03:00
echo "[testrail] Starting testrail service"
#################################################################################
2024-12-12 18:18:54 +03:00
# Function for creating directories with rights for www-data
2022-01-25 19:01:36 +03:00
function createOptDirectory {
2024-12-12 18:18:54 +03:00
if [ ! -d "$1" ]; then
echo "[testrail] Creating $1"
mkdir -p "$1"
2022-01-25 19:01:36 +03:00
fi
2024-12-12 18:18:54 +03:00
chown -R www-data:www-data "$1"
2022-01-25 19:01:36 +03:00
}
2024-12-12 18:18:54 +03:00
#################################################################################
# Copy Apache Configuration
/bin/cp -rf "${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf" "/etc/apache2/sites-enabled/000-default.conf"
2022-01-25 19:28:57 +03:00
2024-12-12 18:18:54 +03:00
#################################################################################
# Unpacking TestRail
if [ -f "${TESTRAIL_RELEASE_DIR}/testrail-${TESTRAIL_VERSION}-ion70.zip" ]; then
echo "[testrail] Unzipping testrail service"
unzip -q -o "${TESTRAIL_RELEASE_DIR}/testrail-${TESTRAIL_VERSION}-ion70.zip" -d /var/www/
echo "[testrail] Testrail extracted"
else
echo "[testrail] Error: testrail-${TESTRAIL_VERSION}-ion70.zip not found in ${TESTRAIL_RELEASE_DIR}"
exit 1
fi
2022-01-25 19:01:36 +03:00
2024-12-12 18:18:54 +03:00
#################################################################################
# Creating the necessary directories
createOptDirectory "${TR_DEFAULT_LOG_DIR}"
createOptDirectory "${TR_DEFAULT_AUDIT_DIR}"
createOptDirectory "${TR_DEFAULT_REPORT_DIR}"
createOptDirectory "${TR_DEFAULT_ATTACHMENT_DIR}"
2022-01-25 19:01:36 +03:00
2024-12-12 18:18:54 +03:00
chown -R www-data:www-data "${TR_CONFIG_DIR}"
chown -R www-data:www-data "${TR_CONFIGPATH}"
2022-01-25 19:01:36 +03:00
2022-01-25 19:28:57 +03:00
#################################################################################
2024-12-12 18:18:54 +03:00
# Waiting for task.php file to appear
TASK_FILE="/var/www/testrail/task.php"
2022-01-25 19:28:57 +03:00
echo "[testrail] Waiting for background task file"
2024-12-12 18:18:54 +03:00
while [ ! -f "$TASK_FILE" ]; do
sleep 2
2022-01-25 19:01:36 +03:00
done
2022-01-25 19:28:57 +03:00
echo "[testrail] Starting background task"
2024-12-12 18:18:54 +03:00
# Removing the memory limit for executing a PHP task
2022-01-25 19:01:36 +03:00
while /bin/true; do
2024-12-12 18:18:54 +03:00
php -d memory_limit=-1 "$TASK_FILE" || true
sleep "${TR_DEFAULT_TASK_EXECUTION:-60}"
2022-01-25 19:01:36 +03:00
done &
2022-01-25 19:28:57 +03:00
2024-12-12 18:18:54 +03:00
echo "[testrail] Background task started"
2022-01-25 19:28:57 +03:00
2024-12-12 18:18:54 +03:00
#################################################################################
# Processing the FIX_WWW_DATA environment variable
2022-01-25 19:28:57 +03:00
if [[ -z "${FIX_WWW_DATA}" ]]; then
2024-12-12 18:18:54 +03:00
echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
chown www-data:www-data /var/www -R
2022-01-25 19:28:57 +03:00
elif [ "${FIX_WWW_DATA}" == "false" ]; then
2024-12-12 18:18:54 +03:00
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
elif [ "${FIX_WWW_DATA}" == "true" ]; then
echo "[apache2] Changing permissions for /var/www path. Don't worry, please wait."
chown www-data:www-data /var/www -R
echo "[apache2] Done"
2022-01-25 19:28:57 +03:00
else
2024-12-12 18:18:54 +03:00
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
2022-01-25 19:28:57 +03:00
fi
2022-01-25 19:01:36 +03:00
2024-12-12 18:18:54 +03:00
#################################################################################
# Starting Apache
2022-01-25 19:28:57 +03:00
echo "[apache2] Starting up"
2022-01-25 19:01:36 +03:00
source /etc/apache2/envvars
tail -F /var/log/apache2/* &
exec apache2 -D FOREGROUND