Taiga專案管理器安裝手冊
Taiga是一種專案管理器,網路上關於taiga的安裝部署資料特別少,本人在安裝taiga過程中也碰了不少壁,為方便大家安裝taiga,我自己寫了份安裝手冊如下:
(原文是用txt檔案寫的,放在論壇上可能不太好看)
官方安裝手冊(英文):http://taigaio.github.io/taiga-doc/dist/setup-production.html
*原文中標註“選裝”(optional)的,本文件都沒有涉及。
系統環境 Ubuntu 14.04
*注意:請不要在root使用者下進行安裝;前臺和後端的安裝相互獨立
一、後端的安裝
1.1安裝依賴包
sudo apt-get install -y build-essential binutils-doc autoconf flex bison libjpeg-dev
sudo apt-get install -y libfreetype6-dev zlib1g-dev libzmq3-dev libgdbm-dev libncurses5-dev
sudo apt-get install -y automake libtool libffi-dev curl git tmux gettext
1.2安裝postgresql(版本不低於9.3)資料庫
sudo apt-get install -y postgresql-9.3 postgresql-contrib-9.3
sudo apt-get install -y postgresql-doc-9.3 postgresql-server-dev-9.3
建立資料庫及使用者
sudo -u postgres createuser [此處填寫ubuntu系統使用者名稱]
sudo -u postgres createdb [也是使用者名稱] -O [也是使用者名稱]
例:我的使用者名稱是ubuntu(前面說了不要在root使用者下安裝) 因此是 sudo -u postgres createuser ubuntu,
例:sudo -u postgres createdb ubuntu -O ubuntu
*注意:上面的“O”是大寫的字母O;
1.3安裝python環境
sudo apt-get install -y python3 python3-pip python-dev python3-dev python-pip virtualenvwrapper
sudo apt-get install libxml2-dev libxslt-dev
**下面修改資料庫配置檔案在官方文件中沒有
修改配置檔案:
sudo vi ~/etc/postgresql/9.3/main/pg_hba.conf
找到
local all postgres peer
改為:
local all postgres trust
下面跟著官方文件
安裝到這一步,在進行下一步安裝前需要重啟作業系統。
下載程式碼:
cd ~ ##回目錄
git clone <a href="https://github.com/taigaio/taiga-back.git" target="_blank">https://github.com/taigaio/taiga-back.git</a> taiga-back
cd taiga-back
git checkout stable
建立新的虛擬環境並取名taiga(最好取這個名,否則完全按照本文件容易報錯):
mkvirtualenv -p /usr/bin/python3.4 taiga
安裝依賴包:
pip install -r requirements.txt #這一步要在目錄~/taiga-back 下執行,否則報錯
初始化資料庫資料:
python manage.py migrate
python manage.py loaddata initial_user
python manage.py loaddata initial_project_templates
python manage.py loaddata initial_role
python manage.py compilemessages
python manage.py collectstatic
*此處有大量的安裝,請不要敲錯程式碼。如果直接複製貼上程式碼,建議找上面提到的官方文件來複制程式碼。
在~/taiga-back/settings下新建文件local.py
絕對路徑:~/taiga-back/settings/local.py
新建文件中加入:
from .common import *
MEDIA_URL = "<a href="http://localhost/media/" target="_blank">http://localhost/media/</a>" ##作者注:請注意官方文件中的example.com(這是官方文件中配置用到的主機名)
STATIC_URL = "<a href="http://localhost/static/" target="_blank">http://localhost/static/</a>" ##此處我用localhost代替了,經測試localhost能滿足本機或伺服器提供服務的情況,用localhost即可
ADMIN_MEDIA_PREFIX = "<a href="http://localhost/static/admin/" target="_blank">http://localhost/static/admin/</a>"
SITES["front"]["scheme"] = "http"
SITES["front"]["domain"] = "localhost"
SECRET_KEY = "theveryultratopsecretkey"
DEBUG = False
TEMPLATE_DEBUG = False
PUBLIC_REGISTER_ENABLED = True
DEFAULT_FROM_EMAIL = "<a href="mailto:[email protected]" target="_blank">[email protected]</a>" ##作者注:電郵部分在本文件中沒有配置(官方文件中屬於選裝)
SERVER_EMAIL = DEFAULT_FROM_EMAIL
# Uncomment and populate with proper connection parameters
# for enable email sending. EMAIL_HOST_USER should end by @domain.tld
#EMAIL_BACKEND = "django.core.mail.backends.smtp.EmailBackend"
#EMAIL_USE_TLS = False
#EMAIL_HOST = "localhost"
#EMAIL_HOST_USER = ""
#EMAIL_HOST_PASSWORD = ""
#EMAIL_PORT = 25
# Uncomment and populate with proper connection parameters
# for enable github login/singin.
#GITHUB_API_CLIENT_ID = "yourgithubclientid"
#GITHUB_API_CLIENT_SECRET = "yourgithubclientsecret"
上述步驟完成後,
輸入:
workon taiga
在目錄~/taiga-back下
執行:
python manage.py runserver 192.168.33.139:8000
*解釋下192.168.33.139,是我所用伺服器的內網IP,在搭建的時候請改成你們自己機器的IP
*如果只是在本機使用直接用python manage.py runserver 或者是python manage.py runserver 127.0.0.1:8000即可
執行後開啟http://192.168.33.139:8000/api/v1/(同樣192.168.33.139換成自己的IP)成功證明安裝完成。
開啟[url=http://[IP]:8000/admin/]http://[IP]:8000/admin/[/url]後 使用者名稱:Admin 密碼:123123 可登陸後臺。
二、前端安裝
下載程式碼:
cd ~
git clone <a href="https://github.com/taigaio/taiga-front-dist.git" target="_blank">https://github.com/taigaio/taiga-front-dist.git</a> taiga-front-dist
cd taiga-front-dist
git checkout stable
然後複製檔案conf.example.json到conf.json
cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json
開啟conf.json更改配置:
sudo vi ~/taiga-front-dist/dist/conf.json
修改為如下:
{
"api": "<a href="http://example.com/api/v1/" target="_blank">http://example.com/api/v1/</a>", ##example.com改為你想提供服務的ip,要和上面的一樣
"eventsUrl": "ws://example.com/events", ##同樣改掉example.com
"debug": "true",
"publicRegisterEnabled": true,
"feedbackEnabled": true,
"privacyPolicyUrl": null,
"termsOfServiceUrl": null,
"maxUploadFileSize": null,
"contribPlugins": []
}
至此,前端配置完成。
三、最後一步
Circus安裝:
sudo pip2 install circus
如果檔案~/conf/不存在就建立它:(cd ~/conf/報錯才執行這一步)
mkdir -p ~/conf/
初始配置檔案~/conf/circus.ini
sudo vi ~/conf/circus.ini
如下:
[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 ##/home/taiga taiga是文件中安裝的使用者名稱,要改為自己的
#作者注:我的是working_dir = /home/ubuntu/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.filename = /home/ubuntu/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.filename = /home/ubuntu/logs/gunicorn.stderr.log
stderr_stream.max_bytes = 10485760
stderr_stream.backup_count = 4
[env:taiga]
PATH = /home/taiga/.virtualenvs/taiga/bin:$PATH
##改掉,我的是PATH = /home/ubuntu/.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.4/site-packages
##改掉,我的是PYTHONPATH=/home/ubuntu/.virtualenvs/taiga/lib/python3.4/site-packages
修改初始化檔案:
sudo vi /etc/init/circus.conf
寫為如下內容:
start on filesystem and net-device-up IFACE=lo
stop on runlevel [016]
respawn
exec /usr/local/bin/circusd /home/taiga/conf/circus.ini ##/home/taiga又出現了,請改掉
啟動circus服務:
sudo service circus start
安裝Nginx:
sudo apt-get install -y nginx
配置檔案:/etc/nginx/sites-available/taiga
sudo vi /etc/nginx/sites-available/taiga
寫入如下內容:
**注意檔案中所有的/home/taiga改為/home/[你的使用者名稱]
**127.0.0.1這一IPA改成你上面用到的IP
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 <a href="http://127.0.0.1:8001/api" target="_blank">http://127.0.0.1:8001/api</a>;
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 <a href="http://127.0.0.1:8001$request_uri" target="_blank">http://127.0.0.1:8001$request_uri</a>;
proxy_redirect off;
}
# Static files
location /static {
alias /home/taiga/taiga-back/static;
}
# Media files
location /media {
alias /home/taiga/taiga-back/media;
}
移除預設配置檔案:
sudo rm /etc/nginx/sites-enabled/default
再執行:
sudo ln -s /etc/nginx/sites-available/taiga /etc/nginx/sites-enabled/taiga
使虛擬主機能夠工作
可用 sudo nginx -t 檢查出錯情況
再執行
sudo service nginx restart
進行服務重啟
提供服務的程式碼步驟是:
sudo service nginx restart
workon taiga
cd ~/taiga-back
python manage.py runserver 192.168.33.139:8000
然後在http://192.168.33.139/上登入(當然這是我的IP,改成你主機的),成功後的介面與taiga官網介面一樣。
官網地址:https://taiga.io/
**安裝中出錯,大多數是在配置檔案中,請檢查配置檔案
**安裝軟體包出錯的可能性小