首页 > 其他分享 >在安卓平板上搭建 webdav 服务

在安卓平板上搭建 webdav 服务

时间:2023-10-22 10:56:35浏览次数:34  
标签:files 平板 webdav com 安卓 termux usr data mod

早上醒来,脑子里又冒出来要搭建一个 webdav 服务以便尝试各种非云服务模式的笔记客户端的念头。于是任性的尝试起来。

在自己的华为matepad安卓平板上进行的。

搭建 Linux 模拟环境

从 f-droid 应用市场中安装 termux app。

termux 带 包管理,而且有非常多的应用可用,甚至 nodejs。

安装好后,进入app,先开启内存卡文件访问权限

termux-setup-storage

开启 sshd 服务

安装 sshd ,设置当前用户密码,启动服务。

pkg install openssh

whoami 查看当前用户名

passwd 设置当前用户密码

sshd

ifconfig 查看ip


通过 ssh 客户端 就可以登录服务器了,默认端口是8022。如 ssh [email protected] -p8022

ssh 登录后,就可以远程继续操作服务器,安装和配置服务。

安装 apache

因为 apache 内置了 webdav 模块,安装这一个东东就能实现需求。

pkg install apache2

先输入 httpd 先验证一下 apache 能否正常启动。默认出现 httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message 这样的提示,也是ok的。

配置文件中默认端口是 8080,因此可以用浏览器或者命令测试一下服务能否正常访问,地址如 http://192.168.1.101:8080/ ,页面输出 It works!

配置 webdav 服务

termux 中命令行有个环境变量 $PREFIX ,代表路径前缀 /data/data/com.termux/files/usr,可以降低敲命令时的负担。

比如,cd $PREFIX/etc/apache2/,实际进入的目录会是 /data/data/com.termux/files/usr/etc/apache2

需要操作的配置文件有两个。

  • etc/apache2/httpd.conf
  • etc/apache2/extra/httpd-dav.conf

配置过程主要参考 httpd-dav.conf 中的说明即可,先按其中要求依赖的模块修改 httpd.conf 文件,取消相应模块的注释并取消 httpd-dav.conf 这行的注释,然后执行密码生成命令,最后创建相应的文件存储目录。

各种 webdav 客户端用到的认证类型,有 basic - mod_auth_basic 和 digest - mod_auth_digest 两种, basic 居多,所以针对 httpd-dav.conf 默认的配置,复制了一段,用于实现 basic 模式的授权。

下例中,/uploads 路径对应 默认的 digest 认证,/webdavb 对应 basic 认证。

两种认证方式,用到的 密码生成工具也是不同的,digest 方式的如配置文件中所示,htdigest -c "/data/data/com.termux/files/usr/user.passwd" DAV-upload admin , basic 的则为 htpasswd -c "/data/data/com.termux/files/usr/webdavb.passwd" admin

最后还初始化对应的两个目录,mkdir。

#
# Distributed authoring and versioning (WebDAV)
#
# Required modules: mod_alias, mod_auth_digest, mod_authn_core, mod_authn_file,
#                   mod_authz_core, mod_authz_user, mod_dav, mod_dav_fs,
#                   mod_setenvif

# The following example gives DAV write access to a directory called
# "uploads" under the ServerRoot directory.
#
# The User/Group specified in httpd.conf needs to have write permissions
# on the directory where the DavLockDB is placed and on any directory where
# "Dav On" is specified.

DavLockDB "/data/data/com.termux/files/usr/var/DavLock"

Alias /uploads "/data/data/com.termux/files/usr/uploads"
Alias /webdavb "/data/data/com.termux/files/usr/webdavb"

<Directory "/data/data/com.termux/files/usr/uploads">
    Dav On

    AuthType Digest
    AuthName DAV-upload
    # You can use the htdigest program to create the password database:
    #   htdigest -c "/data/data/com.termux/files/usr/user.passwd" DAV-upload admin
    AuthUserFile "/data/data/com.termux/files/usr/user.passwd"
    AuthDigestProvider file

    # Allow universal read-access, but writes are restricted
    # to the admin user.
    <RequireAny>
        Require method GET POST OPTIONS
        Require user admin
    </RequireAny>
</Directory>


<Directory "/data/data/com.termux/files/usr/webdavb">
    Dav On

    AuthType Basic
    AuthName DAV-upload
    # You can use the htpasswd program to create the password database:
    #   htpasswd -c "/data/data/com.termux/files/usr/webdavb.passwd" admin
    AuthUserFile "/data/data/com.termux/files/usr/webdavb.passwd"

    # Allow universal read-access, but writes are restricted
    # to the admin user.
    <RequireAny>
        Require method GET POST OPTIONS
        Require user admin
    </RequireAny>
