موزش ساخت و نصب RPMهای سفارشی در سیستم‌های Red‑Hat

این مقاله نحوهٔ ساخت و نصب RPMهای سفارشی در سیستم‌های مبتنی بر Red‑Hat برای cPanel & WHM را توضیح می‌دهد. شامل پیش‌نیازها، فعال‌سازی devel target، نصب SRPM، ویرایش فایل .spec، ساخت RPM جدید، نصب نسخهٔ سفارشی و جلوگیری از بازنویسی آن توسط آپدیت‌های cPanel است.

SRPM rebuildRed‑Hat cPanel RPMcustom RPM build

~3 دقیقه مطالعه · آخرین به‌روزرسانی ۲۵ بهمن ۱۴۰۴

1. مقدمه


سیستم cPanel & WHM بسیاری از وابستگی‌های نرم‌افزاری خود را به‌صورت RPM ارائه می‌دهد. برای سفارشی‌سازی این بسته‌ها در سیستم‌های Red‑Hat، باید RPM را دوباره بسازید و سپس نصب کنید. این روش معمولاً برای سفارشی‌سازی‌هایی مانند Roundcube استفاده می‌شود.


نکته: RPM فقط روی سیستم‌های Red‑Hat کار می‌کند و نصب آن نیازمند دسترسی SSH با کاربر root است.


2. پیش از شروع


2.1 نصب بسته rpm-build

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


yum install rpm-build

2.2 فعال‌سازی devel target برای cPanel

برای فعال‌سازی و به‌روزرسانی target توسعه، دستورات زیر را اجرا کنید:


/scripts/update_local_rpm_versions --edit target_settings.cpanel-devel installed
/scripts/check_cpanel_pkgs --targets cpanel-devel --fix

برخی RPMهای cPanel ممکن است به بسته‌های اضافی نیاز داشته باشند که به‌صورت پیش‌فرض نصب نمی‌شوند.


2.3 نصب پیش‌نیازهای RPM

پیش‌نیازها در فایل .spec مشخص شده‌اند:


  • BuildRequires: — بسته‌های لازم برای ساخت
  • Requires: — بسته‌های لازم برای نصب

مثال:

BuildRequires: cpanel-mysql >= 8.0.20

2.4 بررسی نصب بودن پیش‌نیازها

دستور زیر را اجرا کنید:


/scripts/sysup

اگر همهٔ بسته‌ها نصب باشند، پیام All Needed RPMS are installed نمایش داده می‌شود.


3. ساخت و نصب RPM سفارشی


3.1 ایجاد فایل .rpmmacros

فایل /root/.rpmmacros را ایجاد کرده و محتوای زیر را در آن قرار دهید:


%_topdir /root/rpmbuild
# enable debug RPM package by commenting this out.
%debug_package %{nil}

3.2 ایجاد ساختار دایرکتوری موردنیاز

دایرکتوری‌های زیر باید وجود داشته باشند:


/root/rpmbuild/BUILD
/root/rpmbuild/SPECS
/root/rpmbuild/SOURCES
/root/rpmbuild/BUILDROOT
/root/rpmbuild/RPMS
/root/rpmbuild/SRPMS

یا از دستور زیر استفاده کنید:


mkdir -p /root/rpmbuild/BUILD /root/rpmbuild/SPECS /root/rpmbuild/SOURCES /root/rpmbuild/BUILDROOT /root/rpmbuild/RPMS /root/rpmbuild/SRPMS

مهم: نام دایرکتوری‌ها باید دقیقاً با حروف بزرگ نوشته شوند.


3.3 نصب SRPM

برای نصب SRPM از دستور زیر استفاده کنید:


rpm -Uvh http://httpupdate.cpanel.net/RPM/11.42/src/cpanel-php54-5.4.23-4.cp1142.src.rpm

این کار باعث می‌شود:

  • فایل .spec → در /root/rpmbuild/SPECS/
  • سورس‌ها و پچ‌ها → در /root/rpmbuild/SOURCES/

3.4 ویرایش فایل .spec

فایل .spec را ویرایش کنید و تنظیمات دلخواه را اضافه کنید.


نمونه‌ای از بخش پیکربندی:

%configure --prefix=%{_prefix} \
 --with-libdir=%{_lib} \
 --verbose \
 --enable-static \
 --with-mcrypt=%{_3rdparty_prefix} \
 --with-iconv --enable-mbstring \
 --with-gd \
 --enable-soap \
 --enable-mbregex \
 --with-imap-ssl --with-imap=%{_3rdparty_libdir}/imap/

3.5 ساخت RPM

برای ساخت RPM دستور زیر را اجرا کنید:


rpmbuild -bb /root/rpmbuild/SPECS/php.spec

فایل RPM ساخته‌شده در مسیر زیر قرار می‌گیرد:


/root/rpmbuild/RPMS/

3.6 نصب RPM سفارشی

برای نصب نسخهٔ جدید:


rpm -Uvh cpanel-php54-5.4.23-4.cp1142.x86_64.rpm --force

4. جلوگیری از بازنویسی توسط آپدیت‌های cPanel


هشدار: این مرحله اختیاری است اما ممکن است باعث توقف آپدیت‌های آینده شود.


برای ثبت RPM سفارشی در لیست نسخه‌های محلی:


/scripts/update_local_rpm_versions --add srpm_versions.cpanel-php54 5.4.23-4.cp1142

برای بررسی:


/var/cpanel/rpm.versions.d/local.versions

5. بازگشت به نسخهٔ اصلی cPanel


برای حذف نسخهٔ سفارشی:


/scripts/update_local_rpm_versions --del srpm_versions.cpanel-php54

برای نصب مجدد نسخهٔ رسمی:


/scripts/check_cpanel_pkgs

نتیجه‌گیری


ساخت و نصب RPMهای سفارشی در سیستم‌های Red‑Hat به شما امکان می‌دهد وابستگی‌های cPanel & WHM را مطابق نیاز خود تغییر دهید. با رعایت مراحل این راهنما می‌توانید به‌صورت ایمن و کنترل‌شده RPMهای سفارشی را بسازید و مدیریت کنید.


نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

راهنمای کامل بازیابی اکانت cPanel و انتقال حساب‌ها و تنظیمات برای مدیران سیستم تازه‌کار

این مقاله یک راهنمای جامع برای مدیران سیستم تازه‌کار است که می‌خواهند اکانت‌های cPanel را بازیابی کنند، حساب‌ها و تنظیمات را بین سرورها منتقل کنند، و از ابزارهای تشخیصی برای بررسی مشکلات انتقال و بازیابی استفاده کنند. این راهنما شامل نحوه استفاده از WHM، نحوه آپلود بکاپ‌ها، روش‌های انتقال، و فعال‌سازی لاگ‌های پیشرفته است.

ادامه

How to Move All cPanel Accounts from One Server to Another

This guide explains how to migrate all cPanel accounts, service configurations, SSL certificates, and the main server IP address from an old source server to a new target server. It covers installation requirements, configuration transfers, account migration, IP reassignment, DNS adjustments, and SSL restoration.

ادامه

آموزش کامل مهاجرت یک وب‌سایت وردپرس از macOS به سرور cPanel & WHM

این مقاله نحوه انتقال یک وب‌سایت وردپرس که روی macOS میزبانی شده است را به یک سرور cPanel & WHM توضیح می‌دهد. شامل خروجی گرفتن از دیتابیس، آپلود فایل‌ها، ایجاد دیتابیس جدید، تنظیم wp-config.php، تغییر URL سایت، و رفع لینک‌ها و تصاویر خراب است.

ادامه

آموزش کامل انتقال دستی یک اکانت بین سرورها در cPanel & WHM

این مقاله نحوه انتقال دستی یک اکانت بین دو سرور را زمانی که حجم اکانت برای ابزارهای انتقال WHM بسیار بزرگ است توضیح می‌دهد. شامل ایجاد دایرکتوری موقت، فشرده‌سازی public_html و لاگ‌ها، انتقال امن با scp، و بازیابی فایل‌ها در سرور جدید است.

ادامه

آموزش کامل مهاجرت دستی داده‌های Horde به Roundcube در cPanel & WHM

این مقاله نحوه مهاجرت دستی تقویم‌ها و مخاطبین Horde به Roundcube را در نسخه‌های 108 تا 118 cPanel & WHM توضیح می‌دهد. شامل مراحل خروجی گرفتن از Horde، انتقال فایل‌ها به مسیرهای صحیح، و وارد کردن داده‌ها در Roundcube با استفاده از افزونه‌های داخلی یا ابزارهای واردسازی است.

ادامه

آموزش کامل مهاجرت دستی اکانت‌ها از کنترل‌پنل‌های غیرپشتیبانی‌شده به cPanel & WHM

این مقاله نحوه مهاجرت دستی اکانت‌ها از کنترل‌پنل‌های غیرپشتیبانی‌شده به cPanel & WHM را توضیح می‌دهد. شامل اقدامات قبل از مهاجرت، نصب سرور جدید، انتقال فایل‌ها و دایرکتوری‌ها، بازیابی دیتابیس‌ها، انتقال SSL، و اقدامات پس از مهاجرت است.

ادامه