Hoe Taiga Project Management Tool op CentOS 7 te installeren

Taiga is een gratis en open source applicatie voor projectmanagement. In tegenstelling tot andere hulpmiddelen voor projectbeheer, gebruikt Taiga een incrementele, flexibele aanpak om de ontwikkeling van het project te beheren. Taiga is een zeer krachtige en volledig aanpasbare applicatie. De backend van Taiga is geschreven in Python met behulp van het Django-framework. De frontend is geschreven in JavaScript met behulp van CoffeeScript- en AngularJS-frameworks. Taiga bevat functies zoals projectsamenwerking, Kanban-bord, bug-tracking, rapportage, tijd-tracking, backlogs, wiki en meer.

Vereisten

  • Een Vultr CentOS 7-serverinstantie met minimaal 1 GB RAM.
  • Een sudo-gebruiker .

In deze tutorial gebruiken we taiga.example.comde domeinnaam die naar de server verwijst. Vervang alle exemplaren van taiga.example.comdoor uw daadwerkelijke domeinnaam.

Update uw basissysteem met behulp van de handleiding CentOS 7 updaten . Zodra uw systeem is bijgewerkt, gaat u verder met het installeren van PostgreSQL.

Installeer PostgreSQL

PostgreSQL is een object-relationeel databasesysteem dat bekend staat om zijn stabiliteit en snelheid. Taiga gebruikt PostgreSQL om zijn database op te slaan. Voeg de PostgreSQL-repository toe aan het systeem.

sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm

Installeer de PostgreSQL-databaseserver.

sudo yum -y install postgresql10-server postgresql10-contrib postgresql10 

Initialiseer de database.

sudo /usr/pgsql-10/bin/postgresql-10-setup initdb

Start de PostgreSQL-server en schakel deze in om automatisch te starten tijdens het opstarten.

sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10

Wijzig het wachtwoord voor de standaard PostgreSQL-gebruiker.

sudo passwd postgres

Log in als de PostgreSQL-gebruiker.

sudo su - postgres

Maak een nieuwe PostgreSQL-gebruiker voor Taiga.

createuser taiga 

PostgreSQL biedt de psqlshell om query's op de database uit te voeren. Schakel over naar de PostgreSQL-shell.

psql

Stel een wachtwoord in voor de nieuw aangemaakte gebruiker voor de Taiga-database.

ALTER USER taiga WITH ENCRYPTED password 'DBPassword';

Vervang DBPassworddoor een veilig wachtwoord. Maak een nieuwe database voor Taiga-installatie.

CREATE DATABASE taiga OWNER taiga;

Verlaat de psqlschelp.

\q

Schakel over naar de sudogebruiker.

exit

Installeer Python 3

Python 2.7 wordt vooraf geïnstalleerd op een CentOS 7-server, maar Taiga vereist Python-versie 3.4 of hoger.

We zullen Python versie 3.6 vanaf de bron installeren. Installeer de vereiste build-tools en compiler.

sudo yum -y install gcc autoconf flex bison libjpeg-turbo-devel freetype-devel zlib-devel zeromq3-devel gdbm-devel ncurses-devel automake libtool libffi-devel curl git tmux libxml2-devel libxslt-devel openssl-devel gcc-c++

Download de Python-broncode.

wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz

Pak de installatie van Python uit en configureer deze.

tar xf Python-3.6.3.tar.xz
cd Python-3.6.3
./configure --enable-optimizations --prefix=/usr

Maak een alternatieve installatie.

sudo make altinstall

Opmerking : alternatieve installaties installeren Python 3.6 zonder de standaardversie van Python te vervangen. Als u de standaard Python in CentOS 7 vervangt, kan dit de YUMrepository manager kapot maken .

U kunt nu de versie ervan controleren.

python3.6 -V

Je zou het volgende moeten zien.

[user@vultr Python-3.6.3]$ python3.6 -V
Python 3.6.3

Installeer Python Virtual Environment met pip.

sudo pip3.6 install virtualenv virtualenvwrapper
sudo pip3.6 install --upgrade setuptools pip 

Python virtuele omgeving wordt gebruikt om een ​​geïsoleerde virtuele omgeving te creëren voor een Python-project. Een virtuele omgeving bevat zijn eigen installatiemappen en deelt geen bibliotheken met globale en andere virtuele omgevingen.

