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 CentOS 7 . 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.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Instalējiet PostgreSQL datu bāzes serveri.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Inicializējiet datu bāzi.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Palaidiet PostgreSQL serveri un iespējojiet tā automātisku palaišanu sāknēšanas laikā.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
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
Python 2.7 ir iepriekš instalēta CentOS 7 serverī, bet Taiga ir nepieciešama Python versija 3.4 vai jaunāka versija.
Mēs instalēsim Python versiju 3.6 no avota. Instalējiet nepieciešamos veidošanas rīkus un kompilatoru.
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++
Lejupielādējiet Python pirmkodu.
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz
Izvilkt un konfigurēt Python instalāciju.
tar xf Python-3.6.3.tar.xz
cd Python-3.6.3
./configure --enable-optimizations --prefix=/usr
Veiciet alternatīvu instalēšanu.
sudo make altinstall
Piezīme . Alternatīvās instalācijas instalē Python 3.6, neaizstājot Python noklusējuma versiju. Ja sistēmā CentOS 7 nomaināt noklusējuma Python, tas var sabojāt YUM
repozitorija pārvaldnieku.
Tagad varēsiet pārbaudīt tā versiju.
python3.6 -V
Jums vajadzētu redzēt tālāk norādīto.
[user@vultr Python-3.6.3]$ python3.6 -V
Python 3.6.3
Instalējiet Python virtuālo vidi, izmantojot pip
.
sudo pip3.6 install virtualenv virtualenvwrapper
sudo pip3.6 install --upgrade setuptools pip
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.
Taiga izmanto RabbitMQ, lai apstrādātu ziņojumu rindu. RabbitMQ darbam ir nepieciešamas Erlang bibliotēkas. Instalējiet Erlang.
sudo yum -y install erlang
Importējiet RabbitMQ GPG parakstīšanas atslēgu.
sudo rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
Instalējiet RabbitMQ.
sudo yum -y install https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/rabbitmq-server-3.6.12-1.el7.noarch.rpm
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://rpm.nodesource.com/setup_8.x | sudo -E bash -
Instalējiet Node.js un pwgen
utilītu.
sudo yum install -y nodejs pwgen
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 ar CoffeeScript ietvaru.
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 useradd -s /bin/bash 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
Konfigurējiet, virtualenvwrapper
lai izmantotu Python 3.6, nevis noklusējuma Python.
echo "VIRTUALENVWRAPPER_PYTHON='/bin/python3.6'" >> ~/.bashrc
echo "source /usr/bin/virtualenvwrapper.sh" >> ~/.bashrc
Visbeidzot, iegūstiet ~/.bashrc
faila avotu .
source ~/.bashrc
Tagad izveidojiet jaunu virtuālo vidi Taiga, izmantojot Python 3.6.
mkvirtualenv -p /bin/python3.6 taiga
pip3.6 install --upgrade setuptools
Instalējiet vajadzīgās Python atkarības, izmantojot pip
.
pip3.6 install -r requirements.txt
Aizpildiet datu bāzi ar nepieciešamajiem sākotnējiem datiem.
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
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.6 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
CZfjWjHctPwnLZsDysWqaZcYfRCviHbI4fVRwfhpbtAHPNBtmkcegpwpYjTtEziJ
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"
Noteikti aizstājiet domēna nosaukuma piemēru ar faktisko nosaukumu iepriekš minētajā kodā. 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 opcijas komentārus un iestatīt atbilstošās vērtības. 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 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.
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 a similar output returned by the API call.
[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 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 with this.
{
"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 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 with the following.
{
"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 in the past. 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.
Instalējiet Circus, izmantojot pip
.
sudo pip3.6 install circus
Izveidojiet jaunus direktorijus, lai saglabātu cirka konfigurācijas.
sudo mkdir /etc/circus
sudo mkdir /etc/circus/conf.d
Izveidojiet Circus noklusējuma konfigurācijas failu.
sudo nano /etc/circus/circus.ini
Aizpildiet failu ar šādu konfigurāciju.
[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
Izveidojiet jaunu Circus konfigurācijas failu Taiga aizmugursistēmas palaišanai.
sudo nano /etc/circus/conf.d/taiga.ini
Aizpildiet failu ar tālāk norādīto.
[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
Izveidojiet jaunu cirka konfigurāciju Taiga notikumu vadīšanai.
sudo nano /etc/circus/conf.d/taiga-events.ini
Aizpildiet failu ar tālāk norādīto.
[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
Tagad mums būs jāizveido systemd
pakalpojuma fails, lai palaistu Circus. Izmantojot, systemd
tiks nodrošināts, ka Circus tiek automātiski palaists atsāknēšanas un kļūmju laikā.
sudo nano /etc/systemd/system/circus.service
Aizpildiet failu.
[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
Palaidiet Circus un iespējojiet automātisku palaišanu sāknēšanas laikā.
sudo systemctl start circus
sudo systemctl enable circus
Pārbaudiet cirka statusu.
circusctl status
Jūs redzēsit šādu izvadi.
[user@vultr ~]$ circusctl status
taiga: active
taiga-events: active
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 tīmekļa serveri kā apgriezto starpniekserveri, lai lietojumprogrammu apkalpotu lietotājiem. Mēs arī iegūsim un instalēsim SSL sertifikātus no Let's Encrypt.
Instalējiet Nginx un Certbot. Certbot ir oficiālais sertifikātus izsniedzošais klients Let's Encrypt CA.
sudo yum -y install nginx certbot
Pielāgojiet ugunsmūra iestatījumu, lai ļautu standartam HTTP
un HTTPS
portiem caur ugunsmūri, jo Certbot ir jāizveido HTTP savienojums, lai pārbaudītu domēna autoritāti.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
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 Diffie-Hellman
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/conf.d/taiga.conf
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 mainiet domēna nosaukumu un ceļu uz SSL sertifikātiem.
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