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 @ 1578:06ca2df3d7ca

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