نصب جیرا در لینوکس: از کاربر سرویس تا ریورس پراکسی
لینوکس مسیر پیشفرض استقرار جیرا در محیطهای جدی است — هم بهخاطر منابع کمتر، هم چون تقریباً هر راهنمای عیبیابی Atlassian فرض میکند شما آنجایید. این نوشته مسیر نصب مستقیم روی سرور را میگیرد. اگر محیط تست میخواهید، داکر سریعتر است: نصب جیرا با داکر.
پیشنیازها
- توزیع پشتیبانیشده در ماتریس سازگاری همان نسخهٔ جیرا (معمولاً Ubuntu LTS یا RHEL).
- حداقل ۸ گیگابایت رم برای محیط واقعی.
- PostgreSQL با کدگذاری UTF8 — یا هر دیتابیس پشتیبانیشدهٔ دیگر.
- یک کاربر سیستمی اختصاصی. جیرا را با root اجرا نکنید.
۱. کاربر سرویس و مسیرها
sudo useradd --system --create-home --home-dir /var/atlassian/jira --shell /bin/bash jira
sudo mkdir -p /opt/atlassian/jira /var/atlassian/application-data/jira
sudo chown -R jira:jira /opt/atlassian/jira /var/atlassian/application-data/jiraقاعده همان قاعدهٔ همیشگی است: /opt/atlassian/jira مسیر نصب است و با ارتقا جایگزین میشود؛ /var/atlassian/application-data/jira همان JIRA_HOME است و دادهٔ واقعی شماست — پیوستها، ایندکس، افزونهها، کانفیگ. این دو را هرگز تو در تو نگذارید.
۲. دیتابیس
CREATE USER jira WITH PASSWORD 'یک-رمز-قوی';
CREATE DATABASE jiradb WITH OWNER jira ENCODING 'UTF8'
LC_COLLATE='C' LC_CTYPE='C' TEMPLATE=template0;۳. نصب
اینستالر .bin را اجرا کنید و گزینهٔ Custom را بزنید تا بتوانید هر دو مسیر را تعیین کنید. اگر آرشیو tar.gz را ترجیح میدهید، بعد از باز کردن باید JIRA_HOME را دستی در فایل تنظیمات مشخص کنید:
echo 'jira.home = /var/atlassian/application-data/jira' \
| sudo tee /opt/atlassian/jira/atlassian-jira/WEB-INF/classes/jira-application.properties۴. سرویس systemd
[Unit]
Description=Atlassian Jira
After=network.target postgresql.service
[Service]
Type=forking
User=jira
Group=jira
ExecStart=/opt/atlassian/jira/bin/start-jira.sh
ExecStop=/opt/atlassian/jira/bin/stop-jira.sh
TimeoutStartSec=900
Restart=on-failure
[Install]
WantedBy=multi-user.targetمقدار TimeoutStartSec را دستکم نگیرید. اولین بالا آمدن جیرا روی سرور متوسط چند دقیقه طول میکشد و اگر تایماوت کوتاه باشد systemd وسط کار سرویس را میکشد و شما دنبال خطایی میگردید که وجود ندارد.
۵. حافظه
JVM_MINIMUM_MEMORY="4096m"
JVM_MAXIMUM_MEMORY="4096m"کمینه و بیشینه را برابر بگذارید. و یادتان باشد heap بزرگتر همیشه بهتر نیست — تشخیص درست قبل از تغییر عدد: عیبیابی کندی جیرا.
۶. ریورس پراکسی — جایی که بیشتر نصبها اشتباه میشود
HTTPS را روی nginx بگذارید، نه روی تامکت. ولی کافی نیست فقط پراکسی کنید: باید به تامکت هم بگویید پشت پراکسی است، وگرنه جیرا لینکها و ریدایرکتها را با آدرس داخلی و پروتکل اشتباه میسازد.
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}و در server.xml روی Connector:
scheme="https"
proxyName="jira.example.com"
proxyPort="443"
secure="true"۷. لاگ دسترسی را روشن کنید
این کار یک خط است و اولین باری که کسی بگوید «جیرا کند شده» تفاوت بین دیتا داشتن و حدس زدن است. یک AccessLogValve در server.xml اضافه کنید و maxDays را طوری بگذارید که لاگ چند هفته بماند.
بعد از نصب
- بکاپ دیتابیس و JIRA_HOME را زمانبندی کنید. بکاپ XML داخلی کافی نیست.
- Base URL را با آدرس عمومی تنظیم کنید.
- یک محیط تست جدا بسازید. هیچ ارتقایی نباید اول روی محیط زنده اجرا شود.
- ساختار پروژه را قبل از ورود تیم واقعی طراحی کنید — پیادهسازی و راهاندازی جیرا.
سؤالی دربارهٔ همین موضوع دارید؟
بپرسید. اگر جوابش کوتاه باشد همانجا میگویم و اگر نیاز به بررسی داشته باشد، میگویم چه چیزی لازم است.
پرسیدن در واتساپخواندن بعدی
طراحی Workflow در جیرا: از وضعیتهای اضافه تا فرایندی که گزارش میدهد
طراحی Workflow در جیرا: چرا وضعیتهای اضافه گزارش را بیاعتبار میکنند، تفاوت status و statusCategory و resolution، و چهار ابزار روی هر Transition.
خواندنقوانین Automation در جیرا که بیشترین کار دستی را حذف میکنند
هشت قانون Automation در جیرا که واقعاً وقت آزاد میکنند، بههمراه سه اشتباهی که باعث میشود اتوماسیون به جای کمک، دردسر بسازد.
خواندن