|
@@ -1,106 +0,0 @@
|
|
|
-#!/bin/bash
|
|
|
-
|
|
|
-USER=zammad
|
|
|
-REPOURL=git@github.com:martini/zammad.git
|
|
|
-DBNAME=zammad
|
|
|
-DBUSER=zammad
|
|
|
-
|
|
|
-function check_requirements() {
|
|
|
- items="git useradd sudo getent curl bash gcc make svn apg"
|
|
|
- for item in $items
|
|
|
- do
|
|
|
- which $item > /dev/null
|
|
|
- if [ $? -ne 0 ]; then
|
|
|
- echo Please install $item and start this script again.
|
|
|
- exit 1
|
|
|
- fi
|
|
|
- done
|
|
|
-}
|
|
|
-
|
|
|
-function check_os()
|
|
|
-{
|
|
|
- # Debian
|
|
|
- if [ -f /etc/debian_version ]; then
|
|
|
- OS=Debian
|
|
|
- local MAJOR
|
|
|
- MAJOR=$(cut -d. /etc/debian_version -f1)
|
|
|
- if [ $MAJOR -lt 7 ]; then
|
|
|
- echo Please check the supported operating systems
|
|
|
- exit 1
|
|
|
- fi
|
|
|
- fi
|
|
|
-}
|
|
|
-
|
|
|
-check_requirements
|
|
|
-check_os
|
|
|
-
|
|
|
-
|
|
|
-#
|
|
|
-# @TODO Should the mysql user be created?
|
|
|
-# @TODO Install Elasticsearch?
|
|
|
-# @TODO Should the script create a VirtualHost or a config file to include for apache/nginx?
|
|
|
-#
|
|
|
-
|
|
|
-#
|
|
|
-# Check for zammad user and create if needed
|
|
|
-#
|
|
|
-id -u "${USER}" > /dev/null 2>&1
|
|
|
-if [ $? -ne 0 ]; then
|
|
|
- useradd -c 'user running zammad' -m -s /bin/bash $USER
|
|
|
-fi
|
|
|
-
|
|
|
-#
|
|
|
-# find the user's homedir and primary group name
|
|
|
-#
|
|
|
-HOMEDIR=$(getent passwd $USER | cut -d: -f 6)
|
|
|
-GROUP=$(id -gn $USER)
|
|
|
-
|
|
|
-cd "${HOMEDIR}" || exit 1
|
|
|
-sudo -u "${USER}" -H git clone $REPOURL zammad
|
|
|
-cd zammad || exit 1
|
|
|
-LATEST=$(git tag --list|sort|tail -1)
|
|
|
-git checkout tags/"${LATEST}"
|
|
|
-chown -R "${USER}":"${GROUP}" .
|
|
|
-
|
|
|
-#
|
|
|
-# RVM
|
|
|
-#
|
|
|
-sudo -u "${USER}" -H bash -c 'curl -sSL https://get.rvm.io | bash -s stable'
|
|
|
-
|
|
|
-
|
|
|
-#
|
|
|
-# install Ruby
|
|
|
-#
|
|
|
-sudo -u "${USER}" -H bash -l -c 'rvm install 2.1.2'
|
|
|
-sudo -u "${USER}" -H bash -l -c 'rvm alias create default 2.1.2'
|
|
|
-
|
|
|
-#
|
|
|
-# after rvm requirements
|
|
|
-# Installing required packages: gawk, g++, libreadline6-dev, zlib1g-dev, libssl-dev, libyaml-dev, libsqlite3-dev, sqlite3, autoconf, libgdbm-dev, libncurses5-dev, automake, libtool, bison, pkg-config, libffi-dev................
|
|
|
-
|
|
|
-
|
|
|
-sudo -u "${USER}" -H bash -l -c 'cd ~/zammad && gem install rails --no-ri --no-rdoc'
|
|
|
-sudo -u "${USER}" -H bash -l -c 'cd ~/zammad && bundle install --jobs 8'
|
|
|
-
|
|
|
-DBPASS=$(apg -x8|head -1)
|
|
|
-echo Password $DBPASS
|
|
|
-mysql -e "GRANT ALL ON ${DBNAME}.* to '${DBUSER}'@'localhost' IDENTIFIED BY '$DBPASS'";
|
|
|
-sudo -u $USER -H cp ${HOMEDIR}/zammad/config/database.yml.dist ${HOMEDIR}/zammad/config/database.yml
|
|
|
-sudo -u $USER -H sed -i s/some_pass/${DBPASS}/g ${HOMEDIR}/zammad/config/database.yml
|
|
|
-sudo -u $USER -H sed -i s/some_user/${DBUSER}/g ${HOMEDIR}/zammad/config/database.yml
|
|
|
-sudo -u $USER -H sed -i s/zammad_prod/zammad/g ${HOMEDIR}/zammad/config/database.yml
|
|
|
-
|
|
|
-#
|
|
|
-#
|
|
|
-#
|
|
|
-sudo -u "${USER}" -H bash -l -c 'cd ~/zammad && RAILS_ENV=production rake db:create'
|
|
|
-sudo -u "${USER}" -H bash -l -c 'cd ~/zammad && RAILS_ENV=production rake db:migrate'
|
|
|
-sudo -u "${USER}" -H bash -l -c 'cd ~/zammad && RAILS_ENV=production rake db:seed'
|
|
|
-sudo -u "${USER}" -H bash -l -c 'cd ~/zammad && RAILS_ENV=production rake assets:precompile'
|
|
|
-
|
|
|
-cp "${HOMEDIR}/zammad/script/init.d/zammad" /etc/init.d/zammad
|
|
|
-chmod +x /etc/init.d/zammad
|
|
|
-
|
|
|
-if [ "$OS" = "Debian" ]; then
|
|
|
- update-rc.d zammad defaults
|
|
|
-fi
|