Skip to content

Deploy on Reclaim Cloud (draft)

Note that these are not finished installation instructions.

Step 1. Create environment and deploy the GitHub repository into the cloudlet.

Step 2. Make sure that the virtual environment exists

1
$ cd ~
1
$ virtualenv virtenv
1
$ source virtenv/bin/activate
1
$ pip install -r ROOT/requirements.txt

Step 3 (I believe this is necessary...): edit webroot/virtenv/bin/activate_this.py

below os.environ["VIRTUAL_ENV"] = base, add the following:

1
2
3
4
os.environ["SECRET_KEY"] = '<insert secret key>'
os.environ["EMAIL_HOST_USER"] = '<insert email username>'
os.environ["EMAIL_HOST_PASSWORD"] = '<insert email password>'
os.environ["GITHUB_TOKEN"] = '<insert github token>'

Step 4 (I believe this is necessary): webroot/virtenv/bin/activate

below PATH="$VIRTUAL_ENV/bin:$PATH" and export PATH, add the following:

1
2
3
4
export SECRET_KEY='<insert secret key>'
export EMAIL_HOST_USER='<insert email username>'
export EMAIL_HOST_PASSWORD='<insert email password>'
export GITHUB_TOKEN='<insert github token>'

Step 5: Edit /etc/httpd/conf.d/wsgi.conf

It should look like this:

 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
Protocols h2 h2c http/1.1

WSGIDaemonProcess apache user=apache group=apache processes=2 threads=10 python-path="/var/www/webroot/virtenv/lib/python/:/var/www/webroot/" home="/var/www/webroot/"

ServerRoot "/var/www/webroot/"
DocumentRoot "/var/www/webroot/"
User apache
Group apache

DefaultRuntimeDir "/var/run"

ErrorLog "/var/log/httpd/error_log"
CustomLog "/var/log/httpd/access_log" combined

<Directory "/var/www/webroot/">
AllowOverride all
Options -MultiViews
</Directory>

Alias /robots.txt /var/www/webroot/ROOT/robots.txt
Alias /favicon.ico /var/www/webroot/ROOT/favicon.ico
#Alias /images /var/www/webroot/ROOT/images
#Alias /static /var/www/webroot/ROOT/static
Alias /.well-known /var/www/webroot/ROOT/.well-known

#WSGIScriptAlias / ${WSGI_SCRIPT}
WSGISocketPrefix "/tmp/wsgi"
WSGIPassAuthorization On
#WSGIProcessGroup apache

WSGIScriptAlias / /var/www/webroot/ROOT/app/wsgi.py
WSGIPythonHome /var/www/webroot/.virtualenvs/env2
WSGIPythonPath /var/www/webroot/ROOT

<Directory /var/www/webroot/ROOT/app>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

Alias /media/ /var/www/webroot/ROOT/media/
Alias /static/ /var/www/webroot/ROOT/static/

<Directory /var/www/webroot/ROOT/static>
Order deny,allow
Allow from all 
</Directory>

<Directory /var/www/webroot/ROOT/media>
Order deny,allow
Allow from all
</Directory>

Step 6: Restart httpd

1
$ sudo service httpd restart