আপনি যদি একটি লিনাক্স সার্ভার সেট আপ করছেন, তবে আপনাকে FTP এক্সেস দরকার হবে। এর মানে প্রথমে লিনাক্সে একটি FTP সার্ভার ইনস্টল করা। এটি আপনার সার্ভার অপারেটিং সিস্টেম ইনস্টল করার পর করা যাওয়া প্রথম কাজগুলোর একটি হওয়া উচিত।
অনেক লিনাক্স সার্ভার উবুন্টু চালায়। তাহলে, আসুন দেখি উবুন্টু সার্ভারে FTP সার্ভার সেট আপ করার পদ্ধতি।
FTP সার্ভার কী?
FTP, বা File Transfer Protocol, হল সিস্টেম যা একটি সার্ভারে ফাইল আপলোড (put) বা ডাউনলোড (get) করতে ব্যবহৃত হয়। আপনি হয়তো এটি অজান্তে ব্যবহার করেছেন আগে, ওয়েব থেকে ফাইল ডাউনলোড বা ছবি আপলোড করার সময়। অথবা আপনি একটি FTP ক্লায়েন্ট ব্যবহার করে সরাসরি FTP ফাইল সার্ভারের সাথে কানেক্ট করেছেন।
এটি ঘটতে হলে, রিমোট সার্ভারে যেখানে ফাইলগুলো হোস্ট করা আছে, FTP সার্ভার সফটওয়্যার ইনস্টল করা থাকতে হবে।
আপনি चाहे একটি লিনাক্স হোম সার্ভার, ওয়েব সার্ভার, গেম সার্ভার, বা আপনার প্রজেক্টের যেকোনো সার্ভার বানান, FTP এক সিস্টেম থেকে অন্য সিস্টেমে ডেটা ট্রান্সফার করার সবচেয়ে সহজ পদ্ধতি।
উবুন্টুতে সার্ভার ইনস্টল করুন
উবুন্টুতে FTP সার্ভার ইনস্টল করা সহজ।ถار্গাদে সবচেয়ে ভালো সমাধান হল vsftpd। নিচের ধাপগুলো ফলো করে vsftpd-র সাথে উবুন্টুতে একটি FTP সার্ভার ইনস্টল এবং কনফিগার করুন।
১. vsftpd ইনস্টল করুন
আপনার কাছে ইতিমধ্যে vsftpd ইনস্টল থাকতে পারে। চেক করতে, একটি টার্মিনাল উইন্ডো খুলুন এবং ইনপুট দিন
sudo apt list --installed
তালিকার নিচের দিকে vsftpd পাবেন। না থাকলে, সিম্পলি ইনস্টল করুন
sudo apt install vsftpd
ইনস্টল হয়ে গেলে, vsftpd কনফিগার করার 차례। প্রথমে অরিজিনাল কনফিগ ফাইলের একটি কপি বানান। এর মানে যদি কিছুই ভুল যায়, ডিফল্ট কনফিগ রিস্টোর করা যায়।
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_default
সেটি হলে, সার্ভিস চালু করুন:
sudo systemctl start vsftpd
সার্ভার চলছে কিনা কনফার্ম করুন:
sudo systemctl enable vsftpd
vsftpd ইনস্টল হয়ে গেলে আপনি কনফিগারেশন শুরু করতে পারেন।
২. একটি FTP ইউজার তৈরি করুন
প্রথমে আপনার দরকার একটি FTP ইউজার অ্যাকাউন্ট। এর সাথে আপনি যেকোনো FTP ক্লায়েন্ট ব্যবহার করে vsftpd-র মাধ্যমে সার্ভারে হোস্ট করা ফাইলগুলো অ্যাক্সেস করতে পারবেন। টার্মিনালে ইনপুট দিন:
sudo useradd –m username
("username"-কে আপনার ইচ্ছামতো ইউজারনেম দিয়ে রিপ্লেস করুন।)
sudo password username
ইউজারনেম এবং পাসওয়ার্ড সেট হলে, অ্যাকাউন্টের হোম ফোল্ডারে একটি টেস্ট ফাইল তৈরি করুন যাতে কাজ করছে কিনা কনফার্ম হয়:
cd /home/username
sudo nano testfile.txt
আপনি প্রথমবার আপনার উবুন্টু FTP সার্ভারের সাথে কানেক্ট করলে, আপনাকে testfile.txt দেখতে পাবেন।
৩. আপনার উবুন্টু FTP সার্ভার সিকিউর করুন
কানেকশন সেট আপ করার আগে, তবে, আপনাকে নিশ্চিত করতে হবে FTP পোর্টগুলো উবুন্টুতে খোলা আছে। ডিফল্টভাবে, ufw (Uncomplicated Firewall)-এ সিকিউরিটি কারণেই এগুলো বন্ধ থাকে।
পোর্ট ২০経由 অ্যাক্সেস সক্ষম করতে ব্যবহার করুন
sudo ufw allow 20/tcp
আপনার ডিস্ট্রো যদি অন্য ফায়ারওয়াল ব্যবহার করে বা আপনি অল্টারনেটিভ ইনস্টল করেছেন, তবে ডকুমেন্টেশন চেক করে পোর্টগুলো খুলুন।
আপনি ব্যবহারকারীদের ফাইল আপলোড করতে দিতে চাবেন। আপনি কনফিগ ফাইলে এটি সেট করতে পারেন। এডিট করার জন্য এটি খুলুন:
sudo nano /etc/vsftpd.conf
write_enabled খুঁজে বের করুন এবং এন্ট্রিটি আনকমেন্ট করুন, নিশ্চিত করুন এটি "YES" সেট আছে:
write_enable=YES
এক্সিট করতে Ctrl+X চাপুন, এবং সেভ করতে Y।
পাবলিকলি-অ্যাকসেসিবল FTP সার্ভারের জন্য আপনি প্রতিটি ব্যবহারকারীর অ্যাক্সেস লিমিট করতে চাবেন। chroot-র সাথে আমরা প্রতিটি ব্যবহারকারীকে তার হোম ডিরেক্টরিতে সীমাবদ্ধ করতে পারি। vsftpd.conf-এ এই লাইনটি খুঁজে বের করুন এবং আনকমেন্ট করুন (# সরান):
chroot_local_user=YES
আবার, Ctrl+X এক্সিট করতে, এবং Y সেভ করতে।
একাধিক ব্যবহারকারীর জন্য, একটি তালিকা মেইনটেইন করা একটি স্মার্টার অপশন।
প্রথমে, আপনার টেক্সট এডিটরে vsftpd.chroot_list খুলুন।
sudo nano /etc/ vsftpd.chroot_list
এখানে, যেসব ইউজারনেম তাদের নিজস্ব ফোল্ডারে সীমাবদ্ধ রাখতে চান সেগুলো লিস্ট করুন। সেভ এবং এক্সিট করুন, তারপর vsftpd.conf-এ ফিরে যান এবং নিশ্চিত করুন chroot_local_user=YES আনকমেন্টেড:
#chroot_local_user=YES
বরং, আনকমেন্ট করুন
chroot_list_enable=YES
এবং
chroot_list_file=/etc/vsftpd.chroot_list
এটি এরকম দেখাবে:
আবার সেভ এবং এক্সিট করুন। আখিরে, FTP সার্ভিস রিস্টার্ট করুন:
sudo systemctl restart vsftpd.service
আখিরে, আপনার উবুন্টু সার্ভারের নাম চেক করতে hostname কমান্ড ব্যবহার করুন। আপনি এরপর এটি ব্যবহার করে FTP সার্ভারের সাথে কানেক্ট করতে পারেন। আপনি যদি IP অড্রেস ব্যবহার করতে পছন্দ করেন, ip address কমান্ড ইনপুট দিন এবং নোট করুন।
৪. এনক্রিপ্টেড কানেকশন: FTP+SSL=FTPS
আপনি SSL/TLS ব্যবহার করে আপনার উবুন্টু FTP সার্ভারের থেকে এবং সেখানে ট্রাফিক এনক্রিপশন বাধ্যতামূলক করতে পারেন।
vsftpd.conf ফাইলে, "SSL encrypted connections" এর রেফারেন্স খুঁজে বের করুন এবং নিচের موارد যোগ করুন:
ssl_enable=YES
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ফাইলটি সেভ এবং এক্সিট করুন। আপনি এখন আপনার FTP ক্লায়েন্টে FTPS কানেকশন প্রোটোকল হিসেবে স্পেসিফাই করতে পারেন।
৫. উবুন্টুতে একটি FTP ক্লায়েন্ট ইনস্টল করুন
একটি অন্য সিস্টেম থেকে আপনি আপনার উবুন্টু FTP সার্ভারের সাথে কমান্ড লাইন টুল বা ডেস্কটপ অ্যাপ ব্যবহার করে কানেক্ট করতে পারেন।
লিনাক্সে, আপনি টার্মিনালে সার্ভার অ্যাক্সেস করতে পারেন
sudo ftp hostname
"hostname"-কে আপনার সার্ভারের হোস্টনেম দিয়ে রিপ্লেস করতে ভুলবেন না। আপনি IP অড্রেসও ব্যবহার করতে পারেন
sudo ftp ipaddress
প্রম্পট হলে, আপনি আগে সেট করা ইউজারনেম এবং পাসওয়ার্ড ইনপুট দিন। আপনি তারপর ডেটা ট্রান্সফার করতে get এবং put কমান্ড ব্যবহার করতে পারেন।
আরো ইনটুইটিভ কিছু চান, বা অন্য অপারেটিং সিস্টেম থেকে FTP সার্ভার অ্যাক্সেস করছেন? আপনাকে একটি FTP ক্লায়েন্ট দরকার হবে এবং সাহসা 최고의 উপলব্ধ হল FileZilla। একটি ওপেন সোর্স সমাধান, এটি উইন্ডোজের জন্য উপলব্ধ (সার্ভার হিসাবেও), macOS, এবং লিনাক্সের জন্য ৩২-বিট এবং ৬৪-বিট ভার্সন। দুর্ভাগ্যবশত, উবুন্টু বা অন্যান্য লিনাক্স ডিস্ট্রোর জন্য FileZilla FTP সার্ভার নেই।
ডাউনলোড: FileZilla (Free)
FileZilla ক্লায়েন্ট ব্যবহার করে আপনার উবুন্টু FTP সার্ভারের সাথে কানেক্ট করতে, অ্যাপ ইনস্টল ও লঞ্চ করুন। তারপর:
- File > Site Manager ক্লিক করুন
- এখানে, New site ক্লিক করুন
- ডান প্যানে, FTP সিলেক্ট করুন
- আপনি FTPS ব্যবহার করলে Encryption জন্য TLS সিলেক্ট করুন।
- এরপর, Host-এ হোস্টনেম বা IP অড্রেস ইনপুট দিন এবং Port যোগ করুন।
- Logon type-এ আপনার অ্যাকাউন্ট ক্রেডেনশিয়াল User এবং Password-এ ইনপুট দিন।
- Connect ক্লিক করুন।
তারপর আপনি আপনার উবুন্টু FTP সার্ভার থেকে ডেটা আপলোড এবং ডাউনলোড (put এবং get) করতে ফ্রি। সিম্পলি আপনি যেসব ফাইল মুভ করতে চান সেগুলো ড্র্যাগ অ্যান্ড ড্রপ করুন।
আপনি অন্য FTP ক্লায়েন্ট ব্যবহার করছেন? ধাপগুলো মূলত একই থাকবে, কিন্তু অ্যাপের ডকুমেন্টেশন চেক করুন ক্ল্যারিফিকেশনের জন্য।
আপনি উবুন্টুতে একটি FTP সার্ভার বানিয়েছেন
আপনি ডেস্কটপ বা সার্ভার ভার্সন উবুন্টু অপারেটিং সিস্টেম যেকোনো ব্যবহার করছেন, এখন এটি একটি FTP সার্ভার চলে। এটি যেকোনো উদ্দেশ্যে ব্যবহার করা যেতে পারে, ওয়েব পেজ আপলোড করার থেকে গুরুত্বপূর্ণ ডেটা সহজে অ্যাক্সেসible করার পর্যন্ত। FTP ব্যবহার করে আপনি যেকোনো সময় ডেটা পেতে পারেন সার্ভার মেশিনে ফিজিক্যাল অ্যাক্সেস ছাড়া।