Kā instalēt Microweber operētājsistēmā CentOS 7
Vai izmantojat citu sistēmu? Microweber ir atvērtā koda vilkšanas un nomešanas CMS un tiešsaistes veikals. Microweber pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata jums parādīs
Taiga ir bezmaksas atvērtā koda lietojumprogramma projektu vadībai. Atšķirībā no citiem projektu vadības rīkiem, Taiga izmanto pakāpenisku veiklu pieeju, lai vadītu projekta attīstību. Taiga ir ļoti jaudīga un pilnībā pielāgojama lietojumprogramma. Taiga aizmugure ir rakstīta Python, izmantojot Django sistēmu. Priekšgals ir rakstīts JavaScript, izmantojot CoffeeScript un AngularJS ietvarus. Taiga ietver tādas funkcijas kā sadarbība ar projektu, Kanban dēlis, kļūdu izsekošana, ziņošana, laika izsekošana, atpalicības, wiki un citas.
Šajā apmācībā mēs izmantosim taiga.example.com
kā domēna nosaukumu, kas norādīts uz serveri. Aizstāt visus gadījumus taiga.example.com
ar savu faktisko domēna nosaukumu.
Atjauniniet savu bāzes sistēmu, izmantojot rokasgrāmatu Kā atjaunināt Ubuntu 16.04 . Kad sistēma ir atjaunināta, turpiniet instalēt PostgreSQL.
PostgreSQL ir objektu relāciju datu bāzes sistēma, kas pazīstama ar savu stabilitāti un ātrumu. Taiga savas datu bāzes glabāšanai izmanto PostgreSQL. Pievienojiet sistēmai PostgreSQL repozitoriju.
echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
Importējiet GPG parakstīšanas atslēgu un atjauniniet pakešu sarakstus.
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
Instalējiet PostgreSQL datu bāzes serveri.
sudo apt -y install postgresql
Palaidiet PostgreSQL serveri un iespējojiet tā automātisku palaišanu sāknēšanas laikā.
sudo systemctl start postgresql
sudo systemctl enable postgresql
Mainiet noklusējuma PostgreSQL lietotāja paroli.
sudo passwd postgres
Piesakieties kā PostgreSQL lietotājs.
sudo su - postgres
Izveidojiet jaunu PostgreSQL lietotāju Taigai.
createuser taiga
PostgreSQL nodrošina psql
čaulu, lai palaistu vaicājumus datu bāzē. Pārslēdzieties uz PostgreSQL čaulu.
psql
Iestatiet paroli jaunizveidotajam Taiga datu bāzes lietotājam.
ALTER USER taiga WITH ENCRYPTED password 'DBPassword';
Aizstāt DBPassword
ar drošu paroli. Izveidojiet jaunu datubāzi Taiga instalēšanai.
CREATE DATABASE taiga OWNER taiga;
Iziet no psql
čaulas.
\q
Pārslēdzieties uz sudo
lietotāju.
exit
Taigai ir nepieciešama Python versija 3.4 vai jaunāka versija, un Python 3.5 ir iepriekš instalēta Ubuntu 16.04 izplatīšanā. Instalējiet vēl dažas nepieciešamās pakotnes.
sudo apt -y install python3 python3-pip python3-dev python3-dev virtualenvwrapper
Python virtuālā vide tiek izmantota, lai izveidotu izolētu virtuālo vidi Python projektam. Virtuālajā vidē ir savi instalācijas direktoriji, un tā nekoplieto bibliotēkas ar globālajām un citām virtuālajām vidēm. Kad Python 3 ir veiksmīgi instalēts, jums vajadzētu būt iespējai pārbaudīt tā versiju.
python3 -V
Jūs redzēsit tālāk norādīto.
user@vultr:~$ python3 -V
Python 3.5.2
Jauninājums pip
, kas ir atkarības pārvaldnieka lietojumprogramma.
sudo pip3 install --upgrade setuptools pip
Instalējiet arī dažus veidošanas rīkus, kas būs nepieciešami vēlāk, lai apkopotu atkarības.
sudo apt -y install build-essential binutils-doc autoconf flex bison libjpeg-dev libfreetype6-dev zlib1g-dev libzmq3-dev libgdbm-dev libncurses5-dev automake libtool libffi-dev curl git tmux gettext
Taiga izmanto RabbitMQ, lai apstrādātu ziņojumu rindu. RabbitMQ darbam ir nepieciešamas Erlang bibliotēkas. Instalējiet Erlang.
sudo apt -y install erlang
Pievienojiet RabbitMQ repozitoriju.
echo 'deb http://www.rabbitmq.com/debian/ stable main' | sudo tee /etc/apt/sources.list.d/rabbitmq.list
Importējiet RabbitMQ GPG parakstīšanas atslēgu.
wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
Atjauniniet repozitorija informāciju.
sudo apt update
Instalējiet RabbitMQ.
sudo apt -y install rabbitmq-server
Startējiet un iespējojiet RabbitMQ serveri.
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
Pievienojiet RabbitMQ lietotāju un vhost. Nodrošiniet arī atļauju lietotājam, izmantojot resursdatoru.
sudo rabbitmqctl add_user taiga StrongMQPassword
sudo rabbitmqctl add_vhost taiga
sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
Noteikti nomainiet to StrongMQPassword
ar drošu paroli.
Lai kompilētu Taiga priekšgalu, ir nepieciešama Node.js versija 7 vai jaunāka versija. Pievienojiet Node.js versijas 8 repozitoriju.
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
Instalējiet Node.js un pwgen
utilītu.
sudo apt install -y nodejs pwgen npm
pwgen
tiks izmantots vēlāk, lai ģenerētu spēcīgu slepeno virkni. Instalējiet CoffeeScript, jo tas tiks izmantots, lai kompilētu Taiga failus, kas rakstīti CoffeeScript ietvarā.
sudo npm install -g coffee-script gulp
Pievienojiet jaunu sistēmas lietotāju Taiga, lai nodrošinātu, ka Taiga procesi darbojas kā nepievilcīgs lietotājs.
sudo adduser taiga
sudo su - taiga
Piezīme . No šī brīža visas komandas ir jāizpilda kā nepievilinātam lietotājam, taiga
līdz tiek lūgts pārslēgties atpakaļ uz sudo
lietotāju.
Izveidojiet jaunu direktoriju žurnālfailu glabāšanai.
mkdir -p ~/logs
Klonējiet Taiga aizmugursistēmas repozitoriju no GitHub un pārbaudiet jaunāko stabilo filiāli.
git clone https://github.com/taigaio/taiga-back.git taiga-back
cd taiga-back
git checkout stable
Tagad izveidojiet jaunu virtuālo vidi Taiga, izmantojot Python 3.
mkvirtualenv -p /usr/bin/python3 taiga
pip3 install --upgrade setuptools
Instalējiet vajadzīgās Python atkarības, izmantojot pip
.
pip3 install -r requirements.txt
Aizpildiet datu bāzi ar nepieciešamajiem sākotnējiem datiem.
python3 manage.py migrate --noinput
python3 manage.py loaddata initial_user
python3 manage.py loaddata initial_project_templates
python3 manage.py compilemessages
python3 manage.py collectstatic --noinput
Iepriekš minētās komandas ierakstīs datus PostgreSQL datu bāzē. Taiga piegādā arī dažus demonstrācijas vai datu paraugus, kas var būt noderīgi produkta novērtēšanai. Ja vēlaties instalēt datu paraugus, izpildiet tālāk norādītās darbības.
python3 manage.py sample_data
Piezīme . Datu paraugu instalēšana nav obligāta un paredzēta tikai produkta novērtēšanai.
Pirms mēs turpinām izveidot Taiga aizmugursistēmas konfigurācijas failu, mums ir jāģenerē slepenā virkne. Šī virkne tiks izmantota, lai šifrētu sesijas datus.
Ģenerējiet nejaušu 64 rakstzīmju virkni.
pwgen -s -1 64
Jums vajadzētu redzēt izvadi kā nejaušu virkni.
(taiga) taiga@vultr:~/taiga-back$ pwgen -s -1 64
fhDfyYVJ4EH3tvAyUzmfWSeCXuf5sy5EEWrMQPaf9t3JSFrpiL6yvUEOWsFOTscP
Izveidojiet jaunu Taiga aizmugursistēmas konfigurācijas failu.
nano ~/taiga-back/settings/local.py
Aizpildiet failu ar šādu kodu.
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"
example domain name
Iepriekš minētajā kodā noteikti aizstājiet to ar faktisko. Nomainiet arī Generated_Secret_Key
ar faktisko slepeno atslēgu un StrongMQPassword
Taiga ziņojumu rindas lietotāja faktisko paroli. Ja jums ir gatavs SMTP serveris un vēlaties nekavējoties izmantot e-pasta sūtīšanas funkcijas, varat atsaukt e-pasta opciju komentārus un iestatīt atbilstošo vērtību. Ja jums nav gatavs pasta serveris, varat pagaidām izlaist e-pasta funkcijas iestatīšanu un iestatīt to vēlāk šajā konfigurācijas failā.
Ja vēlaties iespējot GitHub pieteikšanos, izveidojiet lietojumprogrammu GitHub un norādiet API klienta ID un klienta noslēpumu.
Lai nekavējoties pārbaudītu, vai Taiga aizmugursistēmu var palaist, palaidiet iebūvēto Django serveri.
workon taiga
python manage.py runserver
Ja serveris ir veiksmīgi startēts, jūs redzēsit šādu izvadi.
(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 28, 2017 - 10:29:38
Django version 1.10.6, using settings 'settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
To verify if the API can be accessed, open another terminal session and run the following.
curl http://127.0.0.1:8000/api/v1/
You will see similar output returned by the API call.
user@vultr:~$ curl http://127.0.0.1:8000/api/v1/
{"webhooks": "http://127.0.0.1:8000/api/v1/webhooks", "invitations": "http://127.0.0.1:8000/api/v1/invitations", "severities": "http://127.0.0.1:8000/api/v1/severities", "memberships": "http://127.0.0.1:8000/api/v1/memberships", "user-storage": "http://127.0.0.1:8000/api/v1/user-storage", "epics/(?P<resource_id>\\d+)/voters": "http://127.0.0.1:8000/api/v1/epics/(?P<resource_id>\\d+)/voters", "wiki": "http://127.0.0.1:8000/api/v1/wiki", "priorities": "http://127.0.0.1:8000/api/v1/priorities", "userstories/attachments": "http://127.0.0.1:8000/api/v1/userstories/attachments", "epics/(?P<epic>[^/.]+)/related_userstories": "http://127.0.0.1:8000/api/v1/epics/(?P<epic>[^/.]+)/related_userstories", "timeline/user": "http://127.0.0.1:8000/api/v1/timeline/user", "userstories/(?P<resource_id>\\d+)/voters": "http://127.0.0.1:8000/api/v1/userstories/(?P<resource_id>\\d+)/voters", "wiki-links": "http://127.0.0.1:8000/api/v1/wiki-links", "epics/attachments": "http://127.0.0.1:8000/api/v1/epics/attachments", "issues/custom-attributes-values": "http://127.0.0.1:8000/api/v1/issues/custom-attributes-values
Stop the Taiga backend server by pressing "ctrl + C
" and deactivate the virtual environment.
deactivate
The Taiga frontend is the component of Taiga which serves the Web user interface. Clone the Taiga frontend repository from Github and checkout the latest stable branch.
cd ~
git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist
cd taiga-front-dist
git checkout stable
Create a new configuration file for the Taiga frontend.
nano ~/taiga-front-dist/dist/conf.json
Populate the file.
{
"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
}
Make sure to replace the example domain
with the actual domain. You can also change the default language and other parameters in the above configuration.
Apart from the frontend and backend, we also need to install Taiga events. Taiga events is a web socket server, and it enables the Taiga frontend to show real-time changes in modules such as backlog, Kanban and more. It also uses the RabbitMQ server for message processing.
Clone the Taiga events repository from Github.
cd ~
git clone https://github.com/taigaio/taiga-events.git taiga-events
cd taiga-events
Install the Node.js dependencies using npm
.
npm install
Create a new configuration file for Taiga events.
nano ~/taiga-events/config.json
Populate the file.
{
"url": "amqp://taiga:StrongMQPassword@localhost:5672/taiga",
"secret": "Generated_Secret_Key",
"webSocketServer": {
"port": 8888
}
}
Replace Generated_Secret_Key
with the actual 64 characters long secret key which you have generated previously. The secret key should be exactly the same as the key you provided in the Taiga backend configuration file. Also, update the StrongMQPassword
with the actual password for Taiga message queue user.
Circus ir Python lietojumprogrammu procesu pārvaldnieks. Mēs izmantosim Circus, lai vadītu Taiga aizmuguri un pasākumus.
Pārslēdzieties atpakaļ uz sudo
lietotāju.
exit
Piezīme : no šī brīža komandas būs jāpalaiž, izmantojot sudo
lietotāju.
sudo apt -y install circus
Izveidojiet jaunu Circus konfigurācijas failu Taiga aizmugursistēmas palaišanai.
sudo nano /etc/circus/conf.d/taiga.ini
Aizpildiet failu.
[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
Izveidojiet jaunu cirka konfigurāciju Taiga notikumu vadīšanai.
sudo nano /etc/circus/conf.d/taiga-events.ini
Aizpildiet failu.
[watcher:taiga-events]
working_dir = /home/taiga/taiga-events
cmd = /usr/local/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
Restartējiet Circus un iespējojiet automātisku palaišanu sāknēšanas laikā.
sudo systemctl restart circusd
sudo systemctl enable circusd
Pārbaudiet cirka statusu.
circusctl status
Ja Cirks ir pareizi uzsācis visus Taiga procesus, jūs redzēsiet šādu izvadi.
user@vultr:~$ circusctl status
circusd-stats: active
plugin:flapping: active
taiga: active
taiga-events: active
Ja redzat, ka kāds process nav aktīvs, palaidiet sudo chmod -R 777 /home/taiga/logs
un restartējiet Circus. Vēlreiz pārbaudiet Cirka procesu statusu, šoreiz noteikti atradīsiet pakalpojumu, kas darbojas.
Tagad Taiga ir veiksmīgi instalēta un darbojas. Lai to varētu izmantot, mums ir jāatklāj instalācija, izmantojot jebkuru ražošanas tīmekļa serveri.
Mēs izmantosim Nginx kā apgriezto starpniekserveri, lai lietojumprogrammu apkalpotu lietotājiem. Mēs arī iegūsim un instalēsim SSL sertifikātus no Let's Encrypt.
Certbot ir oficiālais sertifikātus izsniedzošais klients Let's Encrypt CA. Pievienojiet sistēmai Certbot PPA repozitoriju.
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
Instalējiet Nginx un Certbot.
sudo apt -y install nginx certbot
Piezīme . Lai iegūtu sertifikātus no Let's Encrypt CA, jums ir jānodrošina, lai domēns, kuram vēlaties ģenerēt sertifikātus, būtu vērsts uz serveri. Ja nē, veiciet vajadzīgās izmaiņas sava domēna DNS ierakstos un pagaidiet, līdz DNS tiek izplatīts, pirms vēlreiz veicat sertifikāta pieprasījumu. Certbot pirms sertifikātu sniegšanas pārbauda domēna iestādi.
Tagad izmantojiet Certbot iebūvēto tīmekļa serveri, lai ģenerētu sertifikātus savam domēnam.
sudo certbot certonly --standalone -d taiga.example.com
Ģenerētie sertifikāti, visticamāk, tiks saglabāti /etc/letsencrypt/live/taiga.example.com/
direktorijā. SSL sertifikāts tiks saglabāts kā fullchain.pem
, un privātā atslēga tiks saglabāta kā privkey.pem
.
Encrypt sertifikātu derīguma termiņš beidzas 90 dienu laikā, tāpēc ir ieteicams iestatīt sertifikātu automātisko atjaunošanu, izmantojot Cron darbus. Cron ir sistēmas pakalpojums, ko izmanto periodisku uzdevumu izpildei.
Atveriet cron darba failu.
sudo crontab -e
Pievienojiet šādu rindu.
0 0 * * * /usr/bin/certbot renew --quiet
Iepriekš minētais cron darbs darbosies katru dienu pusnaktī. Ja sertifikātam ir beidzies derīguma termiņš, tas automātiski atjaunos sertifikātus.
Izveidojiet spēcīgu Difija-Helmana parametru. Tas nodrošina papildu drošības līmeni datu apmaiņai starp resursdatoru un serveri.
sudo openssl dhparam -out /etc/ssl/dhparam.pem 2048
Izveidojiet jaunu Nginx servera bloku, lai apkalpotu Taiga priekšgalu.
sudo nano /etc/nginx/sites-available/taiga
Aizpildiet failu ar tālāk norādīto.
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;
}
Noteikti nomainiet domain name
un path to the SSL certificates
. Iespējot virtuālo saimniekdatoru.
sudo ln -s /etc/nginx/sites-available/taiga /etc/nginx/sites-enabled/taiga
Tagad varat restartēt Nginx tīmekļa serveri un iespējot tā automātisku palaišanu sāknēšanas laikā.
sudo systemctl restart nginx
sudo systemctl status nginx
Visbeidzot, labojiet Taiga failu īpašumtiesības un atļaujas.
sudo chown -R taiga:taiga /home/taiga/
sudo chmod o+x /home/taiga/
Tagad Taiga instalācijai varat piekļūt, dodoties uz https://taiga.example.com
. Piesakieties, izmantojot sākotnējo administratora kontu ar lietotājvārdu " admin
" un paroli " 123123
". Jūsu iekārta tagad ir gatava lietošanai ražošanā. Sāciet ar jauna projekta izveidi vai produkta novērtēšanu. Ja jau pārvaldāt projektu vietnē Github, Jira vai Trello, varat viegli importēt projektus pakalpojumā Taiga, izmantojot importētājus .
Vai izmantojat citu sistēmu? Microweber ir atvērtā koda vilkšanas un nomešanas CMS un tiešsaistes veikals. Microweber pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata jums parādīs
Vai izmantojat citu sistēmu? osTicket ir atvērtā koda klientu atbalsta biļešu sistēma. osTicket pirmkods ir publiski mitināts vietnē Github. Šajā apmācībā
Vai izmantojat citu sistēmu? Sylius ir moderna PHP e-komercijas platforma, kuras pamatā ir Symfony Framework. Sylius avots atrodas vietnē GitHub. Šis ceļvedis staigās
Cezerin ir atvērtā pirmkoda e-komercijas progresīvā tīmekļa lietotne, kas izveidota, izmantojot React un Node.js. Šajā apmācībā jūs uzzināsit, kā izvietot Cezerin for production
Vai izmantojat citu sistēmu? Apache OpenMeetings ir atvērtā pirmkoda tīmekļa konferenču lietojumprogramma. Tas ir rakstīts Java valodā un atbalsta vairākus datu bāzes serverus. es
Vai izmantojat citu sistēmu? Microweber ir atvērtā koda vilkšanas un nomešanas CMS un tiešsaistes veikals. Microweber pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata jums parādīs
Vai izmantojat citu sistēmu? Akaunting ir bezmaksas atvērtā koda un tiešsaistes grāmatvedības programmatūra, kas paredzēta maziem uzņēmumiem un ārštata darbiniekiem. Tas ir veidots asprātīgi
Vai izmantojat citu sistēmu? Mailtrain ir atvērtā pirmkoda pašu mitināta informatīvā izdevuma lietotne, kas veidota uz Node.js un MySQL/MariaDB. Mailtrains avots atrodas vietnē GitHub. Thi
Vai izmantojat citu sistēmu? Akaunting ir bezmaksas atvērtā koda un tiešsaistes grāmatvedības programmatūra, kas paredzēta maziem uzņēmumiem un ārštata darbiniekiem. Tas ir veidots asprātīgi
Vai izmantojat citu sistēmu? Mailtrain ir atvērtā pirmkoda pašu mitināta informatīvā izdevuma lietotne, kas veidota uz Node.js un MySQL/MariaDB. Mailtrains avots atrodas vietnē GitHub. Thi
Vai izmantojat citu sistēmu? InvoicePlane ir bezmaksas un atvērtā koda rēķinu lietojumprogramma. Tās avota kodu var atrast šajā Github repozitorijā. Šis ceļvedis
Vai izmantojat citu sistēmu? osTicket ir atvērtā koda klientu atbalsta biļešu sistēma. osTicket pirmkods ir publiski mitināts vietnē Github. Šajā apmācībā
Vai izmantojat citu sistēmu? Open Web Analytics (OWA) ir atvērtā pirmkoda tīmekļa analīzes programma, ko var izmantot, lai izsekotu un analizētu, kā cilvēki izmanto jūsu vietni.
Vai izmantojat citu sistēmu? Open Web Analytics (OWA) ir atvērtā pirmkoda tīmekļa analīzes programma, ko var izmantot, lai izsekotu un analizētu, kā cilvēki izmanto jūsu vietni.
Vai izmantojat citu sistēmu? Osclass ir atvērtā koda projekts, kas ļauj viegli izveidot klasificētu vietni bez jebkādām tehniskām zināšanām. Tās avots
Vai izmantojat citu sistēmu? Osclass ir atvērtā koda projekts, kas ļauj viegli izveidot klasificētu vietni bez jebkādām tehniskām zināšanām. Tās avots
Vai izmantojat citu sistēmu? Apache OpenMeetings ir atvērtā pirmkoda tīmekļa konferenču lietojumprogramma. Tas ir rakstīts Java valodā un atbalsta vairākus datu bāzes serverus. es
Vai izmantojat citu sistēmu? Matomo (agrāk Piwik) ir atvērtā pirmkoda analīzes platforma, kas ir atvērta Google Analytics alternatīva. Matomo avots ir mitināts o
Vai izmantojat citu sistēmu? Dolibarr ir atvērtā koda uzņēmuma resursu plānošanas (ERP) un klientu attiecību pārvaldības (CRM) programma uzņēmumiem. Dolibarr
Vai izmantojat citu sistēmu? Zammad ir atvērtā koda palīdzības dienesta/biļešu sistēma, kas paredzēta klientu atbalsta komandām. Ar Zammad, klientu apkalpotājs
Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.
Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.
Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.
Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.
Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…
Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.
Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.
Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.
Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.
Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk