آزمایشی

مجله دیتاسنتر صدف

آخرین اخبار، آموزش‌ها و مقالات تخصصی در حوزه سرور، امنیت و فناوری اطلاعات

بازگشت به لیست بلاگ‌ها
آموزش نصب SourceGuardian روی لینوکس با کنترل‌پنل DirectAdmin
1405/07/12 مرتضی علی پور آموزش
آموزش

آموزش نصب SourceGuardian روی لینوکس با کنترل‌پنل DirectAdmin

آموزش نصب SourceGuardian روی لینوکس با کنترل‌پنل DirectAdmin

SourceGuardian یک نرم‌افزار تجاری برای محافظت از کدهای PHP است که امکان کدگذاری و رمزگذاری اسکریپت‌های PHP را فراهم می‌کند. با استفاده از SourceGuardian می‌توان کد منبع برنامه را از مشاهده و ویرایش غیرمجاز محافظت کرد.

همچنین امکان محدودکردن اجرای فایل‌های محافظت‌شده بر اساس مواردی مانند IP سرور، نام دامنه، آدرس MAC و بازه زمانی وجود دارد. به این ترتیب، فایل‌های کدگذاری‌شده را نمی‌توان به‌سادگی روی سرور یا دامنه دیگری اجرا کرد.

در این آموزش، نحوه نصب SourceGuardian Loader روی سرور لینوکس دارای DirectAdmin را بررسی می‌کنیم.

پیش‌نیازها

قبل از شروع، موارد زیر را در نظر داشته باشید:

  • دسترسی root به سرور

  • دسترسی SSH

  • نصب بودن DirectAdmin

  • مشخص بودن نسخه PHP مورد استفاده

  • انتخاب Loader متناسب با نسخه PHP و معماری سیستم‌عامل

نکته مهم: اگر روی سرور چند نسخه PHP نصب شده باشد، باید SourceGuardian Loader را برای نسخه PHP موردنیاز نصب کنید. مسیر PHP در نسخه‌های مختلف متفاوت است.


۱. نمونه خطای SourceGuardian

اگر Loader موردنیاز روی سرور نصب نباشد، هنگام اجرای یک اسکریپت محافظت‌شده ممکن است خطایی مشابه زیر مشاهده کنید:

PHP script '/home/USER/domains/example.com/public_html/...' is protected by SourceGuardian and requires a SourceGuardian loader 'ixed.7.1.lin' to be installed.

1) Click here to download the required 'ixed.7.1.lin' loader from the SourceGuardian site
2) Install the loader to /usr/local/php71/lib/php/extensions/no-debug-non-zts-20160303
3) Edit /usr/local/php71/lib/php.ini and add 'extension=ixed.7.1.lin' directive
4) Restart the web server

در این خطا، USER نام کاربری DirectAdmin و example.com نام دامنه است.

نام Loader نیز اهمیت دارد. برای مثال:

ixed.7.1.lin

نشان می‌دهد Loader مربوط به PHP 7.1 و محیط لینوکس موردنیاز است.


۲. ورود به سرور از طریق SSH

ابتدا با استفاده از PuTTY یا هر نرم‌افزار SSH دیگری، با کاربر root به سرور متصل شوید.

سپس یک دایرکتوری برای فایل‌های SourceGuardian ایجاد کنید:

mkdir -p /usr/local/lib/ixed

وارد این دایرکتوری شوید:

cd /usr/local/lib/ixed

۳. دانلود SourceGuardian Loader

فایل Loader را متناسب با معماری سیستم‌عامل دانلود کنید.

برای سیستم‌های Linux 64-bit:

wget https://www.sourceguardian.com/loaders/download/loaders.linux-x86_64.tar.gz

سپس فایل دانلودشده را از حالت فشرده خارج کنید:

tar -xzvf loaders.linux-x86_64.tar.gz

پس از استخراج، Loaderهای مربوط به نسخه‌های مختلف PHP در اختیار شما قرار می‌گیرند.

نکته: Loader مناسب باید با نسخه PHP و معماری سیستم شما سازگار باشد. از نصب یک Loader صرفاً بر اساس نام فایل خطا خودداری کنید و نسخه PHP و نوع سیستم‌عامل را بررسی کنید.


۴. بررسی نسخه و مسیر PHP

برای مشاهده نسخه PHP و فایل‌های تنظیمات آن، دستور زیر را اجرا کنید:

php --ini

برای مثال، ممکن است خروجی مشابه زیر باشد:

Configuration File (php.ini) Path: /usr/local/php71/lib
Loaded Configuration File: /usr/local/php71/lib/php.ini
Scan for additional .ini files in: /usr/local/php71/lib/php.conf.d
Additional .ini files parsed:
    /usr/local/php71/lib/php.conf.d/10-directadmin.ini
    /usr/local/php71/lib/php.conf.d/50-webapps.ini

در این مثال، PHP مورد استفاده نسخه 7.1 است و فایل تنظیمات آن در مسیر زیر قرار دارد:

/usr/local/php71/lib/php.ini

نکته مهم: ممکن است روی یک سرور چند نسخه PHP مانند 7.4، 8.1 و 8.2 نصب شده باشد. بنابراین حتماً نسخه PHP مورد استفاده وب‌سایت یا دامنه موردنظر را مشخص کنید.


۵. ایجاد فایل تنظیمات SourceGuardian

بهتر است تنظیمات SourceGuardian را در یک فایل .ini جداگانه قرار دهید تا فایل اصلی php.ini بدون تغییر باقی بماند.

برای مثال، اگر PHP 7.1 استفاده می‌کنید:

touch /usr/local/php71/lib/php.conf.d/11-ixed.ini

سپس Loader را در این فایل معرفی کنید:

echo "zend_extension=/usr/local/lib/ixed/ixed.7.1.lin" > /usr/local/php71/lib/php.conf.d/11-ixed.ini

نکته: در دستور بالا، php71 و ixed.7.1.lin فقط نمونه هستند. در صورت استفاده از نسخه دیگری از PHP، باید مسیر و نام Loader متناسب با همان نسخه تغییر کند.


۶. راه‌اندازی مجدد وب‌سرور

پس از اعمال تنظیمات، وب‌سرور را Restart کنید:

service httpd restart

در صورت استفاده از سیستم‌های مبتنی بر systemd، می‌توانید از دستور زیر نیز استفاده کنید:

systemctl restart httpd

اکنون SourceGuardian Loader باید برای PHP مربوطه فعال شده باشد.


بررسی نصب SourceGuardian

برای اطمینان از فعال شدن Loader، چند روش وجود دارد.

روش اول: بررسی از طریق PHP CLI

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

php -v

اگر Loader به‌درستی برای PHP CLI فعال شده باشد، اطلاعات مربوط به آن در خروجی PHP نمایش داده می‌شود.

همچنین می‌توانید برای بررسی دقیق‌تر ماژول‌ها از دستور زیر استفاده کنید:

php -m

توجه: فعال بودن SourceGuardian در PHP CLI الزاماً به معنی فعال بودن آن در PHP مورد استفاده وب‌سایت نیست. DirectAdmin ممکن است PHP جداگانه‌ای برای وب‌سایت‌ها استفاده کند.


روش دوم: استفاده از phpinfo

برای بررسی PHP مورد استفاده توسط وب‌سرور، یک فایل با نام phpinfo.php در مسیر اصلی وب‌سایت، یعنی public_html، ایجاد کنید.

محتوای فایل:

<?php
phpinfo();

سپس فایل را ذخیره کنید و در مرورگر آدرس زیر را باز کنید:

https://example.com/phpinfo.php

در صفحه phpinfo می‌توانید نسخه PHP و تنظیمات Loaderها را مشاهده کنید.

برای پیدا کردن SourceGuardian در صفحه، عبارت زیر را جست‌وجو کنید:

SourceGuardian

اگر اطلاعات SourceGuardian نمایش داده شود، Loader برای PHP وب‌سرور فعال شده است.

⚠️ نکته امنیتی مهم: فایل phpinfo.php اطلاعات زیادی درباره تنظیمات و محیط سرور نمایش می‌دهد. پس از پایان بررسی، این فایل را از روی سرور حذف کنید:

rm /path/to/public_html/phpinfo.php

نکته مهم درباره چند نسخه PHP در DirectAdmin

در سرورهای دارای DirectAdmin ممکن است چند نسخه PHP به‌صورت هم‌زمان نصب شده باشد. برای مثال:

PHP 7.4
PHP 8.1
PHP 8.2
PHP 8.3

در این شرایط، نصب SourceGuardian برای PHP 7.4 باعث فعال شدن آن برای PHP 8.2 نمی‌شود.

بنابراین ابتدا باید مشخص کنید دامنه موردنظر با کدام نسخه PHP اجرا می‌شود و سپس Loader مناسب همان نسخه را فعال کنید.

همچنین توجه داشته باشید که PHP در خط فرمان (CLI) و PHP مورد استفاده وب‌سرور (PHP-FPM یا سایر SAPIها) ممکن است تنظیمات متفاوتی داشته باشند.

جمع‌بندی

مراحل کلی نصب SourceGuardian روی DirectAdmin به این صورت است:

1. ورود به سرور با SSH
2. بررسی نسخه PHP
3. دانلود Loader مناسب
4. استخراج فایل‌های SourceGuardian
5. قرار دادن Loader در مسیر مناسب
6. ایجاد فایل تنظیمات .ini
7. معرفی Loader با zend_extension
8. Restart کردن سرویس وب
9. بررسی با php -v یا phpinfo

پس از انجام این مراحل، اسکریپت‌های PHP که با SourceGuardian محافظت شده‌اند، در صورت سازگاری نسخه PHP و Loader، قادر به اجرا روی سرور خواهند بود.

نظرات 0
نظر شما درباره این مطلب چیست؟
لطفاً نظر، تجربه یا پرسش خود را بنویسید. از درج شماره تلفن همراه، ایمیل، آدرس وب‌سایت و لینک خودداری کنید.
0 / 2000 کاراکتر
نظر شما پس از تایید نمایش داده می‌شود

هنوز نظری ثبت نشده است. اولین نفری باشید که نظر می‌دهد!