Installeer RabbitMQ

Taiga gebruikt RabbitMQ om de berichtenwachtrij te verwerken. RabbitMQ vereist dat Erlang-bibliotheken werken. Installeer Erlang.

sudo yum -y install erlang

Importeer RabbitMQ GPG-ondertekeningssleutel.

sudo rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc

Installeer RabbitMQ.

sudo yum -y install https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/rabbitmq-server-3.6.12-1.el7.noarch.rpm

Start en schakel de RabbitMQ-server in.

sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server

Voeg RabbitMQ-gebruiker en vhost toe. Geef ook toestemming aan de gebruiker via de host.

sudo rabbitmqctl add_user taiga StrongMQPassword
sudo rabbitmqctl add_vhost taiga
sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"

Zorg ervoor dat u deze vervangt StrongMQPassworddoor een veilig wachtwoord.

Installeer Nodejs

Node.js versie 7 of hoger is vereist om de frontend van de Taiga te compileren. Voeg de Node.js versie 8-opslagplaats toe.

curl -sL https://rpm.nodesource.com/setup_8.x | sudo -E bash -

Installeer Node.js en het pwgenhulpprogramma.

sudo yum install -y nodejs pwgen

pwgenzal later worden gebruikt om een ​​sterke geheime string te genereren. Installeer CoffeeScript, omdat het zal worden gebruikt om Taiga-bestanden te compileren die zijn geschreven met het CoffeeScript-framework.

sudo npm install -g coffee-script gulp

Installeer Taiga Backend

Voeg een nieuwe systeemgebruiker toe voor Taiga om ervoor te zorgen dat Taiga-processen worden uitgevoerd als een onbevoegde gebruiker.

sudo useradd -s /bin/bash taiga
sudo su - taiga

Opmerking : vanaf nu moeten alle opdrachten worden uitgevoerd als onbevoegde gebruiker taigatotdat u wordt gevraagd om terug te schakelen naar sudogebruiker.

Maak een nieuwe map om de logbestanden op te slaan.

mkdir -p ~/logs

Kloon de Taiga-backendrepository van GitHub en bekijk de nieuwste stabiele branch.

git clone https://github.com/taigaio/taiga-back.git taiga-back
cd taiga-back
git checkout stable

Configureer virtualenvwrapperom Python 3.6 te gebruiken in plaats van de standaard Python.

echo "VIRTUALENVWRAPPER_PYTHON='/bin/python3.6'" >> ~/.bashrc
echo "source /usr/bin/virtualenvwrapper.sh" >> ~/.bashrc

Bron tenslotte het ~/.bashrcbestand.

source ~/.bashrc

Maak nu een nieuwe virtuele omgeving voor Taiga met Python 3.6.

mkvirtualenv -p /bin/python3.6 taiga
pip3.6 install --upgrade setuptools

Installeer de vereiste Python-afhankelijkheden met pip.

pip3.6 install -r requirements.txt

Vul de database met de benodigde initiële gegevens.

python3.6 manage.py migrate --noinput
python3.6 manage.py loaddata initial_user
python3.6 manage.py loaddata initial_project_templates
python3.6 manage.py compilemessages
python3.6 manage.py collectstatic --noinput

De bovenstaande opdrachten schrijven gegevens naar de PostgreSQL-database. Taiga levert ook enkele demo- of voorbeeldgegevens die nuttig kunnen zijn bij het evalueren van het product. Voer het volgende uit als u de voorbeeldgegevens wilt installeren.

python3.6 manage.py sample_data

Opmerking : het installeren van voorbeeldgegevens is optioneel en is alleen bedoeld om het product te evalueren.

Voordat we doorgaan met het maken van het configuratiebestand voor de Taiga-backend, moeten we een geheime string genereren. Deze string wordt gebruikt om de sessiegegevens te versleutelen.

Genereer een willekeurige reeks van 64 tekens.

pwgen -s -1 64

Je zou de uitvoer moeten zien als een willekeurige string.

(taiga) [taiga@vultr taiga-back]$ pwgen -s -1 64
CZfjWjHctPwnLZsDysWqaZcYfRCviHbI4fVRwfhpbtAHPNBtmkcegpwpYjTtEziJ

Maak een nieuw configuratiebestand voor de Taiga-backend.

nano ~/taiga-back/settings/local.py

Vul het bestand in met de volgende code.

from .common import *

MEDIA_URL = "https://taiga.example.com/media/"
STATIC_URL = "https://taiga.example.com/static/"
SITES["front"]["scheme"] = "https"
SITES["front"]["domain"] = "taiga.example.com"

SECRET_KEY = "Generated_Secret_Key"

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:StrongMQPassword@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 = "mail.example.com"
#EMAIL_HOST_USER = "[email protected]"
#EMAIL_HOST_PASSWORD = "SMTPPassword"
#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"

Zorg ervoor dat u de voorbeelddomeinnaam vervangt door de daadwerkelijke domeinnaam in de bovenstaande code. Vervang ook Generated_Secret_Keydoor de daadwerkelijke geheime sleutel en StrongMQPassworddoor het daadwerkelijke wachtwoord voor de Taiga-berichtenwachtrijgebruiker. Als u een SMTP-server gereed heeft en u de functies voor het verzenden van e-mail onmiddellijk wilt gebruiken, kunt u de e-mailopties opheffen en de juiste waarden instellen. Als u geen mailserver gereed heeft, kunt u het instellen van de e-mailfunctie voorlopig overslaan en deze later in dit configuratiebestand instellen.

Als je GitHub-login wilt inschakelen, maak dan een applicatie in GitHub en geef de API-client-ID en het clientgeheim op.

Om onmiddellijk te controleren of de Taiga-backend kan worden gestart, voert u de ingebouwde Django-server uit.

workon taiga
python manage.py runserver

U ziet de volgende uitvoer als de server met succes is gestart.

(taiga) [taiga@vultr taiga-back]$ workon taiga
(taiga) [taiga@vultr taiga-back]$ python manage.py runserver
Trying import local.py settings...
Trying import local.py settings...
Performing system checks...

System check identified no issues (0 silenced).
October 25, 2017 - 07:07:28
Django version 1.10.6, using settings 'settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Om te controleren of de API toegankelijk is, opent u een andere terminalsessie en voert u het volgende uit.

curl http://127.0.0.1:8000/api/v1/

U ziet een vergelijkbare uitvoer die wordt geretourneerd door de API-aanroep.

[user@vultr ~]$ curl http://127.0.0.1:8000/api/v1/
{"locales": "http://127.0.0.1:8000/api/v1/locales", "auth": "http://127.0.0.1:8000/api/v1/auth", "users": "http://127.0.0.1:8000/api/v1/users", "roles": "http://127.0.0.1:8000/api/v1/roles", "user-storage": "http://127.0.0.1:8000/api/v1/user-storage", "notify-policies": "http://127.0.0.1:8000/api/v1/notify-policies", "projects": "http://127.0.0.1:8000/api/v1/projects", "projects/(?P<resource_id>\\d+)/fans": "http://127.0.0.1:8000/api/v1/projects/(?P<resource_id>\\d+)/fans", "projects/(?P<resource_id>\\d+)/watchers": "http://127.0.0.1:8000/api/v1/projects/(?P<resource_id>\\d+)/watchers", "project-templates": "http://127.0.0.1:8000/api/v1/project-templates",

Stop de Taiga-backendserver door op " Ctrl + C" te drukken en deactiveer de virtuele omgeving.

deactivate

Installeer Frontend

De Taiga-frontend is het onderdeel van Taiga dat de webgebruikersinterface bedient. Kloon de Taiga-frontendrepository van Github en bekijk de nieuwste stabiele branch.

cd ~
git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist
cd taiga-front-dist
git checkout stable

Maak een nieuw configuratiebestand voor de Taiga-frontend.

nano ~/taiga-front-dist/dist/conf.json

Vul hiermee het bestand in.

{
    "api": "https://taiga.example.com/api/v1/",
    "eventsUrl": "wss://taiga.example.com/events",
    "eventsMaxMissedHeartbeats": 5,
    "eventsHeartbeatIntervalTime": 60000,
    "eventsReconnectTryInterval": 10000,
    "debug": true,
    "debugInfo": false,
    "defaultLanguage": "en",
    "themes": ["taiga"],
    "defaultTheme": "taiga",
    "publicRegisterEnabled": true,
    "feedbackEnabled": true,
    "privacyPolicyUrl": null,
    "termsOfServiceUrl": null,
    "maxUploadFileSize": null,
    "contribPlugins": [],
    "tribeHost": null,
    "importers": [],
    "gravatar": true
}

Zorg ervoor dat u het exampledomein vervangt door het daadwerkelijke domein. U kunt ook de standaardtaal en andere parameters wijzigen in de bovenstaande configuratie.

Installeer Taiga Events

Afgezien van de frontend en backend, moeten we ook Taiga-evenementen installeren. Taiga events is een web-socketserver en stelt de Taiga-frontend in staat om realtime veranderingen in modules zoals backlog, Kanban en meer weer te geven. Het gebruikt de RabbitMQ-server voor berichtverwerking.

Kloon de repository voor Taiga-evenementen vanuit Github.

cd ~
git clone https://github.com/taigaio/taiga-events.git taiga-events
cd taiga-events

Installeer de Node.js-afhankelijkheden met npm.

npm install

Maak een nieuw configuratiebestand voor Taiga-evenementen.

nano ~/taiga-events/config.json

Vul het bestand in met het volgende.

{
    "url": "amqp://taiga:StrongMQPassword@localhost:5672/taiga",
    "secret": "Generated_Secret_Key",
    "webSocketServer": {
        "port": 8888
    }
}

Vervang deze Generated_Secret_Keydoor de daadwerkelijke geheime sleutel van 64 tekens die u in het verleden heeft gegenereerd. De geheime sleutel moet exact hetzelfde zijn als de sleutel die u in het Taiga backend-configuratiebestand heeft opgegeven. Werk ook het bij StrongMQPasswordmet het daadwerkelijke wachtwoord voor de gebruiker van de Taiga-berichtenwachtrij.

Configureer Circus

Circus is een procesmanager voor Python-toepassingen. We zullen Circus gebruiken om Taiga-backend en evenementen uit te voeren.

Schakel terug naar de sudogebruiker.

exit

Opmerking : vanaf nu moet u de opdrachten uitvoeren met de sudogebruiker.

Installeer Circus met pip.

sudo pip3.6 install circus

Maak nieuwe mappen om Circus-configuraties op te slaan.

sudo mkdir /etc/circus
sudo mkdir /etc/circus/conf.d

Maak het standaard configuratiebestand voor Circus.

sudo nano /etc/circus/circus.ini

Vul het bestand in met de volgende configuratie.

[circus]
check_delay = 5
endpoint = tcp://127.0.0.1:5555
pubsub_endpoint = tcp://127.0.0.1:5556
include = /etc/circus/conf.d/*.ini

Maak een nieuw Circus-configuratiebestand voor het uitvoeren van de Taiga-backend.

sudo nano /etc/circus/conf.d/taiga.ini

Vul het bestand in met het volgende.

[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.6/site-packages

Maak een nieuwe Circus-configuratie voor het uitvoeren van Taiga-evenementen.

sudo nano /etc/circus/conf.d/taiga-events.ini

Vul het bestand in met het volgende.

[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

Nu moeten we een systemdservicebestand maken om Circus te laten draaien. Het gebruik systemdzorgt ervoor dat Circus automatisch wordt gestart tijdens het opnieuw opstarten en mislukken.

sudo nano /etc/systemd/system/circus.service

Vul het bestand in.

[Unit]
Description=Circus process manager
After=syslog.target network.target nss-lookup.target
[Service]
Type=simple
ExecReload=/usr/bin/circusctl reload
ExecStart=/usr/bin/circusd /etc/circus/circus.ini
Restart=always
RestartSec=5

[Install]
WantedBy=default.target

Start Circus en schakel in om automatisch bij het opstarten te starten.

sudo systemctl start circus
sudo systemctl enable circus

Bekijk de status van Circus.

circusctl status

U zult de volgende uitvoer zien.

[user@vultr ~]$ circusctl status
taiga: active
taiga-events: active

Nu hebben we Taiga met succes geïnstalleerd en uitgevoerd. Voordat we het kunnen gebruiken, moeten we de installatie blootleggen met elke productiewebserver.

Installeer Nginx als een reverse proxy

We zullen de Nginx-webserver gebruiken als een reverse proxy om de applicatie aan de gebruikers te bedienen. We zullen ook SSL-certificaten verkrijgen en installeren via Let's Encrypt.

Installeer Nginx en Certbot. Certbot is de officiële certificeringsinstantie voor Let's Encrypt CA.

sudo yum -y install nginx certbot

Pas uw firewall-instelling aan om de standaard HTTPen HTTPSpoorten door de firewall heen te laten, aangezien Certbot een HTTP-verbinding moet maken om de domeinautoriteit te verifiëren.

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

Opmerking : om certificaten van Let's Encrypt CA te verkrijgen, moet u ervoor zorgen dat het domein waarvoor u de certificaten wilt genereren, naar de server is gericht. Zo niet, breng dan de nodige wijzigingen aan in de DNS-records van uw domein en wacht tot de DNS zich verspreidt voordat u het certificaatverzoek opnieuw indient. Certbot controleert de domeinautoriteit voordat de certificaten worden verstrekt.

Gebruik nu de ingebouwde webserver in Certbot om de certificaten voor uw domein te genereren.

sudo certbot certonly --standalone -d taiga.example.com

De gegenereerde certificaten worden waarschijnlijk in de /etc/letsencrypt/live/taiga.example.com/directory opgeslagen . Het SSL-certificaat blijft behouden als fullchain.pemen de privésleutel wordt opgeslagen als privkey.pem.

Let's Encrypt-certificaten verlopen over 90 dagen, dus het wordt aanbevolen om automatische verlenging in te stellen voor de certificaten met Cron-taken. Cron is een systeemservice die wordt gebruikt om periodieke taken uit te voeren.

Open het cron-taakbestand.

sudo crontab -e

Voeg de volgende regel toe.

0 0 * * * /usr/bin/certbot renew --quiet

De bovenstaande cron-taak wordt dagelijks om middernacht uitgevoerd. Als het certificaat vervalt, worden de certificaten automatisch verlengd.

Genereer een sterke Diffie-Hellmanparameter. Het biedt een extra beveiligingslaag voor gegevensuitwisseling tussen de host en de server.

sudo openssl dhparam -out /etc/ssl/dhparam.pem 2048 

Maak een nieuw Nginx-serverblok om de Taiga-frontend te bedienen.

sudo nano /etc/nginx/conf.d/taiga.conf

Vul het bestand in met het volgende.

server {
    listen 80;
    server_name taiga.example.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl;
    server_name taiga.example.com;

    access_log /home/taiga/logs/nginx.access.log;
    error_log /home/taiga/logs/nginx.error.log;

    large_client_header_buffers 4 32k;
    client_max_body_size 50M;
    charset utf-8;

    index index.html;

    # 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;
    }

    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;
    }

     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;
    }

    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";
    add_header Public-Key-Pins 'pin-sha256="klO23nT2ehFDXCfx3eHTDRESMz3asj1muO+4aIdjiuY="; pin-sha256="633lt352PKRXbOwf4xSEa1M517scpD3l5f79xMD9r9Q="; max-age=2592000; includeSubDomains';

    ssl on;
    ssl_certificate /etc/letsencrypt/live/taiga.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/taiga.example.com/privkey.pem;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK';
    ssl_session_cache shared:SSL:10m;
    ssl_dhparam /etc/ssl/dhparam.pem;
    ssl_stapling on;
    ssl_stapling_verify on;

}

Zorg ervoor dat u de domeinnaam en het pad naar de SSL-certificaten wijzigt.

Nu kunt u de Nginx-webserver opnieuw opstarten en deze automatisch laten opstarten.

sudo systemctl restart nginx
sudo systemctl status nginx

Bevestig ten slotte het eigendom en de toestemming voor Taiga-bestanden.

sudo chown -R taiga:taiga /home/taiga/
sudo chmod o+x /home/taiga/

Gevolgtrekking

U kunt nu toegang krijgen tot de Taiga-installatie door naar te gaan https://taiga.example.com. Log in met het initiële beheerdersaccount met gebruikersnaam " admin" en wachtwoord " 123123". Uw installatie is nu klaar voor productiegebruik. Begin met het maken van een nieuw project of het evalueren van het product. Als u al een project beheert op Github, Jira of Trello, kunt u de projecten eenvoudig in Taiga importeren met behulp van de importeurs .



Leave a Comment

Hoe Matomo Analytics op Fedora te installeren 28

Hoe Matomo Analytics op Fedora te installeren 28

Gebruikt u een ander systeem? Matomo (voorheen Piwik) is een open source analyseplatform, een open alternatief voor Google Analytics. Matomo source wordt gehost o

OsTicket installeren op FreeBSD 12

OsTicket installeren op FreeBSD 12

Gebruikt u een ander systeem? osTicket is een open source ticketingsysteem voor klantenondersteuning. De broncode van osTicket wordt openbaar gehost op Github. In deze tutorial

Hoe Alfresco Community Edition op CentOS 7 te installeren

Hoe Alfresco Community Edition op CentOS 7 te installeren

Gebruikt u een ander systeem? Alfresco Community Edition is een open source-versie van de Alfresco Content Services. Het is geschreven in Java en gebruikt PostgreSQL t

Matomo Analytics op Debian installeren 9

Matomo Analytics op Debian installeren 9

Gebruikt u een ander systeem? Matomo (voorheen Piwik) is een open source analyseplatform, een open alternatief voor Google Analytics. Matomo source wordt gehost o

Osclass installeren op FreeBSD 12

Osclass installeren op FreeBSD 12

Gebruikt u een ander systeem? Osclass is een open source-project waarmee u eenvoudig een geclassificeerde site kunt maken zonder enige technische kennis. Het is sourc

Hoe X-Cart 5 op FreeBSD 12 te installeren

Hoe X-Cart 5 op FreeBSD 12 te installeren

Gebruikt u een ander systeem? X-Cart is een uiterst flexibel open-source e-commerceplatform met tal van functies en integraties. X-Cart broncode is hoste

Hoe Sentrifugo HRM op CentOS 7 te installeren

Hoe Sentrifugo HRM op CentOS 7 te installeren

Gebruikt u een ander systeem? Sentrifugo HRM is een gratis en open source Human Resource Management-applicatie. Het is rijk aan functies en gemakkelijk configureerbaar

Matomo Analytics installeren op Ubuntu 16.04

Matomo Analytics installeren op Ubuntu 16.04

Gebruikt u een ander systeem? Matomo (voorheen Piwik) is een open source analyseplatform, een open alternatief voor Google Analytics. Matomo source wordt gehost o

Hoe Zammad 2.0 op Ubuntu 16.04 LTS te installeren

Hoe Zammad 2.0 op Ubuntu 16.04 LTS te installeren

Gebruikt u een ander systeem? Zammad is een open source helpdesk / ticketingsysteem dat is ontworpen voor klantenserviceteams. Met Zammad, klantenservice

Hoe X-Cart 5 op Ubuntu 18.04 LTS te installeren

Hoe X-Cart 5 op Ubuntu 18.04 LTS te installeren

Gebruikt u een ander systeem? X-Cart is een uiterst flexibel open-source e-commerceplatform met tal van functies en integraties. X-Cart broncode is hoste

Microweber installeren op CentOS 7

Microweber installeren op CentOS 7

Gebruikt u een ander systeem? Microweber is een open source CMS voor slepen en neerzetten en een online winkel. De broncode van Microweber wordt gehost op GitHub. Deze gids zal je laten zien

Microweber installeren op Ubuntu 16.04

Microweber installeren op Ubuntu 16.04

Gebruikt u een ander systeem? Microweber is een open source CMS voor slepen en neerzetten en een online winkel. De broncode van Microweber wordt gehost op GitHub. Deze gids zal je laten zien

Hoe Mailtrain Newsletter Application op Ubuntu 16.04 te installeren

Hoe Mailtrain Newsletter Application op Ubuntu 16.04 te installeren

Gebruikt u een ander systeem? Mailtrain is een open-source zelf gehoste nieuwsbrief-app gebouwd op Node.js en MySQL / MariaDB. De bron van Mailtrains staat op GitHub. Thi

Hoe Mailtrain Newsletter Application op CentOS 7 te installeren

Hoe Mailtrain Newsletter Application op CentOS 7 te installeren

Gebruikt u een ander systeem? Mailtrain is een open-source zelf gehoste nieuwsbrief-app gebouwd op Node.js en MySQL / MariaDB. De bron van Mailtrains staat op GitHub. Thi

Hoe Alfresco Community Edition op Ubuntu 16.04 te installeren

Hoe Alfresco Community Edition op Ubuntu 16.04 te installeren

Gebruikt u een ander systeem? Alfresco Community Edition is een open source-versie van de Alfresco Content Services. Het is geschreven in Java en gebruikt PostgreSQL t

Hoe Mailtrain Newsletter Application op Debian 9 te installeren

Hoe Mailtrain Newsletter Application op Debian 9 te installeren

Gebruikt u een ander systeem? Mailtrain is een open-source zelf gehoste nieuwsbrief-app gebouwd op Node.js en MySQL / MariaDB. De bron van Mailtrains staat op GitHub. Thi

OsTicket installeren op Ubuntu 18.04 LTS

OsTicket installeren op Ubuntu 18.04 LTS

Gebruikt u een ander systeem? osTicket is een open source ticketingsysteem voor klantenondersteuning. De broncode van osTicket wordt openbaar gehost op Github. In deze tutorial

Akaunting installeren op FreeBSD 12

Akaunting installeren op FreeBSD 12

Gebruikt u een ander systeem? Introductie Akaunting is een gratis, open source en online boekhoudsoftware die is ontworpen voor kleine bedrijven en freelancers. Het ik

Hoe Apache Zeppelin op Ubuntu 16.04 te installeren

Hoe Apache Zeppelin op Ubuntu 16.04 te installeren

Gebruikt u een ander systeem? Apache Zeppelin is een webgebaseerde open source notebook en samenwerkingstool voor interactieve data-opname, ontdekking, analyse en

Hoe osTicket op Fedora 30 te installeren

Hoe osTicket op Fedora 30 te installeren

Gebruikt u een ander systeem? osTicket is een open source ticketingsysteem voor klantenondersteuning. De broncode van osTicket wordt openbaar gehost op Github. In deze tutorial

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Kan AI vechten met toenemend aantal ransomware-aanvallen?

Ransomware-aanvallen nemen toe, maar kan AI helpen het nieuwste computervirus het hoofd te bieden? Is AI het antwoord? Lees hier weten is AI boezem of vloek

ReactOS: is dit de toekomst van Windows?

ReactOS: is dit de toekomst van Windows?

ReactOS, een open source en gratis besturingssysteem is hier met de nieuwste versie. Kan het voldoen aan de behoeften van moderne Windows-gebruikers en Microsoft uitschakelen? Laten we meer te weten komen over deze oude stijl, maar een nieuwere OS-ervaring.

Blijf verbonden via WhatsApp Desktop-app 24 * 7

Blijf verbonden via WhatsApp Desktop-app 24 * 7

WhatsApp heeft eindelijk de Desktop-app voor Mac- en Windows-gebruikers gelanceerd. Nu heb je eenvoudig toegang tot WhatsApp vanuit Windows of Mac. Beschikbaar voor Windows 8+ en Mac OS 10.9+

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Hoe AI procesautomatisering naar een hoger niveau kan tillen?

Lees dit om te weten hoe kunstmatige intelligentie populair wordt onder de kleinschalige bedrijven en hoe het de kansen vergroot om ze te laten groeien en hun concurrenten voorsprong te geven.

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

macOS Catalina 10.15.4 Supplement Update veroorzaakt meer problemen dan het oplost

Onlangs heeft Apple macOS Catalina 10.15.4 uitgebracht, een aanvullende update om problemen op te lossen, maar het lijkt erop dat de update meer problemen veroorzaakt die ertoe leiden dat mac-machines worden gemetseld. Lees dit artikel voor meer informatie

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

13 Commerciële data-extractietools voor big data

Wat is een logboekbestandssysteem en hoe werkt het?

Wat is een logboekbestandssysteem en hoe werkt het?

Onze computer slaat alle gegevens op een georganiseerde manier op, het zogenaamde Journaling-bestandssysteem. Het is een efficiënte methode waarmee de computer bestanden kan zoeken en weergeven zodra u op zoeken drukt.https://wethegeek.com/?p=94116&preview=true

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Technologische singulariteit: een verre toekomst van de menselijke beschaving?

Naarmate de wetenschap zich snel ontwikkelt en veel van onze inspanningen overneemt, nemen ook de risico's toe om onszelf te onderwerpen aan een onverklaarbare singulariteit. Lees, wat singulariteit voor ons kan betekenen.

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

Een inzicht in 26 Big Data-analysetechnieken: deel 1

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

De impact van kunstmatige intelligentie in de gezondheidszorg 2021

AI in de zorg heeft de afgelopen decennia grote sprongen gemaakt. De toekomst van AI in de gezondheidszorg groeit dus nog steeds met de dag.