apache-python/install.sh

raw link view readme
1
2 semanage fcontext -at httpd_sys_rw_content_t "/srv(/.*)?"
3
4 yum install firewalld -y
5 systemctl start firewalld
6 systemctl enable firewalld
7 firewall-cmd --permanent --zone=public --add-interface=eth0
8 firewall-cmd --permanent --add-service=http --zone=public
9 firewall-cmd --reload
10
11 yum install httpd -y
12
13 systemctl start httpd
14 systemctl enable httpd
15
16 #python
17
18 yum install epel-release -y
19 yum install git python34 python-pip -y 2> /dev/null
20 pip install --upgrade pip
21 pip install --upgrade virtualenv
22 cd /srv
23 virtualenv -p python3 webapi
24 cd webapi
25 source bin/activate
26 git clone https://github.com/davidbetz/pywebapi content
27 cd content
28 pip install -r requirements.txt
29 deactivate
30
31 export PUBLIC_IP=$(ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/')
32
33 cat >> /etc/hosts << EOF
34 $PUBLIC_IP webapi
35 EOF
36
37 yum install mod_wsgi -y
38
39 cat > /etc/httpd/conf.d/webapi.conf << EOF
40 WSGIPythonPath /srv/webapi/content:/srv/webapi/lib/python3.4/site-packages
41
42
43 ServerName webapi
44 ErrorLog logs/webapi-error.log
45 CustomLog logs/webapi-access.log common
46
47 WSGIDaemonProcess webapi python-path=/srv/webapi/content:/srv/webapi/lib/python3.4/site-packages
48 WSGIProcessGroup webapi
49
50 WSGIScriptAlias / /srv/webapi/content/app.py
51 WSGICallableObject webapi_start
52
53
54
55 Require all granted
56
57
58
59 EOF
60
61 restorecon -R -v /srv
62 chown -R nobody:apache /srv
63
64 systemctl restart httpd
65