-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathinstall_wsgi.sh
executable file
·132 lines (111 loc) · 3.72 KB
/
install_wsgi.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
#!/bin/bash
CWD="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
source $CWD/base.sh
# Create logdir
if [ ! -e $AMCAT_LOGDIR ]
then
mkdir -p $AMCAT_LOGDIR
chown :$AMCAT_USER $AMCAT_LOGDIR
chmod g+w $AMCAT_LOGDIR
fi
set -e
# Installing packages that have not yet been included in apt-requirements.txt
apt-get install -y python-dev
#echo "Installing git and pip"
apt-get install -y git python-pip
echo Download amcat in $AMCAT_ROOT
AMCAT_REPO=$AMCAT_ROOT/amcat
if [ ! -d "$AMCAT_REPO" ]; then
echo "Cloning repository into $AMCAT_REPO"
# git clone https://github.com/amcat/amcat.git $AMCAT_REPO
git clone $REMOTE_AMCAT_REPO $AMCAT_REPO
chown -R $AMCAT_USER:adm $AMCAT_REPO
chmod -R g+ws $AMCAT_REPO
echo "Repository cloned"
fi
echo "Installing amcat dependencies"
cat $AMCAT_REPO/apt_requirements.txt | tr '\n' ' ' | xargs apt-get install -y
pip --default-timeout=100 install -r $AMCAT_REPO/pip_requirements.txt --use-mirrors
if [ "$AMCAT_DB_HOST" = "localhost" ]; then
echo "Setting up database"
apt-get install -y postgresql postgresql-contrib-9.1
su postgres <<EOF
set +e
echo Create database $AMCAT_DB_NAME.
createdb $AMCAT_DB_NAME
echo Create $AMCAT_DB_USER with password $AMCAT_DB_PASSWORD.
psql $AMCAT_DB_NAME -c "create user $AMCAT_DB_USER password '$AMCAT_DB_PASSWORD';"
set -e
psql -c 'CREATE EXTENSION IF NOT EXISTS "uuid-ossp";' amcat
EOF
cd $AMCAT_REPO
PYTHONPATH=. DJANGO_DB_HOST=localhost DJANGO_DB_NAME=$AMCAT_DB_NAME \
DJANGO_DB_USER=$AMCAT_DB_USER DJANGO_DB_PASSWORD=$AMCAT_DB_PASSWORD \
DJANGO_SETTINGS_MODULE=settings ./manage.py syncdb --noinput
PYTHONPATH=. DJANGO_DB_HOST=localhost DJANGO_DB_NAME=$AMCAT_DB_NAME \
DJANGO_DB_USER=$AMCAT_DB_USER DJANGO_DB_PASSWORD=$AMCAT_DB_PASSWORD \
DJANGO_SETTINGS_MODULE=settings ./manage.py collectstatic --noinput
fi
echo "Installing uwsgi"
pip install uwsgi
set +e
stop amcat_wsgi
set -e
SRC=$CWD/amcat_wsgi.conf-dist
TRG=/etc/init/amcat_wsgi.conf
echo "Checking upstart script at $TRG"
if [ ! -e $TRG ]; then
echo "Creating upstart script $TRG from $SRC"
sed -e "s#__AMCAT_ROOT__#$AMCAT_REPO#" \
-e "s#__AMCAT_USER__#$AMCAT_USER#" \
-e "s#__AMCAT_DB_HOST__#$AMCAT_DB_HOST#" \
-e "s#__AMCAT_DB_USER__#$AMCAT_DB_USER#" \
-e "s#__AMCAT_DB_NAME__#$AMCAT_DB_NAME#" \
-e "s#__AMCAT_DB_PASSWORD__#$AMCAT_DB_PASSWORD#" \
-e "s#__UWSGI_SOCKET__#$UWSGI_SOCKET#" < $SRC > $TRG
chmod 600 $TRG
fi
set +e
start amcat_wsgi
set -e
echo "Installing nginx"
apt-get install -y nginx
# The default nginx conflicts with amcat, so throw it out of the way
rm -rf /etc/nginx/sites-enabled/default
SRC=$CWD/nginx-amcat.conf-dist
TRG=/etc/nginx/sites-available/amcat.conf
echo "Checking nginx site at $TRG"
if [ ! -e $TRG ]; then
echo "Creating upstart script $TRG from $SRC"
sed -e "s#__SERVER_NAME__#$SERVER_NAME#" \
-e "s#__AMCAT_REPO__#$AMCAT_REPO#" \
-e "s#__NGINX_UWSGI_SOCKET__#$NGINX_UWSGI_SOCKET#" < $SRC > $TRG
fi
LN=/etc/nginx/sites-enabled/amcat.conf
if [ ! -e $LN ]; then
echo "Linking $LN -> $TRG"
ln -s $TRG $LN
fi
set +e
/etc/init.d/nginx restart
set -e
echo "Configuring and starting celery workers"
set +e
stop amcat_celery
set -e
SRC=$CWD/amcat_celery.conf-dist
TRG=/etc/init/amcat_celery.conf
echo "Checking upstart script at $TRG"
if [ ! -e $TRG ]; then
echo "Creating upstart script $TRG from $SRC"
sed -e "s#__AMCAT_ROOT__#$AMCAT_REPO#" \
-e "s#__AMCAT_USER__#$AMCAT_USER#" \
-e "s#__AMCAT_DB_HOST__#$AMCAT_DB_HOST#" \
-e "s#__AMCAT_DB_USER__#$AMCAT_DB_USER#" \
-e "s#__AMCAT_DB_NAME__#$AMCAT_DB_NAME#" \
-e "s#__AMCAT_DB_PASSWORD__#$AMCAT_DB_PASSWORD#" < $SRC > $TRG
chmod 600 $TRG
fi
set +e
start amcat_celery
set -e