# Uploading files to your own sever

# Self hosting

Uploading files to your own server (or hosting account) gives you 100% control of your user's files.

There are two ways we support it:

  • Firstly we support transfer to your server via SFTP (business accounts only). Just fill in the SFTP account credentials and we will put the files directly on your server via SFTP.

  • Secondly we upload files directly to your AWS S3 bucket or your own Digital ocean spaces account (pro accounts only). So you have 100% ownership of these files. Both these storage systems support stream wrappers (opens new window) which makes them accessible as files stored locally on server.

In either case all the data is directly transferred from the user to your server ensuring 100% privacy and safety of your website users.

# SFTP

  • # Frequently asked questions

    • Why can't I use FTP instead of SFTP?

      With FTP, unencrypted data is sent and received, making it vulnerable to being intercepted and read. Even if a man-in-the-middle attack is a risk that you are personally willing to take, industry regulations such as PCI DSS, HIPAA, and others require data transfers to be encrypted.

    • Is SFTP same as FTPS?

      SFTP is an entirely different protocol based on the network protocol SSH (Secure Shell). This is not FTP over SSL and not FTP over SSH. Unlike both FTPS, SFTP uses only one connection and encrypts both authentication information and data files being transferred.

    • Do I need a key or password for SFTP?

      While SFTP works using both keys and/or password, Uploader window currently only supports password based authentication (as it is easier for our users to setup).

    • Isn't key based authentication better for SFTP?

      There's some debate on whether SSH keys or passwords are better at protecting and validating company SFTP servers, and the consensus is never official. Please see this page (opens new window) for list of advantages and disadvantages of both methods.

    • Is it possible to enable SFTP without shell access?

      In a standard configuration, the SSH server grants file transfer access and terminal shell access to all users with an account on the system. You may want to disallow terminal access and restrict user access to just one directory. Please see this tutorial (opens new window) for more details.

    • How do I create a username and password for my SFTP server?

      Please see this tutorial (opens new window) for more details.

    • Can I configure the folder path where my uploads will be placed?

      Yes please the "Upload path" field to specify this folder as shown in the image below:

      upload path (opens new window)

    • Why can't I access my uploads using the links generated by Uploader window?

      You need to configure your web server to make files stored in your SFTP folder publicly accessible. Set your "upload folder" as the "document root" of your web server.

      Make sure you can access files inside the upload folder using a web URL with a web browser (like Firefox). Paste the URL of your web server (the part before the upload file name) in the "CDN URL" field as shown in the image below:

      upload path (opens new window)

    • What if my "Remote URL" is different from SFTP Server?

      As long as your are able to access the files stored in your upload folder via a browser it should work.

      For example: Let's say the path for a file on your SFTP server is this:

      /www/htdocs/app/uploads/users/sammyfiles/sub-folder/uploaded-file.jpg
      

      But you need the upload URL to be accessible (on the web) like this:

      https://www.domain.com/users/sammyfiles/sub-folder/uploaded-file.jpg
      

      To do this set your "CDN URL" as:

      https://www.domain.com/users/
      

      (the trailing slash after users/ is important: because uploader window will automatically match the path of your upload folder to the CDN URL / Remote URL whenever a trailing slash is present)


# Next up: Frequently asked questions