CakePHP একটি PHP ফ্রেমওয়ার্ক, যা সহজে ইনস্টল এবং কনফিগার করা যায়। এই টিউটোরিয়ালে আমরা দেখব কীভাবে CakePHP ইনস্টল এবং সেটআপ করা যায়। এখানে Composer এর মাধ্যমে ইনস্টলেশন প্রক্রিয়া দেখানো হয়েছে, যা CakePHP এর জন্য সবচেয়ে জনপ্রিয় পদ্ধতি।
CakePHP ইনস্টলেশন প্রক্রিয়া
১. Composer ইনস্টল করা
CakePHP ইনস্টল করার জন্য Composer ব্যবহার করা হয়, যেটি একটি PHP ডিপেনডেন্সি ম্যানেজার। Composer যদি আপনার সিস্টেমে ইনস্টল না থাকে, তবে প্রথমে তা ইনস্টল করতে হবে।
Composer ইনস্টল করতে, নিচের কমান্ডটি ব্যবহার করুন:
Windows:
Composer ডাউনলোড পেজ থেকে Composer Setup.exe ফাইলটি ডাউনলোড এবং ইনস্টল করুন।
Linux/MacOS:
curl -sS https://getcomposer.org/installer | php
এর পর, composer কমান্ড ব্যবহার করে নিশ্চিত করুন যে Composer সঠিকভাবে ইনস্টল হয়েছে:
composer --version
২. CakePHP ইনস্টল করা
CakePHP ইনস্টল করতে Composer ব্যবহার করা হয়। নিচের কমান্ডটি দিয়ে আপনি CakePHP 4.x ইনস্টল করতে পারবেন:
composer create-project --prefer-dist cakephp/app [আপনার-প্রজেক্ট-নাম]
উদাহরণস্বরূপ, যদি আপনার প্রজেক্টের নাম "my_cakephp_app" রাখতে চান, তাহলে কমান্ডটি হবে:
composer create-project --prefer-dist cakephp/app my_cakephp_app
এই কমান্ডটি CakePHP এর সর্বশেষ স্থিতিশীল সংস্করণ ডাউনলোড করবে এবং আপনার প্রজেক্ট ফোল্ডারে সেটআপ করবে।
৩. ডাটাবেস কনফিগারেশন
CakePHP ইনস্টল করার পর, আপনার ডাটাবেস কনফিগারেশন সেট করা প্রয়োজন। CakePHP এর ডাটাবেস কনফিগারেশন ফাইল config/app.php ফাইলে থাকে। এই ফাইলটি ওপেন করে নিচের ডাটাবেস সেটিংস অনুযায়ী কনফিগার করুন:
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost', // আপনার ডাটাবেস হোস্ট
'username' => 'root', // আপনার ডাটাবেস ইউজারনেম
'password' => '', // আপনার ডাটাবেস পাসওয়ার্ড
'database' => 'cakephp', // আপনার ডাটাবেসের নাম
'encoding' => 'utf8',
'timezone' => 'UTC',
'flags' => [],
'cacheMetadata' => true,
'quoteIdentifiers' => false,
'log' => false,
],
],
এখানে আপনি ডাটাবেসের নাম, ইউজারনেম এবং পাসওয়ার্ড আপনার ডাটাবেসের সাথে সামঞ্জস্যপূর্ণভাবে কনফিগার করবেন।
৪. পারমিশন সেট করা
CakePHP ফোল্ডারের কিছু ফাইল এবং ডিরেক্টরির জন্য সঠিক পারমিশন দিতে হবে, বিশেষ করে tmp এবং logs ডিরেক্টরি যাতে CakePHP সঠিকভাবে কাজ করতে পারে। নিচের কমান্ডটি ব্যবহার করে পারমিশন সেট করুন:
chmod -R 777 tmp logs
এটি tmp এবং logs ফোল্ডারে পূর্ণ পারমিশন দেবে।
৫. বেসিক রাউটিং এবং হোমপেজ পরীক্ষা করা
এখন আপনি আপনার CakePHP অ্যাপ্লিকেশন চালু করতে পারেন। আপনার লোকাল সার্ভারে (যেমন localhost) CakePHP অ্যাপ্লিকেশনটি দেখতে bin/cake server কমান্ডটি চালান:
bin/cake server
এটি আপনার লোকাল সার্ভারে (ডিফল্ট পোর্ট 8765) CakePHP অ্যাপ্লিকেশন চালু করবে। ব্রাউজারে http://localhost:8765 গিয়ে আপনার CakePHP হোমপেজ দেখতে পাবেন।
CakePHP সেটআপ পরবর্তী কাজ
১. CakePHP অ্যাপ্লিকেশনের কনফিগারেশন
CakePHP ইনস্টলেশন সম্পন্ন হওয়ার পর, আপনি আপনার অ্যাপ্লিকেশনের কনফিগারেশন আরও বিস্তারিতভাবে নির্ধারণ করতে পারবেন। কিছু গুরুত্বপূর্ণ কনফিগারেশন ফাইল:
- config/app.php: সাধারণ কনফিগারেশন সেটিংস
- config/routes.php: রাউটিং কনফিগারেশন
- config/bootstrap.php: অ্যাপ্লিকেশন স্টার্টআপ কনফিগারেশন
২. মডেল, কন্ট্রোলার এবং ভিউ তৈরি করা
CakePHP এর MVC আর্কিটেকচারের মাধ্যমে আপনি সহজেই মডেল, কন্ট্রোলার এবং ভিউ তৈরি করতে পারবেন। উদাহরণস্বরূপ, একটি "Posts" মডেল তৈরি করতে নিচের কমান্ডটি ব্যবহার করুন:
bin/cake bake model Posts
bin/cake bake controller Posts
bin/cake bake template Posts
এই কমান্ডগুলি আপনার জন্য সংশ্লিষ্ট মডেল, কন্ট্রোলার এবং ভিউ ফাইল তৈরি করবে।
CakePHP ইনস্টল করা এবং সেটআপ করা খুবই সহজ এবং সরল। Composer এর মাধ্যমে ইনস্টলেশনের প্রক্রিয়া সম্পন্ন করার পর, আপনি ডাটাবেস কনফিগারেশন, পারমিশন সেটিং এবং অ্যাপ্লিকেশন চালু করার মাধ্যমে কাজ শুরু করতে পারবেন। CakePHP এর শক্তিশালী ফিচার এবং MVC আর্কিটেকচারের মাধ্যমে আপনি দ্রুত এবং দক্ষভাবে আপনার ওয়েব অ্যাপ্লিকেশন ডেভেলপ করতে পারবেন।
CakePHP একটি জনপ্রিয় PHP ফ্রেমওয়ার্ক, যা Composer ব্যবহার করে ইনস্টল করা যায়। Composer একটি PHP ডিপেনডেন্সি ম্যানেজার, যা প্রজেক্টের ডিপেনডেন্সি বা লাইব্রেরিগুলি পরিচালনা করতে সাহায্য করে। নিচে Composer ব্যবহার করে CakePHP ইনস্টলেশন প্রক্রিয়া বিস্তারিতভাবে দেওয়া হলো।
CakePHP ইনস্টলেশন (Composer ব্যবহার করে)
১. Composer ইনস্টলেশন চেক করুন
CakePHP ইনস্টল করার জন্য প্রথমে Composer আপনার সিস্টেমে ইনস্টল থাকতে হবে। Composer সঠিকভাবে ইনস্টল করা আছে কিনা তা চেক করতে নিচের কমান্ডটি রান করুন:
composer --version
যদি Composer ইনস্টল না থাকে, তবে Composer এর অফিসিয়াল ডাউনলোড পেজ থেকে Composer ইনস্টল করুন।
Linux/MacOS:
curl -sS https://getcomposer.org/installer | php
Windows:
Composer ডাউনলোড পেজ থেকে Composer Setup.exe ফাইলটি ডাউনলোড করে ইনস্টল করুন।
২. CakePHP ইনস্টলেশন
Composer ইনস্টল হওয়ার পর, CakePHP ইনস্টল করার জন্য নিচের কমান্ডটি ব্যবহার করুন:
composer create-project --prefer-dist cakephp/app [আপনার-প্রজেক্ট-নাম]
উদাহরণস্বরূপ, যদি আপনার প্রজেক্টের নাম "my_cakephp_app" রাখতে চান, তাহলে কমান্ডটি হবে:
composer create-project --prefer-dist cakephp/app my_cakephp_app
এই কমান্ডটি CakePHP এর সর্বশেষ স্থিতিশীল সংস্করণ ডাউনলোড করবে এবং আপনার প্রজেক্ট ফোল্ডারে সেটআপ করবে। এটি CakePHP ফ্রেমওয়ার্কের সমস্ত নির্ভরতা ইনস্টল করবে এবং একটি কার্যকরী CakePHP অ্যাপ্লিকেশন তৈরি করবে।
৩. ডাটাবেস কনফিগারেশন
CakePHP ইনস্টলেশন সম্পন্ন হওয়ার পর, আপনার ডাটাবেস কনফিগারেশন ঠিক করতে হবে। এটি config/app.php ফাইলে কনফিগার করা হয়।
config/app.phpফাইলটি খুলুন।Datasourcesসেকশনে আপনার ডাটাবেসের তথ্য (যেমন ডাটাবেসের নাম, ইউজারনেম, পাসওয়ার্ড) প্রদান করুন।
এখানে একটি উদাহরণ:
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost', // আপনার ডাটাবেস হোস্ট
'username' => 'root', // আপনার ডাটাবেস ইউজারনেম
'password' => '', // আপনার ডাটাবেস পাসওয়ার্ড
'database' => 'cakephp', // আপনার ডাটাবেসের নাম
'encoding' => 'utf8',
'timezone' => 'UTC',
'flags' => [],
'cacheMetadata' => true,
'quoteIdentifiers' => false,
'log' => false,
],
],
৪. পারমিশন সেট করা
CakePHP এর কিছু ফোল্ডারের জন্য সঠিক পারমিশন দিতে হবে, বিশেষ করে tmp এবং logs ফোল্ডার। এগুলি CakePHP এর ক্যাশিং এবং লগ ফিচার পরিচালনা করার জন্য প্রয়োজনীয়।
নিচের কমান্ডটি ব্যবহার করে আপনি পারমিশন সেট করতে পারেন:
chmod -R 777 tmp logs
এটি tmp এবং logs ফোল্ডারে পূর্ণ পারমিশন দেবে।
৫. বেসিক সার্ভার চালানো
CakePHP অ্যাপ্লিকেশনটি সফলভাবে ইনস্টল হওয়ার পর, আপনি bin/cake server কমান্ড ব্যবহার করে লোকাল সার্ভারে অ্যাপ্লিকেশনটি চালু করতে পারবেন।
bin/cake server
এটি লোকাল সার্ভারে (ডিফল্ট পোর্ট 8765) CakePHP অ্যাপ্লিকেশন চালু করবে। এরপর আপনি আপনার ব্রাউজারে গিয়ে http://localhost:8765 এ আপনার CakePHP অ্যাপ্লিকেশন দেখতে পাবেন।
Composer ব্যবহার করে CakePHP ইনস্টল করা একটি সহজ প্রক্রিয়া। ইনস্টলেশনের পর ডাটাবেস কনফিগারেশন এবং পারমিশন সেটিংস সঠিকভাবে করলে, আপনি দ্রুত আপনার CakePHP অ্যাপ্লিকেশন চালু করতে পারবেন। Composer এর মাধ্যমে CakePHP ইন্সটলেশন ব্যবহারের ফলে, এটি সহজ, দ্রুত এবং সঠিকভাবে আপডেট করা সম্ভব।
CakePHP একটি MVC (Model-View-Controller) ভিত্তিক ফ্রেমওয়ার্ক, এবং এর ডিরেক্টরি স্ট্রাকচার খুবই সংগঠিত এবং মডুলার। এটি ডেভেলপারদের কোড রক্ষণাবেক্ষণ এবং স্কেলেবিলিটি সহজ করার জন্য ডিজাইন করা হয়েছে। নিচে CakePHP এর ডিরেক্টরি স্ট্রাকচার এবং প্রতিটি ডিরেক্টরির কাজ বিস্তারিতভাবে আলোচনা করা হলো।
CakePHP ডিরেক্টরি স্ট্রাকচার
my_cakephp_app/
│
├── bin/ # CakePHP এর CLI টুলস
├── config/ # অ্যাপ্লিকেশন কনফিগারেশন ফাইল
├── logs/ # লগ ফাইল
├── plugins/ # CakePHP প্লাগইন
├── src/ # অ্যাপ্লিকেশন কোড (Model, View, Controller)
├── templates/ # ভিউ টেমপ্লেট
├── tests/ # টেস্ট ফাইল
├── tmp/ # ক্যাশ, সেশন, টেম্পোরারি ফাইল
└── vendor/ # তৃতীয় পক্ষের লাইব্রেরি (Composer দ্বারা পরিচালিত)
প্রতিটি ডিরেক্টরির ভূমিকা
১. bin/
এই ডিরেক্টরিটি CakePHP এর CLI (Command Line Interface) টুলস ধারণ করে, যেমন cake কমান্ড যা অ্যাপ্লিকেশন তৈরি, মাইগ্রেশন, স্ক্যাফোল্ডিং, টেস্টিং ইত্যাদি কাজের জন্য ব্যবহৃত হয়। এটি ডেভেলপারদের দ্রুত অ্যাপ্লিকেশন ম্যানেজমেন্ট করতে সাহায্য করে।
উদাহরণ:
bin/cake server: লোকাল সার্ভারে অ্যাপ্লিকেশন চালানোbin/cake bake: মডেল, কন্ট্রোলার, টেমপ্লেট তৈরি করা
২. config/
এই ডিরেক্টরি অ্যাপ্লিকেশনের কনফিগারেশন ফাইল ধারণ করে। এখানে ডাটাবেস কনফিগারেশন, রাউটিং কনফিগারেশন এবং অন্যান্য অ্যাপ্লিকেশন সম্পর্কিত সেটিংস থাকে।
config/app.php: প্রধান কনফিগারেশন ফাইল যেখানে ডাটাবেস, লগিং, ক্যাশিং, সিকিউরিটি, এবং অন্যান্য সেটিংস কনফিগার করা হয়।config/routes.php: রাউটিং ফাইল, যেখানে URL রাউটিং নিয়ম নির্ধারণ করা হয়।config/bootstrap.php: অ্যাপ্লিকেশন স্টার্টআপ কনফিগারেশন, যেখানে প্রাথমিক সেটআপ কোড থাকে।
৩. logs/
এই ডিরেক্টরিটি অ্যাপ্লিকেশনের লগ ফাইল ধারণ করে। CakePHP ত্রুটি লগ, ডিবাগ তথ্য, এবং অন্যান্য লগ ডেটা এখানে রাখে। এটি ডেভেলপারদের জন্য অ্যাপ্লিকেশন মনিটরিং এবং ত্রুটি নির্ধারণে সহায়ক।
৪. plugins/
এখানে আপনি CakePHP এর জন্য প্লাগইন বা এক্সটেনশন রাখতে পারবেন। প্লাগইনগুলি CakePHP অ্যাপ্লিকেশনের ফিচার এক্সটেন্ড করার জন্য ব্যবহৃত হয়। আপনি প্লাগইন ব্যবহার করে নতুন ফিচার যোগ করতে পারেন, যেমন ইমেইল সিস্টেম, ইউজার অথেনটিকেশন, ইত্যাদি।
৫. src/
এই ডিরেক্টরি অ্যাপ্লিকেশনের মূল কোড ধারণ করে। এটি MVC (Model-View-Controller) ফোল্ডারিং প্যাটার্ন অনুসরণ করে, যার মধ্যে থাকে:
Model/: মডেল ফোল্ডার, যা অ্যাপ্লিকেশনের ডেটা এবং লজিককে প্রতিনিধিত্ব করে।Controller/: কন্ট্রোলার ফোল্ডার, যা রিকোয়েস্ট পরিচালনা করে এবং মডেল এবং ভিউয়ের মধ্যে যোগাযোগ স্থাপন করে।View/: ভিউ ফোল্ডার, যা ইউজার ইন্টারফেস (UI) এবং ডেটা প্রদর্শন করে।
৬. templates/
এই ডিরেক্টরি ভিউ টেমপ্লেট ধারণ করে, যেখানে HTML এবং PHP কোড দিয়ে ইউজার ইন্টারফেস তৈরি করা হয়। এখানে আপনার ব্লেড ফাইলগুলির মতো টেমপ্লেটগুলি থাকবে যা ডেটা উপস্থাপন করবে।
templates/: সাধারণভাবে ভিউ ফাইলগুলি থাকবে (যেমন:posts/index.php)
৭. tests/
এই ডিরেক্টরি টেস্ট ফাইল ধারণ করে। এটি CakePHP অ্যাপ্লিকেশনের ইউনিট টেস্ট, ইন্টিগ্রেশন টেস্ট এবং ফিচার টেস্ট রাখে। অ্যাপ্লিকেশনটিকে আরও নির্ভুলভাবে পরীক্ষা করার জন্য এটি অত্যন্ত গুরুত্বপূর্ণ।
tests/TestCase/: এখানে আপনি টেস্ট কেস এবং ফিচার টেস্ট ফাইল রাখতে পারবেন।
৮. tmp/
এটি সাময়িক ফাইল সংরক্ষণ করতে ব্যবহৃত হয়, যেমন ক্যাশ, সেশন ডেটা এবং অন্যান্য টেম্পোরারি ফাইল। এখানে থাকা ফাইলগুলো সাধারণত অ্যাপ্লিকেশনের চলমান প্রসেসে প্রয়োজন হয় এবং পরে মুছে ফেলা হয়।
৯. vendor/
এটি Composer দ্বারা ইনস্টল করা তৃতীয় পক্ষের লাইব্রেরি এবং প্যাকেজগুলির জন্য। এখানে আপনি CakePHP ফ্রেমওয়ার্কের বাইরের যেকোনো ডিপেনডেন্সি বা লাইব্রেরি পাবেন। এটি Composer দ্বারা স্বয়ংক্রিয়ভাবে পরিচালিত হয়।
CakePHP এর ডিরেক্টরি স্ট্রাকচার একটি পরিষ্কার, সংগঠিত এবং স্কেলেবল পদ্ধতিতে অ্যাপ্লিকেশন কোড এবং কনফিগারেশন ফাইলগুলোকে ভাগ করে। MVC আর্কিটেকচার অনুসরণ করে, ডিরেক্টরি গুলি কোডের ভিন্ন ভিন্ন দিক আলাদা করে রাখা সম্ভব, যা কোড রক্ষণাবেক্ষণ এবং পরীক্ষণ সহজ করে। ডেভেলপাররা এই স্ট্রাকচারটি অনুসরণ করে সহজেই CakePHP অ্যাপ্লিকেশন তৈরি ও পরিচালনা করতে পারেন।
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 এর রাউটিং সিস্টেম কাজ করতে পারে। এটি সক্রিয় করতে নিচের পদক্ষেপগুলি অনুসরণ করুন:
- Apache কনফিগারেশন ফাইল (যেমন
httpd.conf) অথবা ভ্যানডর ফোল্ডার (যেমন/etc/apache2/apache2.confবা/etc/httpd/httpd.conf) খুলুন। mod_rewriteমডিউলটি সক্রিয় করতে এই লাইনটি খুঁজুন এবং কমেন্ট সরিয়ে দিন:LoadModule rewrite_module modules/mod_rewrite.soএরপর,
.htaccessফাইলের মাধ্যমে URL রাইটিং এর অনুমতি দিতে, আপনার Apache কনফিগারেশন ফাইলে নিচের সেটিংটি যোগ করুন:<Directory /path/to/your/cakephp/app> AllowOverride All </Directory>Apache সার্ভিস পুনরায় রিস্টার্ট করুন:
Linux (Ubuntu/Debian):
sudo service apache2 restartCentOS/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-fpmCentOS/RHEL:
sudo yum install php-fpmনিশ্চিত করুন যে PHP-FPM সার্ভিস চালু আছে:
Ubuntu/Debian:
sudo service php7.x-fpm startCentOS/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 অ্যাপ্লিকেশন ডিপ্লয় করা হলে, আপনি স্কেলেবল, উচ্চ পারফরম্যান্স ওয়েব অ্যাপ্লিকেশন তৈরি করতে পারবেন।
CakePHP ইনস্টল করার পর, প্রথম অ্যাপ্লিকেশন তৈরি এবং চালানো খুবই সহজ। এই টিউটোরিয়ালে আমরা একটি নতুন CakePHP অ্যাপ্লিকেশন তৈরি করব এবং সেটি রান করাব। নিচে বিস্তারিত ধাপগুলি দেওয়া হলো।
প্রথম CakePHP অ্যাপ্লিকেশন তৈরি ও চালানো
১. CakePHP ইনস্টলেশন (Composer ব্যবহার করে)
প্রথমেই নিশ্চিত করুন যে আপনি Composer ইনস্টল করেছেন। যদি না করে থাকেন, তাহলে Composer এর অফিসিয়াল পেজ থেকে Composer ডাউনলোড ও ইনস্টল করুন।
এর পর, CakePHP অ্যাপ্লিকেশন তৈরির জন্য নিচের কমান্ডটি ব্যবহার করুন:
composer create-project --prefer-dist cakephp/app my_first_cakephp_app
এই কমান্ডটি CakePHP ফ্রেমওয়ার্কের সর্বশেষ ভার্সন ইনস্টল করবে এবং my_first_cakephp_app নামের একটি নতুন ডিরেক্টরি তৈরি করবে।
২. CakePHP অ্যাপ্লিকেশন ডিরেক্টরিতে প্রবেশ
CakePHP ইনস্টলেশন শেষ হওয়ার পর, আপনি তৈরি করা অ্যাপ্লিকেশন ডিরেক্টরিতে প্রবেশ করুন:
cd my_first_cakephp_app
৩. লোকাল সার্ভার চালানো
CakePHP একটি বিল্ট-ইন সার্ভার প্রদান করে, যেটি আপনি সহজেই আপনার অ্যাপ্লিকেশনটি লোকাল সার্ভারে চালাতে ব্যবহার করতে পারেন। লোকাল সার্ভার চালানোর জন্য নিচের কমান্ডটি ব্যবহার করুন:
bin/cake server
এটি আপনার অ্যাপ্লিকেশনটি লোকাল সার্ভারে (ডিফল্ট পোর্ট 8765) চালু করবে। ব্রাউজারে গিয়ে আপনি অ্যাপ্লিকেশনটি দেখতে পারবেন:
http://localhost:8765
এখানে আপনি CakePHP এর ডিফল্ট ওয়েলকাম পেজ দেখতে পাবেন।
৪. ডাটাবেস কনফিগারেশন
CakePHP ডাটাবেস কনফিগারেশন ফাইল config/app.php এ সংরক্ষিত থাকে। আপনাকে সেখানে আপনার ডাটাবেসের তথ্য প্রদান করতে হবে। নিচে উদাহরণ দেওয়া হলো:
config/app.phpফাইলটি খুলুন।Datasourcesসেকশনে ডাটাবেস কনফিগারেশন সঠিকভাবে পূর্ণ করুন:
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
'username' => 'root',
'password' => '',
'database' => 'cakephp_app', // আপনার ডাটাবেস নাম
'encoding' => 'utf8',
'timezone' => 'UTC',
'cacheMetadata' => true,
'quoteIdentifiers' => false,
'log' => false,
],
],
৫. প্রথম কন্ট্রোলার এবং ভিউ তৈরি
এখন, আপনি আপনার প্রথম কন্ট্রোলার এবং ভিউ তৈরি করতে পারেন। প্রথমে কন্ট্রোলার তৈরি করুন:
bin/cake bake controller Pages home
এই কমান্ডটি src/Controller/PagesController.php ফাইল তৈরি করবে এবং home() অ্যাকশন তৈরি করবে।
এর পর, ভিউ ফাইল তৈরি করতে:
bin/cake bake template Pages home
এটি templates/Pages/home.php ফাইল তৈরি করবে, যেখানে আপনি HTML বা PHP কোড দিয়ে আপনার পেজ কনটেন্ট তৈরি করতে পারবেন।
৬. রাউটিং কনফিগারেশন
CakePHP আপনাকে ডিফল্টভাবে কিছু রাউট প্রদান করে। আপনি যদি নিজস্ব রাউট তৈরি করতে চান, তাহলে config/routes.php ফাইলে রাউট কনফিগারেশন যোগ করতে হবে।
উদাহরণস্বরূপ, আপনার অ্যাপ্লিকেশনের হোম পেজে যাওয়া:
$routes->connect('/', ['controller' => 'Pages', 'action' => 'home']);
৭. ব্রাউজারে অ্যাপ্লিকেশন দেখা
আপনি যদি উপরের সব ধাপ সঠিকভাবে অনুসরণ করে থাকেন, তবে আপনার অ্যাপ্লিকেশনটি এখন চলমান। ব্রাউজারে গিয়ে:
http://localhost:8765
এখানে আপনি আপনার প্রথম CakePHP অ্যাপ্লিকেশন দেখতে পাবেন।
এই প্রক্রিয়া অনুসরণ করে আপনি সহজেই CakePHP ইনস্টল এবং প্রথম অ্যাপ্লিকেশন তৈরি করতে পারবেন। CakePHP এর মাধ্যমে একটি আধুনিক এবং স্কেলেবল ওয়েব অ্যাপ্লিকেশন তৈরি করা খুবই সহজ। একবার আপনি মূল কাঠামোটি বুঝে গেলে, অ্যাপ্লিকেশনটির অন্যান্য ফিচার এবং কাস্টমাইজেশন করা আরও সহজ হয়ে যাবে।
Read more