ionCube Loader یک ماژول در PHP می باشد که برای حفاظت و رمز کردن کدهای نوشته شده به زبان PHP و بیشتر در برنامه های تجاری جهت مخفی کردن سورس برنامه مورد استفاده قرار میگیرد. ما در این آموزش قصد داریم شیوه نصب و فعال سازی این ماژول را در سرورهای دبیان و اوبونتو را بیان نمائیم.
ابتدا لازم است بدانید پیش نیاز نصب این ماژول نصب و فعال سازی یک وب سرور مانند آپاچی یا انجین ایکس می باشد. پس در گام اول باید وب سرور خود را نصب و فعال نمائید:
1 |
root@arshatech:~# apt install apache2 php php-fpm php-cli |
1 |
root@arshatech:~# apt install nginx php php-fpm php-cli |
بعد از نصب وب سرور مورد نیاز خود می بایست آن را فعال نمائید:
1 2 |
root@arshatech:~# systemctl start apache2 root@arshatech:~# systemctl enable apache2 |
1 2 3 4 |
root@arshatech:~# systemctl start nginx root@arshatech:~# systemctl enable nginx root@arshatech:~# systemctl start php7.0-fpm root@arshatech:~# systemctl enable php7.0-fpm |
در گام بعد می بایست ماژول ionCube Loader را از وب سایت رسمی آن دانلود نمائید. توجه داشته باشید که قبل از آن می بایست مطمان شوید که معماری cpu ماشین شما ۲۳ بیتی یا ۶۴ بیتی است. برای این کار کافیست از دستور uname به یکی از دو روش زیر استفاده کنید:
1 2 |
root@arshatech:~# uname -r 4.18.0-3-amd64 |
1 2 |
root@arshatech:~# uname -m x86_64 |
بعد از اینکه پی به معماری سیستم بردید حال باید ماژول را دانلود نمائید:
1 2 |
root@arshatech:~# cd /tmp root@arshatech:~# wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz |
1 2 |
root@arshatech:~# cd /tmp root@arshatech:~# wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz |
حال می بایست فایل مورد نظر را استخراج کنید:
1 2 |
root@arshatech:~# tar -xvf ioncube_loaders_lin_x86* root@arshatech:~# cd ioncube/ |
در این مرحله و قبل از نصب ماژول باید نسخه ماشین خود را ابتدا تشخیص دهید:
1 |
root@arshatech:~# php -v |
1 2 3 4 |
PHP 7.3.0RC4 (cli) (built: Oct 25 2018 08:57:33) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies with Zend OPcache v7.3.0RC4, Copyright (c) 1999-2018, by Zend Technologies |
همانطور که در این مثال مشاهده می نمائید نسخه php برابر با ۷٫۳٫۰ می باشد. همچنین ما نیازمند دانستن محل قرار گیری اکستنشن php مورد نظر خود نیز می باشیم. برای این کار از دستور زیر استفاده نمائید:
1 |
root@arshatech:~# php -i | grep extension_dir |
1 |
extension_dir => /usr/lib/php/20180731 => /usr/lib/php/20180731 |
حال می بایست ماژول ionCube Loader که با نسخه php نصب شده یکسان است را در مسیر اکستنشن مورد نظر کپی نمائید. بعنوان مثال میتواند به صورت زیر باشد:
1 |
root@arshatech:~# cp /tmp/ioncube/ioncube_loader_lin_7.3.so /usr/lib/php/20180731 |
سپس در گام آخر بسته به نسخه php یکی از مسیرهای زیر را با یک ویرایشگر متن باز کنید:
1 2 3 |
root@arshatech:~# vim /etc/php/7.3/cli/php.ini #for PHP CLI root@arshatech:~# vim /etc/php/7.3/fpm/php.ini #for PHP-FPM & Nginx root@arshatech:~# vim /etc/php/7.3/apache2/php.ini #for Apache2 |
و در انتهای فایل مورد نظر عبارت زیر را اضافه نمائید:
1 |
zend_extension = /usr/lib/php/20180731/ioncube_loader_lin_7.3.so |
سپس در این مرحله می بایست وب سرور خود را ری استارت نمائید:
1 |
root@arshatech:~# systemctl restart apache2 |
1 2 |
root@arshatech:~# systemctl restart nginx root@arshatech:~# systemctl restart php-fpm |
و در انتها صحت نصب ماژول مورد نظر را بررسی نمائید:
1 |
root@arshatech:~# php -v |
1 2 3 4 5 |
PHP 7.3.0RC4 (cli) (built: Oct 25 2018 08:57:33) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.0-dev, Copyright (c) 1998-2018 Zend Technologies with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v10.2.0, Copyright (c) 2002-2018, by ionCube Ltd. with Zend OPcache v7.3.0RC4, Copyright (c) 1999-2018, by Zend Technologies |