newifi_D2_新3_lede_扩容overlay_装可道云

newifi_D2_新3_lede_扩容overlay_装可道云

转载注明来源: 本文链接 来自osnosn的博客,写于 2021-09-17.

参考

其他文章

设备情况

  • newifi D2 (新3路由器),有不死 breed,刷了 LEDE。overlay 剩余空间 5MB。
  • 买了个 32GB 的 U 盘,插上去,openwrt 识别为 sda, sda1 。sda1 是 vfat 格式(win格式化的)。
    • 如果是官方版openwrt,不识别U盘,需要
      opkg install block-mount kmod-fs-ext4 kmod-usb-storage
      选装 kmod-sdhci(SD卡支持) kmod-usb2 kmod-usb3 kmod-fs-vfat
      如果还不行,再试试 kmod-usb-ohci kmod-usb-uhci kmod-scsi-generic e2fsprogs blkid
  • 挂载在 /mnt/sda1
  • 修改 /etc/opkg.conf 中,改 option rootfs_overlay /overlayoption rootfs_overlay /mnt/sda1
    软件包界面,看到剩余空间变大。但实际安装软件包,还是装到仅有5MB的overlay中,很快就满了。导致任何配置的修改,都无法保存。只能恢复出厂设置。

扩容 overlay, 其实是用U盘空间替换原来的 overlay (成功)

  • 不修改 /etc/opkg.conf。 U盘格式化为 ext4, 作为新的 overlay 分区。
  • fdisk 创建磁盘 sda1。通常 U盘可以正常使用,就无需重新分区。除非你想再分出一个 swap 区。
    • 如果没有 fdisk 指令,安装 opkg install fdisk
  • mkfs.ext4 /dev/sda1 格式化 sda1 分区,为 ext4 文件系统格式
    • 如果没有 mkfs.ext4 指令,安装 opkg install e2fsprogs
    • 或者不格式化。挂载后只删除U盘中 upper 和 work 两个目录。
  • mount /dev/sda1 /mnt/sda1 将sda1分区挂载到目录
  • cp -r /overlay/* /mnt/sda1 将overlay内容拷贝到sda1
    • 因为要替换原来的 overlay,所以要把内容全部 copy 过来。
  • 在openwrt的web管理界面, 挂载sda1分区, 用途为"overlay使用", 并启用。
    • openwrt WEB管理界面 --> 系统 --> 挂载点,
      编辑挂载点,勾上"启用此挂载点",挂载点选"作为外部overlay使用",点击“保存&应用"。
      提交后,web界面上看,似乎没挂上。 不理他,直接重启整个路由。
  • 重启openwrt后查看,软件空间已扩容。
    • 发现原来的 overlay 挂载在 /mnt/mtdblock6。U盘挂载为 overlay。软件包页面显示,空间变大了。

装可道云

  • (nginx,php7配置ok。安装kodbox成功,但不能上传文件。安装kodExplorer失败。)
  • tencent源似乎不稳定,
    • 原为src/gz openwrt_core https://mirrors.cloud.tencent.com/lede/snapshots/targets/ramips/mt7621/packages
      改为src/gz openwrt_core https://mirrors.ustc.edu.cn/lede/snapshots/targets/ramips/mt7621/packages
    • 换源,批量修改: sed -i 's/mirrors.cloud.tencent.com/mirrors.ustc.edu.cn/g' /etc/opkg/distfeeds.conf
  • opkg install nginx 可道云要 nginx 支持。安装失败,则用opkg --force-overwrie install nginx
    不装这行,不替换uhttpd了。"opkg install nginx-mod-luci" openwrt的web配置界面,用nginx替换uhttpd。避免端口冲突。
    修改 /etc/config/nginx 中的 80口,改为88。(与uhttpd不冲突即可)
    执行 /etc/init.d/nginx restart,或者在web界面的"启动项"中,重启 nginx。
  • nginx 修改端口在/etc/config/nginx。缺省为 80 443。
    修改root路径在/etc/nginx/uci.conf.template。缺省为root=/www;
  • uhttpd 修改端口在/etc/config/uhttpd。缺省为 80。
  • php7-fpm 修改 doc_root 在 /etc/php.ini。缺省为doc_root="/www"。或者注释掉这行。
  • opkg install php7-fpm 可道云要 php7.3 以上的支持。
    opkg install php7-mod-pdo php7-mod-pdo-sqlite php7-mod-sqlite3 打算不使用mysql,使用sqlite3。
    opkg install php7-mod-gd php7-mod-iconv php7-mod-json php7-mod-mbstring php7-mod-curl php7-mod-xml
    opkg install php7-mod-session 没这个,数据库管理后台进不去。
    • php7-fpm 缺省在 /var/run/php7-fpm.sock 上监听。
      php7-fpm 缺省以 nobody 身份执行。
  • 创建以下几个配置文件。
# file: /etc/nginx/php7-fpm.conf
location ~ .php(?:$|/) {
       fastcgi_pass  unix:/var/run/php7-fpm.sock;
       fastcgi_index  index.php;
       fastcgi_split_path_info   ^(.+?.php)(/.*)$;
       try_files  $fastcgi_script_name =404;
       fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
       fastcgi_param  PATH_INFO  $fastcgi_path_info  if_not_empty;
       include fastcgi_params;
}

.

# file: /etc/nginx/conf.d/kod.locations
location  /kod{
        allow all;
        index index.php index.htm index.html;
        include php7-fpm.conf;
}
  • 搞不明白 location 中, 有 php-fpm 时, root 或 alias 的配置项的效果。所以还是使用 symbolic links 算了。
  • mkdir /overlay/kod
  • ln -s /overlay/kod /www/kod
  • 去可道云官网下载源码,copy到openwrt的 /overlay/kod/ 目录中,解压。
    • openwrt 中有 unzip 命令可以解压 .zip,如果没有 opkg install unzip
    • 不要 kodbox,要下载个人使用的 kodExplorer。(kodbox安装后,无法使用,不能上传文件。)
  • 权限设置,让 php-fpm 可以访问,chown -R nobody /overlay/kod
  • 用浏览器,访问 http://路由器的IP/kod/ 开始安装可道云。根据提示一步一步安装。
    (实际访问时,返回空白页面,无法进入安装,不知道少了什么组件)
    • 数据选择 sqlite3 或者 pdo + sqlite3 (新3就不跑 MariaDB-10 这么重的应用了)

转载注明来源: 本文链接 https://www.cnblogs.com/osnosn/p/15303262.html
来自 osnosn的博客 https://www.cnblogs.com/osnosn/ .


原文地址:https://www.cnblogs.com/osnosn/p/15303262.html