-
-
Save krast/f1227790beeddfd8fa0d33a9bff67adb to your computer and use it in GitHub Desktop.
Taiga.io minimum install & run commands / CentOS7.2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# How to use | |
# 1. Replace the "YOURIP" to yourIP | |
#sed -i -e 's/YOURIP/192.168.x.x/g' setup-taiga-centos.sh | |
# 2. Run at the root | |
#source setup-taiga-centos.sh | |
#add epel repository (for zeromq3-devel) | |
yum install -y epel-release | |
yum install -y gcc autoconf flex bison libjpeg-turbo-devel | |
yum install -y freetype-devel zlib-devel zeromq3-devel gdbm-devel ncurses-devel | |
yum install -y automake libtool libffi-devel curl git tmux | |
yum install -y libxml2-devel libxslt-devel | |
yum install -y wget openssl-devel gcc-c++ | |
#PostgreSQL 9.5 | |
wget http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-3.noarch.rpm | |
rpm -ivh pgdg-centos95-9.5-3.noarch.rpm | |
yum install -y postgresql95-server postgresql95-devel postgresql95-contrib | |
export PATH=$PATH:/usr/pgsql-9.5/bin | |
postgresql95-setup initdb | |
systemctl start postgresql-9.5.service | |
#Python 3.5.2 | |
wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tar.xz | |
tar xvf Python-3.5.2.tar.xz | |
cd Python-3.5.2/ | |
./configure --prefix=/opt/python3.5 | |
make | |
make install | |
export PATH=$PATH:/opt/python3.5/bin | |
#PostgreSQL initDB setting | |
cd /home | |
su postgres -c "createuser taiga" | |
su postgres -c "createdb taiga -O taiga" | |
#pip | |
pip3.5 install virtualenv virtualenvwrapper | |
VIRTUALENVWRAPPER_PYTHON=/opt/python3.5/bin/python3.5 | |
source /opt/python3.5/bin/virtualenvwrapper.sh | |
mkvirtualenv -p /opt/python3.5/bin/python3.5 taiga | |
deactivate | |
#taiga add | |
adduser taiga | |
#taiga-back | |
cd /home/taiga | |
git clone https://github.com/taigaio/taiga-back.git taiga-back | |
cd taiga-back/ | |
git checkout stable | |
#pip with blackmagic | |
sed -i -e '34a git+https://github.com/Xof/django-pglocks.git' requirements.txt | |
pip3.5 install -r requirements.txt | |
chown -R taiga:taiga /home/taiga/ | |
sed -i -e '1a #!/opt/python3.5/bin/python3.5' -e '1d' manage.py | |
su taiga -c "python3.5 manage.py migrate --noinput" | |
su taiga -c "python3.5 manage.py loaddata initial_user" | |
su taiga -c "python3.5 manage.py loaddata initial_project_templates" | |
su taiga -c "python3.5 manage.py loaddata initial_role" | |
su taiga -c "python3.5 manage.py compilemessages" | |
su taiga -c "python3.5 manage.py collectstatic --noinput" | |
cat > /home/taiga/taiga-back/settings/local.py << EOF | |
from .development import * | |
from .common import * | |
MEDIA_URL = "http://YOURIP/media/" | |
STATIC_URL = "http://YOURIP/static/" | |
ADMIN_MEDIA_PREFIX = "http://YOURIP/static/admin/" | |
SITES["front"]["scheme"] = "http" | |
SITES["front"]["domain"] = "YOURIP" | |
SECRET_KEY = "theveryultratopsecretkey" | |
DEBUG = False | |
TEMPLATE_DEBUG = False | |
PUBLIC_REGISTER_ENABLED = True | |
DEFAULT_FROM_EMAIL = "[email protected]" | |
SERVER_EMAIL = DEFAULT_FROM_EMAIL | |
EOF | |
#taiga-front | |
cd /home/taiga | |
git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist | |
cd taiga-front-dist/ | |
git checkout stable | |
cd dist/ | |
sed -e 's/localhost/YOURIP/' conf.example.json > conf.json | |
#circus | |
cd /home/taiga | |
pip3.5 install circus | |
mkdir -p /home/taiga/conf | |
cat > /home/taiga/conf/circus.ini << EOF | |
[circus] | |
check_delay = 5 | |
endpoint = tcp://127.0.0.1:5555 | |
pubsub_endpoint = tcp://127.0.0.1:5556 | |
statsd = true | |
[watcher:taiga] | |
working_dir = /home/taiga/taiga-back | |
cmd = gunicorn | |
args = -w 3 -t 60 --pythonpath=. -b 127.0.0.1:8001 taiga.wsgi | |
uid = taiga | |
numprocesses = 1 | |
autostart = true | |
send_hup = true | |
stdout_stream.class = FileStream | |
stdout_stream.filename = /home/taiga/logs/gunicorn.stdout.log | |
stdout_stream.max_bytes = 10485760 | |
stdout_stream.backup_count = 4 | |
stderr_stream.class = FileStream | |
stderr_stream.filename = /home/taiga/logs/gunicorn.stderr.log | |
stderr_stream.max_bytes = 10485760 | |
stderr_stream.backup_count = 4 | |
[env:taiga] | |
PATH = /home/taiga/.virtualenvs/taiga/bin:$PATH | |
TERM=rxvt-256color | |
SHELL=/bin/bash | |
USER=taiga | |
LANG=en_US.UTF-8 | |
HOME=/home/taiga | |
PYTHONPATH=/home/taiga/.virtualenvs/taiga/lib/python3.5/site-packages | |
EOF | |
mkdir -p /home/taiga/logs | |
touch /home/taiga/logs/gunicorn.stdout.log | |
touch /home/taiga/logs/gunicorn.stderr.log | |
#circus systemd setting | |
cat > /usr/lib/systemd/system/circus.service << EOF | |
[Unit] | |
Description=circus | |
[Service] | |
ExecStart=/usr/local/bin/circusd /home/taiga/conf/circus.ini | |
EOF | |
ln -s '/usr/lib/systemd/system/circus.service' '/etc/systemd/system/circus.service' | |
#circus start | |
ln -s /root/.virtualenvs/taiga/bin/circusd /usr/local/bin/circusd | |
systemctl start circus.service | |
#nginx | |
cat > /etc/yum.repos.d/nginx.repo << 'EOF' | |
[nginx] | |
name=nginx repo | |
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ | |
gpgcheck=0 | |
enabled=1 | |
EOF | |
yum install -y nginx | |
cat > /etc/nginx/conf.d/taiga.conf << 'EOF' | |
server { | |
listen 80 default_server; | |
server_name _; | |
large_client_header_buffers 4 32k; | |
client_max_body_size 50M; | |
charset utf-8; | |
access_log /home/taiga/logs/nginx.access.log; | |
error_log /home/taiga/logs/nginx.error.log; | |
# Frontend | |
location / { | |
root /home/taiga/taiga-front-dist/dist/; | |
try_files $uri $uri/ /index.html; | |
} | |
# Backend | |
location /api { | |
proxy_set_header Host $http_host; | |
proxy_set_header X-Real-IP $remote_addr; | |
proxy_set_header X-Scheme $scheme; | |
proxy_set_header X-Forwarded-Proto $scheme; | |
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
proxy_pass http://YOURIP:8001/api; | |
proxy_redirect off; | |
} | |
# Django admin access (/admin/) | |
location /admin { | |
proxy_set_header Host $http_host; | |
proxy_set_header X-Real-IP $remote_addr; | |
proxy_set_header X-Scheme $scheme; | |
proxy_set_header X-Forwarded-Proto $scheme; | |
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | |
proxy_pass http://YOURIP:8001$request_uri; | |
proxy_redirect off; | |
} | |
# Static files | |
location /static { | |
alias /home/taiga/taiga-back/static; | |
} | |
# Media files | |
location /media { | |
alias /home/taiga/taiga-back/media; | |
} | |
} | |
EOF | |
systemctl restart nginx | |
chown -R taiga:taiga /home/taiga/ | |
chmod o+x /home/taiga/ | |
#run | |
su taiga -c "python3.5 /home/taiga/taiga-back/manage.py runserver 0.0.0.0:8000 &" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment