Apache/Nginx সার্ভারের সাথে CakePHP কনফিগারেশন

CakePHP ইনস্টলেশন এবং সেটআপ - কেকপিএইচপি (CakePHP) - Web Development

239

CakePHP একটি PHP ফ্রেমওয়ার্ক যা Apache বা Nginx সার্ভারের সাথে সহজেই কনফিগার করা যায়। এর জন্য কিছু মৌলিক কনফিগারেশন প্রয়োজন, বিশেষ করে URL রাইটিং এবং ডিরেক্টরি পারমিশন। নিচে Apache এবং Nginx সার্ভারের জন্য CakePHP কনফিগারেশন পদ্ধতি আলোচনা করা হয়েছে।


Apache সার্ভারের সাথে CakePHP কনফিগারেশন

১. Apache এর জন্য .htaccess ফাইল

CakePHP স্বয়ংক্রিয়ভাবে .htaccess ফাইল ব্যবহার করে URL রাইটিং এবং রিডাইরেকশন পরিচালনা করে। CakePHP ইনস্টল করার সময় এই ফাইলগুলি তৈরি হয়ে যায়। আপনাকে শুধুমাত্র নিশ্চিত করতে হবে যে Apache এর mod_rewrite সক্রিয় আছে।

২. mod_rewrite সক্রিয় করা

Apache সার্ভারে mod_rewrite চালু করা প্রয়োজন, যাতে CakePHP এর রাউটিং সিস্টেম কাজ করতে পারে। এটি সক্রিয় করতে নিচের পদক্ষেপগুলি অনুসরণ করুন:

  1. Apache কনফিগারেশন ফাইল (যেমন httpd.conf) অথবা ভ্যানডর ফোল্ডার (যেমন /etc/apache2/apache2.conf বা /etc/httpd/httpd.conf) খুলুন।
  2. mod_rewrite মডিউলটি সক্রিয় করতে এই লাইনটি খুঁজুন এবং কমেন্ট সরিয়ে দিন:

    LoadModule rewrite_module modules/mod_rewrite.so
    
  3. এরপর, .htaccess ফাইলের মাধ্যমে URL রাইটিং এর অনুমতি দিতে, আপনার Apache কনফিগারেশন ফাইলে নিচের সেটিংটি যোগ করুন:

    <Directory /path/to/your/cakephp/app>
        AllowOverride All
    </Directory>
    
  4. Apache সার্ভিস পুনরায় রিস্টার্ট করুন:

    Linux (Ubuntu/Debian):

    sudo service apache2 restart
    

    CentOS/RHEL:

    sudo systemctl restart httpd
    

৩. CakePHP ডিরেক্টরি পারমিশন

CakePHP এর কিছু ফোল্ডারের জন্য সঠিক পারমিশন থাকতে হবে, যাতে এটি সঠিকভাবে কাজ করতে পারে। বিশেষত, tmp এবং logs ডিরেক্টরির জন্য সঠিক পারমিশন দিতে হবে। এটি করতে নিচের কমান্ডগুলি ব্যবহার করুন:

chmod -R 777 /path/to/your/cakephp/app/tmp
chmod -R 777 /path/to/your/cakephp/app/logs

৪. Apache কনফিগারেশন (Optional)

আপনার CakePHP অ্যাপ্লিকেশনটি Apache এর মাধ্যমে রান করানোর জন্য আপনি একটি সাইট কনফিগারেশন ফাইল তৈরি করতে পারেন, যেটি /etc/apache2/sites-available অথবা /etc/httpd/conf.d ফোল্ডারে রাখতে হবে।

উদাহরণ:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /path/to/your/cakephp/app/webroot
    ServerName yourdomain.com
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    <Directory /path/to/your/cakephp/app/webroot>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

এর পর, সাইটটি সক্রিয় করতে:

sudo a2ensite your-site.conf
sudo systemctl reload apache2

Nginx সার্ভারের সাথে CakePHP কনফিগারেশন

Nginx CakePHP এর জন্য বেশ জনপ্রিয় একটি ওয়েব সার্ভার, এবং এটি Apache এর মতো .htaccess ফাইল ব্যবহার করে না। Nginx এর জন্য URL রাইটিং কনফিগারেশন nginx.conf ফাইলে করতে হয়।

১. Nginx কনফিগারেশন ফাইল

Nginx সার্ভারের কনফিগারেশন ফাইলটি সাধারণত /etc/nginx/nginx.conf বা /etc/nginx/sites-available/ ডিরেক্টরির মধ্যে থাকে।

আপনার Nginx কনফিগারেশন ফাইলে CakePHP এর জন্য রাউটিং সেটআপ করতে নিচের কোডটি ব্যবহার করুন:

server {
    listen 80;
    server_name yourdomain.com;

    root /path/to/your/cakephp/app/webroot;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ ^/index.php {
        fastcgi_pass 127.0.0.1:9000;  # PHP-FPM এর পোর্ট
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;  # PHP-FPM এর পোর্ট
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    error_log /var/log/nginx/cakephp_error.log;
    access_log /var/log/nginx/cakephp_access.log;
}

২. PHP-FPM কনফিগারেশন

Nginx সাধারণত PHP ফাইলগুলি প্রক্রিয়া করতে PHP-FPM (FastCGI Process Manager) ব্যবহার করে। PHP-FPM সঠিকভাবে কনফিগার করা না থাকলে CakePHP সঠিকভাবে কাজ করবে না।

  • PHP-FPM ইনস্টল করা না থাকলে, এটি ইনস্টল করতে নিচের কমান্ডটি ব্যবহার করুন:

    Ubuntu/Debian:

    sudo apt-get install php-fpm
    

    CentOS/RHEL:

    sudo yum install php-fpm
    
  • নিশ্চিত করুন যে PHP-FPM সার্ভিস চালু আছে:

    Ubuntu/Debian:

    sudo service php7.x-fpm start
    

    CentOS/RHEL:

    sudo systemctl start php-fpm
    

৩. Nginx এবং PHP-FPM পুনরায় চালু করা

কনফিগারেশন ফাইল আপডেট করার পর, Nginx এবং PHP-FPM সার্ভিস পুনরায় রিস্টার্ট করতে হবে:

sudo systemctl restart nginx
sudo systemctl restart php7.x-fpm

৪. CakePHP ডিরেক্টরি পারমিশন

Nginx সার্ভারের জন্যও CakePHP এর tmp এবং logs ডিরেক্টরিতে সঠিক পারমিশন সেট করা প্রয়োজন:

chmod -R 777 /path/to/your/cakephp/app/tmp
chmod -R 777 /path/to/your/cakephp/app/logs

CakePHP এর সাথে Apache বা Nginx সার্ভার কনফিগারেশন খুবই সহজ, তবে কিছু গুরুত্বপূর্ণ পদক্ষেপ অনুসরণ করতে হয় যেমন mod_rewrite এবং fastcgi এর ব্যবহার, .htaccess অথবা Nginx কনফিগারেশন ফাইলের মাধ্যমে URL রাইটিং। এছাড়াও, সঠিক ডিরেক্টরি পারমিশন নিশ্চিত করা প্রয়োজন যাতে CakePHP সঠিকভাবে কাজ করতে পারে। Apache অথবা Nginx এর মাধ্যমে CakePHP অ্যাপ্লিকেশন ডিপ্লয় করা হলে, আপনি স্কেলেবল, উচ্চ পারফরম্যান্স ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...