Reorganise database handling. Add seperate configuration file.
This commit is contained in:
		
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,5 +1,6 @@ | |||||||
| /BAK/* | /BAK/* | ||||||
| /log_* | /log_* | ||||||
|  | /conf/*.conf | ||||||
| /sympa* | /sympa* | ||||||
| /whitelist* | /whitelist* | ||||||
| *.log | *.log | ||||||
|   | |||||||
							
								
								
									
										136
									
								
								conf/install_sympa.conf.sample
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										136
									
								
								conf/install_sympa.conf.sample
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,136 @@ | |||||||
|  | # --------------------------------------- | ||||||
|  | # - Configuration for sympa install script | ||||||
|  | # ---------------------------------------- | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # - PREFIX | ||||||
|  | # - | ||||||
|  | # - Sympa Installation directory | ||||||
|  | # - | ||||||
|  | # - Defaults to: "/usr/local/sympa" | ||||||
|  | # - | ||||||
|  | #PREFIX="/usr/local/sympa" | ||||||
|  |  | ||||||
|  | # - SYMPA_USER | ||||||
|  | # - | ||||||
|  | # - User under which Sympa services are running | ||||||
|  | # - | ||||||
|  | # - Defaults to: "sympa" | ||||||
|  | # - | ||||||
|  | #SYMPA_USER="sympa" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # - SYMPA_MAIN_CONF_DIR | ||||||
|  | # - | ||||||
|  | # - Sympas main configuration directory | ||||||
|  | # - | ||||||
|  | # - Defaults to: "/etc/sympa" | ||||||
|  | # - | ||||||
|  | #SYMPA_MAIN_CONF_DIR="/etc/sympa" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # - SYMPA_LIST_DATA_DIR | ||||||
|  | # - | ||||||
|  | # - Data directory for sympa lists | ||||||
|  | # - | ||||||
|  | # - defaults to: "/data/sympa/list_data" | ||||||
|  | # - | ||||||
|  | #SYMPA_LIST_DATA_DIR=/data/sympa/list_data | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # - SYMPA_DOMAIN | ||||||
|  | # - | ||||||
|  | # - Note: if sympa will be configured to support multidomains | ||||||
|  | # -       this (SYMPA_DOMAIN) should not contain list definitions | ||||||
|  | # - | ||||||
|  | # - | ||||||
|  | SYMPA_DOMAIN="sympa.oopen.de" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # - START_AT_BOOTTIME | ||||||
|  | # - | ||||||
|  | # - Defaults to: "yes" | ||||||
|  | # - | ||||||
|  | #START_AT_BOOTTIME="yes" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # - SYMPA_LISTMASTER | ||||||
|  | # - | ||||||
|  | # - | ||||||
|  | # - Defaults to "postmaster@$SYMPA_DOMAIN" | ||||||
|  | # - | ||||||
|  | #SYMPA_LISTMASTER="postmaster@$SYMPA_DOMAIN" | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # - SYMPA_DB_TYPE | ||||||
|  | # - | ||||||
|  | # - Database type of sympas database | ||||||
|  | # - | ||||||
|  | # - If database is SQLite, then this parameter is not in use. | ||||||
|  | # - | ||||||
|  | # - Possible values are 'mysql' (MySQL) or 'Pg' (PostgeSQL), 'Sybase', 'Oracle' | ||||||
|  | # - | ||||||
|  | # - Defaults to: SYMPA_DB_TYPE="mysql" | ||||||
|  | # - | ||||||
|  | #SYMPA_DB_TYPE="mysql" | ||||||
|  |  | ||||||
|  | # - SYMPA_DB_HOST | ||||||
|  | # - | ||||||
|  | # - Defaults to: SYMPA_DB_HOST="127.0.0.1" | ||||||
|  | # - | ||||||
|  | #SYMPA_DB_HOST="127.0.0.1" | ||||||
|  |  | ||||||
|  | # - SYMPA_DB_PORT | ||||||
|  | # - | ||||||
|  | # - Defaults to: | ||||||
|  | # -    3306  -  if SYMPA_DB_TYPE=mysql | ||||||
|  | # -    5432  -  if SYMPA_DB_TYPE=Pg | ||||||
|  | # -    2638  -  if SYMPA_DB_TYPE=Sybase | ||||||
|  | # -    1575  -  if SYMPA_DB_TYPE=Oracle | ||||||
|  | # - | ||||||
|  | # -  | ||||||
|  | #SYMPA_DB_PORT="3306" | ||||||
|  |  | ||||||
|  | # - SYMPA_DB_NAME | ||||||
|  | # - | ||||||
|  | # - Defaults to: SYMPA_DB_NAME="sympa" | ||||||
|  | # - | ||||||
|  | #SYMPA_DB_NAME="sympa" | ||||||
|  |  | ||||||
|  | # - SYMPA_DB_USER | ||||||
|  | # - | ||||||
|  | # - Defaults to: SYMPA_DB_USER="sympa" | ||||||
|  | # - | ||||||
|  | #SYMPA_DB_USER="sympa" | ||||||
|  |  | ||||||
|  | # - SYMPA_DB_PASSWD | ||||||
|  | # - | ||||||
|  | # - Password for Sympa's database. | ||||||
|  | # -  | ||||||
|  | SYMPA_DB_PASSWD="nw7FMhzRJPjcTHvm" | ||||||
|  |  | ||||||
|  | # - mysql_credential_args (root access to MySQL Database) | ||||||
|  | # - | ||||||
|  | # - Example | ||||||
|  | # -    mysql_credential_args="--login-path=local" | ||||||
|  | # -    mysql_credential_args="--defaults-file=/etc/mysql/debian.cnf" (Debian default) | ||||||
|  | # -    mysql_credential_args="--defaults-file=/usr/local/mysql/sys-maint.cnf" | ||||||
|  | # - | ||||||
|  | # - Defaults to: | ||||||
|  | # -    '/etc/mysql/debian.cnf' if MySQL is installed from debian package system | ||||||
|  | # -    '/usr/local/mysql/sys-maint.cnf' otherwise | ||||||
|  | # - | ||||||
|  | MYSQL_CREDENTIALS="--login-path=local" | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  | # - VSERVER_GUEST | ||||||
|  | # - | ||||||
|  | # - Is this a Linux Vserver guest system? | ||||||
|  | # - | ||||||
|  | # - Possible values: yes/no | ||||||
|  | # - | ||||||
|  | # - Defaults to 'VSERVER_GUEST=no' | ||||||
|  | # - | ||||||
|  | #VSERVER_GUEST=no | ||||||
							
								
								
									
										458
									
								
								install_sympa.sh
									
									
									
									
									
								
							
							
						
						
									
										458
									
								
								install_sympa.sh
									
									
									
									
									
								
							| @@ -1,30 +1,11 @@ | |||||||
| #!/usr/bin/env bash | #!/usr/bin/env bash | ||||||
|  |  | ||||||
| ## - Pre-defined Parameters | _src_base_dir=/usr/local/src/sympa | ||||||
| ## - | conf_file="${_src_base_dir}/conf/install_sympa.conf" | ||||||
| _VSERVER_GUEST=no |  | ||||||
|  |  | ||||||
| #_SYMPA_VERSION=6.2.16 | backup_date="$(date +%Y-%m-%d-%H%M)" | ||||||
|  |  | ||||||
| _SYMPA_USER=sympa | err_log="$(mktemp)" | ||||||
|  |  | ||||||
| #_PREFIX=/home/sympa |  | ||||||
| _PREFIX=/usr/local/sympa |  | ||||||
|  |  | ||||||
| _SYMPA_LIST_DATA_DIR=/data/sympa/list_data |  | ||||||
| _SYMPA_MAIN_CONF_DIR=/etc/sympa |  | ||||||
|  |  | ||||||
| _START_AT_BOOTTIME=yes |  | ||||||
| _SYMLINK_INSTALL_DIR=no |  | ||||||
|  |  | ||||||
| _SYMPA_DOMAIN=sympa.oopen.de |  | ||||||
| _SYMPA_LISTMASTER=support@oopen.de |  | ||||||
| _SYMPA_DB_TYPE=mysql |  | ||||||
| _SYMPA_DB_HOST=127.0.0.1 |  | ||||||
| ## - |  | ||||||
| ## - End: pre-defined Parameters |  | ||||||
|  |  | ||||||
| _srcdir=/usr/local/src/sympa |  | ||||||
|  |  | ||||||
| _required_debian_packages=" | _required_debian_packages=" | ||||||
|    libauthcas-perl |    libauthcas-perl | ||||||
| @@ -91,6 +72,13 @@ _required_debian_packages=" | |||||||
|  |  | ||||||
| ## --- some functions | ## --- some functions | ||||||
| ## --- | ## --- | ||||||
|  | clean_up() { | ||||||
|  |  | ||||||
|  |    # Perform program exit housekeeping | ||||||
|  |    rm -f "$err_log" | ||||||
|  |    exit $1 | ||||||
|  | } | ||||||
|  |  | ||||||
| echononl(){ | echononl(){ | ||||||
|    echo X\\c > /tmp/shprompt$$ |    echo X\\c > /tmp/shprompt$$ | ||||||
|    if [ `wc -c /tmp/shprompt$$ | awk '{print $1}'` -eq 1 ]; then |    if [ `wc -c /tmp/shprompt$$ | awk '{print $1}'` -eq 1 ]; then | ||||||
| @@ -107,7 +95,7 @@ fatal(){ | |||||||
|    echo "" |    echo "" | ||||||
|    echo -e "\t\033[31m\033[1mInstalllation is canceled\033[m\033[m" |    echo -e "\t\033[31m\033[1mInstalllation is canceled\033[m\033[m" | ||||||
|    echo "" |    echo "" | ||||||
|    exit 1 |    clean_up 1 | ||||||
| } | } | ||||||
|  |  | ||||||
| warn (){ | warn (){ | ||||||
| @@ -146,6 +134,83 @@ echo_skipped() { | |||||||
| ## --- | ## --- | ||||||
| ## --- END: functions | ## --- END: functions | ||||||
|  |  | ||||||
|  | trap clean_up SIGHUP SIGINT SIGTERM | ||||||
|  |  | ||||||
|  | # - Support systemd ? | ||||||
|  | # - | ||||||
|  | if [[ "X$(which systemd)" = "X" ]]; then | ||||||
|  |    SYSTEMD_EXISTS=false | ||||||
|  | else | ||||||
|  |    SYSTEMD_EXISTS=true | ||||||
|  | fi | ||||||
|  |  | ||||||
|  |  | ||||||
|  | DEFAULT_PREFIX="/usr/local/sympa" | ||||||
|  | DEFAULT_SYMPA_USER="sympa" | ||||||
|  |  | ||||||
|  | DEFAULT_SYMPA_MAIN_CONF_DIR="/etc/sympa" | ||||||
|  | DEFAULT_SYMPA_LIST_DATA_DIR="/data/sympa/list_data" | ||||||
|  |  | ||||||
|  | DEFAULT_START_AT_BOOTTIME="yes" | ||||||
|  |  | ||||||
|  | DEFAULT_SYMPA_DB_TYPE="mysql" | ||||||
|  | DEFAULT_SYMPA_DB_HOST="127.0.0.1" | ||||||
|  | DEFAULT_SYMPA_DB_NAME="sympa" | ||||||
|  | DEFAULT_SYMPA_DB_USER="sympa" | ||||||
|  |  | ||||||
|  | # - DEFAULT_SYMPA_DB_PORT will be determined later | ||||||
|  |  | ||||||
|  |  | ||||||
|  | DEFAULT_VSERVER_GUEST="no" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | echo | ||||||
|  | echononl "\tInclude Configuration file.." | ||||||
|  | if [[ ! -f $conf_file ]]; then | ||||||
|  |    echo_failed | ||||||
|  |    fatal "Missing configuration file '$conf_file'" | ||||||
|  | else | ||||||
|  |    source $conf_file | ||||||
|  |    echo_ok | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | if [[ -z "$SYMPA_DOMAIN" ]]; then | ||||||
|  |    fatal "Missing value for the sympa domain (SYMPA_DOMAIN)" | ||||||
|  | else | ||||||
|  |    DEFAULT_SYMPA_DOMAIN="$SYMPA_DOMAIN" | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | DEFAULT_SYMPA_WEB_URL="https://$SYMPA_DOMAIN/wws" | ||||||
|  |  | ||||||
|  | [[ -n "$PREFIX" ]] && DEFAULT_PREFIX="$PREFIX" | ||||||
|  | [[ -n "$SYMPA_USER" ]] && DEFAULT_SYMPA_USER="$SYMPA_USER" | ||||||
|  | [[ -n "$SYMPA_MAIN_CONF_DIR" ]] && DEFAULT_SYMPA_MAIN_CONF_DIR="$SYMPA_MAIN_CONF_DIR" | ||||||
|  | [[ -n "$SYMPA_LISTMASTER" ]] && DEFAULT_SYMPA_LISTMASTER="$SYMPA_LISTMASTER" | ||||||
|  | [[ -n "$SYMPA_LIST_DATA_DIR" ]] && DEFAULT_SYMPA_LIST_DATA_DIR="$SYMPA_LIST_DATA_DIR" | ||||||
|  | [[ -n "$START_AT_BOOTTIME" ]] && DEFAULT_START_AT_BOOTTIME="$START_AT_BOOTTIME" | ||||||
|  | [[ -n "$SYMPA_DB_NAME" ]] && DEFAULT_SYMPA_DB_NAME="$SYMPA_DB_NAME" | ||||||
|  | [[ -n "$SYMPA_DB_PORT" ]] && DEFAULT_SYMPA_DB_PORT="$SYMPA_DB_PORT" | ||||||
|  | [[ -n "$SYMPA_DB_USER" ]] && DEFAULT_SYMPA_DB_USER="$SYMPA_DB_USER" | ||||||
|  | [[ -n "$VSERVER_GUEST" ]] && DEFAULT_VSERVER_GUEST="$VSERVER_GUEST" | ||||||
|  | [[ -n "$SYMPA_DB_PASSWD" ]] && DEFAULT_SYMPA_DB_PASSWD="$SYMPA_DB_PASSWD" | ||||||
|  |  | ||||||
|  |  | ||||||
|  | if [[ -n "$SYMPA_LISTMASTER" ]] ; then | ||||||
|  |    DEFAULT_SYMPA_LISTMASTER="$SYMPA_LISTMASTER" | ||||||
|  | else | ||||||
|  |    DEFAULT_SYMPA_LISTMASTER="postmaster@$SYMPA_DOMAIN" | ||||||
|  | fi | ||||||
|  |  | ||||||
|  | if [[ -z "$MYSQL_CREDENTIALS" ]] ; then | ||||||
|  |    if [ -f "/usr/local/mysql/sys-maint.cnf" ]; then | ||||||
|  |       mysql_credential_args="--defaults-file=/usr/local/mysql/sys-maint.cnf" | ||||||
|  |    elif [ -f "/etc/mysql/debian.cnf" ]; then | ||||||
|  |       mysql_credential_args="--defaults-file=/etc/mysql/debian.cnf" | ||||||
|  |    fi | ||||||
|  | else | ||||||
|  |    mysql_credential_args="$MYSQL_CREDENTIALS" | ||||||
|  | fi | ||||||
|  |  | ||||||
|  |  | ||||||
| APACHE_INIT_SCRIPT="" | APACHE_INIT_SCRIPT="" | ||||||
| if [ -x "/etc/init.d/apache2" ]; then | if [ -x "/etc/init.d/apache2" ]; then | ||||||
| @@ -156,6 +221,7 @@ else | |||||||
|    fatal 'Cannot find init-script for Apache web server!' |    fatal 'Cannot find init-script for Apache web server!' | ||||||
| fi | fi | ||||||
|  |  | ||||||
|  |  | ||||||
| ## - Determin the IP-Addresses | ## - Determin the IP-Addresses | ||||||
| ## - | ## - | ||||||
| __ipv4="`ifconfig | grep -e \"^\s*inet Adresse\" | grep -v \"127.0.0.1\" | awk '{print$2}' | cut -d\":\" -f2 | sort | head -1`" | __ipv4="`ifconfig | grep -e \"^\s*inet Adresse\" | grep -v \"127.0.0.1\" | awk '{print$2}' | cut -d\":\" -f2 | sort | head -1`" | ||||||
| @@ -294,7 +360,7 @@ if [ "$DISTRIBUTION" == "other" ]; then | |||||||
|    info "Distributions other than Debian are not supported by that script." |    info "Distributions other than Debian are not supported by that script." | ||||||
|    echo -e "\n\t          \033[31m\033[1mInstallation is canceled\033[m\033[m .." |    echo -e "\n\t          \033[31m\033[1mInstallation is canceled\033[m\033[m .." | ||||||
|    echo "" |    echo "" | ||||||
|    exit 2 |    clean_up 2 | ||||||
| elif [ "$DISTRIBUTION" == "Debian" ]; then | elif [ "$DISTRIBUTION" == "Debian" ]; then | ||||||
|    SYMPA_INIT_DIR=/etc/init.d |    SYMPA_INIT_DIR=/etc/init.d | ||||||
| else | else | ||||||
| @@ -349,8 +415,8 @@ while [ "X$SYMPA_VERSION" = "X" ]; do | |||||||
|    fi |    fi | ||||||
| done | done | ||||||
|  |  | ||||||
| _builddir=${_srcdir}/sympa-$SYMPA_VERSION | _builddir=${_src_base_dir}/sympa-$SYMPA_VERSION | ||||||
| _logdir=${_srcdir}/log_sympa-$SYMPA_VERSION | _logdir=${_src_base_dir}/log_sympa-$SYMPA_VERSION | ||||||
| if $UPDATE_SYMPA ; then | if $UPDATE_SYMPA ; then | ||||||
|    _log_file=${_logdir}/sympa_update.log |    _log_file=${_logdir}/sympa_update.log | ||||||
| else | else | ||||||
| @@ -425,10 +491,10 @@ if ! $UPDATE_SYMPA ; then | |||||||
|    SYMPA_USER= |    SYMPA_USER= | ||||||
|    while [ "X$SYMPA_USER" = "X" ] |    while [ "X$SYMPA_USER" = "X" ] | ||||||
|    do |    do | ||||||
|       echononl "Sympa user [${_SYMPA_USER}]: " |       echononl "Sympa user [${DEFAULT_SYMPA_USER}]: " | ||||||
|       read SYMPA_USER |       read SYMPA_USER | ||||||
|       if [ "X$SYMPA_USER" = "X" ]; then |       if [ "X$SYMPA_USER" = "X" ]; then | ||||||
|          SYMPA_USER=$_SYMPA_USER |          SYMPA_USER=$DEFAULT_SYMPA_USER | ||||||
|       fi |       fi | ||||||
|    done |    done | ||||||
|    SYMPA_GROUP= |    SYMPA_GROUP= | ||||||
| @@ -448,10 +514,10 @@ echo "" | |||||||
| echo "Specify Sympa's installation directory." | echo "Specify Sympa's installation directory." | ||||||
| echo "" | echo "" | ||||||
| PREFIX= | PREFIX= | ||||||
| echononl "Sympa installation directory [${_PREFIX}]: " | echononl "Sympa installation directory [${DEFAULT_PREFIX}]: " | ||||||
| read PREFIX | read PREFIX | ||||||
| if [ "X$PREFIX" = "X" ]; then | if [ "X$PREFIX" = "X" ]; then | ||||||
|    PREFIX=$_PREFIX |    PREFIX=$DEFAULT_PREFIX | ||||||
| fi | fi | ||||||
| SYMPA_MANPATH=${PREFIX}/share/man | SYMPA_MANPATH=${PREFIX}/share/man | ||||||
| SYMPA_BIN_DIR=${PREFIX}/bin | SYMPA_BIN_DIR=${PREFIX}/bin | ||||||
| @@ -481,11 +547,11 @@ echo "--" | |||||||
| echo "" | echo "" | ||||||
| echo "Specify directory of Sympa main configuration file (sympa.conf)." | echo "Specify directory of Sympa main configuration file (sympa.conf)." | ||||||
| echo "" | echo "" | ||||||
| SYMPA_MAIN_CONF_DIR=$_SYMPA_MAIN_CONF_DIR | SYMPA_MAIN_CONF_DIR= | ||||||
| echononl "Sympa main configuration directory [${_SYMPA_MAIN_CONF_DIR}]: " | echononl "Sympa main configuration directory [${DEFAULT_SYMPA_MAIN_CONF_DIR}]: " | ||||||
| read SYMPA_MAIN_CONF_DIR | read SYMPA_MAIN_CONF_DIR | ||||||
| if [ "X$SYMPA_MAIN_CONF_DIR" = "X" ]; then | if [ "X$SYMPA_MAIN_CONF_DIR" = "X" ]; then | ||||||
|    SYMPA_MAIN_CONF_DIR=$_SYMPA_MAIN_CONF_DIR |    SYMPA_MAIN_CONF_DIR=$DEFAULT_SYMPA_MAIN_CONF_DIR | ||||||
| fi | fi | ||||||
|  |  | ||||||
| if $UPDATE_SYMPA ; then | if $UPDATE_SYMPA ; then | ||||||
| @@ -508,8 +574,8 @@ else | |||||||
|       done |       done | ||||||
|       _empty_conf_file=`echo "$_empty_conf_file" | tr '[:upper:]' '[:lower:]'` |       _empty_conf_file=`echo "$_empty_conf_file" | tr '[:upper:]' '[:lower:]'` | ||||||
|       if [ "$_empty_conf_file" = "yes" ]; then |       if [ "$_empty_conf_file" = "yes" ]; then | ||||||
|          mv ${SYMPA_MAIN_CONF_DIR}/sympa.conf ${SYMPA_MAIN_CONF_DIR}/sympa.conf.`date +%Y%m%d-%H%M` |          mv ${SYMPA_MAIN_CONF_DIR}/sympa.conf ${SYMPA_MAIN_CONF_DIR}/sympa.conf.$backup_date | ||||||
|          ok "Saved ${SYMPA_MAIN_CONF_DIR}/sympa.conf to ${SYMPA_MAIN_CONF_DIR}/sympa.conf.`date +%Y%m%d-%H%M`" |          ok "Saved ${SYMPA_MAIN_CONF_DIR}/sympa.conf to ${SYMPA_MAIN_CONF_DIR}/sympa.conf.$backup_date" | ||||||
|       fi |       fi | ||||||
|    fi |    fi | ||||||
| fi | fi | ||||||
| @@ -523,11 +589,11 @@ if $UPDATE_SYMPA ; then | |||||||
|       echo "" |       echo "" | ||||||
|       echo "Specify Sympa's list data directory." |       echo "Specify Sympa's list data directory." | ||||||
|       echo "" |       echo "" | ||||||
|       SYMPA_LIST_DATA_DIR=$_SYMPA_LIST_DATA_DIR |       SYMPA_LIST_DATA_DIR= | ||||||
|       echononl "Sympa's list data directory [${_SYMPA_LIST_DATA_DIR}]: " |       echononl "Sympa's list data directory [${DEFAULT_SYMPA_LIST_DATA_DIR}]: " | ||||||
|       read SYMPA_LIST_DATA_DIR |       read SYMPA_LIST_DATA_DIR | ||||||
|       if [ "X$SYMPA_LIST_DATA_DIR" = "X" ]; then |       if [ "X$SYMPA_LIST_DATA_DIR" = "X" ]; then | ||||||
|          SYMPA_LIST_DATA_DIR=$_SYMPA_LIST_DATA_DIR |          SYMPA_LIST_DATA_DIR=$DEFAULT_SYMPA_LIST_DATA_DIR | ||||||
|       fi |       fi | ||||||
|    fi |    fi | ||||||
| else | else | ||||||
| @@ -536,11 +602,11 @@ else | |||||||
|    echo "" |    echo "" | ||||||
|    echo "Specify Sympa's list data directory." |    echo "Specify Sympa's list data directory." | ||||||
|    echo "" |    echo "" | ||||||
|    SYMPA_LIST_DATA_DIR=$_SYMPA_LIST_DATA_DIR |    SYMPA_LIST_DATA_DIR= | ||||||
|    echononl "Sympa's list data directory [${_SYMPA_LIST_DATA_DIR}]: " |    echononl "Sympa's list data directory [${DEFAULT_SYMPA_LIST_DATA_DIR}]: " | ||||||
|    read SYMPA_LIST_DATA_DIR |    read SYMPA_LIST_DATA_DIR | ||||||
|    if [ "X$SYMPA_LIST_DATA_DIR" = "X" ]; then |    if [ "X$SYMPA_LIST_DATA_DIR" = "X" ]; then | ||||||
|       SYMPA_LIST_DATA_DIR=$_SYMPA_LIST_DATA_DIR |       SYMPA_LIST_DATA_DIR=$DEFAULT_SYMPA_LIST_DATA_DIR | ||||||
|    fi |    fi | ||||||
| fi | fi | ||||||
| if $UPDATE_SYMPA ; then | if $UPDATE_SYMPA ; then | ||||||
| @@ -692,7 +758,6 @@ else | |||||||
| fi    | fi    | ||||||
|      |      | ||||||
|  |  | ||||||
|  |  | ||||||
| if ! $UPDATE_SYMPA ; then | if ! $UPDATE_SYMPA ; then | ||||||
|  |  | ||||||
|    echo "" |    echo "" | ||||||
| @@ -705,10 +770,10 @@ if ! $UPDATE_SYMPA ; then | |||||||
|    echo "Default domain for the mailing lists" |    echo "Default domain for the mailing lists" | ||||||
|    echo "" |    echo "" | ||||||
|    SYMPA_DOMAIN= |    SYMPA_DOMAIN= | ||||||
|    echononl "domain [${_SYMPA_DOMAIN}]: " |    echononl "domain [${DEFAULT_SYMPA_DOMAIN}]: " | ||||||
|    read SYMPA_DOMAIN |    read SYMPA_DOMAIN | ||||||
|    if [ "X$SYMPA_DOMAIN" = "X" ]; then |    if [ "X$SYMPA_DOMAIN" = "X" ]; then | ||||||
|       SYMPA_DOMAIN=$_SYMPA_DOMAIN |       SYMPA_DOMAIN=$DEFAULT_SYMPA_DOMAIN | ||||||
|    fi |    fi | ||||||
|  |  | ||||||
|    echo "" |    echo "" | ||||||
| @@ -717,10 +782,10 @@ if ! $UPDATE_SYMPA ; then | |||||||
|    echo "    - Comma seperated list of email addresses" |    echo "    - Comma seperated list of email addresses" | ||||||
|    echo "" |    echo "" | ||||||
|    SYMPA_LISTMASTER= |    SYMPA_LISTMASTER= | ||||||
|    echononl "listmaster [${_SYMPA_LISTMASTER}]: " |    echononl "listmaster [${DEFAULT_SYMPA_LISTMASTER}]: " | ||||||
|    read SYMPA_LISTMASTER |    read SYMPA_LISTMASTER | ||||||
|    if [ "X$SYMPA_LISTMASTER" = "X" ]; then |    if [ "X$SYMPA_LISTMASTER" = "X" ]; then | ||||||
|       SYMPA_LISTMASTER=$_SYMPA_LISTMASTER |       SYMPA_LISTMASTER=$DEFAULT_SYMPA_LISTMASTER | ||||||
|    fi |    fi | ||||||
|  |  | ||||||
|    echo "" |    echo "" | ||||||
| @@ -728,11 +793,10 @@ if ! $UPDATE_SYMPA ; then | |||||||
|    echo "URL for the Sympa web interface" |    echo "URL for the Sympa web interface" | ||||||
|    echo "" |    echo "" | ||||||
|    SYMPA_WEB_URL= |    SYMPA_WEB_URL= | ||||||
|    _SYMPA_WEB_URL="https://$SYMPA_DOMAIN/wws" |    echononl "wwsympa_url [${DEFAULT_SYMPA_WEB_URL}]: " | ||||||
|    echononl "wwsympa_url [${_SYMPA_WEB_URL}]: " |  | ||||||
|    read SYMPA_WEB_URL |    read SYMPA_WEB_URL | ||||||
|    if [ "X$SYMPA_WEB_URL" = "X" ]; then |    if [ "X$SYMPA_WEB_URL" = "X" ]; then | ||||||
|       SYMPA_WEB_URL=$_SYMPA_WEB_URL |       SYMPA_WEB_URL=$DEFAULT_SYMPA_WEB_URL | ||||||
|    fi |    fi | ||||||
|  |  | ||||||
|    echo "" |    echo "" | ||||||
| @@ -781,12 +845,13 @@ if ! $UPDATE_SYMPA ; then | |||||||
|    echo "" |    echo "" | ||||||
|    SYMPA_DB_NAME= |    SYMPA_DB_NAME= | ||||||
|    while [ "X$SYMPA_DB_NAME" = "X" ]; do |    while [ "X$SYMPA_DB_NAME" = "X" ]; do | ||||||
|       echononl "db_name: " |       echononl "db_name [$DEFAULT_SYMPA_DB_NAME]: " | ||||||
|       read SYMPA_DB_NAME |       read SYMPA_DB_NAME | ||||||
|       if [ "X$SYMPA_DB_NAME" = "X" ]; then |       if [ "X$SYMPA_DB_NAME" = "X" ]; then | ||||||
|          echo "" |          #echo "" | ||||||
|          echo -e "\n\t\033[33m\033[1mEingabe erforderlich!\033[m\n" |          #echo -e "\n\t\033[33m\033[1mEingabe erforderlich!\033[m\n" | ||||||
|          continue |          #continue | ||||||
|  |          SYMPA_DB_NAME="$DEFAULT_SYMPA_DB_NAME" | ||||||
|       fi |       fi | ||||||
|    done |    done | ||||||
|  |  | ||||||
| @@ -795,34 +860,38 @@ if ! $UPDATE_SYMPA ; then | |||||||
|    echo "Database host name." |    echo "Database host name." | ||||||
|    echo "" |    echo "" | ||||||
|    SYMPA_DB_HOST= |    SYMPA_DB_HOST= | ||||||
|    echononl "db_host [$_SYMPA_DB_HOST]: " |    echononl "db_host [$DEFAULT_SYMPA_DB_HOST]: " | ||||||
|    read SYMPA_DB_HOST |    read SYMPA_DB_HOST | ||||||
|    if [ "X$SYMPA_DB_HOST" == "X" ]; then |    if [ "X$SYMPA_DB_HOST" == "X" ]; then | ||||||
|       SYMPA_DB_HOST=$_SYMPA_DB_HOST |       SYMPA_DB_HOST=$DEFAULT_SYMPA_DB_HOST | ||||||
|    fi |    fi | ||||||
|  |  | ||||||
|    if [ "$SYMPA_DB_HOST" == "localhost" ]; then |    if [ "$SYMPA_DB_HOST" = "localhost" ]; then | ||||||
|       SYMPA_DB_HOST=127.0.0.1 |       SYMPA_DB_HOST=127.0.0.1 | ||||||
|    fi |    fi | ||||||
|    if [ "$SYMPA_DB_TYPE" == "mysql" ]; then |  | ||||||
|       _SYMPA_DB_PORT=3306 |    if [[ -z "$SYMPA_DB_PORT" ]]; then | ||||||
|    elif [ "$SYMPA_DB_TYPE" == "Pg" ]; then |       if [[ "$SYMPA_DB_TYPE" = "mysql" ]]; then | ||||||
|       _SYMPA_DB_PORT=5432  |          DEFAULT_SYMPA_DB_PORT=3306 | ||||||
|    elif [ "$SYMPA_DB_TYPE" == "Sybase" ]; then |       elif [[ "$SYMPA_DB_TYPE" = "Pg" ]]; then | ||||||
|       _SYMPA_DB_PORT=2638 |          DEFAULT_SYMPA_DB_PORT=5432  | ||||||
|    elif [ "$SYMPA_DB_TYPE" == "Oracle" ]; then |       elif [[ "$SYMPA_DB_TYPE" = "Sybase" ]]; then | ||||||
|       _SYMPA_DB_PORT=1575 |          DEFAULT_SYMPA_DB_PORT=2638 | ||||||
|  |       elif [[ "$SYMPA_DB_TYPE" = "Oracle" ]]; then | ||||||
|  |          DEFAULT_SYMPA_DB_PORT=1575 | ||||||
|       fi |       fi | ||||||
|  |    fi | ||||||
|  |  | ||||||
|    if [ "$SYMPA_DB_TYPE" != "SQLite" ]; then |    if [ "$SYMPA_DB_TYPE" != "SQLite" ]; then | ||||||
|       echo "" |       echo "" | ||||||
|       echo "" |       echo "" | ||||||
|       echo "Database port." |       echo "Database port." | ||||||
|       echo "" |       echo "" | ||||||
|       SYMPA_DB_PORT= |       SYMPA_DB_PORT= | ||||||
|       echononl "db_port [$_SYMPA_DB_PORT]: " |       echononl "db_port [$DEFAULT_SYMPA_DB_PORT]: " | ||||||
|       read SYMPA_DB_PORT |       read SYMPA_DB_PORT | ||||||
|       if [ "X$SYMPA_DB_PORT" == "X" ]; then |       if [ "X$SYMPA_DB_PORT" == "X" ]; then | ||||||
|          SYMPA_DB_PORT=$_SYMPA_DB_PORT |          SYMPA_DB_PORT=$DEFAULT_SYMPA_DB_PORT | ||||||
|       fi |       fi | ||||||
|    fi |    fi | ||||||
|  |  | ||||||
| @@ -832,20 +901,28 @@ if ! $UPDATE_SYMPA ; then | |||||||
|    echo "" |    echo "" | ||||||
|    SYMPA_DB_USER= |    SYMPA_DB_USER= | ||||||
|    while [ "X$SYMPA_DB_USER" = "X" ]; do |    while [ "X$SYMPA_DB_USER" = "X" ]; do | ||||||
|       echononl "db_user: " |       echononl "db_user [$DEFAULT_SYMPA_DB_USER]: " | ||||||
|       read SYMPA_DB_USER |       read SYMPA_DB_USER | ||||||
|       if [ "X$SYMPA_DB_USER" = "X" ]; then |       if [ "X$SYMPA_DB_USER" = "X" ]; then | ||||||
|          echo "" |          #echo "" | ||||||
|          echo -e "\n\t\033[33m\033[1mEingabe erforderlich!\033[m\n" |          #echo -e "\n\t\033[33m\033[1mEingabe erforderlich!\033[m\n" | ||||||
|          continue |          #continue | ||||||
|  |          SYMPA_DB_USER="$DEFAULT_SYMPA_DB_USER" | ||||||
|       fi |       fi | ||||||
|    done |    done | ||||||
|  |  | ||||||
|    echo "" |    echo "" | ||||||
|    echo "" |    echo "" | ||||||
|    echo "Password for database user." |    echo "Password for database user $SYMPA_DB_USER." | ||||||
|    echo "" |    echo "" | ||||||
|    SYMPA_DB_PASSWD= |    SYMPA_DB_PASSWD= | ||||||
|  |    if [[ -n "$DEFAULT_SYMPA_DB_PASSWD" ]]; then | ||||||
|  |       echononl "db_passwd [$DEFAULT_SYMPA_DB_PASSWD]: " | ||||||
|  |       read SYMPA_DB_PASSWD | ||||||
|  |       if [[ "X$SYMPA_DB_PASSWD" ]] ; then | ||||||
|  |          SYMPA_DB_PASSWD="$DEFAULT_SYMPA_DB_PASSWD" | ||||||
|  |       fi | ||||||
|  |    else | ||||||
|       while [ "X$SYMPA_DB_PASSWD" = "X" ]; do |       while [ "X$SYMPA_DB_PASSWD" = "X" ]; do | ||||||
|          echononl "db_passwd: " |          echononl "db_passwd: " | ||||||
|          read SYMPA_DB_PASSWD |          read SYMPA_DB_PASSWD | ||||||
| @@ -855,6 +932,7 @@ if ! $UPDATE_SYMPA ; then | |||||||
|             continue |             continue | ||||||
|          fi |          fi | ||||||
|       done |       done | ||||||
|  |    fi | ||||||
|  |  | ||||||
|  |  | ||||||
| else | else | ||||||
| @@ -871,60 +949,28 @@ fi | |||||||
|  |  | ||||||
| _wwsympa_dir="$(echo $SYMPA_WEB_URL | grep / | cut -d/ -f4-)" | _wwsympa_dir="$(echo $SYMPA_WEB_URL | grep / | cut -d/ -f4-)" | ||||||
|  |  | ||||||
|  | if [[ "$SYMPA_DB_TYPE" = "mysql" ]]; then | ||||||
| ## - Test if NySQL connection is available |  | ||||||
| ## - |  | ||||||
| if [ "$SYMPA_DB_TYPE" == "mysql" ]; then |  | ||||||
|    mysql -h $SYMPA_DB_HOST -u $SYMPA_DB_USER -p"$SYMPA_DB_PASSWD" $SYMPA_DB_NAME -N -s -e "show databases" > /dev/null 2>&1 |  | ||||||
|    if [ "$?" != "0" ]; then |  | ||||||
|    if $UPDATE_SYMPA ; then |    if $UPDATE_SYMPA ; then | ||||||
|  |       mysql -h $SYMPA_DB_HOST -u $SYMPA_DB_USER -p"$SYMPA_DB_PASSWD" $SYMPA_DB_NAME -N -s -e \ | ||||||
|  |          "SHOW DATABASES LIKE '$SYMPA_DB_NAME'" > /dev/null 2>&1 | ||||||
|  |       if [[ $? -ne 0 ]]; then | ||||||
|          fatal "Cannot connect to database witg given credentials" |          fatal "Cannot connect to database witg given credentials" | ||||||
|       else |  | ||||||
|          warn "Cannot connect to database. Try to create a new one with the given credentials" |  | ||||||
|          if [ -f "/usr/local/mysql/sys-maint.cnf" ]; then |  | ||||||
|             mysql_credential_args="--defaults-file=/usr/local/mysql/sys-maint.cnf" |  | ||||||
|          elif [ -f "/etc/mysql/debian.cnf" ]; then |  | ||||||
|             mysql_credential_args="--defaults-file=/etc/mysql/debian.cnf" |  | ||||||
|          else |  | ||||||
|             fatal "Cannot create new database \"$SYMPA_DB_NAME\"" |  | ||||||
|          fi |  | ||||||
|          mysql $mysql_credential_args -N -s -e \ |  | ||||||
|             "CREATE DATABASE IF NOT EXISTS $SYMPA_DB_NAME CHARACTER SET utf8 COLLATE utf8_general_ci" |  | ||||||
|          if [ "$?" != "0" ]; then |  | ||||||
|             fatal "Cannot create Database \"$SYMPA_DB_NAME\"" |  | ||||||
|          fi |  | ||||||
|          mysql $mysql_credential_args -N -s -e \ |  | ||||||
|             "GRANT ALL ON ${SYMPA_DB_NAME}.* TO '${SYMPA_DB_USER}'@'localhost' IDENTIFIED BY '${SYMPA_DB_PASSWD}'" |  | ||||||
|          if [ "$?" != "0" ]; then |  | ||||||
|             fatal "Cannot set credentials to db-user \"$SYMPA_DB_USER\" on Database \"$SYMPA_DB_NAME\"!" |  | ||||||
|          fi |  | ||||||
|          mysql $mysql_credential_args -N -s -e \ |  | ||||||
|             "GRANT ALL ON ${SYMPA_DB_NAME}.* TO '${SYMPA_DB_USER}'@'`hostname -f`' IDENTIFIED BY '${SYMPA_DB_PASSWD}'" |  | ||||||
|          if [ "$?" != "0" ]; then |  | ||||||
|             fatal "Cannot set credentials to db-user \"$SYMPA_DB_USER\" on Database \"$SYMPA_DB_NAME\"!" |  | ||||||
|          fi |  | ||||||
|          mysql $mysql_credential_args -N -s -e \ |  | ||||||
|             "USE mysql; UPDATE user SET Super_priv = 'Y' WHERE User = '$SYMPA_DB_USER'" |  | ||||||
|          if [ "$?" != "0" ]; then |  | ||||||
|             fatal "Cannot set \"Super_priv\" to user \"$SYMPA_DB_USER\"!" |  | ||||||
|          fi |  | ||||||
|          mysql $mysql_credential_args -N -s -e "FLUSH PRIVILEGES" |  | ||||||
|          if [ "$?" != "0" ]; then |  | ||||||
|             fatal "\"FLUSH PRIVILEGES\" failed!" |  | ||||||
|          fi |  | ||||||
|          mysql -h $SYMPA_DB_HOST -u $SYMPA_DB_USER -p"$SYMPA_DB_PASSWD" $SYMPA_DB_NAME -N -s -e "show tables" > /dev/null 2>&1 |  | ||||||
|          if [ "$?" != "0" ]; then |  | ||||||
|             fatal "Creation of Database \"$SYMPA_DB_NAME\" or setting credentials to db-user \"$SYMPA_DB_USER\" failed!" |  | ||||||
|          fi |  | ||||||
|          echo "$SYMPA_DB_NAME $SYMPA_DB_USER $SYMPA_DB_PASSWD" > /root/databases.txt.$SYMPA_DB_NAME |  | ||||||
|          ok "Creation of Database \"$SYMPA_DB_NAME\" was successfully." |  | ||||||
|       fi |       fi | ||||||
|    else |    else | ||||||
|       if ! $UPDATE_SYMPA ; then |       if [[ -z "$mysql_credential_args" ]]; then | ||||||
|          _tables=$(mysql -u$SYMPA_DB_USER -p$SYMPA_DB_PASSWD $SYMPA_DB_NAME -N -s -e \ |          fatal "No root access to MySQL database given (See Parameter MYSQL_CREDENTIALS)!" | ||||||
|             'SHOW TABLES' 2>/dev/null) |       else | ||||||
|          if [ -n "$_tables" ]; then |          if echo "$(mysql $mysql_credential_args -N -s -e "SHOW DATABASES";)" | grep -q "$SYMPA_DB_NAME" ; then | ||||||
|             warn "Database \"$SYMPA_DB_NAME\" contains tables, but this is an initial installation!" |  | ||||||
|  |             mysql -h $SYMPA_DB_HOST -u $SYMPA_DB_USER -p"$SYMPA_DB_PASSWD" $SYMPA_DB_NAME -N -s -e \ | ||||||
|  |                      "SHOW DATABASES LIKE '$SYMPA_DB_NAME'" > /dev/null 2>&1 | ||||||
|  |             if [[ $? -ne 0 ]]; then | ||||||
|  |                fatal "Database '$SYMPA_DB_NAME'exists, but is not accessable by the given credentials for user '$SYMPA_DB_USER'!" | ||||||
|  |             else | ||||||
|  |                _tables=$(mysql $mysql_credential_args $SYMPA_DB_NAME -N -s -e 'SHOW TABLES' 2>/dev/null) | ||||||
|  |  | ||||||
|  |                if [[ -n "$_tables" ]]; then | ||||||
|  |                   warn "Database \"$SYMPA_DB_NAME\" exists AND contains tables, but this is an initial installation!" | ||||||
|                   _empty_db="" |                   _empty_db="" | ||||||
|                   echononl "Empty database \"$SYMPA_DB_NAME\" now? (yes/no) [yes]: " |                   echononl "Empty database \"$SYMPA_DB_NAME\" now? (yes/no) [yes]: " | ||||||
|                   read _empty_db |                   read _empty_db | ||||||
| @@ -937,10 +983,21 @@ if [ "$SYMPA_DB_TYPE" == "mysql" ]; then | |||||||
|                      read OK |                      read OK | ||||||
|                   done |                   done | ||||||
|                   _empty_db=`echo "$_empty_db" | tr '[:upper:]' '[:lower:]'` |                   _empty_db=`echo "$_empty_db" | tr '[:upper:]' '[:lower:]'` | ||||||
|             if [ "$_empty_db" = "yes" ]; then |                   if [[ "$_empty_db" = "yes" ]]; then | ||||||
|  |  | ||||||
|  |                      echo "" | ||||||
|  |                      echononl "\tBackup database '$SYMPA_DB_NAME'.." | ||||||
|  |                         mysqldump $mysql_credential_args --opt $SYMPA_DB_NAME > ${_src_base_dir}/${SYMPA_DB_NAME}-${backup_date}.sql 2> $err_log | ||||||
|  |                      if [[ $? -eq 0 ]]; then | ||||||
|  |                         echo_ok | ||||||
|  |                      else | ||||||
|  |                         echo_failed | ||||||
|  |                         fatal "$(cat $err_log)" | ||||||
|  |                      fi | ||||||
|  |  | ||||||
|                      _failed=false |                      _failed=false | ||||||
|                      for _table in $_tables ; do |                      for _table in $_tables ; do | ||||||
|                   mysql -u$SYMPA_DB_USER -p$SYMPA_DB_PASSWD $SYMPA_DB_NAME -N -s -e "DROP TABLE $_table" 2> /dev/null |                         mysql $mysql_credential_args $SYMPA_DB_NAME -N -s -e "DROP TABLE $_table" 2> /dev/null | ||||||
|                         if  [ "$?" != "0" ]; then  |                         if  [ "$?" != "0" ]; then  | ||||||
|                            _failed=true |                            _failed=true | ||||||
|                         fi |                         fi | ||||||
| @@ -950,22 +1007,66 @@ if [ "$SYMPA_DB_TYPE" == "mysql" ]; then | |||||||
|                      else |                      else | ||||||
|                         ok "Cleaning up database \"$SYMPA_DB_NAME\" was successful." |                         ok "Cleaning up database \"$SYMPA_DB_NAME\" was successful." | ||||||
|                      fi |                      fi | ||||||
|  |                   else | ||||||
|  |                      fatal "Clean up database '$SYMPA_DB_NAME' or use another one." | ||||||
|                   fi |                   fi | ||||||
|                fi |                fi | ||||||
|                 |                 | ||||||
|             fi |             fi | ||||||
|  |  | ||||||
|  |          else | ||||||
|  |             mysql $mysql_credential_args -N -s -e \ | ||||||
|  |                "CREATE DATABASE IF NOT EXISTS $SYMPA_DB_NAME CHARACTER SET utf8 COLLATE utf8_general_ci" | ||||||
|  |             if [[ $? -ne 0 ]]; then | ||||||
|  |                fatal "Cannot create Database \"$SYMPA_DB_NAME\"" | ||||||
|  |             fi  | ||||||
|  |             mysql $mysql_credential_args -N -s -e \ | ||||||
|  |                "GRANT ALL ON ${SYMPA_DB_NAME}.* TO '${SYMPA_DB_USER}'@'localhost' IDENTIFIED BY '${SYMPA_DB_PASSWD}'" | ||||||
|  |             if [[ $? -ne 0 ]]; then | ||||||
|  |                fatal "Cannot set credentials to db-user \"$SYMPA_DB_USER\" on Database \"$SYMPA_DB_NAME\"!" | ||||||
|  |             fi | ||||||
|  |             mysql $mysql_credential_args -N -s -e \ | ||||||
|  |                "GRANT ALL ON ${SYMPA_DB_NAME}.* TO '${SYMPA_DB_USER}'@'`hostname -f`' IDENTIFIED BY '${SYMPA_DB_PASSWD}'" | ||||||
|  |             if [[ $? -ne 0 ]]; then | ||||||
|  |                fatal "Cannot set credentials to db-user \"$SYMPA_DB_USER\" on Database \"$SYMPA_DB_NAME\"!" | ||||||
|  |             fi | ||||||
|  |             mysql $mysql_credential_args -N -s -e \ | ||||||
|  |                "USE mysql; UPDATE user SET Super_priv = 'Y' WHERE User = '$SYMPA_DB_USER'" | ||||||
|  |             if [[ $? -ne 0 ]]; then | ||||||
|  |                fatal "Cannot set \"Super_priv\" to user \"$SYMPA_DB_USER\"!" | ||||||
|  |             fi | ||||||
|  |             mysql $mysql_credential_args -N -s -e "FLUSH PRIVILEGES" | ||||||
|  |             if [[ $? -ne 0 ]]; then | ||||||
|  |                fatal "\"FLUSH PRIVILEGES\" failed!" | ||||||
|  |             fi | ||||||
|  |             mysql -h $SYMPA_DB_HOST -u $SYMPA_DB_USER -p"$SYMPA_DB_PASSWD" $SYMPA_DB_NAME -N -s -e "show tables" > /dev/null 2>&1 | ||||||
|  |             if [[ $? -ne 0 ]]; then | ||||||
|  |                fatal "Creation of Database \"$SYMPA_DB_NAME\" or setting credentials to db-user \"$SYMPA_DB_USER\" failed!" | ||||||
|  |             fi | ||||||
|  |             echo "$SYMPA_DB_NAME $SYMPA_DB_USER $SYMPA_DB_PASSWD" > /root/databases.txt.$SYMPA_DB_NAME | ||||||
|  |             ok "Creation of Database \"$SYMPA_DB_NAME\" was successfully." | ||||||
|  |          fi | ||||||
|  |           | ||||||
|       fi |       fi | ||||||
|    fi |    fi | ||||||
|  | elif [[ "$SYMPA_DB_TYPE" = "Pg" ]] || [[ "$SYMPA_DB_TYPE" = "Oracle" ]] || [[ "$SYMPA_DB_TYPE" = "Sybase" ]]; then | ||||||
|  |    if  $UPDATE_SYMPA ; then | ||||||
|  |       warn "Databasetype is not fully supported by this script.\n\n\t             Take care, database '$SYMPA_DB_NAME' is accessible." | ||||||
|  |    else | ||||||
|  |       warn "Databasetype is not fully supported by this script.\n\n\t             Take care, an empty database '$SYMPA_DB_NAME' exists and is accessible" | ||||||
|  |    fi | ||||||
|  | fi | ||||||
|  |     | ||||||
|  |  | ||||||
| if  ! $UPDATE_SYMPA ; then | if  ! $UPDATE_SYMPA ; then | ||||||
|    echo "" |    echo "" | ||||||
|    echo "--" |    echo "--" | ||||||
|    echo "" |    echo "" | ||||||
|    __START_AT_BOOTTIME= |    __START_AT_BOOTTIME= | ||||||
|    echononl "Start at boot time (yes/no) [${_START_AT_BOOTTIME}]: "  |    echononl "Start at boot time (yes/no) [${DEFAULT_START_AT_BOOTTIME}]: "  | ||||||
|    read __START_AT_BOOTTIME  |    read __START_AT_BOOTTIME  | ||||||
|    if [ "X$__START_AT_BOOTTIME" = "X" ]; then  |    if [ "X$__START_AT_BOOTTIME" = "X" ]; then  | ||||||
|       __START_AT_BOOTTIME=$_START_AT_BOOTTIME  |       __START_AT_BOOTTIME=$DEFAULT_START_AT_BOOTTIME  | ||||||
|    fi  |    fi  | ||||||
|    __START_AT_BOOTTIME=`echo $__START_AT_BOOTTIME | tr '[:upper:]' '[:lower:]'`  |    __START_AT_BOOTTIME=`echo $__START_AT_BOOTTIME | tr '[:upper:]' '[:lower:]'`  | ||||||
|    if [ "$__START_AT_BOOTTIME" = "yes" ] ; then  |    if [ "$__START_AT_BOOTTIME" = "yes" ] ; then  | ||||||
| @@ -975,21 +1076,6 @@ if  ! $UPDATE_SYMPA ; then | |||||||
|    fi |    fi | ||||||
| fi | fi | ||||||
|  |  | ||||||
| #echo "" |  | ||||||
| #echo "--" |  | ||||||
| #echo "" |  | ||||||
| #__SYMLINK_INSTALL_DIR= |  | ||||||
| #echononl "Set sysmlink for installation directory (yes/no) [${_SYMLINK_INSTALL_DIR}]: " |  | ||||||
| #read __SYMLINK_INSTALL_DIR |  | ||||||
| #if [ "X$__SYMLINK_INSTALL_DIR" = "X" ]; then |  | ||||||
| #   __SYMLINK_INSTALL_DIR=$_SYMLINK_INSTALL_DIR |  | ||||||
| #fi |  | ||||||
| #__SYMLINK_INSTALL_DIR=`echo $__SYMLINK_INSTALL_DIR | tr '[:upper:]' '[:lower:]'` |  | ||||||
| #if [ "$__SYMLINK_INSTALL_DIR" = "yes" ] ; then |  | ||||||
| #   SYMLINK_INSTALL_DIR=true |  | ||||||
| #else |  | ||||||
| #   SYMLINK_INSTALL_DIR=false |  | ||||||
| #fi |  | ||||||
|  |  | ||||||
| if $UPDATE_SYMPA ; then | if $UPDATE_SYMPA ; then | ||||||
|    SYMPA_UID=`grep -e "^$SYMPA_USER" /etc/passwd | cut -d":" -f3` |    SYMPA_UID=`grep -e "^$SYMPA_USER" /etc/passwd | cut -d":" -f3` | ||||||
| @@ -1028,10 +1114,10 @@ echo -e "\033[32m--\033[m" | |||||||
| echo "" | echo "" | ||||||
| echo "Are you installing on a VServer guest system?" | echo "Are you installing on a VServer guest system?" | ||||||
| echo "" | echo "" | ||||||
| echononl "VServer Gastsystem (yes/no) [$_VSERVER_GUEST]: " | echononl "VServer Gastsystem (yes/no) [$DEFAULT_VSERVER_GUEST]: " | ||||||
| read OK | read OK | ||||||
| if [ "X$OK" = "X" ]; then | if [ "X$OK" = "X" ]; then | ||||||
|    OK=$_VSERVER_GUEST |    OK=$DEFAULT_VSERVER_GUEST | ||||||
| fi | fi | ||||||
| OK=`echo "$OK" | tr '[:upper:]' '[:lower:]'` | OK=`echo "$OK" | tr '[:upper:]' '[:lower:]'` | ||||||
| while [ "X$OK" != "Xyes" -a "X$OK" != "Xno" ]; do | while [ "X$OK" != "Xyes" -a "X$OK" != "Xno" ]; do | ||||||
| @@ -1042,12 +1128,6 @@ while [ "X$OK" != "Xyes" -a "X$OK" != "Xno" ]; do | |||||||
| done | done | ||||||
| if [ "$OK" = "yes" ]; then | if [ "$OK" = "yes" ]; then | ||||||
|    SYSTEMD_EXISTS=false |    SYSTEMD_EXISTS=false | ||||||
| else |  | ||||||
|    if [ "X`which systemd`" = "X" ]; then |  | ||||||
|       SYSTEMD_EXISTS=false |  | ||||||
|    else |  | ||||||
|       SYSTEMD_EXISTS=true |  | ||||||
|    fi |  | ||||||
| fi | fi | ||||||
|  |  | ||||||
| if $UPDATE_SYMPA ;then | if $UPDATE_SYMPA ;then | ||||||
| @@ -1147,8 +1227,8 @@ echo "" | |||||||
| echo "" | echo "" | ||||||
|  |  | ||||||
| echononl "\tCreate base source directory" | echononl "\tCreate base source directory" | ||||||
| if [ ! -d "$_srcdir" ]; then | if [ ! -d "$_src_base_dir" ]; then | ||||||
|    mkdir -p $_srcdir |    mkdir -p $_src_base_dir | ||||||
|    if [ "$?" = "0" ]; then |    if [ "$?" = "0" ]; then | ||||||
|       echo_ok |       echo_ok | ||||||
|    else |    else | ||||||
| @@ -1162,7 +1242,7 @@ fi | |||||||
|  |  | ||||||
| if [ -d "$_logdir" ];then | if [ -d "$_logdir" ];then | ||||||
|    echononl "\tBackup existing log directory \"`basename ${_logdir}`\" .. .." |    echononl "\tBackup existing log directory \"`basename ${_logdir}`\" .. .." | ||||||
|    mv $_logdir $_logdir.`date +%Y%m%d-%H%M` |    mv $_logdir $_logdir.$backup_date | ||||||
|    if [ "$?" = "0" ]; then |    if [ "$?" = "0" ]; then | ||||||
|       echo_ok |       echo_ok | ||||||
|    else |    else | ||||||
| @@ -1303,7 +1383,7 @@ echo "" >> $_log_file | |||||||
| echo "SYSTEMD_EXISTS=$SYSTEMD_EXISTS" >> $_log_file | echo "SYSTEMD_EXISTS=$SYSTEMD_EXISTS" >> $_log_file | ||||||
|  |  | ||||||
| echo "" >> $_log_file | echo "" >> $_log_file | ||||||
| echo "_srcdir=$_srcdir" >> $_log_file | echo "_src_base_dir=$_src_base_dir" >> $_log_file | ||||||
| echo "_builddir=$_builddir" >> $_log_file | echo "_builddir=$_builddir" >> $_log_file | ||||||
| echo "_logdir=$_logdir" >> $_log_file | echo "_logdir=$_logdir" >> $_log_file | ||||||
|  |  | ||||||
| @@ -1311,10 +1391,10 @@ echo "" | |||||||
|  |  | ||||||
| ## - | ## - | ||||||
| echo ""  >> $_log_file | echo ""  >> $_log_file | ||||||
| echo "## - Change into base source directory \"$_srcdir\" .." >> $_log_file | echo "## - Change into base source directory \"$_src_base_dir\" .." >> $_log_file | ||||||
| echo "## -" >> $_log_file | echo "## -" >> $_log_file | ||||||
| echo "cd $_srcdir" >> $_log_file | echo "cd $_src_base_dir" >> $_log_file | ||||||
| cd $_srcdir  >> $_log_file 2>&1 || fatal "Changing Directory (cd) to \"${_srcdir}\" failed!" | cd $_src_base_dir  >> $_log_file 2>&1 || fatal "Changing Directory (cd) to \"${_src_base_dir}\" failed!" | ||||||
|  |  | ||||||
| echononl "\tGet source sympa-${SYMPA_VERSION}.tar.gz .." | echononl "\tGet source sympa-${SYMPA_VERSION}.tar.gz .." | ||||||
|  |  | ||||||
| @@ -1687,13 +1767,12 @@ else | |||||||
|       done |       done | ||||||
|    fi |    fi | ||||||
|  |  | ||||||
|    _date=`date +%Y%m%d-%H%M` |  | ||||||
|    echononl "\tBackup existing installation directory ($PREFIX) .." |    echononl "\tBackup existing installation directory ($PREFIX) .." | ||||||
|    echo ""  >> $_log_file |    echo ""  >> $_log_file | ||||||
|    echo "## - Backup existing installation directory ($PREFIX) .." >> $_log_file |    echo "## - Backup existing installation directory ($PREFIX) .." >> $_log_file | ||||||
|    echo "## -" >> $_log_file |    echo "## -" >> $_log_file | ||||||
|    echo "cp -a $PREFIX ${PREFIX}.${SYMPA_OLD_VERSION}.BAK.$_date" >> $_log_file |    echo "cp -a $PREFIX ${PREFIX}.${SYMPA_OLD_VERSION}.BAK.$backup_date" >> $_log_file | ||||||
|    cp -a $PREFIX ${PREFIX}.${SYMPA_OLD_VERSION}.$_date >> $_log_file 2>&1 |    cp -a $PREFIX ${PREFIX}.${SYMPA_OLD_VERSION}.$backup_date >> $_log_file 2>&1 | ||||||
|    if [ "$?" = "0" ]; then |    if [ "$?" = "0" ]; then | ||||||
|       echo_ok |       echo_ok | ||||||
|    else |    else | ||||||
| @@ -1710,8 +1789,8 @@ else | |||||||
|    echo ""  >> $_log_file |    echo ""  >> $_log_file | ||||||
|    echo "## - Backup existing list directory ($SYMPA_LIST_DATA_DIR) .." >> $_log_file |    echo "## - Backup existing list directory ($SYMPA_LIST_DATA_DIR) .." >> $_log_file | ||||||
|    echo "## -" >> $_log_file |    echo "## -" >> $_log_file | ||||||
|    echo "cp -a $SYMPA_LIST_DATA_DIR ${SYMPA_LIST_DATA_DIR}.$_date" >> $_log_file |    echo "cp -a $SYMPA_LIST_DATA_DIR ${SYMPA_LIST_DATA_DIR}.$backup_date" >> $_log_file | ||||||
|    cp -a $SYMPA_LIST_DATA_DIR ${SYMPA_LIST_DATA_DIR}.$_date >> $_log_file 2>&1 |    cp -a $SYMPA_LIST_DATA_DIR ${SYMPA_LIST_DATA_DIR}.$backup_date >> $_log_file 2>&1 | ||||||
|    if [ "$?" = "0" ]; then |    if [ "$?" = "0" ]; then | ||||||
|       echo_ok |       echo_ok | ||||||
|    else |    else | ||||||
| @@ -1729,9 +1808,9 @@ else | |||||||
|       echo ""  >> $_log_file |       echo ""  >> $_log_file | ||||||
|       echo "## - Dump Database \"$SYMPA_DB_NAME\" .." >> $_log_file |       echo "## - Dump Database \"$SYMPA_DB_NAME\" .." >> $_log_file | ||||||
|       echo "## -" >> $_log_file |       echo "## -" >> $_log_file | ||||||
|       echo "mysqldump -h $SYMPA_DB_HOST -u $SYMPA_DB_USER -p$SYMPA_DB_PASSWD --opt $SYMPA_DB_NAME > ${PREFIX}.${SYMPA_OLD_VERSION}.BAK.${_date}/${SYMPA_DB_NAME}-${_date}.sql" >> $_log_file |       echo "mysqldump -h $SYMPA_DB_HOST -u $SYMPA_DB_USER -p$SYMPA_DB_PASSWD --opt $SYMPA_DB_NAME > ${PREFIX}.${SYMPA_OLD_VERSION}.BAK.${backup_date}/${SYMPA_DB_NAME}-${_date}.sql" >> $_log_file | ||||||
|       #mysqldump -h $SYMPA_DB_HOST -u $SYMPA_DB_USER -p$SYMPA_DB_PASSWD --opt $SYMPA_DB_NAME > ${PREFIX}.${SYMPA_OLD_VERSION}.BAK.${_date}/${SYMPA_DB_NAME}-${_date}.sql  2>> $_log_file |       #mysqldump -h $SYMPA_DB_HOST -u $SYMPA_DB_USER -p$SYMPA_DB_PASSWD --opt $SYMPA_DB_NAME > ${PREFIX}.${SYMPA_OLD_VERSION}.BAK.${_date}/${SYMPA_DB_NAME}-${backup_date}.sql  2>> $_log_file | ||||||
|       mysqldump -h $SYMPA_DB_HOST -u $SYMPA_DB_USER -p$SYMPA_DB_PASSWD --opt $SYMPA_DB_NAME > `dirname ${PREFIX}`/${SYMPA_DB_NAME}.${SYMPA_OLD_VERSION}.${_date}.sql  2>> $_log_file |       mysqldump -h $SYMPA_DB_HOST -u $SYMPA_DB_USER -p$SYMPA_DB_PASSWD --opt $SYMPA_DB_NAME > `dirname ${PREFIX}`/${SYMPA_DB_NAME}.${SYMPA_OLD_VERSION}.${backup_date}.sql  2>> $_log_file | ||||||
|       if [ "$?" = "0" ]; then |       if [ "$?" = "0" ]; then | ||||||
|          echo_ok |          echo_ok | ||||||
|       else |       else | ||||||
| @@ -1755,8 +1834,8 @@ else | |||||||
|    echo ""  >> $_log_file |    echo ""  >> $_log_file | ||||||
|    echo "## - Backup existing init script .." >> $_log_file |    echo "## - Backup existing init script .." >> $_log_file | ||||||
|    echo "## -" >> $_log_file |    echo "## -" >> $_log_file | ||||||
|    echo "cp -a ${SYMPA_INIT_DIR}/sympa ${SYMPA_INIT_DIR}/sympa.$_date" >> $_log_file |    echo "cp -a ${SYMPA_INIT_DIR}/sympa ${SYMPA_INIT_DIR}/sympa.$backup_date" >> $_log_file | ||||||
|    cp -a ${SYMPA_INIT_DIR}/sympa ${SYMPA_INIT_DIR}/sympa.$_date >> $_log_file 2>&1 |    cp -a ${SYMPA_INIT_DIR}/sympa ${SYMPA_INIT_DIR}/sympa.$backup_date >> $_log_file 2>&1 | ||||||
|    if [ "$?" = "0" ]; then |    if [ "$?" = "0" ]; then | ||||||
|       echo_ok |       echo_ok | ||||||
|    else |    else | ||||||
| @@ -1790,8 +1869,8 @@ if [ -d "$_builddir" ];then | |||||||
|    echo "" >> $_log_file |    echo "" >> $_log_file | ||||||
|    echo "## - Move (backup) existing source directory ..." >> $_log_file |    echo "## - Move (backup) existing source directory ..." >> $_log_file | ||||||
|    echo "## -" >> $_log_file |    echo "## -" >> $_log_file | ||||||
|    echo "mv $_builddir $_builddir.`date +%Y%m%d-%H%M`" >> $_log_file |    echo "mv $_builddir $_builddir.$backup_date" >> $_log_file | ||||||
|    mv $_builddir $_builddir.`date +%Y%m%d-%H%M` >> $_log_file 2>&1 |    mv $_builddir $_builddir.$backup_date >> $_log_file 2>&1 | ||||||
|    if [ "$?" = "0" ]; then |    if [ "$?" = "0" ]; then | ||||||
|       echo_ok |       echo_ok | ||||||
|    else |    else | ||||||
| @@ -1805,10 +1884,10 @@ fi | |||||||
| ## - Unpack source archive | ## - Unpack source archive | ||||||
| ## - | ## - | ||||||
| echo "" >> $_log_file | echo "" >> $_log_file | ||||||
| echo "## - Change into base source directory \"$_srcdir\" .." >> $_log_file | echo "## - Change into base source directory \"$_src_base_dir\" .." >> $_log_file | ||||||
| echo "## -" >> $_log_file | echo "## -" >> $_log_file | ||||||
| echo "cd $_srcdir" >> $_log_file | echo "cd $_src_base_dir" >> $_log_file | ||||||
| cd $_srcdir | cd $_src_base_dir | ||||||
|  |  | ||||||
| echo "" >> $_log_file | echo "" >> $_log_file | ||||||
| echo "## - Unpack sympa-${SYMPA_VERSION}.tar.gz .." >> $_log_file | echo "## - Unpack sympa-${SYMPA_VERSION}.tar.gz .." >> $_log_file | ||||||
| @@ -1888,8 +1967,8 @@ if ! $UPDATE_SYMPA ; then | |||||||
|       echo "" >> $_log_file |       echo "" >> $_log_file | ||||||
|       echo "## - Backup existing installation directory.." >> $_log_file |       echo "## - Backup existing installation directory.." >> $_log_file | ||||||
|       echo "## -" >> $_log_file |       echo "## -" >> $_log_file | ||||||
|       echo "mv $PREFIX $PREFIX.`date +%Y%m%d-%H%M`" >> $_log_file |       echo "mv $PREFIX $PREFIX.$backup_date" >> $_log_file | ||||||
|       mv $PREFIX $PREFIX.`date +%Y%m%d-%H%M` >> $_log_file 2>&1 |       mv $PREFIX $PREFIX.$backup_date >> $_log_file 2>&1 | ||||||
|       if [ "$?" = "0" ]; then |       if [ "$?" = "0" ]; then | ||||||
|          echo_ok |          echo_ok | ||||||
|       else |       else | ||||||
| @@ -1977,37 +2056,6 @@ else | |||||||
|    fi |    fi | ||||||
| fi | fi | ||||||
|  |  | ||||||
| #if $SYMLINK_INSTALL_DIR ; then |  | ||||||
| # |  | ||||||
| #   if [ -h "/usr/local/sympa" ]; then |  | ||||||
| #      echo "" >> $_log_file |  | ||||||
| #      echo "## - Remove existing symlink /usr/local/sympa .." >> $_log_file |  | ||||||
| #      echo "## -" >> $_log_file |  | ||||||
| #      echo "rm /usr/local/sympa" >> $_log_file |  | ||||||
| #      echononl "\tRemove existing symlink /usr/local/sympa .." |  | ||||||
| #      rm /usr/local/sympa >> $_log_file 2>&1 |  | ||||||
| #      if [ "$?" = "0" ]; then |  | ||||||
| #         echo_ok |  | ||||||
| #      else |  | ||||||
| #         echo_failed |  | ||||||
| #         warn "Remove existing symlink /usr/local/sympa failed!" |  | ||||||
| #      fi |  | ||||||
| #   fi |  | ||||||
| # |  | ||||||
| #   echo "" >> $_log_file |  | ||||||
| #   echo "## - Set Symlink /usr/local/sympa .." >> $_log_file |  | ||||||
| #   echo "## - ln -s `basename $PREFIX` /usr/local/sympa" >> $_log_file |  | ||||||
| #   echo "" >> $_log_file |  | ||||||
| #   echononl "\tSet Symlink /usr/local/sympa .." |  | ||||||
| #   ln -s `basename $PREFIX` /usr/local/sympa >> $_log_file 2>&1 |  | ||||||
| #   if [ "$?" = "0" ]; then |  | ||||||
| #      echo_ok |  | ||||||
| #   else |  | ||||||
| #      echo_failed |  | ||||||
| #      warn "Setting symlink /usr/local/sympa failed" |  | ||||||
| #   fi |  | ||||||
| #fi |  | ||||||
|  |  | ||||||
| echo "" | echo "" | ||||||
| echo -e "\t---" | echo -e "\t---" | ||||||
| echo -e "\t--- Configure Sympa mailing list manager (base configuration)" | echo -e "\t--- Configure Sympa mailing list manager (base configuration)" | ||||||
| @@ -3502,4 +3550,4 @@ if [ -n "$msg_postfix" ]; then | |||||||
| fi | fi | ||||||
|  |  | ||||||
| echo "" | echo "" | ||||||
| exit | clean_up 0 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user