From 5d5b1766d5d4665b3584dc79cb1b968c2af3ab61 Mon Sep 17 00:00:00 2001 From: Martin Edenhofer Date: Mon, 14 Nov 2016 03:22:58 +0100 Subject: [PATCH] Applied CentOS 7 issues. --- contrib/packager.io/postinstall.sh | 87 ++++++++++++++++++------------ 1 file changed, 53 insertions(+), 34 deletions(-) diff --git a/contrib/packager.io/postinstall.sh b/contrib/packager.io/postinstall.sh index 0e1691a32..b4bc30cb0 100755 --- a/contrib/packager.io/postinstall.sh +++ b/contrib/packager.io/postinstall.sh @@ -45,26 +45,26 @@ else # centos if [ -n "$(which postgresql-setup)" ]; then - echo "preparing postgresql server" - postgresql-setup initdb + echo "preparing postgresql server" + postgresql-setup initdb - echo "backuping postgres config" - test -f /var/lib/pgsql/data/pg_hba.conf.bak || cp /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf.bak + echo "backuping postgres config" + test -f /var/lib/pgsql/data/pg_hba.conf.bak || cp /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf.bak - echo "allow login via username and password in postgresql" - sed 's/ident/trust/g' < /var/lib/pgsql/data/pg_hba.conf.bak > /var/lib/pgsql/data/pg_hba.conf + echo "allow login via username and password in postgresql" + sed 's/ident/trust/g' < /var/lib/pgsql/data/pg_hba.conf.bak > /var/lib/pgsql/data/pg_hba.conf - echo "restarting postgresql server" - ${INIT_CMD} restart postgresql + echo "restarting postgresql server" + ${INIT_CMD} restart postgresql - echo "create postgresql bootstart" - ${INIT_CMD} enable postgresql.service + echo "create postgresql bootstart" + ${INIT_CMD} enable postgresql.service fi echo "creating zammad postgresql db" su - postgres -c "createdb -E UTF8 ${DB}" - echo "creating zammad postgresql user" + echo "creating zammad postgresql user" echo "CREATE USER \"${DB_USER}\" WITH PASSWORD '${DB_PASS}';" | su - postgres -c psql echo "grant privileges to new postgresql user" @@ -78,35 +78,35 @@ else # mysql / mariadb elif [ -n "$(which mysql)" ];then - echo "installing zammd on mysql" + echo "installing zammd on mysql" - if [ -f "${MY_CNF}" ]; then - MYSQL_CREDENTIALS="--defaults-file=${MY_CNF}" - else - echo -n "Please enter your MySQL root password:" - read -s MYSQL_ROOT_PASS - MYSQL_CREDENTIALS="-u root -p${MYSQL_ROOT_PASS}" - fi + if [ -f "${MY_CNF}" ]; then + MYSQL_CREDENTIALS="--defaults-file=${MY_CNF}" + else + echo -n "Please enter your MySQL root password:" + read -s MYSQL_ROOT_PASS + MYSQL_CREDENTIALS="-u root -p${MYSQL_ROOT_PASS}" + fi - echo "creating zammad mysql db" - mysql ${MYSQL_CREDENTIALS} -e "CREATE DATABASE ${DB} DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;" + echo "creating zammad mysql db" + mysql ${MYSQL_CREDENTIALS} -e "CREATE DATABASE ${DB} DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;" - echo "creating zammad mysql user" - mysql ${MYSQL_CREDENTIALS} -e "CREATE USER \"${DB_USER}\"@\"${DB_HOST}\" IDENTIFIED BY \"${DB_PASS}\";" + echo "creating zammad mysql user" + mysql ${MYSQL_CREDENTIALS} -e "CREATE USER \"${DB_USER}\"@\"${DB_HOST}\" IDENTIFIED BY \"${DB_PASS}\";" - echo "grant privileges to new mysql user" - mysql ${MYSQL_CREDENTIALS} -e "GRANT ALL PRIVILEGES ON ${DB}.* TO \"${DB_USER}\"@\"${DB_HOST}\"; FLUSH PRIVILEGES;" + echo "grant privileges to new mysql user" + mysql ${MYSQL_CREDENTIALS} -e "GRANT ALL PRIVILEGES ON ${DB}.* TO \"${DB_USER}\"@\"${DB_HOST}\"; FLUSH PRIVILEGES;" - echo "updating database.yml" - sed -e "s/.*adapter:.*/ adapter: mysql2/" \ - -e "s/.*username:.*/ username: ${DB_USER}/" \ - -e "s/.*password:.*/ password: ${DB_PASS}/" \ - -e "s/.*database:.*/ database: ${DB}/" < ${ZAMMAD_DIR}/config/database.yml.dist > ${ZAMMAD_DIR}/config/database.yml + echo "updating database.yml" + sed -e "s/.*adapter:.*/ adapter: mysql2/" \ + -e "s/.*username:.*/ username: ${DB_USER}/" \ + -e "s/.*password:.*/ password: ${DB_PASS}/" \ + -e "s/.*database:.*/ database: ${DB}/" < ${ZAMMAD_DIR}/config/database.yml.dist > ${ZAMMAD_DIR}/config/database.yml # sqlite / no local db elif [ -n "$(which sqlite)" ];then - echo "installing zammad on sqlite" - echo "in fact this does nothing at the moment. use this to install zammad without a local database. sqlite should only be used in dev environment anyway." + echo "installing zammad on sqlite" + echo "in fact this does nothing at the moment. use this to install zammad without a local database. sqlite should only be used in dev environment anyway." fi # fill database @@ -118,6 +118,18 @@ fi echo "# Starting Zammad" ${INIT_CMD} start zammad +# on centos, allow nginx to connect to application server +if [ -n "$(which setsebool)" ]; then + setsebool httpd_can_network_connect on -P +fi + +# on centos, open port 80 and 443 +if [ -n "$(which firewall-cmd)" ]; then + firewall-cmd --zone=public --add-port=80/tcp --permanent + firewall-cmd --zone=public --add-port=443/tcp --permanent + firewall-cmd --reload +fi + # copy nginx config if [ -n "$(which nginx)" ]; then # debian / ubuntu @@ -132,12 +144,19 @@ if [ -n "$(which nginx)" ]; then test -f ${NGINX_CONF} || cp ${ZAMMAD_DIR}/contrib/nginx/zammad.conf ${NGINX_CONF} fi - echo "# Restarting Nginx" + echo "restarting Nginx" ${INIT_CMD} restart nginx - + + echo "create Nginx bootstart" + ${INIT_CMD} enable nginx + + echo -e "############################################################################################################" echo -e "\nAdd your FQDN to servername directive in ${NGINX_CONF} and restart nginx if you're not testing localy" echo -e "or open http://localhost in your browser to start using Zammad.\n" + echo -e "############################################################################################################" else + echo -e "############################################################################################################" echo -e "\nOpen http://localhost:3000 in your browser to start using Zammad.\n" + echo -e "############################################################################################################" fi