To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / extra / soundsoftware / scripted-deploy / vagrant / provision.d @ 1581:ae8043b014c7

1 1577:e38eee2e1d47 Chris
#!/bin/bash
2
3
set -e
4
5
apt-get update && \
6 1581:ae8043b014c7 Chris
    apt-get dist-upgrade -y && \
7 1577:e38eee2e1d47 Chris
    apt-get install -y \
8 1579:aba122ac2d40 Chris
    ack-grep \
9 1577:e38eee2e1d47 Chris
    apache2 \
10
    apache2-dev \
11
    apt-utils \
12
    build-essential \
13
    cron \
14
    curl \
15
    doxygen \
16
    exim4 \
17
    git \
18
    graphviz \
19
    imagemagick \
20
    libapache-dbi-perl \
21
    libapache2-mod-perl2 \
22
    libapr1-dev \
23
    libaprutil1-dev \
24
    libauthen-simple-ldap-perl \
25
    libcurl4-openssl-dev \
26
    libdbd-pg-perl \
27
    libpq-dev \
28
    libmagickwand-dev \
29
    libio-socket-ssl-perl \
30
    logrotate \
31
    mercurial \
32
    postgresql \
33
    rsync \
34
    ruby \
35
    ruby-dev \
36
    sudo
37
#!/bin/bash
38
39
set -e
40
41
# Passenger gets installed through gem, not apt
42
43
if [ ! -f /var/lib/gems/2.3.0/gems/passenger-4.0.60/buildout/apache2/mod_passenger.so ]; then
44
    gem install passenger -v 4.0.60 --no-rdoc --no-ri
45
    passenger-install-apache2-module --languages=ruby
46
fi
47
48
#!/bin/bash
49
50
set -e
51
52
if ! grep -q '^code:' /etc/passwd ; then
53
    groupadd code
54
    useradd -g code -G www-data code
55
fi
56
57
#!/bin/bash
58
59
set -e
60
61
if [ ! -d /var/www/code ]; then
62
    cp -a /vagrant-code /var/www/code
63
    chown -R code.www-data /var/www/code
64
    find /var/www/code -type d -exec chmod g+s \{\} \;
65
fi
66
67
#!/bin/bash
68
69
set -e
70
71
if [ ! -f /var/hg/index.cgi ]; then
72
    mkdir -p /var/hg
73
    chown code.www-data /var/hg
74
    chmod g+s /var/hg
75 1581:ae8043b014c7 Chris
    cp /var/www/code/extra/soundsoftware/scripted-deploy/config/index.cgi /var/hg/
76
    cp /var/www/code/extra/soundsoftware/scripted-deploy/config/hgweb.config /var/hg/
77 1577:e38eee2e1d47 Chris
    chmod +x /var/hg/index.cgi
78
fi
79
80 1578:06ca2df3d7ca Chris
if [ ! -d /var/hg/vamp-plugin-sdk ]; then
81
    # This project can be used for testing
82
    cd /var/hg
83
    hg clone https://code.soundsoftware.ac.uk/hg/vamp-plugin-sdk
84
    chown -R code.www-data vamp-plugin-sdk
85
fi
86 1577:e38eee2e1d47 Chris
#!/bin/bash
87
88
set -e
89
90
if [ ! -f /var/www/code/config/database.yml ]; then
91 1581:ae8043b014c7 Chris
    cp /var/www/code/extra/soundsoftware/scripted-deploy/config/database.yml.interpolated \
92 1577:e38eee2e1d47 Chris
       /var/www/code/config/database.yml
93
fi
94
95
#!/bin/bash
96
97
set -e
98
99
cd /var/www/code
100
gem install bundler
101
bundle install
102
103
#!/bin/bash
104
105
set -e
106
107
cd /var/www/code
108
bundle exec rake generate_secret_token
109
110
#!/bin/bash
111
112
set -e
113
114
/etc/init.d/postgresql start
115
116
cd /var/www/code
117
118
if [ -f postgres-dumpall ]; then
119
    chmod ugo+r postgres-dumpall
120
    sudo -u postgres psql -f postgres-dumpall postgres
121
    rm postgres-dumpall # This was just a copy of the shared folder file anyway
122
fi
123
124
125
126
#!/bin/bash
127
128
set -e
129
130
if [ ! -f /usr/local/lib/site_perl/Apache/Authn/SoundSoftware.pm ]; then
131
    mkdir -p /usr/local/lib/site_perl/Apache/Authn/
132
    cp /var/www/code/extra/soundsoftware/SoundSoftware.pm /usr/local/lib/site_perl/Apache/Authn/
133
fi
134
135
#!/bin/bash
136
137
set -e
138
139
cd /var/www/code
140
141
if [ ! -f /etc/apache2/sites-enabled/10-code.conf ]; then
142
143
    rm -f /etc/apache2/sites-enabled/000-default.conf
144
145 1581:ae8043b014c7 Chris
    cp extra/soundsoftware/scripted-deploy/config/passenger.conf /etc/apache2/mods-available/
146
    cp extra/soundsoftware/scripted-deploy/config/passenger.load /etc/apache2/mods-available/
147
    cp extra/soundsoftware/scripted-deploy/config/perl.conf      /etc/apache2/mods-available/
148 1577:e38eee2e1d47 Chris
149
    ln -s ../mods-available/passenger.conf  /etc/apache2/mods-enabled/
150
    ln -s ../mods-available/passenger.load  /etc/apache2/mods-enabled/
151
    ln -s ../mods-available/perl.conf       /etc/apache2/mods-enabled/
152
    ln -s ../mods-available/expires.load    /etc/apache2/mods-enabled/
153
    ln -s ../mods-available/rewrite.load    /etc/apache2/mods-enabled/
154 1578:06ca2df3d7ca Chris
    ln -s ../mods-available/cgi.load        /etc/apache2/mods-enabled/
155 1577:e38eee2e1d47 Chris
156 1581:ae8043b014c7 Chris
    cp extra/soundsoftware/scripted-deploy/config/code.conf.interpolated /etc/apache2/sites-available/code.conf
157 1577:e38eee2e1d47 Chris
    ln -s ../sites-available/code.conf /etc/apache2/sites-enabled/10-code.conf
158
159
    apache2ctl configtest
160
161
fi
162
163 1581:ae8043b014c7 Chris
#!/bin/bash
164
165
set -e
166
167
apache2ctl restart