সেন্টোস/ডেবিয়ানে ভার্চুয়াল পরিবেশের সাথে জ্যাঙ্গো ওয়েব ফ্রেমওয়ার্ক ইনস্টল এবং কনফিগার করা - অংশ 1
প্রায় 20 বছর আগে যখন ওয়ার্ল্ড ওয়াইড ওয়েব এখনও শৈশবকালীন ছিল, তখন ব্যক্তিগত বা ব্যবসায়িক ওয়েবসাইট থাকা প্রায় বিরল বিলাসিতা ছিল। বেশ কয়েকটি ওয়েব প্রযুক্তির পরবর্তী বিকাশ এবং সার্ভার-সাইড প্রোগ্রাম এবং ডেটাবেসগুলির সংমিশ্রণ দ্বারা সরবরাহিত গতিশীল সামগ্রীর প্রবর্তনের সাথে সংস্থাগুলি আর স্থির ওয়েব সাইট পেয়ে সন্তুষ্ট হতে পারে না।
সুতরাং, ওয়েব অ্যাপ্লিকেশনগুলি বাস্তবে পরিণত হয়েছিল - ওয়েব সার্ভারের শীর্ষে চলমান শব্দের পুরো অর্থে প্রোগ্রামগুলি এবং ওয়েব ব্রাউজারের মাধ্যমে অ্যাক্সেসযোগ্য।
বিকাশকে আরও সহজ এবং আরও কার্যকর করার জন্য, ওয়েব ফ্রেমওয়ার্কগুলি অ্যাপ্লিকেশন তৈরির প্রয়াসে প্রোগ্রামারদের সহায়তা করার জন্য ডিজাইন করা হয়েছিল। সংক্ষেপে, একটি ওয়েব ফ্রেমওয়ার্ক বিকাশ প্রক্রিয়াতে সাধারণ মূল কার্যকারিতা যেমন ব্যবহারকারীর সেশন ম্যানেজমেন্ট, ডাটাবেসগুলির সাথে মিথস্ক্রিয়া এবং ব্যবসায়ের লজিককে প্রদর্শন যুক্তি থেকে পৃথক রাখার ভাল অভ্যাসের কয়েকটি উদাহরণের নাম ধরে রাখে।
এই 3-নিবন্ধ জাঙ্গো সিরিজে, আমরা আপনাকে পাইথনের উপর ভিত্তি করে একটি জনপ্রিয় ওয়েব ফ্রেমওয়ার্ক জ্যাঙ্গোর সাথে পরিচয় করিয়ে দেব। সেই কারণেই, এই প্রোগ্রামিং ভাষার সাথে কমপক্ষে কিছুটা পরিচিত হওয়ার পরামর্শ দেওয়া হচ্ছে তবে যদি আপনার এটির সাথে অভিজ্ঞতা না থেকে থাকে তবে আমরা আপনাকে বেসিকগুলি অনুসরণ করব।
সেন্টস এবং ডেবিয়ান সার্ভারগুলিতে জ্যাঙ্গো ইনস্টল করা
যদিও আপনি দেবিয়ান (v1.7.7: বর্ধিত সমর্থন ডিসেম্বর 2015 এ বন্ধ করা হবে) এবং ফেডোরা ইপেল (v1.6.11: বর্ধিত সমর্থন 2015 এপ্রিল বন্ধ করা হয়েছিল) সংগ্রহস্থলগুলি থেকে জ্যাঙ্গো ইনস্টল করতে পারেন তবে উপলব্ধ সংস্করণটি সর্বশেষ স্থিতিশীল এলটিএস নয় (দীর্ঘমেয়াদী সমর্থন) রিলিজ (v1.8.13, মে 2016 পর্যন্ত)।
এই টিউটোরিয়ালে আমরা আপনাকে জ্যাঙ্গো ভি 1.8.13 ইনস্টল করার পদ্ধতি দেখাব যেহেতু 2018 এর কমপক্ষে এপ্রিল পর্যন্ত এর বর্ধিত সমর্থন গ্যারান্টিযুক্ত।
জ্যাঙ্গো ইনস্টল করার প্রস্তাবিত পদ্ধতিটি পাইপ হ'ল পাইথন প্যাকেজ পরিচালনার জন্য একটি জনপ্রিয় সরঞ্জাম। এছাড়াও, পৃথক পৃথক পাইথন পরিবেশ তৈরি করতে এবং এমন বিভিন্ন প্রকল্পগুলির মধ্যে দ্বন্দ্ব এড়াতে যাতে সফ্টওয়্যার নির্ভরতার বিভিন্ন সংস্করণ প্রয়োজন হতে পারে, ভার্চুয়াল পরিবেশের ব্যবহারকে অত্যন্ত উত্সাহ দেওয়া হয়েছে।
ভার্চুয়াল পাইথন পরিবেশ তৈরি এবং পরিচালনা করতে যে সরঞ্জামগুলি ব্যবহার করা হয় তাদের ভ্যুচুয়ালেনভ বলা হয়।
ইনস্টলেশন সঞ্চালনের জন্য এই পদক্ষেপগুলি অনুসরণ করুন:
1. ফেডোরা-ভিত্তিক বিতরণগুলির জন্য (কেবল ফেডোরার ব্যতীত) প্রথমে ইপিল সংগ্রহস্থল সক্ষম করুন:
# yum update && yum install epel-release
২. পাইপ এবং ভার্চুয়ালেনভ ইনস্টল করুন:
# yum install python-pip python-virtualenv OR # dnf install python-pip python-virtualenv
# aptitude update && aptitude install python-pip virtualenv
৩. আপনার প্রাথমিক প্রকল্পটি সঞ্চয় করার জন্য একটি ডিরেক্টরি তৈরি করুন।
# mkdir ~/myfirstdjangoenv # cd ~/myfirstdjangoenv
৪. ভার্চুয়াল পরিবেশ তৈরি করুন এবং সক্রিয় করুন:
# virtualenv myfirstdjangoenv
উপরের কমান্ডটি my/myfirstdjangoenv এ অনেকগুলি ফাইল এবং উপ-ডিরেক্টরি তৈরি করে এবং মূলত বর্তমান ওয়ার্কিং ডিরেক্টরিতে পাইথন এবং পাইপের স্থানীয় কপি ইনস্টল করে। এর পরে, আমাদের সবেমাত্র তৈরি ভার্চুয়াল পরিবেশটি সক্রিয় করতে হবে:
# source myfirstdjangoenv/bin/activate
৫. লক্ষ্য করুন যে শেষ কমান্ডের পরে কমান্ড প্রম্পট কীভাবে পরিবর্তন হয়। জ্যাঙ্গো ইনস্টল করার এখন সময় এসেছে:
নোট করুন যে নীচের স্ক্রিনশটটি এই টিউটোরিয়ালের পূর্ববর্তী সংস্করণ চলাকালীন নেওয়া হয়েছিল, তবে জ্যাঙ্গো 1.8.13 ইনস্টল করার সময় প্রত্যাশিত আউটপুট একই হবে):
# pip install Django==1.8.13
আপনি আপনার বর্তমান কার্যকারী ডিরেক্টরি থেকে পাইথন শেলটি চালু করে জাজানো সংস্করণটি পরীক্ষা করতে পারেন:
# python >>> import django >>> print(django.get_version())
(আবার, বর্তমান জ্যাঙ্গো সংস্করণটি পরীক্ষা করার সময় উপরের কমান্ডটি 1.8.13 এ ফিরে আসবে)।
পাইথন প্রম্পট থেকে প্রস্থান করতে টাইপ করুন:
>>> exit()
এবং এন্টার টিপুন। এরপরে, ভার্চুয়াল পরিবেশটি বন্ধ করুন:
# deactivate
অনুগ্রহ করে নোট করুন যে ভার্চুয়াল পরিবেশটি নিষ্ক্রিয় থাকার সময়, জ্যাঙ্গো উপলব্ধ নেই:
জ্যাঙ্গোতে কীভাবে প্রথম প্রকল্প তৈরি করবেন
আমরা আগে তৈরি ভার্চুয়াল পরিবেশের মধ্যে একটি প্রকল্প তৈরি করতে, এটি সক্রিয় করা দরকার:
# source myfirstdjangoenv/bin/activate
এর পরে, কাঠামোটি আপনার প্রকল্পটি সঞ্চয় করার জন্য পুরো ডিরেক্টরি কাঠামো তৈরি করবে। এটি করার জন্য, আপনাকে চালানো দরকার।
# django-admin startproject myfirstdjangoproject
উপরের কমান্ডটি আপনার বর্তমান কার্যনির্বাহী ডিরেক্টরিতে মায়িফার্সডজ্যাঙ্গোপ্রজেক্ট নামে একটি ডিরেক্টরি তৈরি করবে।
যেখানে আপনি ম্যানেজ.পাই নামের একটি ফাইল পাবেন (এমন একটি ইউটিলিটি যা আপনাকে পরে আপনার প্রকল্প পরিচালনা করতে সহায়তা করবে) এবং অন্য একটি উপ-ডিরেক্টরি (fi/myfirstdjangoenv/myfirstdjangoproject/myfirstdjangoproject)। এই শেষ উপ-ডিরেক্টরিটি প্রকল্পের ফাইলগুলির ধারক হিসাবে কাজ করবে।
যদিও সত্যিকারের ওয়েব অ্যাপ্লিকেশন লেখা শুরু করার জন্য আমরা কিছু পাইথন পর্যালোচনা করার পরে বাকী ফাইলগুলি সত্যিকার অর্থে আসবে, তবুও প্রকল্পের ধারক ডিরেক্টরিতে যে কী ফাইলগুলি পাওয়া যাবে তার নোট নেওয়া আমাদের পক্ষে ভাল এবং ভাল:
- মাইফিস্টডজ্যাঙ্গোপ্রজেক্ট/__ init__.py: এই খালি ফাইলটি পাইথনকে বলে যে এই ডিরেক্টরিটি পাইথন প্যাকেজ হিসাবে বিবেচনা করা উচিত
- মাইফিস্টডজ্যাঙ্গোপ্রজেক্ট/সেটিংস.পি: এই জ্যাঙ্গো প্রকল্পের জন্য নির্দিষ্ট সেটিংস
- মাইফিস্টডজ্যাঙ্গোপ্রজেক্ট/ইউআরএল.পি: আপনার জ্যাঙ্গো চালিত সাইটের একটি টিওসি (বিষয়বস্তু সারণী)
- মাইফিস্টডজ্যাঙ্গোপ্রজেক্ট/ডাব্লুএসজি.পি: আপনার প্রকল্পটি পরিবেশন করার জন্য ডাব্লুএসজিআই-সামঞ্জস্যপূর্ণ ওয়েব সার্ভারের জন্য একটি এন্ট্রি-পয়েন্ট
# ls # ls -l myfirstdjangoproject # ls -l myfirstdjangoproject/myfirstdjangoproject
তদ্ব্যতীত, জাজানোতে একটি হালকা বিল্ট-ইন ওয়েব সার্ভার রয়েছে (পাইথন সিম্পিটিটিটিটিপির অনুরূপ পাইথনে লেখা, আর কি?) যা ওয়েব সার্ভার স্থাপনের কাজটি মোকাবেলা না করেই বিকাশ প্রক্রিয়া চলাকালীন আপনার অ্যাপ্লিকেশনগুলি পরীক্ষা করতে ব্যবহার করা যেতে পারে at এই বিশেষ পর্যায়ে।
তবে, আপনার জানা দরকার যে এটি উত্পাদন পরিবেশের জন্য উপযুক্ত নয় - কেবল উন্নয়নের জন্য। আপনার নতুন নির্মিত প্রকল্পটি চালু করতে, আপনার বর্তমান কাজের ডিরেক্টরিটি আপনার প্রকল্পের জন্য ধারক ডিরেক্টরিতে পরিবর্তন করুন (~/myfirstdjangoenv/myfirstdjangoproject) এবং রান করুন:
# python manage.py runserver 0.0.0.0:8000
আপনি যদি নিম্নলিখিত ত্রুটিটিতে চলে যান:
You have unapplied migrations; your app may not work properly until they are applied. Run 'python manage.py migrate' to apply them.
এটি যা বলে তা করুন:
# python manage.py migrate
এবং তারপরে আবার সার্ভারটি শুরু করুন:
# python manage.py runserver 0.0.0.0:8000
আমরা এই সিরিজের পরবর্তী নিবন্ধগুলিতে মাইগ্রেশন সম্পর্কিত ধারণাটি কভার করব, যাতে আপনি আপাতত ত্রুটি বার্তাকে উপেক্ষা করতে পারেন।
যে কোনও ইভেন্টে, আপনি ডিফল্ট পোর্টটি পরিবর্তন করতে পারেন যেখানে অন্তর্নির্মিত ওয়েব সার্ভারটি শুনবে। শোনার জন্য নেটওয়ার্ক ইন্টারফেস হিসাবে 0.0.0.0 ব্যবহার করে আমরা একই নেটওয়ার্কের অন্যান্য কম্পিউটারগুলিকে প্রকল্প ব্যবহারকারী ইন্টারফেস অ্যাক্সেস করার অনুমতি দিই (যদি আপনি এর পরিবর্তে 127.0.0.1 ব্যবহার করেন তবে আপনি কেবল লোকালহোস্ট থেকে ইউআই অ্যাক্সেস করতে সক্ষম হবেন)।
আপনি বন্দরটিকে আপনার পছন্দের যেকোন একটিতেও পরিবর্তন করতে পারেন, তবে আপনার ফায়ারওয়ালের মাধ্যমেও এই ধরণের বন্দরের মাধ্যমে ট্র্যাফিকের অনুমতি দেওয়া দরকার তা নিশ্চিত করতে হবে:
# firewall-cmd --add-port=8000/tcp # firewall-cmd --permanent --add-port=8000/tcp
অবশ্যই, এটি বলার অপেক্ষা রাখে না যে লাইটওয়েট ওয়েব সার্ভার চালু করার সময় আপনি যদি অন্য কোনওটি ব্যবহার করা পছন্দ করেন তবে আপনাকে অনুমোদিত বন্দরটি আপডেট করতে হবে।
আপনার টার্মিনালে নীচের আউটপুটটি দেখতে হবে:
# python manage.py runserver 0.0.0.0:8000
এই মুহুর্তে, আপনি নিজের পছন্দসই ওয়েব ব্রাউজারটি খুলতে পারবেন এবং মেশিনের আইপি ঠিকানায় নেভিগেট করতে পারবেন যেখানে আপনি জ্যাঙ্গো ইনস্টল করেছেন বন্দর নম্বর অনুসরণ করুন। আমার ক্ষেত্রে এটি আইপি 192.168.0.25 এর সাথে ডেবিয়ান জেসি বাক্স এবং 8000 পোর্টে শোনা যাচ্ছে:
http://192.168.0.25:8000
যদিও এটি একটি দুর্দান্ত জিনিস যে আমরা কোনও প্রকল্পের প্রাথমিক সেটআপটি সম্পন্ন করতে সক্ষম হয়েছি, উপরের বার্তায় ইঙ্গিত হিসাবে এখনও অনেক কাজ বাকি রয়েছে।
সারসংক্ষেপ
এই গাইডে আমরা কীভাবে পাইথনের উপর ভিত্তি করে একটি বহুমুখী ওপেন সোর্স ওয়েব কাঠামো জ্যাঙ্গোর জন্য ভার্চুয়াল পরিবেশটি ইনস্টল ও কনফিগার করতে হবে তা ব্যাখ্যা করেছি।
আপনি কোনও অ্যাপ্লিকেশন বিকাশকারী বা সিস্টেম প্রশাসক নির্বিশেষে, আপনি এই নিবন্ধটি এবং এই সিরিজের বাকীটি বুকমার্ক করতে চাইবেন কারণ সম্ভাবনা হ'ল যে কোনও এক সময় বা অন্য কোনও সময়ে আপনার দৈনন্দিন কাজের জন্য আপনাকে এই জাতীয় সরঞ্জামের প্রয়োজন বিবেচনা করতে হবে।
এই সিরিজের নিম্নলিখিত নিবন্ধগুলিতে আমরা জ্যাঙ্গো এবং পাইথন ব্যবহার করে একটি সহজ, তবুও কার্যকরী, ওয়েব অ্যাপ্লিকেশন তৈরি করতে ইতিমধ্যে যা অর্জন করেছি তা কীভাবে তৈরি করা যায় তা নিয়ে আলোচনা করব।
সর্বদা হিসাবে, আপনার যদি এই নিবন্ধ বা উন্নতির পরামর্শ সম্পর্কে প্রশ্ন থাকে তবে আমাদের একটি নোট ফেলে দিতে দ্বিধা করবেন না। আমরা আপনার কাছ থেকে শ্রবণ করার জন্য উন্মুখ!