Cài đặt Docker Desktop
Cài đặt WSL xong
Bật terminal wsl
Update Ubuntu
sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
Coppy toàn bộ thư mục ~/.ssh/ trên window rồi cho vào thư mục ~/.ssh/ trên ubuntu
### chưa có thư mục ~/.ssh thì tạo mới
mkdir -p ~/.ssh && chmod 700 ~/.ssh
touch ~/.ssh/config
chmod 600 ~/.ssh/config
### Cài đặt ssh
sudo apt update
sudo apt install openssh-server
sudo service ssh status
### Kiểm tra firewalld nếu bật thì tắt đi
sudo ufw status
### Kiểm tra iptables xem đang được mở hết hay bị giới hạn port nào không.
iptables -L -v
### check log ssh: -v
ssh localhost -v
Cài đặt Git
sudo apt install git
Cài đặt Docker
sudo apt install docker.io -y
sudo apt install docker-compose
sudo apt install make -y
sudo apt install build-essential -y
sudo apt install nodejs -y
sudo apt install npm -y
#thêm user root vào group docker
sudo usermod -aG docker root
# Nếu bạn đang Ubuntu 22.04 or Debian 10 / 11? Bạn cần phải thêm vào bước này để iptables không tự động stop service của bạn
Lưu ý bạn phải chọn (1) để sử dụng iptables-legacy. Nếu không sẽ không start được service
sudo update-alternatives --config iptables
Đảm bảo dịch vụ Docker chạy trong WSL 2
Có trường hợp docker không được start khi vào WSL. Bạn mở file ~/.profile, hoặc .zprofile hoặc các file tương tự tùy distro của bạn đang dùng. Thêm vào đoạn code sau:
if grep -q "microsoft" /proc/version > /dev/null 2>&1; then
if service docker status 2>&1 | grep -q "is not running"; then
wsl.exe --distribution "${WSL_DISTRO_NAME}" --user root \
--exec /usr/sbin/service docker start > /dev/null 2>&1
fi
fi
Đoạn mã trên sẽ khởi động dịch vụ Docker nếu nó chưa chạy. Lần đầu tiên chạy đoạn mã này, terminal của bạn có thể bị treo trong vài giây.
Tích chọn cái này trong Docker Desktop. Rồi resart lại DockerDesktop
Sau khi thêm xong bạn thử tắt wsl bằng lệnh. Và bật lại wsl
wsl --shutdown
Nếu vào wsl ping google.com không có mạng thì hãy kiểm tra firewall của window hoặc phần mềm diệt virut đã chặn firewall nên wsl không có mạng
=========================================
Cài đặt Fish-Shell + Oh My Fish
sudo apt-add-repository ppa:fish-shell/release-3
sudo apt-get update
sudo apt-get install fish
#Cấu hình $PATH cho các binary của composer, golang, yarn, git, git-lfs voi Fish-Shell...
nano ~/.config/fish/config.fish
# set composer binaries:
set PATH /root/.yarn/bin $PATH
set PATH /root/.composer/vendor/bin $PATH
set PATH /usr/local/go/bin $PATH
set PATH /usr/local/bin/composer $PATH
set PATH /usr/bin/git $PATH
set PATH /usr/bin/git-lfs $PATH
=========================================
Cài đặt Mysql
sudo apt install mysql-server
=========================================
Cài đặt PHP cho Ubuntu có thể chuyển đổi version
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
### Cài đặt PHP và PHP Modules
sudo apt install -y php8.2 && yes | sudo apt install php8.2-{bcmath,xml,fpm,mysql,mysqlnd,zip,intl,ldap,gd,cli,bz2,curl,mbstring,pgsql,opcache,soap,cgi,common,mcrypt,xmlrpc,redis,memcache,imagick}
sudo apt install -y php8.1 && yes | sudo apt install php8.1-{bcmath,xml,fpm,mysql,mysqlnd,zip,intl,ldap,gd,cli,bz2,curl,mbstring,pgsql,opcache,soap,cgi,common,mcrypt,xmlrpc,redis,memcache,imagick}
sudo apt install -y php7.4 && yes | sudo apt install php7.4-{bcmath,xml,fpm,mysql,mysqlnd,zip,intl,ldap,gd,cli,bz2,curl,mbstring,pgsql,opcache,soap,cgi,common,mcrypt,xmlrpc,redis,memcache,imagick}
sudo apt install -y php7.3 && yes | sudo apt install php7.3-{bcmath,xml,fpm,mysql,mysqlnd,zip,intl,ldap,gd,cli,bz2,curl,mbstring,pgsql,opcache,soap,cgi,common,mcrypt,xmlrpc,redis,memcache,imagick}
sudo apt install -y php5.6 && yes | sudo apt install php5.6-{bcmath,xml,fpm,mysql,mysqlnd,zip,intl,ldap,gd,cli,bz2,curl,mbstring,pgsql,opcache,soap,cgi,common,mcrypt,xmlrpc,redis,memcache,imagick}
### Tất cả Modules của PHP
sudo apt install php8.2-{amqp, common, gd, ldap, odbc, readline, sqlite3 , xsl, apcu, curl, gmp, mailparse, opcache, redis, sybase, yac, ast, dba, igbinary, mbstring, pgsql, rrd, tidy, yaml, bcmath, dev, imagick, memcached, phpdbg, smbclient, uuid, zip, bz2, ds, imap, msgpack, pspell, snmp, xdebug, zmq, cgi, enchant, interbase, mysql, psr, soap, xhprof, cli, fpm, intl, oauth, raphf, solr, xml}
### Kiểm trả version
php -v
### Kiểm tra các module đã cài đặt:
php -m
### Xóa PHP Versions
sudo apt-get remove php7.4
sudo apt-get remove php7.4-*
### php.ini File
sudo nano /etc/php/8.2/apache2/php.ini
sudo nano /etc/php/8.1/apache2/php.ini
sudo nano /etc/php/7.4/apache2/php.ini
upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000
Chuyển đổi giữa các phiên bản PHP
sudo update-alternatives --config php
=========================================
Cài đặt composer
sudo apt-get install curl
curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
#sudo composer self-update //cài đặt phiên bản mới nhất
composer -v
Hoặc
Trong từng project bạn có thể down file composer.phar về thư mục root.
cd vào project
Chạy
php composer.phar install
==========================================
Kiểm tra và làm sạch docker
###Trước khi xóa thì ta nên kiểm tra tất cả thông tin
docker container ls
docker image ls
docker volume ls
docker network ls
docker info
docker system prune
### Sẽ xóa:
- tất cả các container đã dừng
- tất cả các volumes không được sử dụng bởi ít nhất một container
- tất cả các networks không được sử dụng bởi ít nhất một container
- tất cả các images lơ lửng
docker system prune -a
### Sẽ xóa:
- tất cả các container đã dừng
- tất cả các volumes không được sử dụng bởi ít nhất một container
- tất cả các networks không được sử dụng bởi ít nhất một container
- tất cả images không được liên kết bởi ít nhất một container
docker volume prune
### Sẽ xóa tất cả các volumes không được sử dụng bởi ít nhất một container
==========================================
Chạy docker ps bị lỗi
huulc@HN007:~$ docker ps
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
=>>> Fix
sudo usermod -aG docker $USER
cat /etc/group | grep docker
docker ps
=>>> hoặc
sudo chmod 666 /var/run/docker.sock
docker ps
Chạy docker-compose bị lỗi
huulc@HN007:~$ docker-compose -v
-bash: /usr/local/bin/docker-compose: Permission denied
=>>>Fix
sudo chmod +x /usr/local/bin/docker-compose
docker-compose -v
Cảm ơn bạn đã trả lời.