移动硬盘里放了很多媒体文件,我希望可以用手机、电脑、电视方便的连接进行播放。比如在电视上给KODI调用,在iOS上给nPlayer调用,电脑上用浏览器在线点播。
一、首先更新系统,确保安装的软件是最新的。
1 2 |
sudo apt-get update sudo apt-get upgrade |
二、搭建webdav
2.1 搭建Apache2
1 |
sudo apt-get install -y apache2 |
2.2 开启webdav服务
1 2 3 4 5 6 |
#开启对WebDav协议的支持(注意要切换至用户目录不然可能会报错) #切换到当前用户的目录 cd ~ #执行下面两行代码开启webdav sudo a2enmod dav sudo a2enmod dav_fs |
2.3 创建webdav的共享目录
为了方便我们访问插在树莓派上的U盘或移动硬盘,我们需要设置webdav的默认目录为移动硬盘自动挂载点所在目录,在树莓派上就是 /media/pi/
1 2 3 4 5 6 7 8 9 10 11 12 |
# 修改目录的权限 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添加账户与权限
1 2 3 4 5 6 7 8 9 |
# 创建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 修改配置文件
先备份一下默认文件
1 |
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf.bk |
打开默认配置文件
1 |
sudo nano /etc/apache2/sites-available/000-default.conf |
全部替换为以下内容:
1 2 3 4 5 6 7 8 9 10 11 12 |
#增加一个虚拟网站链接,即访问时给域名后加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服务器使更改生效
1 2 3 4 |
# 重启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服务
1 |
sudo apt-get install vsftpd |
3.2 开启 vsftpd服务
1 |
sudo service vsftpd start |
3.3 修改配置文件
1 |
sudo nano /etc/vsftpd.conf |
3.3.1 修改访问模式和权限:
1 2 3 4 |
anonymous_enable=NO //不允许匿名访问 local_enable=YES //允许本地用户访问 write_enable=YES //允许写 local_umask=022 //设定上传后文件权限掩码 |
3.3.2 修改不同用户访问ftp进入的默认目录
1 2 3 4 5 6 |
#设置不同用户的默认目录 #这里设置默认目录为树莓派挂载的U盘或移动硬盘的目录,方便与webdav配合 #这样做的好处是,插入任何外部存储,通过ftp都会连接上 local_root=/media/pi/ chroot_local_user=YES anon_root=/media/pi/ |
Ctrl+O 保存,Ctrl+X 退出。
3.4 重启vsftpd服务
1 |
sudo service vsftpd restart |
输入 ftp://host/,再输入用户名和密码,登陆ftp后可以看到结果:
参考文章:树莓派里安装简易FTP服务
四、测试
至此,已经将webdav和ftp都配置到了移动硬盘自动挂载的目录。
以下是浏览器访问webdav服务看视频的效果:
这是在电视上用Kodi看视频的效果:
Enjoy! 😀