এই নিবন্ধে আমরা একটি পরিষ্কার Linux CentOS 8 ইনস্টল করার জন্য প্রয়োজনীয় প্রাথমিক পদক্ষেপগুলি কভার করব স্ক্র্যাচ এবং প্রাথমিক সার্ভার সেটআপ থেকে।
CentOS 8-এ নতুন কী আছে?
CentOS-এর ৮ম সংস্করণ 24 সেপ্টেম্বর, 2019-এ প্রকাশিত হয়েছিল৷ CentOS৷ এটি একটি লিনাক্স ডিস্ট্রিবিউশন যা রেড হ্যাটের বাণিজ্যিক রেড হ্যাট এন্টারপ্রাইজ ডিস্ট্রোর উপর ভিত্তি করে এবং এটির সাথে সামঞ্জস্যপূর্ণ৷
চলুন CentOS 8-এর প্রধান পরিবর্তনগুলি দেখি মুক্তি:
- লিনাক্স কারনেল 4.18 ব্যবহৃত হয়;
- yum থেকে স্থানান্তর dnf এর প্যাকেজ ম্যানেজার . বর্তমানে yum dnf; -এর সিমলিঙ্ক হিসাবে বিদ্যমান
- প্রধান সংগ্রহস্থলটিকে 2টি ভাগে ভাগ করা হয়েছে — BaseOS এবং অ্যাপস্ট্রিম . এটি করা হয়েছে যাতে একজন ব্যবহারকারী বিভিন্ন প্যাকেজ সংস্করণ ইনস্টল করতে পারেন। বেসওএস যথারীতি কাজ করছে;
- কার্নেল সহ সমস্ত সফ্টওয়্যার আপডেট করা হয়েছে। এখন আপনি php 7.2 ইনস্টল করতে পারেন মৌলিক সংগ্রহস্থল থেকে (অবশেষে!);
- Iptables nftables দিয়ে প্রতিস্থাপিত হয়েছে;
- নেটওয়ার্ক-স্ক্রিপ্ট নেটওয়ার্ক সেটিংস কনফিগার করতে ডিফল্টরূপে ব্যবহৃত হয় না। নেটওয়ার্ক ম্যানেজার একটি নেটওয়ার্ক পরিচালনা করতে ব্যবহার করা উচিত;
- ডিফল্টরূপে, ককপিট সার্ভার ম্যানেজমেন্ট ওয়েব ইন্টারফেস ইনস্টল করা আছে (নতুনদের জন্য সুবিধাজনক);
- পডম্যান (ডকার বা মোবডির পরিবর্তে) কন্টেইনারগুলি পরিচালনা করতে ব্যবহৃত হয়;
- টিসিপি/আইপি 4.16 স্ট্যাকের একটি নতুন সংস্করণ উচ্চতর কর্মক্ষমতা এবং বিবিআর এবং এনভি নিয়ন্ত্রণ অ্যালগরিদম সমর্থন প্রদান করে;
- নতুন বিতরণ সংস্করণ।
কিভাবে একটি ISO ইমেজ থেকে CentOS 8 ইনস্টল করবেন
যেহেতু আমি একটি KVM এ CentOS ইনস্টল করেছি ভার্চুয়াল মেশিন, আমি একটি ইনস্টলেশন ISO ডাউনলোড করেছি অফিসিয়াল মিররগুলির একটি থেকে ছবি (https://www.centos.org/download/mirrors/) আগে থেকে এবং একটি ভার্চুয়াল সার্ভারে OS ইনস্টল করার জন্য এটি মাউন্ট করুন৷ (যদি আপনি একটি ফিজিক্যাল সার্ভারে CentOS ইন্সটল করতে চান, তাহলে একটি USB স্টিকে ইনস্টলেশন ISO ইমেজ লিখুন।) আমি বলব যে CentOS 8 ইনস্টলেশন প্রক্রিয়াটি আগের সংস্করণের থেকে আলাদা নয়, এবং এই নিবন্ধটি সেই ব্যবহারকারীদের জন্য নির্দেশিকা হিসাবে তৈরি করা হয়েছে যারা প্রথমবার এটি করে৷
CentOS 8 ইনস্টলেশনের জন্য প্রস্তাবিত ন্যূনতম প্রয়োজনীয়তা হল কমপক্ষে 10GB ডিস্ক স্পেস এবং 712MB RAM CPU কোর প্রতি।
CentOS ইন্সটল ইমেজ থেকে আপনার কম্পিউটার বা ভার্চুয়াল মেশিন বুট করুন। প্রথম ধাপে আপনাকে পরবর্তী পদক্ষেপ নির্বাচন করতে বলা হবে। যেহেতু আমাদের ইনস্টলেশন প্রয়োজন, মেনুতে প্রথম আইটেমটি নির্বাচন করুন:
Install CentOS Linux 8.0.1905
এটি নির্বাচন করার পরে, ইনস্টলেশন প্রক্রিয়া শুরু হয়:
প্রয়োজনীয় সফ্টওয়্যারটি লোড হওয়ার সময়, আপনি কেবল প্রক্রিয়াটি দেখতে পারেন এবং কিছু করার দরকার নেই৷
যখন কালো স্ক্রীন CentOS এর সাথে একটি ইন্টারেক্টিভ রূপে পরিবর্তিত হয় লোগো, আপনার কীবোর্ড এবং মাউস হাতে রাখুন।
স্বাগত স্ক্রিনে, আপনাকে ইনস্টলেশন প্রক্রিয়া চলাকালীন যে ভাষাটি নির্বাচন করতে বলা হবে। তারপর চালিয়ে যান ক্লিক করুন৷ . পরবর্তী মেনুতে আপনি মৌলিক CentOS ইনস্টলেশন সেটিংস নির্বাচন করবেন।
ইনস্টলেশন শুরু করতে, আপনাকে শুধুমাত্র একটি আইটেম কনফিগার করতে হবে:ইনস্টলেশন গন্তব্য . সেখানে আপনি ডিস্ক পার্টিশন লেআউট নির্বাচন করেন, কিন্তু আমি এই পর্যায়ে নেটওয়ার্ক, সময় এবং তারিখ কনফিগার করতে পছন্দ করি।
আপনার সময় অঞ্চলের উপর নির্ভর করে আপনার সেটিংস নির্বাচন করুন৷
৷আপনার নেটওয়ার্ক কনফিগার করতে, নেটওয়ার্ক এবং হোস্টের নাম ক্লিক করুন .
হোস্টের নাম-এ আপনার সার্ভারের নাম উল্লেখ করুন ক্ষেত্র, এবং কনফিগার করুন ক্লিক করুন নেটওয়ার্ক ইন্টারফেস কনফিগার করতে।
সাধারণ ট্যাবে, বাক্সটি চেক করুন এই নেটওয়ার্কটি উপলব্ধ হলে স্বয়ংক্রিয়ভাবে সংযোগ করুন এই নেটওয়ার্ক ইন্টারফেসটি স্বয়ংক্রিয়ভাবে শুরু করতে।
IPv4 সেটিংসে যান৷ ট্যাব (বা IPv6 আপনি যদি এই প্রোটোকল ব্যবহার করেন) IP সেট করতে ঠিকানা, নেটমাস্ক, গেটওয়ে এবং ডিএনএস সার্ভার:
নির্দিষ্ট IP ঠিকানা লিখতে , ম্যানুয়াল নির্বাচন করুন পদ্ধতি এবং যোগ করুন ক্লিক করুন . পরিবর্তনগুলি সংরক্ষণ করার পরে, প্রাথমিক নেটওয়ার্ক কনফিগারেশন স্ক্রিনে ফিরে যান৷
৷
আপনি স্ক্রিনশটে দেখতে পাচ্ছেন, IP ঠিকানা যোগ করা হয়েছে এবং নেটওয়ার্ক ইন্টারফেস কাজ করছে (স্থিতি:সংযুক্ত)।
পরবর্তী ধাপে, আমরা ডিস্কের পার্টিশনে যাব:
শুধু ইনস্টলেশন প্রক্রিয়া দেখানোর জন্য, আমি CentOS ডেভেলপারদের দ্বারা স্বয়ংক্রিয় স্টোরেজ কনফিগারেশন ব্যবহার করেছি। আপনি যদি অন্য কোনো উপায়ে একটি ডিস্ক পার্টিশন করতে চান, কাস্টম নির্বাচন করুন এখানে।
আপনার সার্ভার স্টোরেজ কন্ট্রোলার একটি হার্ডওয়্যার RAID সমর্থন না করলে, আপনি mdadm ব্যবহার করে আপনার সার্ভার ডিস্কে একটি সফ্টওয়্যার RAID কনফিগার করতে পারেন।যেহেতু আগে আমার ভার্চুয়াল মেশিনে একটি গেস্ট ওএস ইনস্টল করা হয়েছিল, ইনস্টলেশনটি এটি দেখেছিল। আমি পরবর্তী মেনুতে পূর্ববর্তী অপারেটিং সিস্টেমের পার্টিশনগুলি সরিয়ে দিয়েছি:
আপনি সমস্ত মুছুন ক্লিক করে পার্টিশনগুলি সরাতে পারেন৷ . তারপর আপনাকে স্থান পুনরুদ্ধার করুন ক্লিক করতে হবে৷ উপলব্ধ ডিস্ক স্থানের আকার আপডেট করতে।
ইনস্টলেশনের জন্য প্যাকেজের তালিকা সফ্টওয়্যার নির্বাচন-এ নির্বাচন করা হয়েছে . আপনি যদি একটি সার্ভার হিসাবে CentOS 8 ব্যবহার করতে যাচ্ছেন, তাহলে মিনিমাম ইন্সটল বেছে নেওয়াই যথেষ্ট , পাশাপাশি স্ট্যান্ডার্ড এবং গেস্ট এজেন্ট (যদি আপনি একটি ভার্চুয়াল মেশিনে একটি গেস্ট ওএস ইনস্টল করেন)।
এটি করার পরে, আপনি ইনস্টলেশন শুরু করুন ক্লিক করে ইনস্টলেশন শুরু করতে পারেন৷ .
প্রয়োজনীয় উপাদানগুলি আনপ্যাক এবং ইনস্টল করার সময়, আপনাকে রুট-এর জন্য একটি পাসওয়ার্ড লিখতে অনুরোধ করা হবে ব্যবহারকারী আপনি অন্য ব্যবহারকারীও তৈরি করতে পারেন, তবে এটি ঐচ্ছিক৷
রুট পাসওয়ার্ড ক্লিক করুন , পাসওয়ার্ড লিখুন এবং এটি নিশ্চিত করুন. তারপর সম্পন্ন ক্লিক করুন৷ ইনস্টলেশনে ফিরে যেতে:
CentOS 8 ইনস্টলেশন প্রায় 5-7 মিনিট সময় নিয়েছে। যখন আপনি রিবুট দেখতে পান ইনস্টলেশন স্ক্রিনে বোতাম, এর মানে হল যে ইনস্টলেশন শেষ, এবং আপনাকে অবশ্যই আপনার সার্ভার পুনরায় চালু করতে হবে।
তাই CentOS 8 ইনস্টলেশন সম্পূর্ণ।
ইনস্টল করার পরে CentOS 8 বেসিক সেটিংস কনফিগার করা
বেসিক CentOS 8 পোস্ট-ইনস্টল কনফিগারেশন প্রায় CentOS 7-এর মতই, এবং আমি সমস্ত সার্ভারে একই মৌলিক সেটিংস কনফিগার করি।
CentOS-এ আপডেট এবং অ্যাডমিনিস্ট্রেটর টুল ইনস্টল করুন
পূর্বে উল্লিখিত হিসাবে, dnf প্রতিস্থাপিত হয়েছে yum CentOS 8-এ .
Dnf - হল YUM অ্যাপ্লিকেশনের পরবর্তী প্রজন্ম, লিনাক্স ডিস্ট্রিবিউশনের জন্য একটি RPM প্যাকেজ ম্যানেজার। আগে dnf ফেডোরা ডিস্ট্রিবিউশনে ব্যবহৃত হত, এবং এখন এটি CentOS 8 এ এসেছে।একটি নতুন ইনস্টল করা সার্ভারে আমি প্রথম যে কাজটি করি তা হল সিস্টেম আপডেট করা:
# dnf update -y
যদি ছবিটি আপ-টু-ডেট হয়, তাহলে আমার ক্ষেত্রে যেমন আপডেট করার জন্য কোনো প্যাকেজ থাকবে না:
Dependencies resolved. Nothing to do. Complete!
যদি কোন আপডেট থাকে, সেগুলি ইনস্টল করুন৷
৷পরবর্তী ধাপে, EPEL সক্ষম করুন সুবিধাজনক সার্ভার প্রশাসনের জন্য সংগ্রহস্থল এবং সরঞ্জাম ইনস্টল করুন:
# dnf install epel-release -y
# dnf install mc wget screen nano net-tools bind-utils curl lsof vim -y
এই ইউটিলিটিগুলি আমার জন্য যথেষ্ট, তবে আপনি যেগুলি ব্যবহার করেছেন সেগুলি ইনস্টল করতে পারেন৷
আমি স্বয়ংক্রিয় সিস্টেম আপডেট ব্যবহার করি না, যেহেতু আমি সবসময় আমার প্রয়োজনীয় আপডেটগুলি ম্যানুয়ালি ইনস্টল করি। আপনি যদি স্বয়ংক্রিয় আপডেট কনফিগার করতে চান, তাহলে dnf-স্বয়ংক্রিয় ইনস্টল করুন প্যাকেজ:
# dnf install -y dnf-automatic
সক্রিয় সিস্টেম আপডেট কার্যগুলি পরীক্ষা করতে, এই কমান্ডটি লিখুন:
# systemctl list-timers *dnf-*
সেনটোসে SELinux কিভাবে নিষ্ক্রিয় করবেন?
প্রাথমিক সার্ভার সেটআপ পর্যায়ে, আমি সবসময় SELinux নিষ্ক্রিয় করি (পরিবর্তনগুলি প্রয়োগ করতে, আপনাকে আপনার সার্ভার পুনরায় বুট করতে হবে):
# nano /etc/sysconfig/selinux
# reboot
আপনি এই কমান্ডটি ব্যবহার করে SELinux অন-দ্য-ফ্লাই নিষ্ক্রিয় করতে পারেন:
setenforce 0
CentOS 8-এ নেটওয়ার্ক সেটিংস কনফিগার করা হচ্ছে
যেহেতু আমি ওএস ইনস্টলেশনের সময় আমার নেটওয়ার্ক সেটিং কনফিগার করেছি, তাই আমাকে এখন এটি করার দরকার নেই (এখানে CentOS-এ নেটওয়ার্ক কনফিগারেশনের একটি বিস্তারিত নিবন্ধ দেখুন)। আমি শুধু CentOS 8 এ বলতে চাই আপনি শুধুমাত্র নেটওয়ার্ক ম্যানেজার ব্যবহার করে আপনার নেটওয়ার্ক পরিচালনা করতে পারেন এবংnmcl . নেটওয়ার্ক-স্ক্রিপ্ট ডিফল্টরূপে সমর্থিত নয়। সত্যি কথা বলতে, আগে আমি সবসময় NM অক্ষম করতাম এবং এটি ব্যবহার করিনি, কারণ এটি আমার পক্ষে সুবিধাজনক নয়, কিন্তু এখন আমাকে এটি শিখতে হবে৷
নেটওয়ার্ক স্ট্যাটাস কিভাবে চেক করবেন তা এখানে:
# systemctl status NetworkManager
● NetworkManager.service - Network Manager Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2020-06-29 08:23:11 NY; 3h 37min ago Docs: man:NetworkManager(8) Main PID: 870 (NetworkManager) Tasks: 3 (limit: 5060) Memory: 4.7M CGroup: /system.slice/NetworkManager.service └─870 /usr/sbin/NetworkManager --no-daemon
CentOS 8 এ একটি হোস্টনাম কিভাবে পরিবর্তন করবেন?
আপনি যদি CentOS ইনস্টলেশনের সময় একটি সঠিক সার্ভার হোস্টনাম সেট না করে থাকেন বা এটি পরিবর্তন করতে চান তবে আপনি এটি কিছু উপায়ে করতে পারেন। ফাইলে এটি সম্পাদনা করুন /etc/hostname অথবা নিম্নলিখিত কমান্ড ব্যবহার করে পরিবর্তন করুন:
# hostnamectl set-hostname mycentos8server
CentOS 8 এ ফায়ারওয়ালড কনফিগার করুন
firewalld
-এর বিশ্বস্ত অঞ্চলগুলির তালিকায় আপনার প্রয়োজনীয় পরিষেবাগুলি (SSH এবং HTTP/HTTPS) যোগ করুন :
firewall-cmd –-add-service=ssh
firewall-cmd --permanent –-add-service=http
firewall-cmd --permanent –-add-service=https
CentOS-এ সময় এবং টাইমজোন পরিবর্তন করা হচ্ছে
CentOS-এ বর্তমান সময় এবং টাইমজোন দেখতে, তারিখ লিখুন কমান্ড:
# date
আমরা টাইম-জোন সেট করি আমাদের সিস্টেম ইনস্টলেশনের সময়, তাই আমরা NY সময় কাটাচ্ছি। টাইম-জোন পরিবর্তন করতে , সংশ্লিষ্ট কমান্ড ব্যবহার করুন:
# timedatectl set-timezone America/Toronto
# timedatectl list-timezones
সময় সিঙ্ক্রোনাইজ করতে, chronyd ব্যবহার করা হয়, আমরা এটি সক্রিয় করব এবং systemctl ব্যবহার করে অটোস্টার্টে যোগ করব:
# systemctl start chronyd
# systemctl enable chronyd
# systemctl status chronyd
● chronyd.service - NTP client/server Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2020-06-29 16:13:48 +06; 9s ago Docs: man:chronyd(8) man:chrony.conf(5) Main PID: 31700 (chronyd) Tasks: 1 (limit: 5060) Memory: 1.1M CGroup: /system.slice/chronyd.service └─31700 /usr/sbin/chronyd
ব্যাশ ইতিহাস কনফিগার করুন
আরও সুবিধাজনক উপায়ে bash কমান্ডের ইতিহাস দেখতে, আমি সবসময় .bashrc-এ কয়েকটি লাইন যোগ করি আমার প্রয়োজনীয় কমান্ড ইতিহাসের তথ্য সহজে পেতে।
ডিফল্ট সেটিংস সহ, ইতিহাস আউটপুট এই মত দেখানো হয়:
# history
1 dnf repolist 2 dnf install epel-release
এর মানে আমরা সার্ভারে কী কমান্ড কার্যকর করা হয়েছে তা আমরা পারি, কিন্তু সময় এবং তারিখ দেখতে পাই না। এটা আমার জন্য সমালোচনামূলক. তাই আসুন ইতিহাস তৈরি করি আরো সুবিধাজনক দেখুন। /root/.bashrc খুলুন এবং এতে কিছু লাইন যোগ করুন:# nano /root/.bashrc
export HISTSIZE=10000
export HISTTIMEFORMAT="%d/%d/%y - %H:%M:%S "
তারপর যখন আপনি ইতিহাস দেখবেন , আপনি সঠিক সময় এবং তারিখ দেখতে পাবেন যখন একটি কমান্ড চালানো হয়েছিল:
# history
1 Jun/06/29 - 16:16:29 dnf repolist 2 Jun/06/29 - 16:16:29 dnf install epel-release
ককপিট:CentOS 8-এ সার্ভার ম্যানেজমেন্ট ওয়েব ইন্টারফেস
আমরা ইতিমধ্যে উল্লেখ করেছি, CentOS 8-এর ককপিট আছে সার্ভার ম্যানেজমেন্ট ওয়েব ইন্টারফেস প্রিইন্সটল। আপনি systemctl ব্যবহার করেও পরিচালনা করতে পারেন। আপনি এটি চালাতে পারেন এবং এটিকে স্টার্টআপে যুক্ত করতে পারেন:
# systemctl enable cockpit.socket
# systemctl start cockpit.socket
ডিফল্টরূপে, ককপিট ওয়েব সার্ভার পোর্ট TCP/9090 এ শোনে। ফায়ারওয়ালডে অনুমোদিত পোর্ট যোগ করুন:
# firewall-cmd --get-active-zones
# firewall-cmd --add-port=9090/tcp --zone=MY_ACTIVE_ZONE --permanent
# firewall-cmd --reload
ককপিট ওয়েব ইন্টারফেস অ্যাক্সেস করতে, এই URL খুলুন:https://Your-CentOS8-IP:9090
আপনার ব্রাউজারে এবং প্রমাণীকরণ করুন৷
ককপিট ব্যবহার করে, আপনি আপনার সার্ভারের লোড দেখতে পারেন, নেটওয়ার্ক, স্টোরেজ এবং কন্টেইনারগুলি পরিচালনা করতে পারেন বা লগগুলি দেখতে পারেন৷
সাধারণ CentOS সার্ভার কনফিগারেশন শেষ হয়ে গেছে, তারপর আমি সাধারণত আমার প্রোজেক্ট স্টেটমেন্ট অনুযায়ী আরও কনফিগারেশন করি এবং প্রয়োজনীয়তা পরিবর্তিত হতে পারে।