Comments on How to Install Taiga.io Project Management Software on CentOS 7

Taiga.io is an open source project management system for agile developers, designers, and project managers. It's a beautiful project management tool that can handle both simple and complex projects for startups and software developers. In this tutorial, I will show you step-by-step how to install the Taiga.io project management tools on the CentOS 7 server.

8 Comment(s)

Add comment

Please register in our forum first to comment.

Comments

By: Juan Vergara

thanks for the awesome tutorial.

What is missing is to configure the access to HTTP content if SELINUX is enforced in the CENTOS 7 System:Here are the extra steps I had to make to have a successful browsing:

Test if SELINUX is enforced in the system:

  ** sudo getenforce

  - If SELINUX is enforced allow taiga-front files to be accessed by HTTP content:

  ** sudo chcon -Rt httpd_sys_content_t /home/taiga/taiga-front-dist/dist

  - restart the Nginx web server:

 

  ** systemctl restart nginx

Your comment was incredibly helpful. Thank you. I am having a new issue now and have spent the weeknd trying to fix it.when trying to start the nginx server i get the following error

Nov 10 10:38:45 li724-240.members.linode.com systemd[1]: Starting The nginx HTTP and reverse proxy server...

Nov 10 10:38:45 li724-240.members.linode.com nginx[14688]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

Nov 10 10:38:45 li724-240.members.linode.com nginx[14688]: nginx: [emerg] open() "/home/taiga/logs/nginx.access.log" failed (13: Permission denied)

Nov 10 10:38:45 li724-240.members.linode.com nginx[14688]: nginx: configuration file /etc/nginx/nginx.conf test failed

Nov 10 10:38:45 li724-240.members.linode.com systemd[1]: nginx.service: control process exited, code=exited status=1

Nov 10 10:38:45 li724-240.members.linode.com systemd[1]: Failed to start The nginx HTTP and reverse proxy server.

Nov 10 10:38:45 li724-240.members.linode.com systemd[1]: Unit nginx.service entered failed state.

 

Nov 10 10:38:45 li724-240.members.linode.com systemd[1]: nginx.service failed.CAN you help?

By: Juan Vergara

I need to add to my former comment that also is needed to allow NGINX to access port 8001 and 8888 via semanage in order for Taiga to work with SELINUX enforced.  Below are my updates steps:

- Test if SELINUX is enforced in the system:

  ** sudo getenforce

  - If SELINUX is enforced allow taiga-front files to be accessed by HTTP content

  ** sudo chcon -Rt httpd_sys_content_t /home/taiga/taiga-front-dist/dist

  - Allow Nginx SELINUX access to port 8001, 8888 like this:

  ** sudo semanage port -a -t http_port_t -p tcp 8888

  ** sudo semanage port -a -t http_port_t -p tcp 8001   

  - restart the Nginx web server.

 

  ** systemctl restart nginx

By: ula

my problem

 

(taiga) [taiga@project taiga-back]$ python manage.py runserver 0.0.0.0:8000

Trying import local.py settings...

Traceback (most recent call last):

  File "manage.py", line 29, in <module>

    execute_from_command_line(sys.argv)

  File "/home/taiga/.virtualenvs/taiga/lib/python3.5/site-packages/django/core/management/__init__.py", line 363, in execute_from_command_line

    utility.execute()

  File "/home/taiga/.virtualenvs/taiga/lib/python3.5/site-packages/django/core/management/__init__.py", line 307, in execute

    settings.INSTALLED_APPS

  File "/home/taiga/.virtualenvs/taiga/lib/python3.5/site-packages/django/conf/__init__.py", line 56, in __getattr__

    self._setup(name)

  File "/home/taiga/.virtualenvs/taiga/lib/python3.5/site-packages/django/conf/__init__.py", line 41, in _setup

    self._wrapped = Settings(settings_module)

  File "/home/taiga/.virtualenvs/taiga/lib/python3.5/site-packages/django/conf/__init__.py", line 110, in __init__

    mod = importlib.import_module(self.SETTINGS_MODULE)

  File "/home/taiga/.virtualenvs/taiga/lib64/python3.5/importlib/__init__.py", line 126, in import_module

    return _bootstrap._gcd_import(name[level:], package, level)

  File "<frozen importlib._bootstrap>", line 985, in _gcd_import

  File "<frozen importlib._bootstrap>", line 968, in _find_and_load

  File "<frozen importlib._bootstrap>", line 957, in _find_and_load_unlocked

  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked

  File "<frozen importlib._bootstrap_external>", line 697, in exec_module

  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed

  File "/home/taiga/taiga-back/settings/__init__.py", line 26, in <module>

    from .local import *

  File "/home/taiga/taiga-back/settings/local.py", line 3

    MEDIA_URL = "http://35.240.148.166/media/"

    ^

