~3 min read • Updated Feb 14, 2026
1. مقدمه
سیستم cPanel & WHM بسیاری از وابستگیهای نرمافزاری خود را بهصورت RPM ارائه میدهد. برای سفارشیسازی این بستهها در سیستمهای Red‑Hat، باید RPM را دوباره بسازید و سپس نصب کنید. این روش معمولاً برای سفارشیسازیهایی مانند Roundcube استفاده میشود.
نکته: RPM فقط روی سیستمهای Red‑Hat کار میکند و نصب آن نیازمند دسترسی SSH با کاربر root است.
2. پیش از شروع
2.1 نصب بسته rpm-build
برای نصب، دستور زیر را اجرا کنید:
yum install rpm-build2.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.202.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 --force4. جلوگیری از بازنویسی توسط آپدیتهای cPanel
هشدار: این مرحله اختیاری است اما ممکن است باعث توقف آپدیتهای آینده شود.
برای ثبت RPM سفارشی در لیست نسخههای محلی:
/scripts/update_local_rpm_versions --add srpm_versions.cpanel-php54 5.4.23-4.cp1142برای بررسی:
/var/cpanel/rpm.versions.d/local.versions5. بازگشت به نسخهٔ اصلی cPanel
برای حذف نسخهٔ سفارشی:
/scripts/update_local_rpm_versions --del srpm_versions.cpanel-php54برای نصب مجدد نسخهٔ رسمی:
/scripts/check_cpanel_pkgsنتیجهگیری
ساخت و نصب RPMهای سفارشی در سیستمهای Red‑Hat به شما امکان میدهد وابستگیهای cPanel & WHM را مطابق نیاز خود تغییر دهید. با رعایت مراحل این راهنما میتوانید بهصورت ایمن و کنترلشده RPMهای سفارشی را بسازید و مدیریت کنید.
Written & researched by Dr. Shahin Siami