移动硬盘里放了很多媒体文件,我希望可以用手机、电脑、电视方便的连接进行播放。比如在电视上给KODI调用,在iOS上给nPlayer调用,电脑上用浏览器在线点播。

一、首先更新系统,确保安装的软件是最新的。

sudo apt-get update
sudo apt-get upgrade

二、搭建webdav

2.1 搭建Apache2

sudo apt-get install -y apache2

2.2 开启webdav服务

#开启对WebDav协议的支持(注意要切换至用户目录不然可能会报错)
#切换到当前用户的目录
cd ~
#执行下面两行代码开启webdav
sudo a2enmod dav
sudo a2enmod dav_fs

2.3 创建webdav的共享目录

为了方便我们访问插在树莓派上的U盘或移动硬盘,我们需要设置webdav的默认目录为移动硬盘自动挂载点所在目录,在树莓派上就是 /media/pi/

# 修改目录的权限
sudo chown -R www-data:www-data /var/www/html
sudo chown -R www-data:www-data /media/pi

# 创建WebDav的访问用户数据库,顺便创建用户`pi`
sudo htpasswd -c /etc/apache2/webdav.password pi
# 创建guest用户
#sudo htpasswd /etc/apache2/webdav.password guest

# 修改用户数据库访问权限
sudo chown root:www-data /etc/apache2/webdav.password
sudo chmod 640 /etc/apache2/webdav.password

2.4添加账户与权限

# 创建WebDav的访问用户数据库,顺便创建用户`pi` 
sudo htpasswd -c /etc/apache2/webdav.password pi 

# 创建guest用户 
sudo htpasswd /etc/apache2/webdav.password guest 

# 修改用户数据库访问权限 
sudo chown root:www-data /etc/apache2/webdav.password 
sudo chmod 640 /etc/apache2/webdav.password

2.5 修改配置文件

先备份一下默认文件

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf.bk

打开默认配置文件

sudo nano /etc/apache2/sites-available/000-default.conf

全部替换为以下内容:

#增加一个虚拟网站链接,即访问时给域名后加pi,其对应访问的目录是/media/pi/
</VirtualHost>
Alias /pi  /media/pi/

<Location /pi>
 Options Indexes
 DAV On
 AuthType Basic
 AuthName "webdav"
 AuthUserFile /etc/apache2/webdav.password
 Require valid-user
 </Location>

Ctrl+O 保存,Ctrl+X 退出。

2.6 重启Apache2服务器使更改生效

# 重启Apache2服务器
sudo systemctl restart apache2
# 或
sudo /etc/init.d/apache2 reload

这时候就可以浏览器打开 http://host/pi 并输入账号密码,如果看到如下页面,就表示webdav服务成功开启了!

(此处参考了文章:树莓派 | Apache2 Webdav搭建NAS并映射至公网全流程踩坑记录

现在,webdav就搭建完毕。默认的目录为 /media/pi/ ,这就是移动硬盘和U盘挂载的地方。途中的SUHDD就是我的希捷移动硬盘。


三、搭建ftp

选择的是一个开源的,比较轻量级FTP服务器vsftpd。

3.1 安装vsftpd服务

sudo apt-get install vsftpd

3.2 开启 vsftpd服务

sudo service vsftpd start

3.3 修改配置文件

sudo nano /etc/vsftpd.conf

3.3.1 修改访问模式和权限:

anonymous_enable=NO //不允许匿名访问
local_enable=YES //允许本地用户访问
write_enable=YES //允许写
local_umask=022 //设定上传后文件权限掩码

3.3.2 修改不同用户访问ftp进入的默认目录

#设置不同用户的默认目录
#这里设置默认目录为树莓派挂载的U盘或移动硬盘的目录,方便与webdav配合
#这样做的好处是,插入任何外部存储,通过ftp都会连接上
local_root=/media/pi/
chroot_local_user=YES
anon_root=/media/pi/

Ctrl+O 保存,Ctrl+X 退出。

3.4 重启vsftpd服务

sudo service vsftpd restart

输入 ftp://host/,再输入用户名和密码,登陆ftp后可以看到结果:

参考文章:树莓派里安装简易FTP服务


四、测试

至此,已经将webdav和ftp都配置到了移动硬盘自动挂载的目录。

以下是浏览器访问webdav服务看视频的效果:

这是在电视上用Kodi看视频的效果:

 


Enjoy! 😀

 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注