Cài đặt WSL2 Ubuntu trên Window ít lỗi không cần Microsoft Store

WSL là gì

tich hop nhan linux tren windows 10 1 - quochung.cyou PTIT

WSL (Windows Subsystem for Linux) là một tính năng có trên Windows x64 (từ Windows 10, bản 1607 và trên Windows Server 2019), nó cho phép chạy hệ điều hành Linux (GNU/Linux) trên Windows. Với WSL bạn có thể chạy các lệnh, các ứng dụng trực tiếp từ dòng lệnh Windows mà không phải bận tâm về việc tạo / quản lý máy ảo như trước đây. Cụ thể, một số lưu ý mà Microsoft liệt kê có thể làm với WSL:

  • Chọn sử dụng distro Linux từ Microsoft Store: Hiện giờ đang có các Distro Linux rất gọn nhẹ trên Store sử dụng được ngày như Ubuntu, Debian …
  • Chạy được từ dòng lệnh các lệnh linux như ls, grep, sed … hoặc bất kỳ chương trình nhị phân 64 bit (ELF-64) nào của Linux
  • Chạy được các công cụ như: vim, emacs …; các ngôn ngữ lập trình như NodeJS, JavaScript, C/C++, C# …, các dịch vụ như MySQL, Apache, lighthttpd …
  • Có thể thực hiện cài đặt các gói từ trình quản lý gói của Distro đó (như lệnh apt trên Ubuntu)
  • Từ Windows có thể chạy các ứng dụng Linux (dòng lệnh)
  • Từ Linux có thể gọi ứng dụng của Windows

Một số phần cần dựa vào WSL để chạy trên Win

  • Docker
  • Terminal (Konsole)
  • ZSH / Fish
  • VSCode
  • Git
  • PHP
  • Node.js
  • Golang

Cài đặt WSL2 Ubuntu không cần sử dụng Microsoft Store, tránh một số lỗi như Window tắt Update, …

Đầu tiên, bật Powershell lên, có thể dùng Window + S để tìm powershell

image - quochung.cyou PTIT


# Tải về Ubuntu 20.04, copy lệnh dưới vào powershell
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing

# Cài đặt file vừa tải xong, copy lệnh dưới vào powershell
Add-AppxPackage .\Ubuntu.appx

Sau khi thấy đã cài đặt hoàn tất, Window + S và tìm ubuntu để chạy các phần setup cơ bản

Sau khi hoàn thiện, bật powershell lần nữa và chạy thử lệnh sau để kiểm tra ubuntu đã lên chưa

wsl --list --verbose

//Sẽ in ra dạng
  NAME                   STATE           VERSION
  Ubuntu-20.04           Running         1
maxresdefault 1 - quochung.cyou PTIT

Nếu đã hiển thị như trên, gõ lệnh sau để sang WSL2

wsl --set-version Ubuntu-20.04 2

Cài đặt WordPress với Docker, Nginx, MariaDB trên Ubuntu 22

Giới thiệu

Ở bài viết này chúng ta sẽ tiến hành tạo một website WordPress thông qua Docker Compose, Nginx, MariaDB trên Ubuntu 22.04. Về phần Docker mình sẽ sử dụng Portainer để quản lý container.

Cài đặt Docker và Portainer

Cài đặt Docker trên Ubuntu

sudo apt update
sudo apt upgrade
sudo apt install docker.io -y

Tự động bật Docker khi máy chủ khởi động

sudo -i
systemctl start docker
systemctl enable docker

Cài đặt Portainer

docker volume create portainer_data
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
docker ps

Truy cập Portainer

Sau khi cài đặt xong, bạn hãy lên web và truy cập vào http://localhost:9000 để vào giao diện của Portainer

image - quochung.cyou PTIT

Vào lần truy cập đầu tiên, bạn sẽ được hỏi để tạo mật khẩu truy cập Portainer.

Vì mình quản lý từ local nên mình sẽ chọn Local ở bước tiếp theo

02 connect local - quochung.cyou PTIT

Cài đặt WordPress

Cài đặt Nginx

Bạn vào mục Container và tạo một container cho nginx như sau

image 1 - quochung.cyou PTIT
+ Name: nginx (Tùy ý bạn chọn để đặt tên cho container)
+ Image: nginx
+ Manual network port publishing:
Chọn port truy cập cho nginx, mặc định ở phần container phải là 80, và host là port bạn truy cập đến nginx
Hoặc bật Publish all exposed network ports to random host ports để tự động chọn port ngẫu nhiên 

