উবুন্টু 20.04 এ লারাভেল কীভাবে ইনস্টল করবেন

একটি উবুন্টু 20.04 এলটিএস মেশিনে একটি লারাভেল ওয়েব অ্যাপ্লিকেশন স্থাপন করতে আপনার যা কিছু জানা দরকার

Laravel হল একটি অত্যন্ত জনপ্রিয় ওপেন-সোর্স PHP ফ্রেমওয়ার্ক যা আধুনিক এবং সুন্দর ওয়েব অ্যাপ্লিকেশন ডিজাইন করতে ব্যবহৃত অভিব্যক্তিপূর্ণ এবং মার্জিত সিনট্যাক্স সহ। লারাভেলের লক্ষ্য হল ওয়েব ডেভেলপমেন্টের ব্যথা দূর করা এবং এটিকে একটি আনন্দদায়ক এবং সৃজনশীল অভিজ্ঞতা করা, ওয়েব ডেভসকে ওয়েব কারিগরে পরিণত করা।

এই নির্দেশিকাটিতে, আপনি আপনার ওয়েব অ্যাপ্লিকেশন চালু করতে এবং চালু করতে উবুন্টু 20.04 সার্ভারে LAMP স্ট্যাকের সাথে লারাভেল কীভাবে ইনস্টল করবেন তা শিখতে যাচ্ছেন।

পূর্বশর্ত

এই নির্দেশিকা অনুসরণ করতে, আপনার একটি উবুন্টু 20.04 LTS সার্ভারের প্রয়োজন হবে এবং একটি হিসাবে লগ ইন করতে হবে sudo ব্যবহারকারী আমরা শুরু করার আগে, চালানোর মাধ্যমে উবুন্টু 20.04 প্যাকেজ আপডেট এবং আপগ্রেড করুন:

sudo apt আপডেট && sudo apt আপগ্রেড

LAMP স্ট্যাক ইনস্টল করা হচ্ছে

LAMP এর সংক্ষিপ্ত রূপ এল inux অপারেটিং সিস্টেম, pache ওয়েব সার্ভার, এম ySQL ডাটাবেস এবং পৃ এইচপি প্রোগ্রামিং ভাষা। আমরা ইতিমধ্যেই উবুন্টু 20.04 এ আছি যা LAMP স্ট্যাকে লিনাক্সে টিক দেয়। তাই আমরা আমাদের লারাভেল অ্যাপ্লিকেশনের জন্য LAMP স্ট্যাক সম্পূর্ণ করতে বাকি তিনটি প্যাকেজ ইনস্টল করতে যাচ্ছি।

উবুন্টু 20.04 রিপোজিটরিতে LAMP স্ট্যাক ইনস্টল করার জন্য কোনও মেটা-প্যাকেজ উপলব্ধ নেই। কিন্তু আমরা একটি ঝরঝরে সামান্য বৈশিষ্ট্য ব্যবহার করতে পারেন উপযুক্ত প্যাকেজ ম্যানেজার টাস্ক বলে। একটি ক্যাডেট (^) এর সাথে যুক্ত হয়েছে।

sudo apt lamp-server ^ ইনস্টল করুন

এই কমান্ডটি সমস্ত "টাস্ক:" ফিল্ডের জন্য প্যাকেজ তালিকা ফাইলগুলি অনুসন্ধান করবে এবং তাদের টাস্ক ফিল্ডে "ল্যাম্প-সার্ভার" সহ সমস্ত প্যাকেজ ইনস্টল করবে। সুতরাং Apache, MySQL এবং PHP প্যাকেজ সমন্বিত LAMP স্ট্যাক আপনার উবুন্টু সার্ভারে ইনস্টল করা হবে।

ফায়ারওয়াল কনফিগার করুন

একবার আপনি LAMP স্ট্যাক ইনস্টল করার পরে, আপনাকে জটিল ফায়ারওয়াল (UFW) কনফিগার করতে হবে এবং এর নিয়মগুলি পরিবর্তন করতে হবে যাতে আপনি ইন্টারনেট থেকে Apache সার্ভার অ্যাক্সেস করতে পারেন।

UFW সহজ অ্যাপ্লিকেশন প্রোফাইল সরবরাহ করে যা নিয়ম পরিবর্তন করতে এবং নেটওয়ার্ক পোর্টগুলিতে ট্র্যাফিক টগল করতে ব্যবহার করা যেতে পারে। নেটওয়ার্ক পোর্ট অ্যাক্সেস করে এমন সমস্ত অ্যাপ্লিকেশন তালিকাভুক্ত করতে নিম্নলিখিত কমান্ডটি চালান:

sudo ufw অ্যাপ তালিকা

আপনি এই মত একটি আউটপুট দেখতে পাবেন:

উপলব্ধ অ্যাপ্লিকেশন: Apache Apache Full Apache Secure OpenSSH

