شروع کار
پیشنیازها
سرور پیش از نصب Row-Template روی 3X-UI، PasarGuard یا Rebecca به چه چیزهایی نیاز دارد و هر مورد را چطور بررسی کنید.
Row-Template روی همان سروری اجرا میشود که پنل شما روی آن است. به چیزی جز ابزارهای استاندارد لینوکس نیاز ندارد؛ تنها افزونهٔ اختیاری، یعنی sqlite3، به آن اجازه میدهد در 3X-UI و Rebecca خودش فعال شود، بهجای اینکه از شما بخواهد مقداری را در پنل تنظیم کنید.
در یک نگاه
| پیشنیاز | برای چه | الزامی؟ |
|---|---|---|
| یک پنل پشتیبانیشده: 3X-UI (MHSanaei) نسخهٔ 3.6.0 یا جدیدتر، PasarGuard نسخهٔ 5.x یا Rebecca نسخهٔ 1.x (نصب باینری) | همه چیز — نصبکننده پنلی را که نتواند شناسایی کند، 3X-UI قدیمیتر از 3.6.0 و ایمیج Docker نسخهٔ 0.0.x از Rebecca را رد میکند | بله |
| دسترسی root | نصب، پیکربندی، بهروزرسانی، بازگردانی، حذف | بله |
bash، tar، sha256sum (یا shasum) |
بررسی و استخراج نسخه | بله |
curl |
دانلود نسخه؛ بررسیهای زندهٔ صفحه | بله، مگر اینکه از یک پوشهٔ محلی نصب کنید |
flock (از util-linux) |
PasarGuard و Rebecca: قفل تراکنش فعالسازی | در PasarGuard و Rebecca — تقریباً روی همهٔ سیستمهای لینوکس موجود است |
sqlite3 |
3X-UI: تنظیم و بررسی خودکار subThemeDir. Rebecca: انتخاب و بررسی خودکار صفحه |
اختیاری — بدون آن یک مقدار را در پنل تنظیم میکنید |
systemd با سرویس x-ui.service |
3X-UI: توقف و راهاندازی دوبارهٔ پنل پیرامون نوشتن خودکار subThemeDir |
اختیاری |
| دسترسی HTTPS به GitHub | نصب یکخطی و row-template update |
مگر اینکه از پوشهٔ محلی نصب کنید |
سیستمعامل پیشنهادی: Ubuntu 24.04 LTS (x86_64). سایر توزیعهای جدید لینوکس ممکن است کار کنند، اما به همان اندازه آزموده نشدهاند.
Row-Template هیچ runtimeای به سرور شما اضافه نمیکند: نه Node.js، نه Python، نه پایگاهداده، نه سرویس پسزمینه.
پنل خود را بررسی کنید
نصبکننده تشخیص میدهد کدام پنل نصب است. یک پنل فقط وقتی نصبشده به حساب میآید که دو نشانهٔ مستقل از آن با هم بخوانند؛ پنلی که فقط بخشی از آن وجود دارد، بهجای حدس زدن، رد میشود. روی سروری با بیش از یک پنل پشتیبانیشده، نصب تعاملی میپرسد به کدام سرویس بدهد، و نصب تازهٔ اسکریپتی باید آن را با RT_PANEL نام ببرد — متغیرهای محیطی را ببینید.
نصبکننده فایل اجرایی پنل را به ترتیب در /usr/local/x-ui/x-ui، سپس /usr/local/bin/x-ui و سپس هر x-ui در PATH جستوجو میکند، و سرویس systemd با نام x-ui.service را هم. نسخه را از خود فایل اجرایی میخواند:
/usr/local/x-ui/x-ui -vاولین X.Y.Z در خروجی باید 3.6.0 یا جدیدتر باشد. اگر نسخه اصلاً خوانده نشود، نصبکننده بهجای حدس زدن متوقف میشود — cannot determine the 3x-ui version را ببینید.
PasarGuard نسخهٔ 5.x، به همان شکلی که نصبکنندهٔ رسمیاش نصب میکند. نشانههایی که بررسی میشوند: /opt/pasarguard/.env؛ فایل composeای که PasarGuard را اجرا میکند یا سرویس systemd با نام pasarguard (نصب از سورس)؛ فرمان pasarguard در /usr/local/bin/pasarguard؛ و پوشهٔ دادهٔ /var/lib/pasarguard.
ls -l /opt/pasarguard/.env
pasarguard status # the official (Docker) install
systemctl status pasarguard # a source installبرای فعالسازی خودکار چیز اضافهای لازم نیست: Row-Template فایل .env را مینویسد و پنلِ در حال اجرا را یک بار ریاستارت میکند.
Rebecca نسخهٔ 1.x، یعنی نسخهٔ Go، با نصب باینری Rebecca (rebecca-binary.sh) که بهصورت rebecca.service اجرا میشود. نشانههایی که بررسی میشوند: /opt/rebecca/.env؛ فایل compose یا سرویس systemd با نام rebecca؛ فرمان rebecca در /usr/local/bin/rebecca؛ و پوشهٔ دادهٔ /var/lib/rebecca.
systemctl status rebeccaایمیج Docker مربوط به Rebecca پشتیبانی نمیشود. ایمیج rebeccapanel/rebecca در Docker Hub هنوز نسخهٔ پایتونی 0.0.x است که صفحهها را از زمینهٔ دیگری رندر میکند و نمیتواند این صفحه را رندر کند. نصبکننده پیش از هر تغییری نسخه را تشخیص میدهد و آن را رد میکند؛ بهجای آن از Rebecca نسخهٔ 1.x با نصبکنندهٔ باینریاش (rebecca-binary.sh) استفاده کنید.
فعالسازی خودکار به پایگاهدادهٔ پیشفرض SQLite پنل Rebecca و فرمان sqlite3 نیاز دارد. با MySQL/MariaDB صفحه همچنان گذاشته میشود و خودتان در داشبورد انتخابش میکنید.
ابزارها را بررسی کنید
for t in bash tar curl sha256sum flock sqlite3; do
command -v "$t" >/dev/null && echo "ok $t" || echo "missing $t"
done
ممکن است روی برخی سیستمها sha256sum نباشد و بهجای آن shasum باشد؛ نصبکننده هر دو را میپذیرد.
نصب sqlite3 (اختیاری)
نصبکننده هرگز sqlite3 را برای شما نصب نمیکند. برای فعالسازی خودکار در 3X-UI یا Rebecca، اول آن را نصب کنید:
apt-get update && apt-get install -y sqlite3dnf install -y sqliteبدون آن هم همه چیز کار میکند — فقط یک بار مقدار را دستی در پنل تنظیم میکنید. فعالسازی را ببینید.
پایگاهدادهٔ 3X-UI کجا پیدا میشود
برای فعالسازی خودکار در 3X-UI، Row-Template باید پایگاهدادهٔ پنل را هم پیدا کند. از اولین مورد موجود در این فهرست استفاده میکند:
$XUI_DB_FOLDER/x-ui.db، وقتی متغیر محیطیXUI_DB_FOLDERتنظیم شده باشد/etc/x-ui/x-ui.db/usr/local/x-ui/x-ui.db/etc/3x-ui/x-ui.db
اگر آن فایل پایگاهدادهٔ SQLite واقعی نباشد، با یک هشدار رد میشود و Row-Template سراغ مسیر بعدی نمیرود — ممکن است فایل دیگری متعلق به نصب قدیمی یا بیربطی باشد. در این حالت فعالسازی به مرحلهٔ دستی برمیگردد.
شبکه
نصب یکخطی و row-template update فقط از طریق HTTPS از https://github.com/iitzSeriZdev/Row-Template/releases/latest/download/ دانلود میکنند. سروری که به GitHub دسترسی ندارد را هم میتوان از پوشهای که روی آن کپی میکنید نصب و بهروز کرد: نصب دستی را ببینید.