Ở đây mình chọn 80:80

Chọn Deploy Container để tiếp tục

Tiếp theo thử truy cập localhost:(cổng bạn chọn) để kiểm tra xem nginx đã hoạt động chưa?

welcome to nginx window 5x3 2 - quochung.cyou PTIT

Cài đặt MariaDB

Tiếp tục tạo Container cho MariaDB như sau

image 2 - quochung.cyou PTIT
+ Name: mariadb (Tùy ý bạn chọn để đặt tên cho container)
+ Image: mariadb 
+ Manual network port publishing:
Chọn port truy cập cho mariadb , mặc định ở phần mariadb phải là 3306, và host là port bạn truy cập đến nginx
Hoặc bật Publish all exposed network ports to random host ports để tự động chọn port ngẫu nhiên 

Ở đây mình chọn 4166:3306

Chọn Deploy Container để tiếp tục

Sau đó truy cập vào Console và tạo database cho wordpress

mysql -u root -p
create database wordpress;

Cài đặt WordPress

Tạo container wordpress như sau

image 3 - quochung.cyou PTIT
+ Name: wordpress (Tùy ý bạn chọn để đặt tên cho container)
+ Image: wordpress 
+ Manual network port publishing:
Chọn port truy cập cho wordpress, mặc định ở phần container phải là 80, và host là port bạn truy cập đến wordpress
Hoặc bật Publish all exposed network ports to random host ports để tự động chọn port ngẫu nhiên 

Ở đây mình chọn 4167:80

Chọn Deploy Container để tiếp tục

Cấu hình Nginx

Truy cập vào Console nginx và gõ lệnh sau

apt -y update
apt -y install nano
nano /etc/nginx/conf.d/wordpress.conf

Bạn tạo config file theo mẫu sau với ip, port theo bạn tạo

server {
    listen       80;
    server_name  wordpress.quochung.cyou; 

location / {
    proxy_pass       http://ip:4167;
    proxy_redirect             off;
    proxy_set_header Upgrade   $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Như vậy mình đã trỏ subdomain wordpress.quochung.cyou về IP của nginx trên cổng http 80. Sau đó nginx sẽ chuyển đến http://ip:4167 (Trang của wordpress)

Bạn save file và gõ

nginx -t

Để kiểm tra xem config đã đúng chưa

Sau khi xong khởi động lại container nginx, truy cập tên miền đã tạo để kiểm tra kết quả

WordPress setup wizard - quochung.cyou PTIT

Cách cài đặt C++, MingW cho Visual Studio Code (C++ 20)

Video hướng dẫn

Video hướng dẫn

Hướng dẫn

Các bước thực hiện

  1. Cài Visual Studio Code.
  2. Tải extension C/C++ extension for VS Code. hỗ trợ C/C++. Hoặc bạn có thể tự vào mục Extension bằng Ctrl+Shift+X rồi tìm C++ C/C++ extension
  3. Tải Mingw để có thể compile code https://github.com/brechtsanders/winlibs_mingw/releases/, thông thường các máy sẽ dùng file có dạng “winlibs-x86_64-posix-seh-gcc-12.1.0-mingw-w64msvcrt-10.0.0-r3.zip” (winlibsx86_64…… ) (đuôi .zip)
  4. Bạn giải nén thư mục được 1 folder mingw, để folder này vào đâu đó trong ổ C. Trong folder mingw sẽ có một thư mục con tên “bin” , hãy nhớ thư mục này
  5. Dùng thanh tìm kiếm của Window, tìm chữ “path”, chọn lựa chọn Edit environment variables for your account.
    1. Chọn Path trong User variables và click Edit.
    2. Chọn New, bây giờ hãy paste đường dẫn vào folder mingw/bin bên trên (dẫn đến thư mục con bin) VD: C:\msys64\mingw64\bin
    3. Chọn OK và tắt tất cả cửa sổ cài đặt

Kiểm tra cài đặt thành công chưa

Mở CMD/Powershell của Window lên, gõ lệnh

g++ --version

Nếu trả về là phiên bản của GCC có dạng GCC 4.7.2 …. thì bạn đã cài thành công