windows使用Laravel Sail记录

1.安装WSL

  1. 开启子系统功能
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  2. 开启虚拟机平台功能
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  3. 在执行完后重启电脑
  4. 或者直接用程序打开 控制面板->程序->启用或关闭window功能

windows使用Laravel Sail记录

2.使用内核更新包更新

下载地址

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

3.以管理员权限运行cmd,将WSL2 设置为默认版本

wsl --set-default-version 2

4.安装linux

  1. 打开Micrisoft Store选择你偏好的linux系统
    windows使用Laravel Sail记录
  2. 这里安装Ubuntu18.04,设置完用户后,修改root密码使用sudo passwd,使用su root切换用户
  3. 查看版本,version显示为2则正确
    wsl -l -v
    推荐安装Windows Terminal
  4. 使用ssh登录
    vi /etc/ssh/sshd_config
    Port = 22 去掉这行的#,代表启用端口号22
    ListenAddress 0.0.0.0 去掉这行的#,代表监听所有地址
    PasswordAuthentication yes,将这行的no改成yes,代表支持账号密码形式的登录
    #PermitRootLogin prohibit-password 保留这行的#,这意味着:允许root登录,但是禁止root用密码登录,所以这行要注释掉
    PermitRootLogin yes
    sudo service ssh restart #重启服务

5.安装Docker

  1. 下载安装Docker Desktop
  2. 设置WSL2
    windows使用Laravel Sail记录
  3. 整合Ubuntu
    windows使用Laravel Sail记录
  4. 镜像加速设置

windows使用Laravel Sail记录
加速地址

"https://xx4bwyg2.mirror.aliyuncs.com",
    "http://f1361db2.m.daocloud.io",
    "https://registry.docker-cn.com",
    "http://hub-mirror.c.163.com",
    "https://docker.mirrors.ustc.edu.cn"

6.安装PHP

  1. 进入Ubuntu
  2. 更换国内源加速,先备份原来的源
    cd /etc/apt/
    sudo cp /etc/apt/sources.list sources.list.bak
  3. 使用 vim 编辑 sources.list 文件,替换为以下内容
    deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
  4. 添加 PPA 源
    sudo sh -c "echo 'deb https://launchpad.proxy.ustclug.org/ondrej/php/ubuntu focal main'  > /etc/apt/sources.list.d/ppa_ondrej_php.list"
  5. 更新资源列表
    sudo apt update
  6. 然后会产生以下错误:
    windows使用Laravel Sail记录
    执行以下命令导入你的公钥即可 ( 4F4E...7A6C 这一串公钥要换成你自己屏幕上输出的那个):
    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4F4EA0AAE5267A6C
  7. 再次更新资源列表
  8. 安装php8.0
    sudo apt install -y php8.0-cli php8.0-dev php8.0-pgsql php8.0-sqlite3 php8.0-gd php8.0-curl php8.0-memcached php8.0-imap php8.0-mysql php8.0-mbstring php8.0-xml php8.0-zip php8.0-bcmath php8.0-soap php8.0-intl php8.0-readline php8.0-msgpack php8.0-igbinary php8.0-ldap php8.0-redis
  9. 安装php7.4
    sudo apt install -y php7.4-cli php7.4-dev php7.4-pgsql php7.4-sqlite3 php7.4-gd php7.4-curl php7.4-memcached php7.4-imap php7.4-mysql php7.4-mbstring php7.4-xml php7.4-zip php7.4-bcmath php7.4-soap php7.4-intl php7.4-readline php7.4-pcov php7.4-msgpack php7.4-igbinary php7.4-ldap php7.4-redis
  10. 切换 PHP 版本(可不做,根据自己需要来)
    切换 cli 运行模式下默认的 PHP 版本
    sudo update-alternatives --config php
    切换 phpize 版本:
    sudo update-alternatives --config phpize
    切换 php-config 版本
    sudo update-alternatives --config php-config
    确认现在的 PHP 版本:
    php -v
  11. 安装 Composer
    复制以下命令粘贴到 Ubuntu 系统中执行,以安装 composer ,并将 composer 镜像配置为阿里云镜像
    sudo sh -c "curl -so /usr/bin/composer https://mirrors.aliyun.com/composer/composer.phar && chmod a+x /usr/bin/composer" \
    && composer --version \
    && composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ \
    && composer config -g -l | grep repositories.packagist.org.url

7.安装 Laravel Sail

  1. 进入你的 Ubuntu 子系统的家目录,创建项目目录

    cd ~
    mkdir projects
  2. 用 VS Code 打开目录,window需要先安装 VS Code 软件

    code .
  3. 在 VS Code 界面,右键 projects 目录,选择 Reveal in Explorer,也就是在 Windows文件管理器 中打开目录,在 windows资源管理器中,右键 projects 目录,选择固定到快速访问和发送到 -> 桌面快捷方式,便于以后打开项目目录。
    windows使用Laravel Sail记录

  4. 拉取代码

    cp /mnt/c/Users/ASUS/.ssh/id_rsa* /home/tm/.ssh/ 将window的文件拷贝到Ubuntu里
    git clone git@xxx.git
  5. 使用网络位置在ide打开项目

windows使用Laravel Sail记录

  1. 安装sail
    composer require laravel/sail --dev
  2. 进入项目目录,你的当前用户在 Ubuntu 中的 UID
    cd /home/tom/projects/test
    id tom
  3. 配置.env文件
    # 镜像服务名称
    APP_SERVICE=doctest.test
    # 上面生成的UID
    WWWUSER=1000
    # 上面生成的用户组名称
    WWWGROUP=1000

8. Dockerfile定制

  1. 发布
    php artisan sail:publish
  2. 在 kkyn_dcat_admin/docker/8.0 目录下,创建一个 sources.list 文件,将以下内容粘贴进去:
    deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
  3. 配置 Ubuntu 国内镜像
    回到 Dockerfile 文件,在 RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone 这句代码后面,加入以下代码ADD sources.list /etc/apt/
    ADD sources.list /etc/apt/
  4. Ubuntu PPA 加速
    在 Dockerfile 文件中,搜索:ppa.launchpad.net 替换成launchpad.proxy.ustclug.org
  5. 安装 Composer
    Dockerfile 文件中,搜索下面这行代码:
    && php -r "readfile('http://getcomposer.org/installer');" | php -- --install-dir=/usr/bin/ --filename=composer \
    替换为
    && curl -so /usr/bin/composer https://mirrors.aliyun.com/composer/composer.phar \
    && chmod a+x /usr/bin/composer \
    && composer --version \
    && composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ \
  6. 发布 docker-compose.yml 文件
    php artisan sail:install --with=mysql,redis
  7. 启动
    ./vendor/bin/sail up
  8. 编辑 hosts 文件,配置开发用的域名
    ```
  9. 0.0.1 example.test
    ```
  10. 配置别名
    echo "alias sail='bash vendor/bin/sail'" >> ~/.bashrc

参考文章 将 Laravel 开发环境由 Homestead 迁移到 Laravel Sail ( Docker ) 完整详细教程

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!