WordPress Website တစ် ခုကို Docker နဲ့ ဖန်တီးခြင်း။

Requirement


-ubuntu server hosting
-public Ip
-domain name (optional)
-docker install

Step – 1 Docker ကို install လုပ်ခြင်း။

ubuntu မှာ docker ကို apt နဲ့ install လုပ်ရန် repository ကို ထည့် သွင်းပါမယ်။

Input sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get updateYour Data

Step – 2 Create project Directory

mkdir ~/mindgnite-wp && cd ~/wordpress

Step - 3 Create docker-compose.ymlservices:
  db:
    image: mariadb:latest
    container_name: mariadb
    restart: unless-stopped
    environment:
      MYSQL_DATABASE: wordpress 
      MYSQL_USER: wp_user
      MYSQL_PASSWORD: your_pass
      MYSQL_ROOT_PASSWORD: root_pass
    volumes:
      - db_data:/var/lib/mysql

  wordpress:
    image: wordpress:latest
    container_name: wordpress
    restart: unless-stopped
    ports:
      - "80:80"
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wp_user
      WORDPRESS_DB_PASSWORD: db pass
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wp_data:/var/www/html

volumes:
  db_data:
  wp_data:

vi ကို သုံးပြီး docker-compose.yml ဖိုင်ကို ဖန်တီးပါ။ ပြီးရင် အဲဒီ ဖိုင်ထဲမှာ အပေါ်် က code ကို copy ကူးထည့်ပါ။ vim ကို မသုံးချင်ရင် လဲ nano သုံး လဲ ရပါတယ်။

vi docker-compose.yml

yml file ထဲက အောက်မှာ ပြထားတဲ့ username တွေ password တွေ နေရာမှာ မိမိ ပေးချင်တဲ့ username နဲ့ password ကို ပြောင်းထည့် ပေးပါ။

MYSQL_USER: wp_user <——-မိမိ စိတ်ကြိုက် username ပြင်ပါ။
MYSQL_PASSWORD: your_pass <———မိမိ ရဲ့ pass ပြင်ပါ။
MYSQL_ROOT_PASSWORD: root_pass <———- မိမိ user pass နဲ့ မတူတာ ပေးပါ။

WORDPRESS_DB_USER: wp_user <——- အပေါ်မှာ ပေးခဲ့ DB ရဲ့ username ကို ပြန်ထည့်ပေးပါ။

WORDPRESS_DB_PASSWORD: db pass <—-အပေါ်မှာပေးခဲ့ တဲ့ DB pass ကို ပြန်ထည့်ပေးပါ။

အားလုံး ပြင်ပြီးလို့ ကျေနပ်ပြီဆိုရင် save လုပ်ပြီး ထွက်ပါ။ ဒါဆိုရင် dokcer-compose.yml file ရပါပြီ။

Step – 3 Docker compose နဲ့ Container တွေကို ဖန်တီးပါမယ်။

docker-compose up -d

Docker-compose.yml ရှိတဲ့ directory ထဲ က နေ ပဲ ဒီ command ကို run လို့ ရမှာပါ။

ဒီနေရာမှာ ဘာ error မှ မပြ ရင် mariadb နဲ့ WordPress container နှစ်ခု က run နေပါပြီ။

Docker container တွေ run နေသလားဆိုတာကို docker ps နဲ့ စစ်ပါမယ်။ အဲဒီမှာ container နှစ်ခု ပြရင်တော့ အဆင်ပြေပါပြီ။ ဒီနေရမှာ အဆင်မပြေ ရင် တော့ Docer-compose.yml file ကို ပြန်စစ်ပြီး ပြန်လုပ်ကြည့်ပါ။

ဒီအချိန်မှာ ကိုယ် ubuntu server ရဲ့ ip နဲ့ http://yourserver-ip ဆို ပြီးခေါ် ရင် wordpress website ကို မြင်ရမှာ ဖြစ်ပါတယ်။

Step – 4 Domain Setup လုပ်ခြင်း။

ဒီအပိုင်းမှာတော့ http://yourdomain.com ဆိုပြိး ခေါ် လို့ ရအောင်လုပ်မှာပါ။ အဲဒီလို လုပ်ဖို့ ကိုယ့် ရဲ့ domain Pannel မှာ A record ကို ကိုယ့် Server public Ip နဲ့ ထည့်ထားရမှာပါ။

ပထမဆုံး reverse proxy လုပ်ဖို့ အတွက် ngnix ကို install လုပ်ရပါမယ်။

sudo apt update
sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx

Install လုပ်ပြီး ရင် reverse proxy အတွက် config file တစ်ခု လုပ်ရပါမယ်

sudo vi /etc/nginx/sites-available/mindgnite

ပြီးရင် အောက် က Code ကို copy ကူးပြီ paste လုပ်ပါ။ ပြီးရင် yourdomain.com နဲ့ www.yourdomain.com နေရာမှာ သင့် ရဲ့ domain name နဲ့ change ပြီး save လုပ်ပါ။

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    location / {
        proxy_pass http://localhost:80;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

ပြီးရင် ngnix ကို enable လုပ်ဖို့ အောက်ကို command ကို copy ယူ paste ချပြီး run ပေးပါ။

sudo ln -s /etc/nginx/sites-available/mindgnite /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

ခုဆို ရင် သင် က http://yourdomain/ ဆိုပြီး wordpress website ကို ခေါ် လို့ ရပါပြီ။

Step – 5 secure your website with SSL (let’s encrypt)

ဒီ အဆင့် မှာ တော့ မိမိ ရဲ့ website ကို https://yourdomain ဆို ပြီ ခေါ် လို့ ရအောင် လုပ်သွားမှာ ဖြစ်ပါတယ်။

အောက်က command ကို run လိုက် ပါ။

sudo apt install certbot python3-certbot-nginx -y

ဒီနေရာမှာ တော့ အောက်က command ထဲက yourdomain.com ဆို တဲ့ နေရာမှာ မိမိ ရဲ့ domain name ကို ထည့်ပါ။ command run ပြီးရင် သူမေးတာ တွေကို ဖြေပြီး အဆင့် ဆင့် သွားလိုက်ပါ။

sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

Congratulation!!! ခုဆို ရင် တော့ သင့် website ကို https://yourdomain.com နဲ့ ခေါ် လို့ ရပါပြီ။

အဆင်မပြေတာ ရှိရင် Comment box မှာ မေးခဲ့ လို့ ရပါတယ်။


Scroll to Top
Share via
Copy link