আপনার উবুন্টু 20.04 সার্ভারে এই প্রোফাইলগুলি খোলা নেটওয়ার্ক পোর্টগুলি নীচে তালিকাভুক্ত করা হয়েছে:

  • Apache: এই প্রোফাইলটি শুধুমাত্র পোর্ট খুলবে 80 (HTTP ট্র্যাফিকের অনুমতি দেয়)
  • Apache Full: এই প্রোফাইল দুটোই খোলে 80 & 443 পোর্ট (HTTP এবং HTTPS ট্রাফিকের অনুমতি দেয়)
  • Apache Secure: এই প্রোফাইলটি শুধুমাত্র পোর্ট খোলে 443 (HTTPS ট্র্যাফিকের অনুমতি দেয়)
  • OpenSSH: এই প্রোফাইলটি পোর্ট খোলে 22 যা SSH প্রোটোকলের অনুমতি দেয়

আপনাকে 'Apache Full' প্রোফাইল সক্ষম করতে হবে যা ইন্টারনেট থেকে Apache ওয়েব সার্ভারে ট্র্যাফিকের অনুমতি দেবে। উপরন্তু, আপনাকে 'ওপেনএসএসএইচ' প্রোফাইল সক্ষম করতে হবে যা পোর্টে ট্র্যাফিকের অনুমতি দেয় 22 (SSH) আপনার উবুন্টু 20.04 সার্ভারে। আপনি যদি 'OpenSSH' প্রোফাইলের অনুমতি না দিয়ে UFW সক্ষম করেন তবে আপনি SSH ব্যবহার করে আপনার সার্ভারের সাথে সংযোগ করতে পারবেন না।

UFW নিয়ম পরিবর্তন করতে এবং পোর্টে ট্রাফিকের অনুমতি দিতে 80 এবং 22, চালান:

sudo ufw 'Apache Full' sudo ufw অনুমতি দেয় 'OpenSSH'

তারপর নিম্নলিখিত কমান্ড ব্যবহার করে UFW ফায়ারওয়াল সক্ষম করুন:

sudo ufw সক্ষম করুন

আপনি একটি প্রম্পট পেতে পারেন "কমান্ড বিদ্যমান ssh সংযোগগুলিকে ব্যাহত করতে পারে৷ অপারেশনের সাথে এগিয়ে যান (y|n)?"। প্রেস করুন Y চালিয়ে যাওয়ার জন্য আমরা ইতিমধ্যেই UFW-তে SSH অনুমতি দেওয়ার জন্য একটি নিয়ম যুক্ত করেছি।

এখন আপনি ইন্টারনেট থেকে আপনার উবুন্টু সার্ভারের আইপি ঠিকানা ব্যবহার করে অ্যাপাচি ডিফল্ট ওয়েব পৃষ্ঠা অ্যাক্সেস করতে পারেন। এটি করতে আপনার ব্রাউজার খুলুন এবং URL বারে আপনার উবুন্টু 20.04 সার্ভারের আইপি ঠিকানা টাইপ করুন এবং এন্টার টিপুন।

//Your_ubuntu_server_ip

এই পৃষ্ঠাটি নিশ্চিত করে যে Apache ওয়েব সার্ভার সঠিকভাবে চলছে এবং UFW নিয়মগুলি সঠিকভাবে সেট আপ করা হয়েছে।

Laravel এর জন্য MySQL ডাটাবেস সেট আপ করা হচ্ছে

Laravel 7 বিভিন্ন ডাটাবেস ব্যাকএন্ড জুড়ে ডেটাবেসের সাথে ইন্টারঅ্যাক্ট করাকে অত্যন্ত সহজ করে তোলে যা এটি সমর্থন করে যেমন MySQL সংস্করণ 5.6+, PostgreSQL 9.4+, SQLite 3.8.8+ এবং SQL Server 2017+। আমরা ইতিমধ্যে সর্বশেষ MySQL প্যাকেজ এর সাথে ইনস্টল করেছি ল্যাম্প-সেভার^ টাস্ক তাই এই বিভাগে, আমরা মাইএসকিউএল সার্ভার কনফিগার করব এবং তারপরে লারাভেল অ্যাপ্লিকেশনের জন্য কীভাবে একটি নতুন মাইএসকিউএল ব্যবহারকারী এবং ডাটাবেস সেট আপ করবেন তা দেখব।

মাইএসকিউএল কনফিগার করুন

MySQL ডাটাবেস একটি নিরাপত্তা স্ক্রিপ্টের সাথে আসে যা আগে থেকে ইনস্টল করা আছে যা কিছু অনিরাপদ ডিফল্ট সেটিংস সরাতে ব্যবহার করা যেতে পারে। আপনি আপনার Laravel অ্যাপ্লিকেশন স্থাপন করার আগে এই স্ক্রিপ্টটি চালানোর পরামর্শ দেওয়া হচ্ছে।

sudo mysql_secure_installation

উপরের কমান্ডটি নিরাপত্তা স্ক্রিপ্টটি কার্যকর করবে যা আপনাকে MySQL সার্ভার কনফিগার করার জন্য একটি সিরিজ প্রশ্ন জিজ্ঞাসা করবে।

প্রথমে, আপনাকে জিজ্ঞাসা করা হবে আপনি সেটআপ করতে চান কিনা পাসওয়ার্ড যাচাই করুন প্লাগ লাগানো. এই প্লাগইনটি আপনার পাসওয়ার্ড পরীক্ষা করে এবং আপনি শীঘ্রই যে পাসওয়ার্ড যাচাইকরণ নীতির স্তরটি বেছে নেবেন তার উপর ভিত্তি করে সেগুলিকে সুরক্ষিত বা অনিরাপদ হিসাবে স্থান দেয়৷ তাই চাপুন Y আপনি এই প্লাগইন সক্রিয় করতে চান.

আউটপুট: MySQL সার্ভার স্থাপনা সুরক্ষিত করা। একটি ফাঁকা পাসওয়ার্ড ব্যবহার করে MySQL এর সাথে সংযোগ করা হচ্ছে। পাসওয়ার্ড পরীক্ষা করতে এবং নিরাপত্তা উন্নত করতে পাসওয়ার্ডের উপাদান যাচাই করা যেতে পারে। এটি পাসওয়ার্ডের শক্তি পরীক্ষা করে এবং ব্যবহারকারীদের শুধুমাত্র সেই পাসওয়ার্ডগুলি সেট করতে দেয় যা যথেষ্ট সুরক্ষিত। আপনি কি ভ্যালিডেট পাসওয়ার্ড কম্পোনেন্ট সেটআপ করতে চান? হ্যাঁ এর জন্য y|Y চাপুন, না এর জন্য অন্য কোন কী চাপুন: Y

তারপরে প্রবেশ করে পাসওয়ার্ড যাচাইকরণ নীতির স্তর সেট করুন 0, 1 বা 2 আপনার ডেটাবেসের জন্য আপনি কতটা শক্তিশালী পাসওয়ার্ড তৈরি করতে চান তার উপর নির্ভর করে।

আউটপুট: পাসওয়ার্ড যাচাইকরণ নীতির তিনটি স্তর রয়েছে: নিম্ন দৈর্ঘ্য >= 8 মাঝারি দৈর্ঘ্য >= 8, সংখ্যাসূচক, মিশ্র কেস, এবং বিশেষ অক্ষর শক্তিশালী দৈর্ঘ্য >= 8, সংখ্যাসূচক, মিশ্র কেস, বিশেষ অক্ষর এবং অভিধান ফাইল অনুগ্রহ করে 0 = নিম্ন, লিখুন 1 = মাঝারি এবং 2 = শক্তিশালী: 2

এর পরে, আপনাকে MySQL রুট ব্যবহারকারীর জন্য একটি নতুন পাসওয়ার্ড লিখতে বলা হবে। আপনার MySQL রুটের জন্য একটি উপযুক্ত পাসওয়ার্ড লিখুন। VALIDATE PASSWORD প্লাগইন আপনাকে আপনার পাসওয়ার্ডের বৈধতা স্তর অনুযায়ী আপনার পাসওয়ার্ডের আনুমানিক শক্তি দেবে৷ প্রেস করুন Y আপনার দেওয়া পাসওয়ার্ড দিয়ে চালিয়ে যেতে।

আউটপুট: এখানে রুট জন্য পাসওয়ার্ড সেট করুন. নতুন পাসওয়ার্ড: নতুন পাসওয়ার্ড পুনরায় লিখুন: পাসওয়ার্ডের আনুমানিক শক্তি: 100 আপনি কি প্রদত্ত পাসওয়ার্ড দিয়ে চালিয়ে যেতে চান? (হ্যাঁর জন্য Y|Y চাপুন, না-র জন্য অন্য কোনো কী) : Y

প্রেস করুন Y বাকি প্রম্পটের জন্য, তারা কিছু বেনামী ব্যবহারকারী এবং পরীক্ষার ডাটাবেসগুলিকে সরিয়ে দেবে, দূরবর্তী রুট লগইন অক্ষম করবে এবং MySQL সার্ভারের জন্য নতুন সেটিংস পুনরায় লোড করবে। আপনি শেষ হয়ে গেলে, রান করে আপনার ডাটাবেস পরীক্ষা করুন:

sudo mysql

উপরের কমান্ডটি MySQL কনসোল খুলবে, হিসাবে MySQL ডাটাবেসের সাথে সংযোগ করবে মূল ব্যবহারকারী আপনি এই মত একটি আউটপুট দেখতে পাবেন:

আউটপুট: MySQL মনিটরে স্বাগতম। কমান্ড দিয়ে শেষ হয়; অথবা \g আপনার MySQL সংযোগ আইডি হল 10 সার্ভার সংস্করণ: 8.0.20-0ubuntu0.20.04.1 (Ubuntu) কপিরাইট (c) 2000, 2020, Oracle এবং/অথবা এর সহযোগী। সমস্ত অধিকার সংরক্ষিত. ওরাকল হল ওরাকল কর্পোরেশন এবং/অথবা এর সহযোগীদের একটি নিবন্ধিত ট্রেডমার্ক। অন্যান্য নাম তাদের নিজ নিজ মালিকদের ট্রেডমার্ক হতে পারে। টাইপ করুন 'সহায়তা;' অথবা সাহায্যের জন্য '\h'। বর্তমান ইনপুট বিবৃতি সাফ করতে '\c' টাইপ করুন। mysql>

আপনি হয়তো লক্ষ্য করেছেন যে MySQL রুট ব্যবহারকারীর জন্য আপনার সেট করা পাসওয়ার্ডটি প্রবেশ করার প্রয়োজন নেই। এর কারণ হল প্রশাসনিক MySQL রুট ব্যবহারকারীর জন্য ডিফল্ট প্রমাণীকরণ পদ্ধতি caching_sha2_authentication পরিবর্তে mysql_native_password পদ্ধতি যা লগ ইন করার জন্য একটি পাসওয়ার্ড ব্যবহার করে।

তাই ডিফল্টরূপে, আপনি শুধুমাত্র মাইএসকিউএল রুট ব্যবহারকারী হিসাবে লগ ইন করতে পারেন sudo সক্রিয় ব্যবহারকারী যারা মাইএসকিউএল সার্ভারের জন্য অতিরিক্ত নিরাপত্তা হিসাবে কাজ করে। কিন্তু মাইএসকিউএল পিএইচপি লাইব্রেরি সমর্থন করে না caching_sha2_authentication পদ্ধতি তাই আমাদের ব্যবহার করতে হবে mysql_native_password পদ্ধতি যখন আমরা লারাভেলের জন্য একটি নতুন ব্যবহারকারী তৈরি করি কারণ এটি ডাটাবেসের সাথে সংযোগ এবং ইন্টারঅ্যাক্ট করতে পাসওয়ার্ড ব্যবহার করে।

একটি নতুন MySQL ব্যবহারকারী এবং ডেটাবেস তৈরি করুন

MySQL রুট ব্যবহারকারী এবং পরীক্ষা ডাটাবেস ব্যবহার করার পরিবর্তে আপনার অ্যাপ্লিকেশনের জন্য বিশেষভাবে একটি নতুন ব্যবহারকারী এবং ডাটাবেস তৈরি করা সর্বদা একটি ভাল অভ্যাস। তাই আমরা একটি নতুন MySQL ব্যবহারকারী নামক সেট আপ করতে যাচ্ছি laravel_user এবং একটি ডাটাবেস বলা হয় লারাভেল. আপনি যদি এই পর্যন্ত টিউটোরিয়ালটি অনুসরণ করেন তবে আপনার MySQL কনসোলটি খোলা থাকা উচিত। তৈরি করতে ইউজারকে বলা হয় laravel_user MySQL কনসোলে নিম্নলিখিত ক্যোয়ারী চালান:

বিঃদ্রঃ: প্রতিস্থাপন টেস্টপাস একটি শক্তিশালী পাসওয়ার্ড সহ নীচের MySQL ক্যোয়ারীতে।

ব্যবহারকারী তৈরি করুন 'laravel_user'@'%' 'testpass' দ্বারা mysql_native_password দিয়ে শনাক্ত করা;

পরবর্তী, নামক একটি ডাটাবেস তৈরি করুন লারাভেল এই ক্যোয়ারী চালানোর মাধ্যমে আমাদের Laravel অ্যাপ্লিকেশনের জন্য:

ডেটাবেস লারাভেল তৈরি করুন;

শুধুমাত্র MySQL রুট ব্যবহারকারীর নতুন তৈরি ডাটাবেস লারাভেলের অনুমতি রয়েছে। উপর সব অনুমতি প্রদান লারাভেল ডাটাবেস থেকে laravel_user চালানোর মাধ্যমে:

লারাভেলে সব মঞ্জুর করুন।* 'laravel_user'@'%' কে;

সুতরাং, আমাদের কাছে এখন একটি নতুন MySQL ব্যবহারকারী এবং একটি ডাটাবেস রয়েছে, রান করে MySQL কনসোল থেকে প্রস্থান করুন:

প্রস্থান;

আপনার নতুন MySQL ব্যবহারকারীর সাথে MySQL কনসোলে লগ ইন করে পরীক্ষা করুন, এটি করতে টার্মিনালে এই কমান্ডটি চালান:

mysql -u laravel_user -p

লক্ষ্য করুন -পি কমান্ডে ফ্ল্যাগ করুন, এটি তৈরি করার সময় আপনি যে পাসওয়ার্ড ব্যবহার করেছিলেন তা আপনাকে অনুরোধ করবে laravel_user (টেস্টপাস প্রশ্নে)। আপনি মাইএসকিউএল কনসোলে লগ ইন করার পরে laravel_user, নিশ্চিত করুন যে ব্যবহারকারীর অ্যাক্সেস আছে লারাভেল চালানোর মাধ্যমে ডাটাবেস:

ডাটাবেস দেখান;
আউটপুট: +----------------------+ | ডাটাবেস | +----------------------+ | লারাভেল | | তথ্য_স্কিমা | +----------------------+ সেটে 2টি সারি (0.01 সেকেন্ড)

উপরের আউটপুট নিশ্চিত করে যে MySQL ব্যবহারকারী laravel_user ডাটাবেসের অনুমতি আছে লারাভেল. ব্যবহার করে MySQL কনসোল থেকে প্রস্থান করুন প্রস্থান; ক্যোয়ারী যাতে আমরা ডেমোঅ্যাপ লারাভেল অ্যাপ্লিকেশন তৈরি করতে এগিয়ে যেতে পারি।

লারাভেল ইনস্টল করা হচ্ছে

লারাভেল ফ্রেমওয়ার্ক কম্পোজারকে তার নির্ভরতা ডাউনলোড এবং পরিচালনা করতে ব্যবহার করে। সুতরাং, লারাভেল অ্যাপ্লিকেশন তৈরি করার আগে আমাদের উবুন্টু 20.04 মেশিনে কম্পোজার ইনস্টল করতে হবে।

কম্পোজার ইনস্টল করুন

কম্পোজার হল পিএইচপি-র জন্য একটি নির্ভরতা ব্যবস্থাপক টুল, যা পিএইচপি ফ্রেমওয়ার্ক এবং লাইব্রেরিগুলিকে ইনস্টল এবং আপডেট করা অনেক সহজ করে তোলে। আমরা এই টিউটোরিয়ালে কিভাবে দ্রুত কম্পোজার ইন্সটল করতে হয় তা দেখতে যাচ্ছি যাতে আমরা লারাভেল ফ্রেমওয়ার্ক ডাউনলোড এবং পরিচালনা করতে এটি ব্যবহার করতে পারি।

আপনাকে কিছু অতিরিক্ত প্যাকেজ ইনস্টল করতে হবে যা কম্পোজার দ্বারা কাজ করার জন্য প্রয়োজনীয় php-cli টার্মিনালে পিএইচপি স্ক্রিপ্ট চালানোর জন্য এবং আনজিপ কম্পোজারকে প্যাকেজ বের করতে সাহায্য করতে। চালানোর মাধ্যমে তাদের উভয় ইনস্টল করুন:

sudo apt php-cli আনজিপ ইনস্টল করুন

তারপর বিশ্বব্যাপী কম্পোজার ইনস্টল করতে, এর সাথে কম্পোজার ইনস্টলেশন স্ক্রিপ্টটি ডাউনলোড করুন কার্ল এবং নিম্নলিখিত কমান্ড ব্যবহার করে এটি ইনস্টল করুন:

curl -sS //getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=কম্পোজার

অবশেষে, সুরকারটি চালানোর মাধ্যমে সঠিকভাবে ইনস্টল করা হয়েছে কিনা তা যাচাই করুন:

সুরকার
 ___/ ____/___ ____ ____ ____ ________ _____ // __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/ /___/ /_/ / / /_/ (__ ) __/ / \____/\____/_/ /_/ /_/ .___/\____/____/\___/_/ /_/ সুরকার সংস্করণ 1.10.8 2020-06- 24 21:23:30 ব্যবহার: কমান্ড [বিকল্প] [আর্গুমেন্ট]

এই আউটপুট নিশ্চিত করে যে কম্পোজার আপনার উবুন্টু 20.04 সার্ভারে সঠিকভাবে কাজ করছে, আপনি পিএইচপি ফ্রেমওয়ার্ক এবং লাইব্রেরি ইনস্টল এবং পরিচালনা করতে এটি ব্যবহার শুরু করতে পারেন।

একটি লারাভেল অ্যাপ্লিকেশন তৈরি করুন

কিছু পিএইচপি এক্সটেনশন ছাড়া আমাদের উবুন্টু 20.04 সার্ভারে একটি লারাভেল অ্যাপ্লিকেশন তৈরি করার জন্য প্রয়োজনীয় সবকিছুই আমাদের কাছে রয়েছে। নিম্নলিখিত কমান্ড ব্যবহার করে এই অনুপস্থিত এক্সটেনশনগুলি ইনস্টল করুন:

sudo apt php-mbstring php-xml php-bcmath php-zip php-json ইনস্টল করুন

এখন, আমরা লারাভেল ইনস্টল করতে পারি এবং কম্পোজারের সাহায্যে একটি নতুন লারাভেল অ্যাপ্লিকেশন তৈরি করতে পারি। প্রথমে, নিশ্চিত করুন যে আপনি আপনার ব্যবহারকারীর হোম ডিরেক্টরিতে আছেন:

