Blog Chia SẻBlog Chia Sẻ

Cài đặt thư viện trên WSL và chuyển ssh từ Window sang WSL ubuntu 20.04

0

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âu hỏi/câu trả lời này có giải quyết được sự cố của bạn không?

Đánh giá

Ý kiến ​​(không bắt buộc)

0Nó rất hữu ích cho mọi người.

Tìm kiếm

Xem các câu hỏi liên quan