I have media tank with a lot of music but it can be reached as server only by ftp. I’d like to be able to connect my new Volumio to tank’s FTP and I tried to add this possibility.
(I’m not PHP programmer, so there can be errors, please fix them if possible)
How to add connection to FTP server:
Install curlftpfs (as root):
apt-get install curlftpfs
Add user pi to group fuse (as root):
usermod pi -a -G fuse
Uncomment line user_allow_other in file /etc/fuse.conf (as root):
Edit files in /var/www as follows:
file inc/player_lib.php function wrk_sourcemount($db,$action,$id) {
after line $mountstr = “mount -t nfs -o “.$mp[0][‘options’].” “”.$mp[0][‘address’].”:/".$mp[0][‘remotedir’]."" “/mnt/NAS/”.$mp[0][‘name’].""";
after line $_source_select[‘type’] .= “<option value=“nfs”>NFS\n”;
add
$_source_select['type'] .= "<option value=\"ftpfs\">FTP</option>\n";
Reboot Volumio.
After that FTP option in Library page should be available. Just fill fields as NFS mount and click SAVE button.
You should have new NAS directory connected to FTP server!
I have the same problem and no solutions so far. Can anybody illuminate me here?
After I have modified my player_lib.php file, WebUI from my phone is not responding at all.
The main terminal keeps showing some error messages like “cat : …player_wrk.pid… no such file or directory.”
The problem goes away once I restore the original player_lib.php file, without mounting my ftp NAS.
BTW, I do not understand that some of you have default access to sftp in Volumio, which does not show up in my WebUI at all.
I use Volumio 1.55 on Raspberry pi B.
file inc/player_lib.php
function wrk_sourcemount($db,$action,$id) {
after line $mountstr = “mount -t nfs -o “.$mp[0][‘options’].” “”.$mp[0][‘address’].”:/".$mp[0][‘remotedir’]."" “/mnt/NAS/”.$mp[0][‘name’].""";
should better be:
after line
$mountstr = “mount -t cifs “//”.$mp[0][‘address’].”/".$mp[0][‘remotedir’]."" -o username=".$mp[0][‘username’].",password=".$mp[0][‘password’].",rsize=".$mp[0][‘rsize’].",wsize=".$mp[0][‘wsize’].",iocharset=".$mp$
This way the open ‘else’ closes the if-else statement. It worked for me.