cd ~

তারপর কম্পোজার ব্যবহার করে একটি নতুন লারাভেল প্রকল্প তৈরি করুন তৈরি-প্রকল্প আদেশ:

কম্পোজার তৈরি-প্রকল্প --prefer-dist laravel/laravel LaravelApp

উপরের কমান্ডটি LaravelApp নামে একটি নতুন প্রকল্প তৈরি করবে এবং এটি আপনার জন্য লারাভেল ফ্রেমওয়ার্ক ইনস্টল ও কনফিগার করবে। আপনি এই অনুরূপ একটি আউটপুট দেখতে পাবেন:

আউটপুট: "./LaravelApp" এ একটি "laravel/laravel" প্রকল্প তৈরি করা হচ্ছে laravel/laravel (v7.12.0) ইনস্টল করা laravel/laravel (v7.12.0) ইনস্টল করা হচ্ছে: ডাউনলোড করা হচ্ছে (100%) /home/ath/LaravelApp @php-এ প্রকল্প তৈরি করা হয়েছে - r "file_exists('.env') || copy('.env.example', '.env');" প্যাকেজ তথ্য সহ কম্পোজার রিপোজিটরি লোড হচ্ছে নির্ভরতা আপডেট করা (প্রয়োজন-ডেভ সহ) প্যাকেজ অপারেশন: 97 ইনস্টল, 0 আপডেট, 0 অপসারণ voku/portable-ascii ইনস্টল করা (1.5.2): ডাউনলোড করা হচ্ছে (100%) symfony/polyfill-ctype (v1) ইনস্টল করা হচ্ছে .17.1): ডাউনলোড করা হচ্ছে (100%) phpoption/phpoption ইনস্টল করা হচ্ছে (1.7.4): ডাউনলোড করা হচ্ছে (100%) vlucas/phpdotenv ইনস্টল করা হচ্ছে (v4.1.7): ডাউনলোড করা হচ্ছে (100%) symfony/css-নির্বাচক ইনস্টল করা হচ্ছে (v5.1.2) : ডাউনলোড হচ্ছে (100%)...

ইনস্টলেশন শেষ হলে, অ্যাপ্লিকেশনের রুট ডিরেক্টরিতে যান এবং তারপরে লারাভেল চালান কারিগর সমস্ত উপাদান সঠিকভাবে ইনস্টল করা হয়েছে তা যাচাই করার জন্য কমান্ড:

সিডি লারাভেলঅ্যাপ/ পিএইচপি কারিগর
আউটপুট: লারাভেল ফ্রেমওয়ার্ক 7.18.0 ব্যবহার: কমান্ড [বিকল্প] [আর্গুমেন্ট] বিকল্প: -h, --help এই সাহায্য বার্তাটি প্রদর্শন করুন -q, --quiet কোনো বার্তা আউটপুট করবেন না -V, --version এই অ্যাপ্লিকেশন সংস্করণটি প্রদর্শন করুন --ansi ANSI আউটপুট বলপ্রয়োগ করুন --no-ansi ANSI আউটপুট নিষ্ক্রিয় করুন -n, --no-interaction কোনো ইন্টারেক্টিভ প্রশ্ন জিজ্ঞাসা করবেন না --env[=ENV] যে পরিবেশে কমান্ডটি -v|vv|vvv, --verbose বৃদ্ধির অধীনে চালানো উচিত বার্তাগুলির ভার্বোসিটি: সাধারণ আউটপুটের জন্য 1, আরও ভার্বোস আউটপুটের জন্য 2 এবং ডিবাগের জন্য 3টি ....

এই আউটপুট নিশ্চিত করে যে ইনস্টলেশন সফল হয়েছে এবং সমস্ত ফাইল যথাস্থানে রয়েছে এবং লারাভেল কমান্ড-লাইন সরঞ্জামগুলি সঠিকভাবে কাজ করছে। যাইহোক, ডাটাবেস এবং কিছু অন্যান্য সেটিংস সেট আপ করার জন্য আমাদের এখনও অ্যাপ্লিকেশনটি কনফিগার করতে হবে।

লারাভেল অ্যাপ্লিকেশন কনফিগার করুন

লারাভেল কনফিগারেশন ফাইলগুলি একটি ডিরেক্টরিতে অবস্থিত কনফিগারেশন অ্যাপ্লিকেশনের রুট ডিরেক্টরির ভিতরে। উপরন্তু, যখন আমরা কম্পোজারের মাধ্যমে লারাভেল ইনস্টল করি, তখন এটি অ্যাপ্লিকেশনের রুট ডিরেক্টরিতে '.env' নামে একটি পরিবেশ ফাইল তৈরি করে। এনভায়রনমেন্ট ফাইলে পরিবেশ-নির্দিষ্ট কনফিগারেশন অন্তর্ভুক্ত থাকে এবং এটি কনফিগার ডিরেক্টরির ভিতরে অবস্থিত নিয়মিত কনফিগারেশন ফাইলের সেটিংসের উপর অগ্রাধিকার নেয়।

