Taiga.io là một hệ thống quản lý dự án nguồn mở dành cho các nhà phát triển, nhà thiết kế và quản lý dự án nhanh nhẹn. Đây là một công cụ quản lý dự án tuyệt vời có thể xử lý cả các dự án đơn giản và phức tạp cho các công ty khởi nghiệp, nhà phát triển phần mềm, v.v.
Nền tảng Taiga có ba thành phần chính và mỗi thành phần có các phụ thuộc riêng.
- Cài đặt các phụ thuộc
Chúng ta cần 'Công cụ phát triển' cho CentOS 7 sẽ được sử dụng để biên dịch một số mô-đun python.
Cài đặt các gói cần thiết bằng lệnh yum bên dưới.
- Cài đặt EPEL Repository
Bây giờ chúng ta cần cài đặt EPEL (Extra Packages for Enterprise Linux). Cần cài đặt để cài đặt máy chủ web Nginx, RabbitMQ và Redis.
Cài đặt EPEL Repository trên hệ thống CentOS 7 bằng lệnh sau:
- Cài đặt Python
Taiga.io cần Python 3.5 để cài đặt. Chúng tôi sẽ sử dụng kho lưu trữ của bên thứ ba - 'ius community' - để cài đặt Python 3.5.
Thêm kho lưu trữ 'ius community' theo cách sau.
Bây giờ hãy cài đặt Python 3.5 bằng lệnh yum sau.
- Cài đặt Nginx
Taiga.io là một công cụ ứng dụng web và chạy trên máy chủ web. Và đối với hướng dẫn này, chúng ta sẽ sử dụng Nginx làm máy chủ web.
Cài đặt Nginx từ kho lưu trữ EPEL bằng lệnh yum bên dưới.
Sau khi cài đặt hoàn tất, hãy khởi động dịch vụ và cho phép nó khởi chạy khi khởi động hệ thống.
Bây giờ hãy kiểm tra cổng mở bằng lệnh netstat.
Và đảm bảo rằng bạn có cổng HTTP 80 trong danh sách như hiển thị bên dưới.
- Cài đặt Redis và RabbitMQ
Đây là tùy chọn, vì bạn vẫn có thể chạy Taiga.io mà không cần các gói này. Về cơ bản, các gói Redis và RabbitMQ sẽ được taiga-events sử dụng.
Cài đặt Redis và RabbitMQ từ kho lưu trữ EPEL bằng lệnh yum bên dưới.
Nếu quá trình cài đặt hoàn tất, hãy khởi động cả dịch vụ Redis và RabbitMQ, sau đó cho phép chúng khởi chạy khi khởi động hệ thống.
Tiếp theo, chúng ta cần tạo một người dùng và máy chủ ảo mới có tên là 'taiga' cho RabbitMQ và nó sẽ được sử dụng cho 'taiga-events'.
Chạy các lệnh sau để tạo người dùng và máy chủ ảo mới có tên là 'taiga' với mật khẩu 'aqwe123', sau đó đặt quyền cho người dùng 'taiga'.
- Cài đặt Nodejs
Node là cần thiết cho 'taiga-events' - thêm kho lưu trữ nodesource của nodejs và cài đặt bằng lệnh yum.
Tất cả các gói cơ bản cần thiết để cài đặt Taiga.io đã được cài đặt trên hệ thống.
Thêm kho lưu trữ PostgreSQL 9.5 vào hệ thống.
Bây giờ hãy cài đặt PostgreSQL 9.5 bằng lệnh yum bên dưới.
Sau khi cài đặt hoàn tất, chúng ta cần khởi tạo cơ sở dữ liệu PostgreSQL.
Bây giờ hãy khởi động Dịch vụ PostgreSQL và cho phép dịch vụ này khởi chạy mọi lúc khi khởi động hệ thống.
Tiếp theo, chúng ta phải tạo một cơ sở dữ liệu mới để cài đặt Taiga.io. Chúng ta cần tạo một cơ sở dữ liệu mới và một người dùng có tên là 'taiga'.
Đăng nhập với tư cách là người dùng 'postgres'.
Bây giờ hãy tạo cơ sở dữ liệu và người dùng mới cho Taiga.io bằng các lệnh sau.
Cơ sở dữ liệu PostgreSQL mới để cài đặt Taiga.io đã được tạo.
Sử dụng lệnh 'useradd' bên dưới để tạo người dùng và nhóm 'taiga'.
Bây giờ thêm người dùng 'taiga' vào nhóm 'wheel'.
Kiểm tra người dùng 'taiga' để truy cập sudo.
Nhập mật khẩu của bạn và đảm bảo bạn có được quyền root cho người dùng 'taiga'.
Trong bước này, chúng ta sẽ cài đặt và cấu hình thành phần taiga 'taiga-back'.
Đăng nhập vào người dùng 'taiga' và tải xuống mã nguồn 'taiga-back' từ GitHub.
Bây giờ hãy đến thư mục 'taiga-back' và thay đổi nhánh thành nhánh 'stable'.
Trước khi tiến hành thêm, chúng ta cần cập nhật gói virtualenv.
Tiếp theo, tạo môi trường python mới 'taiga' bằng lệnh mkvirtualenv.
Virtualenv mới cho 'taiga-back' đã được tạo.
Trước khi cài đặt tất cả các mô-đun cho taiga-back, chúng ta cần tạo một liên kết mới cho lệnh 'pg_config' tới thư mục '/usr/bin'.
Bây giờ hãy cài đặt tất cả các mô-đun python cần thiết cho 'taiga-back' bằng các lệnh bên dưới.
Sau khi cài đặt hoàn tất, chúng ta cần điền dữ liệu cơ bản ban đầu vào cơ sở dữ liệu.
Chạy tất cả các lệnh sau.
Các lệnh này sẽ tự động tạo tài khoản quản trị viên 'admin' với mật khẩu '123123'.
Tiếp theo, tạo cấu hình mới cho 'taiga-back' bằng vim.
Dán cấu hình sau vào đó.
Lưu và thoát.
Lưu ý:
Lệnh sẽ chạy taiga-back dưới IP công khai của máy chủ với cổng 8000.
Mở trình duyệt web và truy cập địa chỉ sau.
http://192.168.33.10:8000/api/v1/
Và bạn sẽ nhận được API 'taiga-back' với định dạng JSON như bên dưới.
Cài đặt và cấu hình 'taiga-back' đã được đã hoàn thành.
Đăng nhập vào người dùng taiga.
Tải xuống mã nguồn 'Taiga frontend' bằng git.
Đi đến thư mục 'taiga-front-dist' và đổi nhánh thành 'stable'.
Sao chép tệp cấu hình mặc định và chỉnh sửa bằng vim.
Sao chép cấu hình sau:
Lưu và thoát.
Cấu hình 'Giao diện Taiga' đã hoàn tất.
Đăng nhập vào người dùng 'taiga'.
Tải xuống mã nguồn 'Taiga Events' và vào thư mục.
Bây giờ chúng ta cần tải xuống và cài đặt tất cả các thư viện javascript cần thiết cho 'taiga-events' bằng lệnh npm theo cách sau.
Lưu ý: Chúng ta cần cài đặt 'coffee-script' dưới hệ thống gốc.
Tiếp theo, sao chép tệp cấu hình JSON vào 'config.json', sau đó chỉnh sửa bằng vim.
Dán cấu hình sau vào đó.
Lưu và thoát.
Lưu ý:
Trong bước này, chúng ta sẽ cài đặt Circus theo cách thủ công từ mã nguồn.
Đăng nhập với tư cách là người dùng taiga.
Bây giờ hãy tải xuống mã nguồn circus bằng git.
Trước khi cài đặt circus trên hệ thống, chúng ta cần tạo một thư mục mới để cấu hình circus.
Tạo thư mục 'conf' mới dưới người dùng taiga.
Và tạo cấu hình circus mới cho Taiga.io có tên là 'taiga.ini'.
Dán cấu hình sau.
Lưu và thoát.
Bây giờ hãy tạo thư mục cho các tệp nhật ký circus.
Đi đến thư mục circus và cài đặt phần mềm với quyền root.
Sau khi cài đặt hoàn tất, chúng ta sẽ cấu hình circus như một dịch vụ trên hệ thống.
Chạy sudo lệnh, sau đó tạo một tệp dịch vụ mới 'circusd.service'.
Dán cấu hình sau vào đó.
Lưu và thoát.
Bây giờ hãy tải lại hệ thống systemd bằng lệnh bên dưới.
Đảm bảo không có lỗi, sau đó khởi động dịch vụ circusd và cho phép dịch vụ này khởi chạy mọi lúc khi khởi động hệ thống.
Quá trình cài đặt và cấu hình Circus cho Taiga.io đã hoàn tất. Kiểm tra bằng lệnh circusctl bên dưới.
Và đảm bảo rằng bạn có được taiga-back và taiga-events trong danh sách quy trình circus.
Hoặc bạn có thể sử dụng lệnh systemctl như bên dưới.
Đi tới thư mục cấu hình nginx và tạo một tệp mới 'taiga.conf' trong thư mục 'conf.d'.
Dán cấu hình sau vào đó.
Lưu và thoát.
Bây giờ hãy chạy cấu hình nginx thử nghiệm và đảm bảo không có lỗi. Sau đó khởi động lại dịch vụ máy chủ web.
Cấu hình máy chủ ảo cho Taiga.io đã hoàn tất.
Để giải quyết vấn đề này, chúng ta cần thay đổi chủ sở hữu hoặc nhóm của tất cả các tệp taiga-frontend và cấp cho Nginx quyền truy cập vào tất cả các tệp.
Theo mặc định trên CentOS 7, máy chủ web Nginx chạy dưới người dùng 'nginx' và cài đặt Taiga.io chạy dưới 'taiga' người dùng.
Sau đây là ví dụ về lỗi Nginx mà chúng ta đang nói đến.
Máy chủ web Nginx không thể đọc tất cả nội dung trên thư mục '/home/taiga/taiga-front-dist/dist'.
Kiểm tra điều này bằng lệnh bên dưới.
Và bạn sẽ nhận được kết quả là quyền bị từ chối.
Bây giờ chúng ta cần thêm người dùng 'nginx' vào nhóm 'taiga' và cấp cho người dùng nginx các quyền cần thiết cho thư mục taiga-front-dist.
Thêm người dùng 'nginx' vào nhóm 'taiga'.
Cấp cho máy chủ web các quyền để đọc tất cả nội dung trên taiga-front-dist thư mục.
Và khởi động lại máy chủ web Nginx.
Và bạn sẽ thấy trang chủ mặc định của Taiga được hiển thị bên dưới.
Tại đây, nhập người dùng mặc định 'admin' với mật khẩu '123123', sau đó nhấp vào 'Đăng nhập' button.
Và bạn sẽ đến bảng điều khiển quản trị.
Cài đặt Taiga.io trên CentOS 7 với máy chủ web Nginx đã hoàn tất thành công.
Nền tảng Taiga có ba thành phần chính và mỗi thành phần có các phụ thuộc riêng.
- Taiga-back: Phần phụ trợ của ứng dụng cung cấp API. Được viết bằng Python và Django.
- Taiga-front-dist: Phần giao diện Taiga được viết bằng AngularJS và CoffeeScript.
- Taiga-events: Máy chủ Taiga WebSocket để hiển thị các thay đổi theo thời gian thực trong các ứng dụng. Và sử dụng RabbitMQ làm môi giới tin nhắn.
Điều kiện tiên quyết
- CentOS 7
- Quyền root
Những gì chúng ta sẽ làm
- Cài đặt các gói
- Cài đặt và cấu hình PostgreSQL
- Thêm người dùng Taiga
- Cấu hình Taiga Back
- Cấu hình Taiga Frontend
- Cấu hình Taiga Events
- Cấu hình Circus Process Management
- Cấu hình Nginx Virtual Host cho Taiga.io
- Cho phép Nginx truy cập Taiga Frontend
- Kiểm tra
Bước 1 - Cài đặt các gói
Trước khi cài đặt tất cả các thành phần Taiga.io, chúng ta cần chuẩn bị hệ thống bằng cách cài đặt một số gói. Trong bước đầu tiên này, chúng ta sẽ cài đặt các gói cần thiết cho tất cả các thành phần và mô-đun Taiga, bao gồm Nginx, RabitMQ, Redis, v.v.- Cài đặt các phụ thuộc
Chúng ta cần 'Công cụ phát triển' cho CentOS 7 sẽ được sử dụng để biên dịch một số mô-đun python.
Cài đặt các gói cần thiết bằng lệnh yum bên dưới.
Mã:
sudo yum -y install gcc gcc-c++ make openssl-devel binutils autoconf flex bison libjpeg-devel freetype-devel zlib-devel perl-ZMQ-LibZMQ3 gdbm-devel ncurses-devel automake libtool libffi-devel curl git tmux gettext
Bây giờ chúng ta cần cài đặt EPEL (Extra Packages for Enterprise Linux). Cần cài đặt để cài đặt máy chủ web Nginx, RabbitMQ và Redis.
Cài đặt EPEL Repository trên hệ thống CentOS 7 bằng lệnh sau:
Mã:
sudo yum -y install epel-release
Taiga.io cần Python 3.5 để cài đặt. Chúng tôi sẽ sử dụng kho lưu trữ của bên thứ ba - 'ius community' - để cài đặt Python 3.5.
Thêm kho lưu trữ 'ius community' theo cách sau.
Mã:
sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm
Mã:
sudo yum -y install python35u python35u-pip python35u-devel python-devel python-pip python-virtualenvwrapper libxml2-devel libxslt-devel
Taiga.io là một công cụ ứng dụng web và chạy trên máy chủ web. Và đối với hướng dẫn này, chúng ta sẽ sử dụng Nginx làm máy chủ web.
Cài đặt Nginx từ kho lưu trữ EPEL bằng lệnh yum bên dưới.
Mã:
sudo yum -y install nginx
Mã:
systemctl start nginx
systemctl enable nginx
Mã:
netstat -plntu
- Cài đặt Redis và RabbitMQ
Đây là tùy chọn, vì bạn vẫn có thể chạy Taiga.io mà không cần các gói này. Về cơ bản, các gói Redis và RabbitMQ sẽ được taiga-events sử dụng.
Cài đặt Redis và RabbitMQ từ kho lưu trữ EPEL bằng lệnh yum bên dưới.
Mã:
yum -y install rabbitmq-server redis
Mã:
systemctl start rabbitmq-server
systemctl enable rabbitmq-server
systemctl start redis
systemctl enable redis
Tiếp theo, chúng ta cần tạo một người dùng và máy chủ ảo mới có tên là 'taiga' cho RabbitMQ và nó sẽ được sử dụng cho 'taiga-events'.
Chạy các lệnh sau để tạo người dùng và máy chủ ảo mới có tên là 'taiga' với mật khẩu 'aqwe123', sau đó đặt quyền cho người dùng 'taiga'.
Mã:
sudo rabbitmqctl add_user taiga aqwe123
sudo rabbitmqctl add_vhost taiga
sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
- Cài đặt Nodejs
Node là cần thiết cho 'taiga-events' - thêm kho lưu trữ nodesource của nodejs và cài đặt bằng lệnh yum.
Mã:
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum -y install nodejs
Bước 2 - Cài đặt và cấu hình PostgreSQL
Taiga.io là một ứng dụng web dựa trên nền tảng web Python Django và sử dụng PostgreSQL làm cơ sở dữ liệu. Chúng ta cần PostgreSQL phiên bản 9.5 để cài đặt Taiga.io.Thêm kho lưu trữ PostgreSQL 9.5 vào hệ thống.
Mã:
sudo rpm -Uvh http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
Mã:
sudo yum -y install postgresql95 postgresql95-devel postgresql95-contrib postgresql95-docs postgresql95-server
Mã:
sudo /usr/pgsql-9.5/bin/postgresql95-setup initdb
Mã:
systemctl start postgresql-9.5
systemctl enable postgresql-9.5
Tiếp theo, chúng ta phải tạo một cơ sở dữ liệu mới để cài đặt Taiga.io. Chúng ta cần tạo một cơ sở dữ liệu mới và một người dùng có tên là 'taiga'.
Đăng nhập với tư cách là người dùng 'postgres'.
Mã:
su - postgres
Mã:
createuser taiga
createdb taiga -O taiga
Cơ sở dữ liệu PostgreSQL mới để cài đặt Taiga.io đã được tạo.
Bước 3 - Thêm người dùng Taiga
Trong bước này, chúng ta sẽ tạo một người dùng hệ thống và nhóm mới có tên là 'taiga', sau đó thêm người dùng này vào nhóm wheel để truy cập lệnh sudo.Sử dụng lệnh 'useradd' bên dưới để tạo người dùng và nhóm 'taiga'.
Mã:
useradd -U -m -s /bin/bash taiga
passwd taiga
Mã:
usermod -a -G wheel taiga
Mã:
su - taiga
sudo su
Bước 4 - Cấu hình Taiga Back
Taiga-back là phần phụ trợ của Taiga.io cung cấp API cho giao diện Taiga. Nó được viết bằng Python và Django Web Framework.Trong bước này, chúng ta sẽ cài đặt và cấu hình thành phần taiga 'taiga-back'.
Đăng nhập vào người dùng 'taiga' và tải xuống mã nguồn 'taiga-back' từ GitHub.
Mã:
su - taiga
git clone https://github.com/taigaio/taiga-back.git taiga-back
Mã:
cd taiga-back
git checkout stable
Mã:
sudo pip install --upgrade virtualenv
Mã:
mkvirtualenv -p /usr/bin/python3.5 taiga
Trước khi cài đặt tất cả các mô-đun cho taiga-back, chúng ta cần tạo một liên kết mới cho lệnh 'pg_config' tới thư mục '/usr/bin'.
Mã:
sudo ln -s /usr/pgsql-9.5/bin/pg_config /usr/bin/pg_config
Mã:
workon taiga
pip install -r requirements.txt
Chạy tất cả các lệnh sau.
Mã:
python manage.py migrate --noinput
python manage.py loaddata initial_user
python manage.py loaddata initial_project_templates
python manage.py compilemessages
python manage.py collectstatic --noinput
Tiếp theo, tạo cấu hình mới cho 'taiga-back' bằng vim.
Mã:
vim ~/taiga-back/settings/local.py
Mã:
từ .common nhập *
MEDIA_URL = "http://taiga.hakase-labs.co/media/"
STATIC_URL = "http://taiga.hakase-labs.co/static/"
SITES["front"]["scheme"] = "http"
SITES["front"]["domain"] = "taiga.hakase-labs.co"
SECRET_KEY = "theveryultratopsecretkey"
DEBUG = False
PUBLIC_REGISTER_ENABLED = True
DEFAULT_FROM_EMAIL = "[emailprotected]"
SERVER_EMAIL = DEFAULT_FROM_EMAIL
#CELERY_ENABLED = True
EVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend"
EVENTS_PUSH_BACKEND_OPTIONS = {"url": "amqp://taiga:PASSWORD_FOR_EVENTS@localhost:5672/taiga"}
# Bỏ chú thích và điền các tham số kết nối thích hợp
# để kích hoạt gửi email. EMAIL_HOST_USER phải kết thúc bằng @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
# Bỏ chú thích và điền các tham số kết nối thích hợp
# để bật đăng nhập/đăng nhập github.
#GITHUB_API_CLIENT_ID = "yourgithubclientid"
#GITHUB_API_CLIENT_SECRET = "yourgithubclientsecret"
Lưu ý:
- Thay đổi 'MEDIA_URL' và 'STATIC_URL' bằng tên miền của riêng bạn tên.
- Thay đổi 'SECRET_KEY' bằng khóa bí mật của riêng bạn.
- Thay đổi giá trị mật khẩu EVENTS_PUSH_BACKEND_OPTIONS thành giá trị RabbitMQ của riêng bạn. Đối với hướng dẫn này, chúng tôi sử dụng mật khẩu 'aqwe123'.
Mã:
workon taiga
python manage.py runserver 0.0.0.0:8000
Mở trình duyệt web và truy cập địa chỉ sau.
http://192.168.33.10:8000/api/v1/
Và bạn sẽ nhận được API 'taiga-back' với định dạng JSON như bên dưới.
Cài đặt và cấu hình 'taiga-back' đã được đã hoàn thành.
Bước 5 - Cấu hình Taiga Frontend
Trong bước này, chúng ta sẽ tải xuống và cấu hình giao diện người dùng taiga. Frontend sẽ xử lý tất cả các giao diện taiga.Đăng nhập vào người dùng taiga.
Mã:
su - taiga
Mã:
cd ~
git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist
Mã:
cd taiga-front-dist
git checkout stable
Mã:
cp ~/taiga-front-dist/dist/conf.example.json ~/taiga-front-dist/dist/conf.json
vim ~/taiga-front-dist/dist/conf.json
Mã:
{
"api": "http://taiga.hakase-labs.co/api/v1/",
"eventsUrl": "ws://taiga.hakase-labs.co/events",
"debug": "true",
"publicRegisterEnabled": true,
"feedbackEnabled": true,
"privacyPolicyUrl": null,
"termsOfServiceUrl": null,
"maxUploadFileSize": null,
"contribPlugins": []
}
Cấu hình 'Giao diện Taiga' đã hoàn tất.
Bước 6 - Cấu hình sự kiện Taiga
Taiga-events là máy chủ WebSocket cho phép bạn hiển thị những thay đổi theo thời gian thực trên Bảng điều khiển Taiga.io và sử dụng RabbitMQ làm môi giới tin nhắn. Ở bước này, chúng ta sẽ tải xuống và cấu hình 'taiga-events'.Đăng nhập vào người dùng 'taiga'.
Mã:
su - taiga
Mã:
git clone https://github.com/taigaio/taiga-events.git taiga-events
cd taiga-events
Mã:
npm install
sudo npm install -g coffee-script
Tiếp theo, sao chép tệp cấu hình JSON vào 'config.json', sau đó chỉnh sửa bằng vim.
Mã:
cp config.example.json config.json
vim config.json
Mã:
{
"url": "amqp://taiga:aqwe123@localhost:5672/taiga",
"secret": "theveryultratopsecretkey",
"webSocketServer": {
"port": 8888
}
}
Lưu ý:
- Thay đổi giá trị 'url' bằng tên người dùng và mật khẩu rabbitmq của riêng bạn.
- Đối với giá trị 'secret', hãy đảm bảo rằng nó khớp với 'SECRET_KEY' trên 'local.py' - tệp cấu hình của 'taiga-back'.
Bước 7 - Cài đặt và cấu hình Circus
Circus sẽ được sử dụng để kiểm soát và quản lý quy trình 'taiga-back' và 'taiga-events'. 'taiga-events' đang chạy dưới dạng tập lệnh coffee và 'taiga-back' đang chạy dưới Gunicorn.Trong bước này, chúng ta sẽ cài đặt Circus theo cách thủ công từ mã nguồn.
Đăng nhập với tư cách là người dùng taiga.
Mã:
su - taiga
Mã:
cd ~/
git clone https://github.com/circus-tent/circus.git circus
Tạo thư mục 'conf' mới dưới người dùng taiga.
Mã:
mkdir -p ~/conf
Mã:
vim ~/conf/taiga.ini
Mã:
[circus]
check_delay = 5
endpoint = tcp://127.0.0.1:5555
pubsub_endpoint = tcp://127.0.0.1:5556
statsd = true
[watcher:taiga-events]
working_dir = /home/taiga/taiga-events
cmd = /usr/bin/coffee
args = index.coffee
uid = taiga
numprocesses = 1
autostart = true
send_hup = true
stdout_stream.class = FileStream
stdout_stream.filename = /home/taiga/logs/taigaevents.stdout.log
stdout_stream.max_bytes = 10485760
stdout_stream.backup_count = 12
stderr_stream.class = FileStream
stderr_stream.filename = /home/taiga/logs/taigaevents.stderr.log
stderr_stream.max_bytes = 10485760
stderr_stream.backup_count = 12
[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
Bây giờ hãy tạo thư mục cho các tệp nhật ký circus.
Mã:
mkdir -p ~/logs
Mã:
cd ~/circus
sudo python3.5 setup.py install
Chạy sudo lệnh, sau đó tạo một tệp dịch vụ mới 'circusd.service'.
Mã:
sudo su
vim /usr/lib/systemd/system/circusd.service
Mã:
[Unit]
Description=circus
[Service]
ExecStart=/usr/bin/circusd /home/taiga/conf/taiga.ini
Bây giờ hãy tải lại hệ thống systemd bằng lệnh bên dưới.
Mã:
systemctl daemon-reload
Mã:
systemctl start circusd
systemctl enable circusd
Mã:
circusctl status
Hoặc bạn có thể sử dụng lệnh systemctl như bên dưới.
Mã:
systemctl status circusd
Bước 8 - Cấu hình Taiga Nginx Virtual Host
Trong bước này, chúng ta sẽ cấu hình Nginx virtual host cho Taiga.io. Chúng tôi sẽ tạo một tệp máy chủ ảo mới trong thư mục 'conf.d' cho cài đặt Taiga.io của chúng tôi.Đi tới thư mục cấu hình nginx và tạo một tệp mới 'taiga.conf' trong thư mục 'conf.d'.
Mã:
cd /etc/nginx/
vim conf.d/taiga.conf
Mã:
máy chủ {
lắng nghe 80;
tên máy chủ taiga.hakase-labs.co;
bộ đệm tiêu đề máy khách lớn 4 32k;
kích thước thân máy khách tối đa 50M;
bộ ký tự utf-8;
nhật ký truy cập /var/log/nginx/taiga.access.log;
nhật ký lỗi /var/log/nginx/taiga.error.log;
# Vị trí giao diện người dùng / {
gốc /home/taiga/taiga-front-dist/dist/;
tệp thử $uri $uri/ /index.html;
}
# Vị trí giao diện người dùng /api {
proxy_set_header Máy chủ $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://127.0.0.1:8001/api;
proxy_redirect off;
}
# Quyền truy cập quản trị Django (/admin/)
vị trí /admin {
proxy_set_header Máy chủ $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://127.0.0.1:8001$request_uri;
proxy_redirect tắt;
}
# Tệp tĩnh
vị trí /static {
bí danh /home/taiga/taiga-back/static;
}
# Tệp phương tiện
vị trí /media {
bí danh /home/taiga/taiga-back/media;
}
# Sự kiện Taiga
vị trí /events {
proxy_pass http://127.0.0.1:8888/events;
proxy_http_version 1.1;
proxy_set_header Nâng cấp $http_upgrade;
proxy_set_header Kết nối "nâng cấp";
proxy_connect_timeout 7 ngày;
proxy_send_timeout 7 ngày;
proxy_read_timeout 7 ngày;
}
}
Bây giờ hãy chạy cấu hình nginx thử nghiệm và đảm bảo không có lỗi. Sau đó khởi động lại dịch vụ máy chủ web.
Mã:
nginx -t
systemctl restart nginx
Bước 9 - Cho phép Nginx truy cập Taiga Frontend
Đôi khi bạn có thể gặp lỗi về máy chủ web Nginx cho biết máy chủ không thể truy cập các tệp taiga-frontend - trong trường hợp này, bạn sẽ thấy Nginx '500 Internal Server Error'.Để giải quyết vấn đề này, chúng ta cần thay đổi chủ sở hữu hoặc nhóm của tất cả các tệp taiga-frontend và cấp cho Nginx quyền truy cập vào tất cả các tệp.
Theo mặc định trên CentOS 7, máy chủ web Nginx chạy dưới người dùng 'nginx' và cài đặt Taiga.io chạy dưới 'taiga' người dùng.
Sau đây là ví dụ về lỗi Nginx mà chúng ta đang nói đến.
Máy chủ web Nginx không thể đọc tất cả nội dung trên thư mục '/home/taiga/taiga-front-dist/dist'.
Kiểm tra điều này bằng lệnh bên dưới.
Mã:
sudo -u nginx stat /home/taiga/taiga-front-dist/dist
Bây giờ chúng ta cần thêm người dùng 'nginx' vào nhóm 'taiga' và cấp cho người dùng nginx các quyền cần thiết cho thư mục taiga-front-dist.
Thêm người dùng 'nginx' vào nhóm 'taiga'.
Mã:
sudo gpasswd -a nginx taiga
Mã:
sudo chmod g+x /home/taiga
sudo chmod g+x /home/taiga/taiga-front-dist
sudo chmod g+x /home/taiga/taiga-front-dist/dist
Mã:
systemctl restart nginx
Bước 10 - Kiểm tra
Mở trình duyệt web của bạn và truy cập tên miền cài đặt Taiga của bạn, của tôi làVà bạn sẽ thấy trang chủ mặc định của Taiga được hiển thị bên dưới.
Tại đây, nhập người dùng mặc định 'admin' với mật khẩu '123123', sau đó nhấp vào 'Đăng nhập' button.
Và bạn sẽ đến bảng điều khiển quản trị.
Cài đặt Taiga.io trên CentOS 7 với máy chủ web Nginx đã hoàn tất thành công.