Azure Web App: Connect to your site via FTP and upload/download files

In this post I will describe on how to connect to an Azure Web App via FTP using FileZilla as a FTP client. The readers are free to choose their FTP client

 Download publishsettings file from Azure Portal:
  • Login to Azure portal: https://portal.azure.com
  • Click on App Services.
  • Select the Site and then click on Get publish profile.

downloadpublishsettings

  • Save the file and open it in notepad.exe.
  • The file contains 2 <publishProfile> sections. One is for Web Deploy and another for FTP
  • Under the <publishProfile> section for FTP make a note of the following values: 
    • publishUrl (hostname only)
    • userName -------------------------- > This is the information you are looking for 
    • userPWD

Below is a publishsettings file from one of my test sites.
Every file has unique username and password. The user could also reset the password, however that is beyond the scope of this post. I will discuss in another post altogether.

<publishData><publishProfile              profileName="kaushals - Web Deploy" publishMethod="MSDeploy"publishUrl="kaushals.scm.azurewebsites.net:443"msdeploySite="kaushals"userName="$kaushals"userPWD="nGc9c8RmmRtwqF8hx2Fg6n8osiczuo8sJaZ32C02ZnBMzS627uagERwHM4NE"destinationAppUrl="https://kaushals.azurewebsites.net"SQLServerDBConnectionString=""mySQLDBConnectionString=""hostingProviderForumLink=""controlPanelLink="https://windows.azure.com"><databases/></publishProfile><publishProfile              profileName="kaushals - FTP" publishMethod="FTP"publishUrl="ftp://waws-prod-db3-011.ftp.azurewebsites.windows.net/site/wwwroot"ftpPassiveMode="True"              userName="kaushals\$kaushals"userPWD="nGc9c8RmmRtwqF8hx2Fg6n8osiczuo8sJaZ32C02ZnBMzS627uagERwHM4NE"destinationAppUrl="https://kaushals.azurewebsites.net"SQLServerDBConnectionString=""mySQLDBConnectionString=""hostingProviderForumLink=""controlPanelLink="https://windows.azure.com"><databases/></publishProfile></publishData>

 NOTE: We need only the hostname (waws-prod-db3-011.ftp.azurewebsites.windows.net) from the FTP's publishURL section and not the complete path.

Connect using FileZilla:
  • Download and install FileZilla, Click here to download FileZilla.
  • Launch FileZilla.
  • Go to File Menu —>Site Manager.
  • Under Site Manager click on New Site button and give it a descriptive name.
  • Under the General tab set the values  for the following accordingly
    • Host: Paste the hostname from publishUrl obtained from the publishsettings file above.
    • Logon Type: set this to Normal.
    • User: Paste the userName obtained from the publishsettings file above.
    • Password: Paste the userPWD obtained from the publishsettings file above.
  • Click on Connect to connect to the site over FTP.
  • You would see two folder under the root: Logfiles and Site.
  • Logfiles folder as the name indicates provides storage for various logging options you see under the CONFIGURE management page on the Azure Portal.
  • Site folder is where the application resides. To be more specific the code resides here: /site/wwwroot

Thus, Azure Web Sites gives the user the flexibility to create/upload/download files/folder(s) to their corresponding site via FTP. HTH!