দ্রষ্টব্য: পরিবেশ কনফিগারেশন ফাইলে আপনার সার্ভার সম্পর্কে সংবেদনশীল তথ্য রয়েছে যেমন ডাটাবেস পাসওয়ার্ড, লারাভেল অ্যাপ্লিকেশন কী ইত্যাদি। তাই এটি কখনই সর্বজনীনভাবে শেয়ার করা উচিত নয়।

আমরা এখন সম্পাদনা করব .env ফাইল কনফিগারেশন পরিবর্তন করতে এবং এতে ডাটাবেস শংসাপত্র যোগ করুন। রান করে ন্যানো এডিটর ব্যবহার করে ফাইল খুলুন:

nano .env

এতে অনেক কনফিগারেশন ভেরিয়েবল আছে .env ফাইল আমাদের তাদের প্রতিটি পরিবর্তন করার দরকার নেই, কারণ কম্পোজার বেশিরভাগ সেটিংস স্বয়ংক্রিয়ভাবে কনফিগার করেছে। সুতরাং, এখানে কিছু প্রাথমিক কনফিগারেশন ভেরিয়েবলের তালিকা রয়েছে যা আপনাকে অবশ্যই জানতে হবে:

  • অ্যাপ্লিকেশন নাম: বিজ্ঞপ্তি এবং বার্তাগুলির জন্য ব্যবহৃত অ্যাপ্লিকেশনের নাম, তাই আমরা এটিকে 'LaravelApp'-এ সেট করতে যাচ্ছি।
  • APP_ENV: এই ভেরিয়েবলটি বর্তমান অ্যাপ্লিকেশন পরিবেশ নির্দেশ করতে ব্যবহৃত হয়। এটি স্থানীয়, উন্নয়ন, পরীক্ষা বা উত্পাদন পরিবেশে সেট করা যেতে পারে। আমরা আপাতত এটিকে উন্নয়নের পরিবেশে সেট করতে যাচ্ছি।
  • APP_KEY: ওয়েব অ্যাপের জন্য সল্ট এবং হ্যাশ তৈরি করতে ব্যবহৃত অনন্য অ্যাপ্লিকেশন কী। আপনি যখন কম্পোজারের মাধ্যমে লারাভেল ইনস্টল করেন তখন এটি স্বয়ংক্রিয়ভাবে তৈরি হয়, তাই এটি পরিবর্তন করার দরকার নেই।
  • APP_DEBUG: আপনি ক্লায়েন্ট-সাইডে ত্রুটি প্রদর্শন করতে চান কিনা তার উপর নির্ভর করে এটি সত্য বা মিথ্যাতে সেট করা যেতে পারে। আপনি উত্পাদন পরিবেশে সরানোর সময় এটি মিথ্যা সেট করুন।
  • APP_URL: অ্যাপ্লিকেশানের জন্য বেস URL বা IP, আপনার Laravel অ্যাপের জন্য একটি থাকলে এটিকে আপনার ডোমেন নামে পরিবর্তন করুন বা অন্যথায় এটিকে আপাতত স্পর্শ না করে রাখুন।
  • DB_DATABASE: লারাভেল অ্যাপ্লিকেশনের সাথে আপনি যে ডাটাবেসটি ব্যবহার করতে চান তার নাম৷ আমরা মাইএসকিউএল কনফিগার করার সময় তৈরি করা মাইএসকিউএল ডাটাবেস 'লারাভেল' ব্যবহার করতে যাচ্ছি।
  • DB_USERNAME: ডাটাবেসের সাথে সংযোগ করার জন্য ব্যবহারকারীর নাম। আমরা আমাদের তৈরি করা MySQL ব্যবহারকারী 'laravel_user' ব্যবহার করতে যাচ্ছি।
  • DB_PASSWORD: ডাটাবেসের সাথে সংযোগ করার জন্য পাসওয়ার্ড।
 APP_NAME= লারাভেলঅ্যাপ APP_ENV= উন্নয়ন APP_KEY= base64:Application_unique_key APP_DEBUG=সত্য APP_URL= //domain_or_IP LOG_CHANNEL=স্ট্যাক DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=লারাভেল DB_USERNAME= laravel_user DB_PASSWORD= টেস্টপাস

পরিবর্তন করুন .env সেই অনুযায়ী ফাইল এবং আপনি সম্পাদনা শেষ হলে, সংরক্ষণ করুন এবং ব্যবহার করে ফাইল থেকে প্রস্থান করুন CTRL+X তারপর চাপুন Y এবং নিশ্চিত করতে এন্টার চাপুন। এখন, যা বাকি আছে তা হল Apache সার্ভার কনফিগার করা এবং আমাদের Laravel অ্যাপ্লিকেশনের জন্য একটি ভার্চুয়াল হোস্ট তৈরি করা।

