Use HTTP:// instead of FTP://

messing with the PCs in anyway including adding network drives is not an option (they even disable right click on most PCs) browser based is my only option at this point which brings me back to my original question. is there a simple way to host the FTP using a HTTP webserver ?

Nothing to mess, just type ftp://123.45.66.7:50501 in windows explorer. If you can’t right click then include the username and password in the URI i.e. ftp://user:pass@123.45.66.7:50501.

There’s no easy way for you to host FTPD as HTTPD. If you have some CGI (PHP) knowledge, then you could apply this Monsta FTP into the existing Apache server.

I’m very interested in this but don’t know how to integrate in the My Cloud. Could you give us some hints or a small howto?

The screenshot was from Nginx web server running on v4 firmware, look for my webhosting mods thread [APP] WebHosting for firmware V4+ (10/2015) if you want Nginx, MySQL and other CGI stuffs.

I haven’t tested but if you want to try on the existing Apache2 web server (from what I see it should work), as per-norm warranty void disclaimer applies, extract the zip into /var/www/htdocs/ftp then access it from http://wdmycloud/ftp or http://192.168.1.x/ftp or even your DDNS or public IP (provided you did the port forward).

1 Like

It is really simple to setup and integration is automatic. Note: Use the following at your own risk!

General Monsta FTP Install Steps:

  1. Make sure to enable FTP in the WD My Cloud Dashboard > Settings > Network > Network Services > FTP Access = On.
  2. Next, ensure SSH is on by activating it on the WD My Cloud Dashboard > Settings > Network > Network Services > SSH = On.
  3. Next, using SSH (Putty is a popular SSH terminal program) log into the My Cloud. Note: If you don’t know how to use SSH or even basic Linux commands please perform a Google search to learn how to use SSH and enter basic Linux commands.
  4. Once logged into the My Cloud via SSH, type: cd /var/www/htdocs/
  5. In the /var/www/htdocs/ folder type: mkdir ftp
  6. Next, type: cd ftp
  7. In the /var/www/htdocs/ftp folder type:
    wget http://www.monstaftp.com/download/monsta_ftp_v1.6.4_install.zip
  8. Next, type: unzip monsta_ftp_v1.6.4_install.zip
  9. Once the file has finished unzipping access the Monsta UI on your My Cloud by using your web browser and going to: http://<mycloudname or ip address>/ftp
  10. On the Monsta FTP UI page, for the “FTP Host” enter your My Cloud name or IP address. Then use your My Cloud User name and password in the Username and Password fields. Then click the Login button and you should be logged into your My Cloud and can use the Monsta FTP UI page to upload files to your My Cloud.

