1. 程式人生 > >Taiga專案管理器安裝手冊

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/

**安裝中出錯,大多數是在配置檔案中,請檢查配置檔案
**安裝軟體包出錯的可能性小