IndentationError: unexpected indent

 

By: till

Check the file /home/taiga/taiga-back/settings/local.py that you created, the indentation (whitespace) in front of the lines matters in python.

By: ula

after finish install  project.suntama.co.id

why

Something happened and our Oompa Loompas are working on it.

 

Take me home

By: Peter Hanley

I'm installing on a RHEL 7 server vs. the guide's Centos 7 server, so maybe it's different but -- can anyone explain the reason for using a different python repo than whatever the standard one is?  Does Centos just not have a good default python repo?

By: Mithun

Hello. I have install Taiga Io in centOS using this DOC. Everything is ok in installation but when i start Taiga in Web it shows "Something happened and our Oompa Loompas are working on it" Can not login and signup. My server port number is 8066 . Url- taiga.myweb.com:8066 . But can not access it. Having too much trouble due to this pls Help me. Selinux and Firewall also disbaled .

OS-Centos 7

OS Hostname- taiga.myweb.com

[taiga@taiga ~]$ cat ~/taiga-back/settings/local.py

from .common import *

 

MEDIA_URL = "http://taiga.myweb.com/media/"

STATIC_URL = "http://taiga.myweb.com/static/"

SITES["front"]["scheme"] = "http"

SITES["front"]["domain"] = "taiga.myweb.com"

 

SECRET_KEY = "theveryultratopsecretkey"

 

DEBUG = False

PUBLIC_REGISTER_ENABLED = True

 

DEFAULT_FROM_EMAIL = "[email protected]"

SERVER_EMAIL = DEFAULT_FROM_EMAIL

 

#CELERY_ENABLED = True

 

EVENTS_PUSH_BACKEND = "taiga.events.backends.rabbitmq.EventsPushBackend"

EVENTS_PUSH_BACKEND_OPTIONS = {"url": "amqp://taiga:my_event_password@localhost:5672/taiga"}

 

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"

 

[taiga@taiga ~]$ cat ~/taiga-front-dist/dist/conf.json

{

"api": "http://taiga.myweb.com/api/v1/",

"eventsUrl": "ws://taiga.myweb.com/events",

"debug": "true",

"publicRegisterEnabled": true,

"feedbackEnabled": true,

"privacyPolicyUrl": null,

"termsOfServiceUrl": null,

"maxUploadFileSize": null,

"contribPlugins": []

}

 

[taiga@taiga ~]$ cat taiga-events/config.json

{

"url": "amqp://taiga:my_event_password@localhost:5672/taiga",

"secret": "theveryultratopsecretkey",

"webSocketServer": {

"port": 8888

}

}

Circus Configuration-

[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

 

[taiga@taiga ~]$ circusctl status

Nginx Configure

server {

listen 8066;

server_name taiga.myweb.com;

 

large_client_header_buffers 4 32k;

client_max_body_size 50M;

charset utf-8;

 

access_log /var/log/nginx/taiga.access.log;

error_log /var/log/nginx/taiga.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://127.0.0.1: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://127.0.0.1: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;

}

 

# Taiga-events

location /events {

proxy_pass http://127.0.0.1:8888/events;

proxy_http_version 1.1;

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection "upgrade";

proxy_connect_timeout 7d;

proxy_send_timeout 7d;

proxy_read_timeout 7d;

}

}