Update 1: Once port forwarding (http port 80) was setup and configured within the router/gateway to forward http port 80 to the My Cloud, I was able to remotely access the Monsta FTP UI at my public IP address (for example http://12.345.678.900/ftp). One word of note when accessing remotely, use the local network name or IP address for the My Cloud in the Monsta FTP UI’s FTP Host field.

Unknown how secure this UI is, in other words are the login information sent as plain text. There is an option on the Monsta FTP UI to “Connect using SSL (if available)” but unknown how this is setup (port forward HTTPS or SSH?) .

Update 2: Removing the Monsta FTP program/UI should be as simple as just deleting the /var/www/htdocs/ftp folder and its contents via SSH. If removing the Monsta FTP program/UI remember to remove the port mappings to the My Cloud within one’s router/gateway as well. Note: Take care when deleting the /var/www/htdocs/ftp folder, make sure to remove ONLY the ftp folder and no others within the /var/www/htdocs/ directory.

Post edited and updated.

1 Like

This is TLS/SSL Explicit Encryption (FTPS), by default not enabled on MyCloud’s vsftpd. No point trying to enable FTPS on MyCloud and using this on the app if you’re only connecting to internal MyCloud via this app. It will make things slower.

If you’re concerned about security especially the plain text credential, switch to TLS(preferred)/SSL, in simpler terms, HTTPS/443 instead of HTTP/80. You can also add HTTP authentication realm to the path for private use, the HTTP user/pass will be sent encrypted in HTTPS (see my webhosting mods, links below->how to secure wdmycloud or Google).

1 Like

Thank you Nazar78 and Bennor for your work and the very helpful informations.

Thanks very much guys. this is going to make my life a million times easier :smiley:

No problem enjoy (-: Wonderful things you could do with this low-end NAS :stuck_out_tongue: My up-coming project is upgrading to PHP7 (lower resources and x2 the performance of PHP5), the Dashboard is snappy with PHP7.0.2 :slightly_smiling:

If you start to play around with PHP, take note about Opcache cause it’s enabled in MyCloud. Any changes to the codes/settings needs you to reload them, in this case Apache itself service apache2 reload;

1 Like

The traffic from the computer to the UI, if one is outside their home network is where the security is a potential issue for some. Those folks will want a more secure path which will entail some more work, as you point out, on their part beyond just unzipping the app and port forwarding one port.

This is a good easy to setup and use solution for those who don’t or can’t use a stand alone FTP app on the remote side.

@bennor: I followed your very good and easy howto and it worked like a charm :+1:
When I have more time I’ll try to get SSL/TLS work on the my cloud.

Thanks for all your work!

Did someone tried this for the Mirror too?
@nogood postet your giude to the german section and i tried it but it doesn’t work for me.
I can acces the folder i created (in /var/www/ xxx.xxx.xxx.xxx/ftp and i get the login screen from monstaFTP but after the login i became everytime a white site and in the logfile i can’t see any login with ftp. If i restart the Mirror the folder is removed.
If i put it in /var/www/htdocs i haven’t access to the folder under xxx.xxx.xxx.xxx/ftp.
Are these two systems so different?

Sorry for my bad english.

you need to make the folder “/var/www/htdocs/ftp” not “/var/www/htdocs/xxx.xxx.xxx.xxx/ftp” and put monsta in the ftp directory.
Make sure FTP is enabled on the UI as well, set up the correct port forwarding.

Also i did manage to get FTP working with SSL (guide: [HOWTO] Securing ftp server with encryption )

Some of the format got messed up on that guide though so heres (hopefully) the conf lines

rsa_cert_file=/etc/vsftpd/vsftpd.pem
rsa_private_key_file=/etc/vsftpd/vsftpd.pem
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
require_ssl_reuse=NO
ssl_ciphers=HIGH

make sure to forward ports 5000-5099 and 21-22

As an additional question im having issues with redirects to the UI
I have my domain set up to link to www.xxx.xxx.xxx.xxx/ftp but once the link opens it redirects to /UI/
Can i easily move the UI onto another port (like 443 or 8080) ?

The correct folder on the My Cloud (and I assume My Cloud Mirror), per the directions (step 7) above in my post, is: /var/www/htdocs/ftp

I tried it again without any success. Now i installed wordpress to see where the files are saved. I is saved at /var/www/wordpress and has a link to /mnt/HD/HD_a2/Nas_Prog/wordpress. I’ll show you the content of the folders.
/var/www/

/var/www/htdocs/

/mnt/HD/HD_a2/Nas_Prog/

At least i put the ftp Folder to /mnt/…/Nas_Prog and did a link from /var/www/ftp to it.
I have access to it over the Browser but after the login in i ever have a white site.
I tried it with the Raspberry Pi and it worked well.

Edit:
After a reboot the Folder under /var/www is deleted itself again.

Certain NAS will reset the system mount at boot, this is the reason why I dropped my intention to get the EX4. There should be some way to overcome this, perhaps run a cron at boot to deploy your mods. You’ll have to ask in the MyCloud Mirror section as most of us here don’t have the MyCloud Mirror to support.

1 Like

Thanks. I thought so. I think i dont play with the cron handler on this System.

I read the thread and I’ll try to enable SSL too.
There schould be a warning:

Before opening Port 22 it ist absolute necessary to change the root password!

SSH log into My Cloud and than type: passwd and then type your new password twice.

Good info. I can FTP into MYCloud without anything other than FTP turned on and FTP from Windows Explorer. I guess from a remote PC or phone I would need something extra, or would I just need the external IP address plus correct port?

You’ll need to setup the port forwarding on your router as it doesn’t use UPnP to automatically open the FTP port.

Again please note the credentials are being sent in clear plain text which is not even hashed. No matter how strong your password is, your NAS is open to vulnerabilities especially when connected to public network. Use at your own risk.