نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
Taiga یک برنامه رایگان و منبع باز برای مدیریت پروژه است. بر خلاف سایر ابزارهای مدیریت پروژه ، Taiga از یک روش چالاک افزایشی برای مدیریت توسعه پروژه استفاده می کند. Taiga یک برنامه بسیار قدرتمند و کاملاً قابل تنظیم است. پس زمینه Taiga با استفاده از چارچوب Django در پایتون نوشته شده است. جلوی مقدماتی با استفاده از چارچوب های CafeScript و AngularJS در JavaScript نوشته شده است. Taiga شامل ویژگی هایی از قبیل همکاری پروژه ، تخته Kanban ، ردیابی اشکال ، گزارش ، ردیابی زمان ، عقب نشینی ها ، ویکی و موارد دیگر است.
در این آموزش ، ما به taiga.example.com
عنوان نام دامنه به سرور اشاره می کنیم. همه وقایع را taiga.example.com
با نام دامنه واقعی خود جایگزین کنید.
سیستم پایه خود را با استفاده از راهنمای نحوه به روزرسانی CentOS 7 به روز کنید . پس از به روزرسانی سیستم ، نصب PostgreSQL را ادامه دهید.
PostgreSQL یک سیستم پایگاه داده رابطه ای است که به دلیل پایداری و سرعت آن شناخته شده است. Taiga از PostgreSQL برای ذخیره پایگاه داده خود استفاده می کند. مخزن PostgreSQL را به سیستم اضافه کنید.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
سرور پایگاه داده PostgreSQL را نصب کنید.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
اولویت بندی پایگاه داده.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
سرور PostgreSQL را راه اندازی کنید و آن را فعال کنید تا به طور خودکار در زمان بوت شروع شود.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
گذرواژه را برای کاربر پیش فرض PostgreSQL تغییر دهید.
sudo passwd postgres
به عنوان کاربر PostgreSQL وارد شوید.
sudo su - postgres
یک کاربر PostgreSQL جدید برای Taiga ایجاد کنید.
createuser taiga
PostgreSQL psql
پوسته را برای اجرای نمایش داده ها در پایگاه داده فراهم می کند . به پوسته PostgreSQL بروید.
psql
یک رمز عبور برای کاربر تازه ایجاد شده برای پایگاه داده Taiga تنظیم کنید.
ALTER USER taiga WITH ENCRYPTED password 'DBPassword';
DBPassword
با یک رمز عبور ایمن جایگزین کنید . برای نصب Taiga یک پایگاه داده جدید ایجاد کنید.
CREATE DATABASE taiga OWNER taiga;
از psql
پوسته خارج شوید.
\q
به sudo
کاربر تغییر دهید.
exit
Python 2.7 از قبل نصب شده روی سرور CentOS 7 است ، اما Taiga به نسخه پایتون 3.4 یا بالاتر نیاز دارد.
ما پایتون نسخه 3.6 را از منبع نصب خواهیم کرد. ابزار ساخت و کامپایلر مورد نیاز را نصب کنید.
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++
کد منبع پایتون را بارگیری کنید.
wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tar.xz
نصب پایتون را استخراج و پیکربندی کنید.
tar xf Python-3.6.3.tar.xz
cd Python-3.6.3
./configure --enable-optimizations --prefix=/usr
نصب جایگزین کنید.
sudo make altinstall
توجه : نصب های جایگزین Python 3.6 را بدون جایگزینی نسخه پیش فرض پایتون نصب می کنند. اگر پایتون پیش فرض را در CentOS 7 جایگزین کنید ، ممکن است YUM
مدیر مخزن را خراب کند .
اکنون می توانید نسخه آن را بررسی کنید.
python3.6 -V
موارد زیر را باید مشاهده کنید.
[user@vultr Python-3.6.3]$ python3.6 -V
Python 3.6.3
با استفاده از محیط مجازی Python را نصب کنید pip
.
sudo pip3.6 install virtualenv virtualenvwrapper
sudo pip3.6 install --upgrade setuptools pip
از محیط مجازی پایتون برای ایجاد یک محیط مجازی مجزا برای یک پروژه Python استفاده می شود. یک محیط مجازی شامل دایرکتوری های نصب خود است و کتابخانه ها را با سایر محیط های مجازی و جهانی به اشتراک نمی گذارد.
Taiga از RabbitMQ برای پردازش صف پیام استفاده می کند. RabbitMQ برای کار به کتابخانه های ارلنگ نیاز دارد. ارلانگ را نصب کنید.
sudo yum -y install erlang
کلید امضای RabbitMQ GPG را وارد کنید.
sudo rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
RabbitMQ را نصب کنید.
sudo yum -y install https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/rabbitmq-server-3.6.12-1.el7.noarch.rpm
سرور RabbitMQ را شروع و فعال کنید.
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
کاربر و vhost RabbitMQ را اضافه کنید. همچنین ، مجوز را از طریق میزبان به کاربر ارائه دهید.
sudo rabbitmqctl add_user taiga StrongMQPassword
sudo rabbitmqctl add_vhost taiga
sudo rabbitmqctl set_permissions -p taiga taiga ".*" ".*" ".*"
حتماً StrongMQPassword
رمز عبوری را جایگزین کنید .
Node.js نسخه 7 و یا بعد از آن برای جمع آوری جلوی تایگا لازم است. مخزن Node.js نسخه 8 را اضافه کنید.
curl -sL https://rpm.nodesource.com/setup_8.x | sudo -E bash -
Node.js و برنامه را نصب کنید pwgen
.
sudo yum install -y nodejs pwgen
pwgen
بعداً برای تولید یک رشته مخفی قوی استفاده خواهد شد. CafeScript را نصب کنید ، زیرا برای جمع آوری پرونده های Taiga نوشته شده با چارچوب CoffeeScript استفاده می شود.
sudo npm install -g coffee-script gulp
یک کاربر سیستم جدید برای Taiga اضافه کنید تا اطمینان حاصل شود که فرایندهای Taiga به عنوان یک کاربر غیر شخصی در حال اجرا هستند.
sudo useradd -s /bin/bash taiga
sudo su - taiga
توجه : از این پس ، باید تمام دستورات را به عنوان کاربر غیر شخصی اجرا کنید taiga
تا اینکه از شما خواسته شود به sudo
کاربر بازگردید .
برای ذخیره پرونده های log یک فهرست جدید ایجاد کنید.
mkdir -p ~/logs
مخزن باطن Taiga را از GitHub کلون کنید و آخرین شاخه پایدار را پرداخت کنید.
git clone https://github.com/taigaio/taiga-back.git taiga-back
cd taiga-back
git checkout stable
پیکربندی کنید virtualenvwrapper
که به جای Python پیش فرض از Python 3.6 استفاده کنید.
echo "VIRTUALENVWRAPPER_PYTHON='/bin/python3.6'" >> ~/.bashrc
echo "source /usr/bin/virtualenvwrapper.sh" >> ~/.bashrc
در آخر ، ~/.bashrc
پرونده را تهیه کنید.
source ~/.bashrc
اکنون با استفاده از پایتون 3.6 یک محیط مجازی جدید برای Taiga ایجاد کنید.
mkvirtualenv -p /bin/python3.6 taiga
pip3.6 install --upgrade setuptools
با استفاده از وابستگی های پایتون مورد نیاز را نصب کنید pip
.
pip3.6 install -r requirements.txt
پایگاه داده را با داده های اولیه لازم جمع کنید.
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
دستورات فوق داده ها را در پایگاه داده PostgreSQL می نویسند. Taiga همچنین برخی از داده های آزمایشی یا نمونه را ارسال می کند که می توانند برای ارزیابی محصول مفید باشند. اگر می خواهید داده های نمونه را نصب کنید ، موارد زیر را اجرا کنید.
python3.6 manage.py sample_data
توجه : نصب داده های نمونه اختیاری است و فقط برای ارزیابی محصول در نظر گرفته شده است.
قبل از ساختن پرونده پیکربندی برای باطن Taiga ، باید رشته ای مخفی تولید کنیم. این رشته برای رمزگذاری داده های جلسه استفاده خواهد شد.
یک رشته تصادفی از 64 کاراکتر ایجاد کنید.
pwgen -s -1 64
شما باید خروجی را به عنوان یک رشته تصادفی ببینید.
(taiga) [taiga@vultr taiga-back]$ pwgen -s -1 64
CZfjWjHctPwnLZsDysWqaZcYfRCviHbI4fVRwfhpbtAHPNBtmkcegpwpYjTtEziJ
یک پرونده پیکربندی جدید برای Taiga Backend ایجاد کنید.
nano ~/taiga-back/settings/local.py
پرونده را با کد زیر جمع کنید.
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"
حتماً در کد بالا نام دامنه مثال را با نام واقعی جایگزین کنید. همچنین Generated_Secret_Key
با استفاده از کلید مخفی واقعی و StrongMQPassword
با رمز واقعی برای کاربر صف پیام Taiga جایگزین کنید. اگر سرور SMTP آماده است و می خواهید بلافاصله از ویژگی های ارسال ایمیل استفاده کنید ، می توانید گزینه های ایمیل را لغو اعتبار کنید و مقادیر مناسب را تنظیم کنید. اگر سرور پست الکترونیکی آماده نیستید ، می توانید فعلاً ویژگی ایمیل را تنظیم کرده و بعداً در این پرونده پیکربندی کنید.
اگر می خواهید ورود به سیستم GitHub را فعال کنید ، برنامه ای را در GitHub ایجاد کنید و شناسه مشتری API و راز مشتری را تهیه کنید.
برای فوریت بررسی اینکه آیا باطن Taiga می تواند شروع شود ، سرور Django داخلی را اجرا کنید.
workon taiga
python manage.py runserver
اگر سرور با موفقیت شروع شده باشد ، خروجی زیر را مشاهده خواهید کرد.
(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.
برای تأیید دسترسی به API ، جلسه پایانه دیگری را باز کنید و موارد زیر را اجرا کنید.
curl http://127.0.0.1:8000/api/v1/
خروجی مشابهی را که با تماس API برگردانده اید ، مشاهده خواهید کرد.
[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",
سرور باطن Taiga را با فشار دادن " Ctrl + C
" متوقف کرده و محیط مجازی را غیرفعال کنید.
deactivate
مقدمه Taiga مؤلفه ای از Taiga است که به رابط کاربری وب سرویس می دهد. مخزن طائبه طائگا را از گیتوب استفاده کرده و آخرین شاخه پایدار را تأیید کنید.
cd ~
git clone https://github.com/taigaio/taiga-front-dist.git taiga-front-dist
cd taiga-front-dist
git checkout stable
یک فایل پیکربندی جدید برای جبهه Taiga ایجاد کنید.
nano ~/taiga-front-dist/dist/conf.json
پرونده را با این کار جمع کنید.
{
"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
}
حتما example
دامنه را با دامنه واقعی جایگزین کنید . همچنین می توانید زبان پیش فرض و سایر پارامترها را در پیکربندی فوق تغییر دهید.
به غیر از ظاهر و باطن ، باید حوادث تایگا را نیز نصب کنیم. رویدادهای Taiga یک سرور سوکت وب است و مقدمه Taiga را قادر می سازد تا در زمان واقعی در ماژول هایی مانند backlog ، Kanban و موارد دیگر تغییرات واقعی را نشان دهد. از سرور RabbitMQ برای پردازش پیام استفاده می کند.
مخزن حوادث Taiga از Github را کلون کنید.
cd ~
git clone https://github.com/taigaio/taiga-events.git taiga-events
cd taiga-events
با استفاده از وابستگی های Node.js نصب کنید npm
.
npm install
یک پرونده پیکربندی جدید برای رویدادهای Taiga ایجاد کنید.
nano ~/taiga-events/config.json
پرونده را با موارد زیر جمع کنید.
{
"url": "amqp://taiga:StrongMQPassword@localhost:5672/taiga",
"secret": "Generated_Secret_Key",
"webSocketServer": {
"port": 8888
}
}
Generated_Secret_Key
با کلید مخفی طولانی 64 شخصیتی که در گذشته ایجاد کرده اید ، آن را جایگزین کنید . کلید مخفی باید دقیقاً همان کلید اصلی باشد که در پرونده پیکربندی باطن Taiga ارائه کرده اید. همچنین ، StrongMQPassword
با رمزعبور واقعی برای کاربر صف پیام Taiga ، بروزرسانی کنید.
سیرک یک مدیر فرآیند برای برنامه های پایتون است. ما از سیرک برای اجرای باله و رویدادهای Taiga استفاده خواهیم کرد.
بازگشت به sudo
کاربر.
exit
توجه : از این پس شما نیاز به اجرای دستورات با استفاده از sudo
کاربر دارید.
سیرک را با استفاده از نصب کنید pip
.
sudo pip3.6 install circus
دایرکتوری های جدید ایجاد کنید تا پیکربندی های سیرک را ذخیره کنید.
sudo mkdir /etc/circus
sudo mkdir /etc/circus/conf.d
پرونده پیکربندی پیش فرض را برای Circus ایجاد کنید.
sudo nano /etc/circus/circus.ini
پرونده را با پیکربندی زیر جمع کنید.
[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
یک فایل پیکربندی سیرک جدید برای اجرای باطن Taiga ایجاد کنید.
sudo nano /etc/circus/conf.d/taiga.ini
پرونده را با موارد زیر جمع کنید.
[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
برای اجرای رویدادهای Taiga یک پیکربندی جدید Circus ایجاد کنید.
sudo nano /etc/circus/conf.d/taiga-events.ini
پرونده را با موارد زیر جمع کنید.
[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
اکنون systemd
برای اجرای سیرک نیاز به ایجاد یک فایل سرویس داریم. استفاده از systemd
این اطمینان حاصل می کند که سیرک به طور خودکار در هنگام راه اندازی مجدد و خرابی ها شروع می شود.
sudo nano /etc/systemd/system/circus.service
پرونده را جمع کنید.
[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
سیرک را شروع کرده و فعال کنید تا به طور خودکار در زمان بوت شروع شود.
sudo systemctl start circus
sudo systemctl enable circus
وضعیت سیرک را بررسی کنید.
circusctl status
خروجی زیر را مشاهده خواهید کرد.
[user@vultr ~]$ circusctl status
taiga: active
taiga-events: active
اکنون ، Taiga را با موفقیت نصب و راه اندازی کرده ایم. قبل از استفاده از آن ، باید نصب را با استفاده از هر وب سرور تولیدی افشا کنیم.
ما از وب سرور Nginx به عنوان یک پروکسی معکوس برای خدمت به برنامه به کاربران استفاده خواهیم کرد. همچنین گواهینامه های SSL را از Let Encrypt دریافت و نصب خواهیم کرد.
Nginx و Certbot را نصب کنید. Certbot گواهی رسمی صادر کننده مشتری برای Let's Encrypt CA است.
sudo yum -y install nginx certbot
تنظیمات فایروال خود را تنظیم کنید تا استاندارد HTTP
و HTTPS
درگاه ها از طریق فایروال امکان پذیر باشد زیرا Certbot برای تأیید اعتبار دامنه باید اتصال HTTP ایجاد کند.
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
توجه : برای به دست آوردن گواهینامه ها از Let Encrypt CA ، باید اطمینان حاصل کنید که دامنه مورد نظر برای تولید گواهی ها به سمت سرور هدایت شده است. اگر اینگونه نیست ، پس از آنکه دوباره درخواست درخواست گواهینامه را منتشر کنید ، تغییرات لازم را در سوابق DNS دامنه خود ایجاد کرده و منتظر انتشار DNS باشید. Certbot قبل از ارائه گواهینامه ها ، دامنه را بررسی می کند.
اکنون از سرور داخلی ساخته شده در Certbot استفاده کنید تا گواهینامه های دامنه خود را تولید کنید.
sudo certbot certonly --standalone -d taiga.example.com
گواهینامه های تولید شده احتمالاً در /etc/letsencrypt/live/taiga.example.com/
دایرکتوری ذخیره می شوند . گواهی SSL به عنوان حفظ می شود fullchain.pem
، و کلید خصوصی نیز به عنوان ذخیره می شود privkey.pem
.
بیایید مجوزهای رمزگذاری در مدت 90 روز منقضی شوند ، بنابراین توصیه می شود با استفاده از مشاغل Cron ، تمدید خودکار را برای گواهینامه ها تنظیم کنیم. Cron یک سرویس سیستم است که برای انجام کارهای دوره ای استفاده می شود.
پرونده کار cron را باز کنید.
sudo crontab -e
خط زیر را اضافه کنید.
0 0 * * * /usr/bin/certbot renew --quiet
شغل Cron فوق هر روز نیمه شب انجام می شود. اگر گواهی برای انقضا موقت باشد ، به طور خودکار گواهینامه ها را تمدید می کند.
یک Diffie-Hellman
پارامتر قوی ایجاد کنید . این لایه امنیتی اضافی برای تبادل داده بین میزبان و سرور فراهم می کند.
sudo openssl dhparam -out /etc/ssl/dhparam.pem 2048
یک سرویس دهنده جدید سرور Nginx ایجاد کنید تا در قسمتهای ابتدایی Taiga خدمت کنید.
sudo nano /etc/nginx/conf.d/taiga.conf
پرونده را با موارد زیر جمع کنید.
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;
}
حتماً نام دامنه و مسیر گواهی های SSL را تغییر دهید.
اکنون می توانید وب سرور Nginx را مجدداً راه اندازی کنید و آن را فعال کنید تا بطور خودکار شروع به کار کند.
sudo systemctl restart nginx
sudo systemctl status nginx
در آخر ، مالکیت و مجوز را در پرونده های Taiga برطرف کنید.
sudo chown -R taiga:taiga /home/taiga/
sudo chmod o+x /home/taiga/
اکنون می توانید با رفتن به نصب Taiga دسترسی پیدا کنید https://taiga.example.com
. با استفاده از حساب سرپرست اولیه با نام کاربری " admin
" و رمز عبور " 123123
" وارد شوید. اکنون نصب شما برای استفاده تولید آماده است. با ایجاد یک پروژه جدید یا ارزیابی محصول شروع کنید. اگر قبلاً در Github ، Jira یا Trello یک پروژه را مدیریت کرده اید ، می توانید به راحتی با استفاده از واردکنندگان ، پروژه ها را به Taiga وارد کنید .
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o
TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من
Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th
با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB
ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.
رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد