آموزش دایرکت ادمین، سی پنل، وب سایت پنل

خانه / PHP

PHP

ریدایرکت سایت با htaccess به https

redirect www to non-www or vice versa

کدهای زیر را در htaccess قرار دهید

ریدایرکت بدون www به www

RewriteCond %{HTTP_HOST} ^your_domain.com$
RewriteRule ^(.*)$ http://www.your_domain.com/$1 [R=301]

 

ریدایرکت www به بدون www

RewriteCond %{HTTP_HOST} ^www.your_domain.com$
RewriteRule ^(.*)$ http://your_domain.com/$1 [R=301]

 

برای زمانی که از SSL و https استفاده میکنید..

ریدایرکت بدون www به www

RewriteCond %{HTTP_HOST} ^your_domain.com$
RewriteCond %{SERVER_PORT} ^443
RewriteRule ^(.*)$ https://www.your_domain.com/$1 [R=301]

ریدایرکت www به بدون www

RewriteCond %{HTTP_HOST} ^www.your_domain.com$
RewriteCond %{SERVER_PORT} ^443
RewriteRule ^(.*)$ https://your_domain.com/$1 [R=301]

برای ریدایرکت هم زمان http و https به آدرس https بصورت زیر عمل کنید.

RewriteCond %{HTTP_HOST} ^www.your_domain.com$
RewriteCond %{SERVER_PORT} ^80
RewriteCond %{SERVER_PORT} ^443
RewriteRule ^(.*)$ https://your_domain.com/$1 [R=301]

 

 

انتخاب هاست مناسب برای وردپرس

What are the benefits of wordpress specific hosting?

میزبانی وب سایت یا همان هاست یکی از اجزای کلیدی یک سایت موفق می باشد. انتخاب یک هاست مناسب وردپرس می تواند SEO سایت شما را بهبود ببخشد و بازدید و فروش شما را افزایش دهد. وردپرس محبوب ترین CMS  سایت ساز جهان است که دارای بیشترین قالب های طراحی شده و پلاگین ها می باشد و در حال تبدیل شدن به یک برنامه کاربردی است، ازاین رو استفاده از ابزار قدرتمند برای ارائه سرویس مناسب وردپرس از اهمیت بالایی برخوردار است.  سرورستاپ به اهمیت بهترین انتخاب برای میزبانی وردپرس واقف است و از این رو بالاترین زیرساخت را برای میزبانی وردپرس در هاستینگ ها ارائه میدهد.

با توجه به اینکه وردپرس  برپایه PHP  می باشد بهتر است از سرورهای هاستینگ لینوکسی که از php  و Mysql(mariaDB)  پشتیبانی میکتد، استفاده کنیم، اگرچه امکان نصب php  و mysql روی سرورهای ویندوزی نیز امکان پذیر است.  سرور هاست وردپرس سرورستاپ با ایجاد ساختار کلاستر و توزیع منابع و استفاده از کش اختصاصی در چندلایه بهترین سرویس برای میزبانی وردپرس را فراهم کرده است. همچنین استفاده از سرور مستقل برای میزبانی دیتابیس ها عملکرد سرویس هاست وردپرس را بطور قابل ملاحظه ای افزایش میدهد.

هاست پرسرعت وردپرس در سرورستاپ با قیمت های مختلفی ارائه می شود. اگر شما دارای یک سایت مهم و پربازدید وردپرسی با نیاز به ترافیک بالا هستید بهترین انتخاب هاست وردپرس سرورستاپ می باشد. از جایی که وردپرس دارای ظرافت های کاربردی خاص است، انتخاب هاست وردپرس بر افزایش سطح کیفیت سرویس شما بسیار تاثیرگذار است.

اگرچه امکان نصب و راه اندازی هاست وردپرس بروی همه سرور ها و هاست های لینوکسی امکان پذیر است اما اگر کارایی ، سرعت  و پایداری سایت وردپرسی شما اهمیت بالایی دارد پیشنهاد ما استفاده از هاست وردپرس سرورستاپ می باشد.

تغییر نسخه php در دایرکت ادمین

برای تغییر یا بروز رسانی نسخه php در دایرکت ادمین دستورات زیر را پیگیری کنیدو در نسخه custombuild2.0 امکان استفاده از دو نسخه php وجود دارد.

برای این تغییرات در custombuild2.0

cd /usr/local/directadmin/custombuild
./build update
./build update_data
./build set php2_mode php-fpm
./build set php2_mode mod_php
./build set php1_release 7.0
./build set php2_release 5.6

در این آموزش نسخه اول php ورژن ۷ و نسخه دوم ورژن ۵٫۶ انتخاب شده است، همچنین امکان تعیین mode برای هر نسخه php وجود دارد.
در نهایت php را rebuild کنید.

./build php n
./build rewrite_confs

 

تفاوت هاست لینوکس و هاست ویندوز

Should I choose a Windows or Linux hosting account?

تفاوت هاست ویندوز و لینوکس

اصلی ترین تفاوت هاست لینوکس با هاست ویندوز امکان استفاده از زبان ها و کدهای برنامه نویسی مختلف برای سایت ها و برنامه های مورد استفاده روی سرور است. به عنوان مثال در صورتی که سایت شما با زبان php  یا CMS  هایی مانند wordpress  یا joomla  که از php استفاده میکنند طراحی شده است استفاده از هاست لینوکس پیشنهاد میشود اما در صورتی که زبان برنامه نویسی شما ASP .NET یا Visual Basic  است باید از هاست ویندوز  استفاده کنید. در جدول زیر مقایسه ای در این موضوع انجام شده است.

