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 / vagranttest / provision.d @ 1579:aba122ac2d40

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