Commit 5986b1d3087566d7bb9bb4717ed6fe2a7964782e

Authored by Charles Oliveira
Committed by Sergio Oliveira
1 parent c1e6c319

Added redmine on supervisor and added comments

scripts/redmine.sh
1 1 #!/bin/bash
2 2  
3   -set -x
4   -
5   -if [ ! "$1" ]
6   - then
7   - echo "Por favor, passe como parâmetro o ip do banco de dados"
8   - echo "./redmine.sh 127.0.0.1"
9   - exit -1
  3 +LOCAL_HOST=$1
  4 +if [ -e $LOCAL_HOST ]; then
  5 + echo "Please, inform the IP address Redmine will be listening"
  6 + echo "ex: ./redmine.sh 127.0.0.1"
  7 + exit -1
10 8 fi
11 9  
  10 +echo "Installing a lot of system dependencies also making use of EPEL repository"
12 11 sudo rpm -iUvh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
13   -
14 12 sudo yum -y install zlib-devel curl-devel httpd-devel apr-devel apr-util-devel subversion git postgresql-devel gcc gcc-c++.x86_64 make automake autoconf curl-devel openssl-devel httpd-devel apr-devel apr-util-devel sqlite-devel libxslt-devel libxml2-devel.x86_64 php-pear ImageMagick ImageMagick-devel ImageMagick-perl vim patch readline readline-devel zlib libffi-devel make bzip2 libtool bison wget libyaml-devel
15 13  
  14 +echo "Making sure $USER can access /opt"
  15 +sudo chown $USER /opt && cd /opt
16 16  
17   -curl -L get.rvm.io | bash -s stable
18   -
19   -source /etc/profile.d/rvm.sh
20   -
21   -
22   -rvm install 2.0.0
23   -rvm use 2.0.0 --default
  17 +echo "Downloading Redmine 2.3"
  18 +git clone https://github.com/redmine/redmine.git --branch 2.3-stable && cd /opt/redmine
  19 +ln -s /opt/redmine/public /opt/redmine/public/redmine
24 20  
25   -rvm gemset create redmine
  21 +echo "Installing Ruby/Redmine dependencies, this will take a VERY LONG TIME, grab a cup of coffee..."
26 22 rvm gemset use redmine
27   -
28   -sudo chown -R $USER: /opt
29   -
30   -cd /opt
31   -git clone https://github.com/redmine/redmine.git --branch 2.3-stable
32   -
33   -cd /opt/redmine
34 23 bundle install --verbose --without mysql sqlite
35   -gem install unicorn --no-ri --no-rdoc
36   -gem install pg -v '0.17.1' --no-ri --no-rdoc
  24 +gem --verbose install unicorn --no-ri --no-rdoc
  25 +gem --verbose install pg -v '0.17.1' --no-ri --no-rdoc
37 26  
38   -cd config/
39   -
40   -echo "production:
  27 +echo "Setting Redmine database file"
  28 +cd config/ && echo "production:
41 29 adapter: postgresql
42 30 database: redmine
43   - host: $1
  31 + host: $LOCAL_HOST
44 32 username: redmine
45 33 password: redmine
46 34 encoding: utf8" > database.yml
47 35  
48   -
  36 +echo "Initializing Redmine database"
  37 +export RAILS_ENV=production
49 38 rake generate_secret_token
  39 +rake db:migrate
  40 +echo "pt-BR" | rake redmine:load_default_data
50 41  
51   -RAILS_ENV=production rake db:migrate
52   -
53   -echo "pt-BR" | RAILS_ENV=production rake redmine:load_default_data
54   -
55   -
56   -cd /opt/redmine
57   -mkdir pids
58   -wget https://gitlab.com/softwarepublico/colabdocumentation/raw/master/Arquivos/redmine/unicorn.rb -O config/unicorn.rb
59   -
60   -wget https://gitlab.com/softwarepublico/colabdocumentation/raw/master/Arquivos/redmine/routes.rb -O config/routes.rb
61   -
62   -ln -s /opt/redmine/public /opt/redmine/public/redmine
63   -
64   -cd /opt/redmine/plugins
65   -git clone https://github.com/backlogs/redmine_backlogs.git
66   -
67   -cd redmine_backlogs
68   -git checkout v1.0.6
  42 +echo "Downloading Redmine plugins"
  43 +cd /opt/redmine/plugins && git clone https://github.com/colab-community/single_auth.git
  44 +cd /opt/redmine/plugins && git clone https://github.com/backlogs/redmine_backlogs.git
69 45  
70   -RAILS_ENV=production
71   -export RAILS_ENV
  46 +echo "Installing backlogs plugin"
  47 +cd redmine_backlogs && git checkout v1.0.6
72 48 bundle install --verbose
73   -
74 49 gem uninstall rack -v '1.5.2'
75 50  
  51 +echo "Finishing Redmine settings"
