#!/bin/sh set -e . /usr/share/debconf/confmodule detect_webservers() { WEB_SERVERS="" if dpkg-query -W -f='${Status}' apache2 2>/dev/null | grep -q 'install ok installed'; then WEB_SERVERS="$WEB_SERVERS apache2" fi if dpkg-query -W -f='${Status}' nginx 2>/dev/null | grep -q 'install ok installed'; then WEB_SERVERS="$WEB_SERVERS nginx" fi if dpkg-query -W -f='${Status}' lighttpd 2>/dev/null | grep -q 'install ok installed'; then WEB_SERVERS="$WEB_SERVERS lighttpd" fi WEB_SERVERS="${WEB_SERVERS# }" } db_get yms/db-name DB_NAME="$RET" db_get yms/db-user DB_USER="$RET" db_get yms/db-password DB_PASSWORD="$RET" echo "Configuring YMS..." echo "Checking MariaDB database '${DB_NAME}'..." if mariadb -N -B -e "SELECT SCHEMA_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = '${DB_NAME}'" | grep -Fxq "${DB_NAME}"; then echo "Database '${DB_NAME}' already exists." else echo "Database '${DB_NAME}' does not exist." echo "Creating database '${DB_NAME}'..." mariadb -e "CREATE DATABASE \`${DB_NAME}\`" echo "Database '${DB_NAME}' created." echo "Initializing database schema..." mariadb "${DB_NAME}" < /usr/share/yms/db/mariadb.sql mariadb "${DB_NAME}" < /usr/share/yms/db/minimal.sql echo "Database schema initialized." fi db_get yms/webgui if [ "$RET" = "true" ]; then detect_webservers case "$WEB_SERVERS" in "") echo "No supported webserver installed." ;; apache2) echo "Apache detected." a2enconf yms invoke-rc.d apache2 reload echo "Web GUI for apache2 enabled." ;; nginx) echo "nginx detected." ;; lighttpd) echo "lighttpd detected." ;; *) echo "Multiple webservers detected: $WEB_SERVERS" ;; esac if [ ! -f /etc/yms/config.inc ]; then # create initial configuration sed \ -e "s|@DB_USERNAME@|$DB_USER|g" \ -e "s|@DB_PASSWORD@|$DB_PASSWORD|g" \ -e "s|@DB_SCHEMA@|$DB_NAME|g" \ /usr/share/yms/config.inc-sample \ > /etc/yms/config.inc chmod 0640 /etc/yms/config.inc chown root:www-data /etc/yms/config.inc ln -s /etc/yms/config.inc /usr/share/yms/webgui/config.inc fi fi exit 0