Server Foundation
এই সেকশনে আপনি একটি Next.js app manually deploy করবেন একটি real Linux server-এ। কোনো automation নেই, কোনো Docker নেই — প্রতিটি step নিজে হাতে করবেন। এটাই সঠিক শেখার পদ্ধতি।
Why Manual First?
অনেকে সরাসরি Docker বা CI/CD দিয়ে শুরু করতে চান। এটা একটি common ভুল।
Manual deployment শিখলে আপনি জানবেন:
- আপনার app server-এ কোথায় থাকে এবং কিভাবে চলে
- Nginx আসলে কী করছে পর্দার পিছনে
- কোনো কিছু ভাঙলে কোথায় দেখতে হবে
এই জ্ঞান ছাড়া Docker বা GitHub Actions-এর error debug করা প্রায় অসম্ভব।
What You Will Build
এই সেকশন শেষে আপনার কাছে থাকবে:
এবং আপনার domain https://yourdomain.com-এ app live থাকবে।
What You Will NOT Do Here
এখানে ইচ্ছাকৃতভাবে কিছু জিনিস রাখা হয়নি — complexity কমাতে।
- Database নেই — stateless app deploy করা হবে। Database setup পরবর্তী Production সেকশনে আছে।
- Docker নেই — manually চালাবেন। Docker overview Production সেকশনে আছে।
- CI/CD নেই — manually deploy করবেন। Automation Production সেকশনে আছে।
Steps in Foundation
Choose a Server
একটি VPS provider বেছে নিন এবং Ubuntu server তৈরি করুন।
Secure the Server
Non-root user তৈরি করুন, SSH key setup করুন এবং firewall চালু করুন।
Install Node.js
Git এবং NVM দিয়ে Node.js install করুন — বাকি সব step-এর জন্য এটি দরকার।
Set Up Nginx
Nginx install করুন এবং reverse proxy configure করুন।
Enable HTTPS
Domain connect করুন এবং free SSL certificate নিন।
Connect to GitHub
Server-কে GitHub-এর সাথে যুক্ত করুন এবং code clone করুন।
Configure Environment Variables
Server-এ .env file তৈরি করুন।
Set Up PM2
App build করুন, PM2 দিয়ে চালু করুন এবং auto-restart configure করুন।
Deploy Your First App
পুরো প্রক্রিয়ার একটি সংক্ষিপ্ত checklist — শুরু থেকে শেষ পর্যন্ত।
Real-World Note
Manual deployment শেখার একটি বড় সুবিধা হলো attack surface বোঝা। যখন আপনি নিজে firewall configure করেন, SSH hardening করেন এবং non-root user তৈরি করেন — তখন বুঝতে পারেন কেন এই steps না থাকলে একটি server মিনিটের মধ্যে compromise হতে পারে।
TryHackMe-তে “Linux Privilege Escalation” এবং “Advent of Cyber” rooms-এ দেখবেন attackers ঠিক এই misconfiguration-গুলোই exploit করে।
পরবর্তী → Choose a Server