نصب جیرالینوکسJira

نصب جیرا در لینوکس: از کاربر سرویس تا ریورس پراکسی

محمد مهیار احمدی۱۰ دقیقه مطالعه

لینوکس مسیر پیش‌فرض استقرار جیرا در محیط‌های جدی است — هم به‌خاطر منابع کمتر، هم چون تقریباً هر راهنمای عیب‌یابی 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 را با آدرس عمومی تنظیم کنید.
  • یک محیط تست جدا بسازید. هیچ ارتقایی نباید اول روی محیط زنده اجرا شود.
  • ساختار پروژه را قبل از ورود تیم واقعی طراحی کنید — پیاده‌سازی و راه‌اندازی جیرا.

سؤالی دربارهٔ همین موضوع دارید؟

بپرسید. اگر جوابش کوتاه باشد همان‌جا می‌گویم و اگر نیاز به بررسی داشته باشد، می‌گویم چه چیزی لازم است.

پرسیدن در واتساپ

خواندن بعدی

درخواست جلسهتماس