نصب Laravel در centos

How To Install Laravel  Framework on CentOS

پیش نیازهای نصب لاراول:

نسخه PHP:

۵٫۶ و بالاتر

ماژول های PHP:

OpenSSL , PDO , Mbstring , Tokenizer

ترجیا سعی کنید روی سرورهای خارج از ایران نصب نمایید.

ابتدا باید مخزن epel را نصب کنید.

yum install epel-release

ابتدا باید Composer را نصب کنید.

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer

اکنون باید laravel نصب شود.

وارد مسیری شوید که میخواهید لاراول نصب شود.

git clone https://github.com/laravel/laravel.git
cd laravel
composer install
chown -R USER.USER laravel
chmod -R 755 laravel

در نهایت باید Encryption Key ایجاد و در فایل app.php دخیره شود.

php artisan key:generate

Application key [Z4hfTHU7hFMwHauzOwv7rO9e0MJ9UnhQ] set successfully.

اطلاعات را در فایل config/app.php در قسمت APP_KEY به شکل زیر ذخیره کنید.

‘key’ => env(‘APP_KEY’, ‘Z4hfTHU7hFMwHauzOwv7rO9e0MJ9UnhQ’),
‘cipher’ => ‘AES-256-CBC’,

 

در نهایت سرویس apache را restart کنید.

service httpd restart

تنظیم php.ini اختصاصی برای mod_php)cli) در دایرکت ادمین

 I want per-domain or per-path settings for php mod_php
در گام نخست باید با توجه به نسخه php سرور مسیر php.ini را پیدا کنید.
به عنوان مثال اگر از php5.6 استفاده میکنید، مسیر بصورت زیر خواهد بود.
/usr/local/php56/lib/php.conf.d
 
۱- تنظیمات بر اساس domain بصورت زیر خواهد بود.
/usr/local/lib/php56/php.conf.d/30-domain.com.ini
مقادیر دلخواه را در ان فایل قرار دهید. (مقادیر زیر یک نمونه می باشد)

[HOST=domain.com]
disable_functions =exec
post_max_size = 128M
session.save_path=/home/َUSER/tmp
upload_tmp_dir=/home/USER/tmp

در این مثال بجای domain.com باید نام دامنه را قرار دهید.
بجای USER باید username را قرار دهید.
 
۲- تنطیمات بر اساس آدرس 
/usr/local/lib/php56/php.conf.d/30-USER.ini

 

بجای USER باید username را قرار دهید.
 
عدد عبارت مشخص کننده اولویت اجرا فایل ها می باشد. (در این مثال از ۳۰  استفاده شده است) می توانید برای اولویت بالاتر از عدد ۱۰ استفاده کنید.

php.ini اختصاصی برای php-fpm در دایرکت ادمین

custom php.ini per user php-fpm

برای ایجاد php.ini اختصاصی برای php-fpm در directadmin باید فایل زیر را باز کنید.

nano /usr/local/directadmin/data/users/USERNAME/php/php-fpmXX.conf

و خطوط مورد نیاز را اضافه کنید . به عنوان مثال برای disable_functions :

php_admin_value[disable_functions] = exec,passthru,shell_exec
php_admin_flag[allow_url_fopen] = off

امن سازی PHP در سرور

فایل config PHP با نام php.ini می باشد و برای یافتن فایل config PHP در هر سرویس کافی است از دستور زیر استفاده نماییم:

php --ini

متاسفانه بسیاری از کاربران PHP و مدیران نا آشنا با گزینه های مختلف که در فایل php.ini و فایل پیکربندی آن توجه نمیکنند. با استفاده از چند گزینه مربوط به امنیت در فایل پیکربندی شما می تواند تا حد زیادی وضعیت امنیتی از برنامه های کاربردی وب در حال اجرا بر روی سرور خود را تقویت نمایید.

Safe Mode

این ویژگی برای حل مشکل امنیت اشتراک در سرور اضافه شده است و از نسخه PHP6 به بعد حذف گردیده است. اگر تابعی در یک فایل در یک سرور سایر فایل ها با مالکیت مشابه را تحت تاثیر قرار می دهد کنترل می نماید. برای فعال کردن آن:

safe_mode =on

در برخی موارد شما می خواهید مالکیت استفاده از یک گروه بررسی شود:

safe_mode_gid = On

ادامه ی مطلب

مقایسه XCache و Memcache و APC

این تست را بروی اسکریپت phpfox انجام می دهیم تا میزان بهبود کارایی هر یک از cache ها را بررسی نماییم.

در این آزمایش از وب سرور apache استفاده شده است. برای این تست، ما ۱۰۰۰ درخواست در صفحه اصلی با ۱۰ کاربر همزمان مورد آزمایش قرار گرفت. تنظیمات apache و mysql در حالت default میباشد و حداقل اطلاعات در سایت قرار داده شده است و نتیجه ممکن است بسته به محتویات وب سایت متفاوت باشد.

cache

نتایج تست:

ادامه ی مطلب

suphp چیست؟

suExec  یک ماژول آپاچی که به کاربران اجازه اجرای برنامه های CGI / SSI تحت USER ID می دهد.

suphp  شبیه به suexec است واجازه اجرای برنامه php را با user  و group  مالک فایل را ایجاد می نماید و اجازه دسترسی را به nobody نمی دهد. این ماژول به خوبی بر فعالیت کاربران نظارت می نماید.

Suphp از دو قسمت تشکیل شده است:

ادامه ی مطلب

12