সম্পূর্ণ বাংলা ব্যবহারকারী গাইড
Odoo + WordPress · AWS Lightsail · ধাপে ধাপে ইনপুট ও আউটপুট সহ
এই সিস্টেম দিয়ে আপনি একটি সার্ভারে একই সময়ে চালাতে পারবেন:
| সফটওয়্যার | কী কাজে লাগে | সর্বোচ্চ কতটি |
|---|---|---|
| 🏢 Odoo | ব্যবসা পরিচালনা — হিসাব, বিক্রয়, স্টক, HR, CRM | ৫টি আলাদা সাইট (odoo1–odoo5) |
| 🌐 WordPress | ওয়েবসাইট — ব্লগ, ই-কমার্স, পোর্টফোলিও, নিউজ পোর্টাল | ৫টি আলাদা সাইট (wp1–wp5) |
:9001 · odoo2 :9002 · odoo3 :9003 · odoo4 :9004 · odoo5 :9005:8001 · wp2 :8002 · wp3 :8003 · wp4 :8004 · wp5 :8005প্রথম ইনস্টলে শুধু odoo1 (পোর্ট 9001) ও wp1 (পোর্ট 8001) চালু হয়। বাকি ৮টি স্লট পরে deploy কমান্ড দিয়ে চালু করতে হবে।
| # | কী লাগবে | কীভাবে করবেন |
|---|---|---|
| ১ | AWS Lightsail সার্ভার | lightsail.aws.amazon.com থেকে Ubuntu 24.04 দিয়ে instance তৈরি করুন। কমপক্ষে 4GB RAM। |
| ২ | install.sh ফাইল | FileZilla বা scp দিয়ে ফাইলটি সার্ভারে আপলোড করুন। |
| ৩ | SSH লগইন | Terminal (Mac/Linux) বা PuTTY (Windows) দিয়ে সার্ভারে লগইন করুন। |
| ৪ | Lightsail Firewall ✅ | Lightsail → Instance → Networking → IPv4 Firewall Port খুলুন: 22, 80, 443, 8001–8005, 9001–9005 |
| ৫ | ডোমেইন (ঐচ্ছিক) | yoursite.com কিনে রাখুন — ইনস্টলের পরেও যোগ করা যাবে। |
Lightsail Firewall-এ পোর্ট না খুললে সাইট দেখা যাবে না। ইনস্টলের আগেই Networking ট্যাবে গিয়ে সব পোর্ট খুলে রাখুন।
৩.১ সার্ভারে লগইন করুন
ssh ubuntu@3.235.154.5
# অথবা PuTTY: Host = আপনার IP, Port = 22৩.২ ধাপে ধাপে ইনস্টল
chmod +x install.sh
sudo ./install.sh
ইনস্টলের সময় একে একে যা দেখাবে:
| ধাপ | স্ক্রিনে যা দেখাবে |
|---|---|
| ১ | ━━━ ENTERPRISE HYBRID STACK v19 — Fresh Install ━━━ |
| ২ | [*] System Update... [OK] System ready |
| ৩ | [*] Installing Docker CE... [OK] Docker ready |
| ৪ | [OK] UFW disabled (Lightsail firewall handles security) |
| ৫ | [*] Waiting for PostgreSQL... [OK] PostgreSQL ready |
| ৬ | [*] Giving MySQL 20s to initialise... [OK] MySQL ready |
| ✅ | INSTALLATION COMPLETE — v19 |
ইনস্টল শেষে সম্পূর্ণ আউটপুট:
╔══════════════════════════════════════════════════════════════╗ ║ INSTALLATION COMPLETE — v19 ║ ╠══════════════════════════════════════════════════════════════╣ ║ Odoo 1 (Odoo 18) : http://3.235.154.5:9001 ║ ║ WP 1 (WordPress) : http://3.235.154.5:8001 ║ ╠══════════════════════════════════════════════════════════════╣ ║ Free slots: odoo2-5 (9002-9005) wp2-5 (8002-8005) ║ ╠══════════════════════════════════════════════════════════════╣ ║ sudo ./install.sh deploy — Deploy new project ║ ║ sudo ./install.sh domain — Domains/SSL ║ ║ sudo ./install.sh status — System status ║ ║ sudo ./install.sh fix — Fix connection issues ║ ╚══════════════════════════════════════════════════════════════╝
3.235.154.5 এর জায়গায় আপনার আসল IP দেখাবে।
ব্রাউজারে লিখুন: http://আপনার-IP:9001 → Odoo লগইন পেজ
ব্রাউজারে লিখুন: http://আপনার-IP:8001 → WordPress সেটআপ পেজ
| কমান্ড | কী করে | কখন দেবেন |
|---|---|---|
sudo ./install.sh deploy | নতুন Odoo বা WordPress চালু করুন | নতুন সাইট দরকার হলে |
sudo ./install.sh domain | ডোমেইন যোগ/বাদ দিন, SSL চালু হয় | yoursite.com যোগ করতে |
sudo ./install.sh status | সব সাইটের অবস্থা দেখুন | যেকোনো সময় |
sudo ./install.sh restore | ব্যাকআপ থেকে ডেটা ফিরিয়ে আনুন | ডেটা হারালে / নতুন সার্ভারে |
sudo ./install.sh fix | সংযোগ সমস্যা ঠিক করুন | সাইট না খুললে সবার আগে |
sudo ./install.sh email | ইমেইল অ্যালার্ট সেটআপ করুন | ডাউন নোটিফিকেশন পেতে |
sudo ./install.sh s3 | AWS S3 ক্লাউড ব্যাকআপ সেটআপ | ক্লাউডে ব্যাকআপ রাখতে |
sudo ./install.sh github | GitHub কোড সংযোগ করুন | ডেভেলপার হলে |
sudo ./install.sh ftp | FileZilla সংযোগ তথ্য দেখুন | ফাইল আপলোড/ডাউনলোডে |
যদি "Already installed" মেসেজ আসে, তাহলে চাওয়া কাজের নাম টাইপ করুন (যেমন: deploy, domain, status)।
sudo ./install.sh deploy
৫.১ Odoo সাইট চালু করা — odoo2 তে Odoo 18
| 📥 আপনি যা টাইপ করবেন | 📤 স্ক্রিনে যা দেখাবে |
|---|---|
| sudo ./install.sh deploy | DEPLOY NEW PROJECT Odoo slots: odoo1 (port 9001) — active:18:2025-06-01 odoo2 (port 9002) — AVAILABLE ← এটি বেছে নিন ... Slot to deploy: |
| odoo2 | Odoo version: 1) Odoo 16 2) Odoo 17 3) Odoo 18 Choose (default=3): |
| 3 (অথবা শুধু Enter) | [*] Starting odoo2-db first... [*] Waiting for PostgreSQL (odoo2-db)... ........ [OK] PostgreSQL ready [OK] odoo2 started Deployed! Access : http://3.235.154.5:9002 |
৫.২ WordPress সাইট চালু করা — wp2
| 📥 আপনি যা টাইপ করবেন | 📤 স্ক্রিনে যা দেখাবে |
|---|---|
| sudo ./install.sh deploy | স্লট তালিকা দেখাবে Slot to deploy: |
| wp2 | WordPress: 1) Latest 2) 6.4-php8.2 3) 6.3-php8.1 Choose (default=1): |
| 1 (অথবা শুধু Enter) | [*] Starting wp2-db first... [*] Giving MySQL 20s to initialise... .................... [OK] MySQL ready [OK] wp2 started Deployed! Access : http://3.235.154.5:8002 |
৫.৩ সব স্লট ও পোর্ট
| স্লট | সফটওয়্যার | পোর্ট | ব্রাউজার URL | অবস্থা |
|---|---|---|---|---|
| odoo1 | Odoo | 9001 | http://IP:9001 | প্রথম ইনস্টলেই ✅ |
| odoo2–5 | Odoo | 9002–9005 | http://IP:900X | deploy করতে হবে |
| wp1 | WordPress | 8001 | http://IP:8001 | প্রথম ইনস্টলেই ✅ |
| wp2–5 | WordPress | 8002–8005 | http://IP:800X | deploy করতে হবে |
http://3.235.154.5:9001
মনে রাখা কঠিন, নিরাপদ নয়
https://crm.yourcompany.com
সহজ, নিরাপদ, SSL বিনামূল্যে!
৬.১ আগে DNS সেটআপ করুন
৬.২ ডোমেইন যোগ করুন
sudo ./install.sh domain
| 📥 আপনি যা টাইপ করবেন | 📤 স্ক্রিনে যা দেখাবে |
|---|---|
| sudo ./install.sh domain | DOMAIN MANAGER SLOT PORT DOMAIN STATUS ───────────────────────────── odoo1 9001 (none) IP:Port wp1 8001 (none) IP:Port add / remove / exit: |
| add | Slot: |
| odoo1 | Domain (e.g. crm.mycompany.com): |
| crm.yourcompany.com | [OK] Domain set: odoo1 = crm.yourcompany.com [OK] odoo1 updated Verify: https://dnschecker.org/#A/crm.yourcompany.com Continue? (y/N): |
| N | https://crm.yourcompany.com এখন কাজ করবে! 🎉 |
ডোমেইন যোগ করলে https:// স্বয়ংক্রিয়ভাবে চালু হবে। SSL certificate Let's Encrypt থেকে বিনামূল্যে দেওয়া হয়।
sudo ./install.sh status
আউটপুট উদাহরণ
Server: Public: 3.235.154.5 | Private: 172.26.14.8 Uptime : up 5 days, 12 hours Disk : 9.2G/29G (32%) Memory : 2.4G/3.8G SLOT PORT VERSION DOMAIN STATUS ──────────────────────────────────────────────────────────── odoo1 9001 18 crm.yourcompany.com running odoo2 9002 16 — running odoo3 9003 — — available wp1 8001 latest shop.yourcompany.com running wp2 8002 — — available
- সময়: প্রতিদিন রাত ১টা (GMT+6)
- রাখা হয়: ৭ দিন (পুরনো স্বয়ংক্রিয়ভাবে মুছে যায়)
- কোথায়: /opt/hybrid-stack/backup/ ফোল্ডারে
- কী ব্যাকআপ হয়: ডেটাবেজ (.sql) + মিডিয়া ফাইল (.tar.gz)
ব্যাকআপ থেকে Odoo ফিরিয়ে আনা
sudo ./install.sh restore
| 📥 আপনি যা টাইপ করবেন | 📤 স্ক্রিনে যা দেখাবে |
|---|---|
| sudo ./install.sh restore | 1) Local 2) S3 Source (1/2): |
| 1 | Target slot (e.g. odoo2, wp3): |
| odoo2 | Version: 1)16 2)17 3)18 Choose: |
| 3 | ব্যাকআপ ফাইল তালিকা: db_2025-06-15.sql db_2025-06-14.sql Filename: |
| db_2025-06-15.sql | [OK] PostgreSQL ready [OK] DB restored [OK] odoo2 started [OK] Restore complete: odoo2 ✅ |
রিস্টোরের সময় বর্তমান ডেটা মুছে যাবে এবং ব্যাকআপের ডেটা আসবে। নিশ্চিত হয়ে তারপর করুন।
| সমস্যা | সম্ভাব্য কারণ | সমাধান |
|---|---|---|
| ERR_CONNECTION_REFUSED — সাইট খুলছে না | Lightsail Firewall-এ পোর্ট বন্ধ | Lightsail → Networking → Firewall-এ পোর্ট খুলুন, তারপর fix চালান |
| WordPress: Error establishing a database connection | MySQL চালু হয়নি বা crash করেছে | sudo ./install.sh fix অথবা docker logs wp1-db |
| Odoo লোড হচ্ছে না, blank পেজ | PostgreSQL startup সময় লাগছে | ৩০–৬০ সেকেন্ড অপেক্ষা করুন। তারপর: docker logs odoo1 |
| ডোমেইন কাজ করছে না | DNS প্রচার হয়নি বা A Record ভুল | dnschecker.org-এ চেক করুন। ৫–৩০ মিনিট অপেক্ষা করুন। |
| ডিস্ক ভর্তি হয়ে গেছে | পুরনো ব্যাকআপ বা Docker image জমেছে | df -h চেক করুন। docker system prune -f চালান। |
| সার্ভার slow বা hang | মেমোরি কম বা সব স্লট চালু | free -h দিয়ে মেমোরি চেক করুন। |
Fix কমান্ড — প্রথম পদক্ষেপ সবসময়
sudo ./install.sh fix
| 📥 কমান্ড | 📤 আউটপুট |
|---|---|
| sudo ./install.sh fix | CONNECTION FIX [OK] UFW disabled [OK] iptables flushed — all ACCEPT [OK] Docker NAT rules rebuilt [OK] Lightsail firewall fix applied [*] Restarting all project containers... [OK] Fix applied. ┌─ Open these ports in Lightsail Firewall ─┐ │ TCP 80, 443, 9001-9005, 8001-8005 │ └──────────────────────────────────────────┘ |
Docker লগ দেখা
| কোন সাইটের সমস্যা | লগ দেখার কমান্ড |
|---|---|
| Odoo 1 সমস্যা | docker logs odoo1 |
| Odoo 1 ডেটাবেজ সমস্যা | docker logs odoo1-db |
| WordPress 1 সমস্যা | docker logs wp1 |
| WordPress 1 MySQL সমস্যা | docker logs wp1-db |
| SSL / Traefik সমস্যা | docker logs traefik |
১০.১ ইমেইল অ্যালার্ট
সাইট ডাউন হলে, ব্যাকআপ হলে বা নিরাপত্তা সমস্যা হলে ইমেইলে জানাবে।
sudo ./install.sh email
| 📥 আপনি যা টাইপ করবেন | 📤 স্ক্রিনে যা দেখাবে |
|---|---|
| sudo ./install.sh email | 1) Configure 2) Test 3) Toggle 4) View 0) Back Choose: |
| 1 | SMTP Host (e.g. smtp.gmail.com): |
| smtp.gmail.com | SMTP Port (587): |
| 587 (অথবা Enter) | SMTP User (your email): |
| yourname@gmail.com | SMTP Password: |
| (Gmail App Password) | Alert recipient email: |
| alerts@yourcompany.com | [OK] Email configured [OK] Test email sent ✅ |
Gmail-এ সাধারণ password কাজ করে না। Google Account → Security → 2-Step Verification → App Passwords → নতুন তৈরি করুন।
| কখন ইমেইল পাবেন | বিস্তারিত |
|---|---|
| 🔴 সাইট ডাউন | প্রতি ৫ মিনিটে চেক। ডাউন হলে সাথে সাথে ইমেইল। |
| ⚠️ নিরাপত্তা সমস্যা | SSH brute force, ডিস্ক ৮৫%+ ভর্তি, মেমোরি কম — প্রতি ঘণ্টায়। |
| 📦 ব্যাকআপ রিপোর্ট | প্রতিদিন ব্যাকআপের পরে সফল/ব্যর্থ রিপোর্ট। |
| 📈 ট্রাফিক স্পাইক | হঠাৎ অনেক বেশি সংযোগ এলে সতর্কতা। |
১০.২ S3 ক্লাউড ব্যাকআপ
সার্ভার নষ্ট হলেও ডেটা নিরাপদ থাকবে — AWS S3-তে স্বয়ংক্রিয় সিঙ্ক।
sudo ./install.sh s3
| 📥 আপনি যা টাইপ করবেন | 📤 স্ক্রিনে যা দেখাবে |
|---|---|
| sudo ./install.sh s3 | 1) Configure 2) Test 3) Backup now 4) Toggle |
| 1 | AWS Access Key ID: |
| AKIAIOSFODNN7EXAMPLE | AWS Secret Key: |
| (Secret Key) | Bucket name: |
| my-company-backup-2025 | Region (e.g. us-east-1): |
| ap-southeast-1 | [OK] S3 configured ✅ |
১০.৩ GitHub সংযোগ
sudo ./install.sh github
| 📥 আপনি যা টাইপ করবেন | 📤 স্ক্রিনে যা দেখাবে |
|---|---|
| sudo ./install.sh github | 1) Generate SSH key 2) Clone 3) Pull 4) Status |
| 1 | Slot (e.g. odoo1): |
| odoo2 | Public Key (GitHub-এ যোগ করুন): ──────────────────────────────── ssh-ed25519 AAAAC3... deploy-odoo2 ──────────────────────────────── Repo → Settings → Deploy Keys → Add |
১০.৪ FileZilla তথ্য
sudo ./install.sh ftp
Protocol: SFTP · Host: আপনার সার্ভার IP · Port: 22
Username: root · Password: সার্ভারের root password
প্রজেক্ট ফাইল: /opt/hybrid-stack/projects/
install.sh ফাইলে নতুন কমান্ড যোগ করা মাত্র ৩টি ধাপে সম্ভব।
৩টি ধাপে নতুন ফিচার যোগ
setup_mynewfeature() { title "নতুন ফিচার নাম" # কাজের কোড এখানে লিখুন }
case "$CMD" in mynewfeature) init_configs; setup_mynewfeature ;; # ... বাকি কমান্ডগুলো ... esac
সম্ভাব্য নতুন ফিচার
sudo ./install.sh whatsappsudo ./install.sh cdncompose-এ service যোগsudo ./install.sh portainersudo ./install.sh stagingsudo ./install.sh updateFileZilla দিয়ে install.sh ডাউনলোড করুন → Notepad++ দিয়ে এডিট করুন → আবার আপলোড করুন। সেটআপ তথ্য: sudo ./install.sh ftp
🚀 প্রতিদিনের কাজ
sudo ./install.sh statussudo ./install.sh deploysudo ./install.sh domainsudo ./install.sh ftp🔧 সমস্যা হলে
sudo ./install.sh fixdocker logs odoo1docker logs wp1sudo ./install.sh restore