76 52 cd /opt/redmine
77 53 bundle install --verbose --without mysql sqlite
78 54 bundle exec rake db:migrate
79 55 bundle exec rake redmine:backlogs:install story_trackers=2 task_tracker=1
80 56  
81   -cd /opt/redmine/plugins
82   -git clone https://github.com/colab-community/single_auth.git
  57 +echo "Downloading server configuration files"
  58 +cd /opt/redmine && mkdir pids
  59 +wget https://gitlab.com/softwarepublico/colabdocumentation/raw/master/Arquivos/redmine/unicorn.rb -O config/unicorn.rb
  60 +wget https://gitlab.com/softwarepublico/colabdocumentation/raw/master/Arquivos/redmine/routes.rb -O config/routes.rb
  61 +
  62 +echo "Setting up initialization on supervisor"
  63 +if [ -e `cat /etc/supervisord.conf | grep redmine` ]; then
  64 + CMD="source /usr/local/rvm/scripts/rvm &&";
  65 + CMD="$CMD rvm gemset use redmine &&";
  66 + CMD="$CMD unicorn_rails -c /opt/redmine/config/unicorn.rb -E $RAILS_ENV -p 9080 -D";
  67 +
  68 + echo "[program:redmine]" >> /etc/supervisord.conf;
  69 + echo "command=$CMD" >> /etc/supervisord.conf;
  70 + echo "user=$USER" >> /etc/supervisord.conf;
  71 +fi
  72 +
  73 +echo "Finished installing, starting Redmine service"
  74 +supervisorctl start redmine
83 75  
84   -unicorn_rails -c /opt/redmine/config/unicorn.rb -E production -p 9080 -D
... ...
scripts/rvm.sh
1 1 #! /bin/bash
2 2  
3   -# Make sure rvm is installed under sudo user
  3 +echo "Make sure rvm is installed at /user/local/rvm"
4 4 sudo bash -c "curl -L get.rvm.io | bash -s stable"
5 5  
6   -# Set rvm on the PATH and install ruby 2.0.0
  6 +echo "Set rvm on the PATH and install ruby 2.0.0"
7 7 sudo bash -c "source /usr/local/rvm/scripts/rvm && rvm install ruby-2.0.0"
  8 +sudo bash -c "source /usr/local/rvm/scripts/rvm && rvm use 2.0.0 --default"
  9 +
  10 +echo "Create gemsets for gitlab and redmine"
8 11 sudo bash -c "source /usr/local/rvm/scripts/rvm && rvm gemset create gitlab"
9 12 sudo bash -c "source /usr/local/rvm/scripts/rvm && rvm gemset create redmine"
10 13  
11   -sudo bash -c "source /usr/local/rvm/scripts/rvm && rvm use 2.0.0@gitlab --default"
12   -sudo bash -c "source /usr/local/rvm/scripts/rvm && gem install bundler --no-ri --no-rdoc"
... ...
scripts/supervisor.sh 0 → 100755
... ... @@ -0,0 +1,5 @@
  1 +#!/bin/bash
  2 +
  3 +echo "Make sure supervisor is installed"
  4 +sudo yum install -y supervisor
  5 +
... ...
scripts/users.sh
1 1 #!/bin/bash
2 2  
  3 +# Make sure the current user is in sudoers file
  4 +
3 5 # Make sure to create user colab and colabdev group
4 6 COLAB_USER=colab
5 7 COLAB_GROUP=colabdev
... ... @@ -11,27 +13,41 @@ COLAB_GROUP_EXISTS=`cat /etc/group | grep $COLAB_GROUP:`
11 13 # Errors
12 14 ERROR_NOT_ALLOWED=126
13 15 ERROR_ALREADY_EXIST=9
  16 +ERROR_OK=0
  17 +
  18 +echo "Making sure there is $COLAB_USER user and $COLAB_GROUP group in the system"
14 19  
15 20 # Make sure colab user exist
16 21 if [ -e $COLAB_USER_EXISTS ]; then
17 22 sudo adduser $COLAB_USER;
18 23 LAST_CMD=`echo $?`
19   - if [ $LAST_CMD == $ERROR_NOT_ALLOWED ]; then
  24 + if [ $LAST_CMD == $ERROR_OK ]; then
  25 + echo "User $COLAB_USER was created successfully!";
  26 + elif [ $LAST_CMD == $ERROR_NOT_ALLOWED ]; then
20 27 echo "You don't have permission to create users"
21 28 echo "Aborting installation"
22 29 exit -1
  30 + else
  31 + echo "Something went weird, please check for files from $COLAB_USER";
23 32 fi
  33 +else
  34 + echo "User $COLAB_USER already exist, skipping creation..."
24 35 fi
25 36  
26 37 # Make sure colab group exist
27 38 if [ -e $COLAB_GROUP_EXISTS ]; then
28 39 sudo groupadd $COLAB_GROUP;
29 40 LAST_CMD=`echo $?`
30   - if [ $LAST_CMD == $ERROR_NOT_ALLOWED ]; then
  41 + if [ $LAST_CMD == $ERROR_OK ]; then
  42 + echo "Group $COLAB_GROUP was created successfully!";
  43 + elif [ $LAST_CMD == $ERROR_NOT_ALLOWED ]; then
31 44 echo "You don't have permission to create groups"
32 45 echo "Aborting installation"
33 46 exit -1
  47 + else
  48 + echo "Something went weird, please check $COLAB_GROUP group"
34 49 fi
  50 +else
  51 + echo "Group $COLAB_GROUP already exist, skipping creation..."
35 52 fi
36 53  
37   -
... ...