অ্যাপাচি ওয়েব সার্ভার সেট আপ করা হচ্ছে

আমরা ব্যবহারকারীর হোম ডিরেক্টরির স্থানীয় ফোল্ডারে লারাভেল ইনস্টল করেছি। যদিও এটি স্থানীয় উন্নয়নের জন্য পুরোপুরি সূক্ষ্মভাবে কাজ করে, এটিতে ওয়েব অ্যাপ্লিকেশন ডিরেক্টরি থাকা অনুশীলনের সুপারিশ করা হয় /var/www. যে কারণে আমরা লারাভেল ইনস্টল করিনি /var/www সরাসরি কারণ এটি রুটের মালিকানাধীন এবং কম্পোজার এর সাথে ব্যবহার করা উচিত নয় sudo.

তাই ব্যবহার করুন mv লারাভেল অ্যাপ্লিকেশন ফোল্ডার এবং এর বিষয়বস্তুতে সরানোর জন্য কমান্ড /var/www:

sudo mv ~/Laravel/ /var/www

LaravelApp ডিরেক্টরিটি ব্যবহারকারীর মালিকানাধীন, তাই আপনি এখনও ফাইলগুলি ব্যবহার না করে সম্পাদনা করতে এবং পরিবর্তন করতে পারেন sudo আদেশ কিন্তু অ্যাপাচি ওয়েব সার্ভারের অ্যাপ্লিকেশনের ক্যাশে এবং স্টোরেজ ডিরেক্টরিগুলিতে অ্যাক্সেস প্রয়োজন কারণ লারাভেল এতে অ্যাপ্লিকেশন তৈরি করা ফাইলগুলি সঞ্চয় করে। এই ফোল্ডারগুলির মালিককে তে পরিবর্তন করুন৷ www-ডেটা ব্যবহারকারী ব্যবহার করে chown আদেশ:

sudo chown -R www-data.www-data /var/www/LaravelApp/storage sudo chown -R www-data.www-data /var/www/LaravelApp/bootstrap/cache

এই ডিরেক্টরিগুলির মালিক পরিবর্তন করার পরে, Apache's সক্ষম করুন mod_rewrite যেহেতু লারাভেলের দ্বারা এর রাউটিং ফাংশন দ্বারা ব্যাখ্যা করার জন্য ইউআরএলগুলিকে সঠিকভাবে রূপান্তর করা প্রয়োজন htaccess ফাইল

sudo a2enmod পুনর্লিখন

এর পরে, আমাদের লারাভেল অ্যাপ্লিকেশনের জন্য একটি ভার্চুয়াল হোস্ট সেট আপ করতে হবে। ভার্চুয়াল হোস্ট কনফিগারেশন এখানে অবস্থিত /etc/apache2/সাইট-উপলভ্য. আমরা লারাভেল অ্যাপ্লিকেশন স্থাপন করতে ডিফল্ট ভার্চুয়াল হোস্ট ফাইলটি সম্পাদনা করতে যাচ্ছি। ন্যানো এডিটর ব্যবহার করে ডিফল্ট ভার্চুয়াল হোস্ট কনফিগারেশন ফাইল খুলুন:

sudo nano /etc/apache2/sites-available/000-default.conf

থেকে নথির রুট পরিবর্তন করুন /var/www/html প্রতি /var/www/LaravelApp/public এবং DocumentRoot লাইনের নীচে নিম্নলিখিত স্নিপেট যোগ করুন:

 AllOverride All 

তোমার 000-default.conf কিছু মন্তব্য সহ এখন এই মত কিছু দেখা উচিত.

 ServerAdmin webmaster@localhost DocumentRoot /var/www/LaravelApp/public AllowOverride All ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log সম্মিলিত 

নিম্নলিখিত কমান্ডটি চালিয়ে Apache ওয়েব সার্ভার পুনরায় চালু করুন:

sudo systemctl রিস্টার্ট apache2

এখন আপনার ব্রাউজারে যান এবং আপনার উবুন্টু 20.04 সার্ভারের আইপি ঠিকানা টাইপ করুন। আপনি ডিফল্ট অ্যাপাচি ওয়েলকাম পেজের পরিবর্তে লারাভেল স্টার্ট পেজ দেখতে পাবেন।

ধরে নিচ্ছি যে আপনি এখন পর্যন্ত এই নির্দেশিকা অনুসরণ করেছেন, আপনার কাছে MySQL ডাটাবেস সহ একটি কার্যকরী লারাভেল অ্যাপ্লিকেশন থাকা উচিত লারাভেল এর জন্য. এই মুহুর্তে, আপনি নিজেই আপনার লারাভেল অ্যাপ্লিকেশন বিকাশ শুরু করতে পারেন। লারাভেল ফ্রেমওয়ার্ক এবং এর ব্যবহার সম্পর্কে আরও জানতে লারাভেল ডক্স পৃষ্ঠা দেখুন।