</Directory>

标签:files,平板,webdav,com,安卓,termux,usr,data,mod
From: https://www.cnblogs.com/x3d/p/webdav-service-on-android-tablepad.html

相关文章

  • 安卓开发基础适配器,SimpleAdapter 快速演示
    第一,主视图如下:<?xmlversion="1.0"encoding="utf-8"?><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="match_parent&qu......
  • 安卓主板_MTK安卓一体机方案定制
    安卓一体机主板集成多媒体解码、3G(4G/5G可选)模块,GPS,液晶驱动、WIFI、蓝牙、串口于一体,支持绝大部分当前流行的视频及图片格式解码。支持MIPI接口的1280*720分辨率的显示屏,最大支持1280*720P解码。大大简化整机系统设计,稳定性更强,非常适合于视频广告机,智能家居,触模查询一体机,自动购......
  • Monkey测试之ADB命令的安装与使用(安卓)
    一、ADB&Monkey介绍1.ADBADB全称为AndroidDebugBridge,起到调试桥的作用,是一个客户端-服务器端程序。其中客户端是用来操作的电脑,服务端是Android设备。ADB也是AndroidSDK中的一个工具,可以直接操作管理Android模拟器或者真实的Android设备。2.MonkeyMonkey是Androi......
  • 手持机PDA_安卓手持终端PDA主板方案
    安卓手持终端PDA是一款功能强大的设备,具备高性能的条码扫描引擎,能够快速准确地识别各种码,完全满足高强度扫码工作的需求。这款安卓手持PDA采用耐用防摔设计,基于MT6762(MTK6762)安卓核心板制造,采用12纳米制程工艺。它搭载了8个ARMCortex-A53核心,最高主频可达2.0GHz,并运行......
  • 基于图像识别的记账本安卓app开发策划
    基于图像识别的记账本——高振华    问题:移动支付的普及为我们的生活带来了巨大的便利,但是在不知不觉间,不晓得我们微信余额、支付宝、银行卡的余额变得可怜巴巴,对于刚刚步入大学的大学生们,对于金钱的管控能力较差,此软件可以基于微信的微信支付推送、支付宝的记账本的推......
  • MT8195安卓核心板性能如何?MTK8195核心板规格参数介绍
    MT8195安卓核心板是一款基于台积电6nm工艺制造的先进芯片。它采用4个Cortex-A78大核和4个Cortex-A55小核,搭配Mali-G57MC5GPU和APU3.0,算力高达4TOPs。该核心板支持四通道LPDDR4X2133MHz内存、三屏输出、杜比视界、7.1环绕声音频和硬件视频解码。它适用于各种应用,包括视频......
  • 安卓手机连接use调试解决方案
    一、确认手机的USB调试接口是打开的;----------打开开发者模式,暴击手机版本号多次,直到提示已打开开发者模式。二、使用USB线连接电脑和手机,可以首先执行adbremount(重新挂载系统分区,使系统分区重新可写)命令;三、remount成功后,可以使用adbshell命令查看设备是否连接成功;四、......
  • Win11中安卓系统安装+手动安装apk文件
    更新微软商店,选择设置-时间和语言-语言和区域-国家或地区,改为“美国”(改为美国是因为有些国家和地区不支持这个操作,在所有步骤结束后记得改回来)重启微软商店,搜索AmazonAppStore,下载安装,根据屏幕所示步骤安装并重启系统(此时软件应该自动安装WindowsSubsystemforAndroid)访问......
  • react native app 图标在安卓上内容被切割问题记录
    问题背景:reactnative开发app,设置的app图标在安卓中会被切割,导致周围的留白被切掉,看起来很奇怪。甚至有些文字内容被切割掉,显示不全。在不同手机上,icon可能会被切割成各种圆角,如果留白不够,内容可能会被切割。在iOS上icon也有相应的规范,比如需要1024尺寸等。解决方法:在查找......
  • APP上架安卓应用市场的具体流程有哪些?
    第一步: 准备资料手机号、QQ、邮箱、法人身份证正反面照片、手持身份证照片、营业执照照片、对公账户、官网、公章底部照片(不能拍到人)第二步:注册要上架手机型号的各开发平台账号例:华为、VIVO、OPPO、360手机助手、小米、魅族、腾讯应用宝等第三步:申请软著所需资料:资料包括:登记......