Geoserver on Microsoft Azure Website - azure

I need to add some Geoserver data on my Azure Website. I'm just wondering that if I need to install Geoserver for that on my account (if it is possible) or is there some other way?
As I was just looking around, I found this link working
http://geoserver.azurewebsites.net/
If this link is working, does it mean that we can configure Geoserver on Azure

There are a couple of ways to do this.
One option is to use a plain old Azure Web App with the GeoServer web archive (WAR file).
To do this download the web archive version of GeoServer. Then create a web app in the Azure portal. Under application settings you need to specify Java version 8 and a Tomcat version above 7.0.65. Then all you need to do is ftp the GeoServer WAR file to /site/wwwroot/webapps.
Once you have done that you should be able to access GeoServer by visiting your web app with the path /geoserver appended to the url. But be patient, the initial start up is slow and can take a few minutes.
Another option is to deploy a container image. I have ended up creating one myself that is tailored for use in an Azure Web App.
To use it you will need a Linux App Service Plan. When creating your web app select Docker Hub as the container image source and use coderpatros/geoserver-azure-web-app as the image. You can also specify a tag to use a particular GeoServer version. i.e. coderpatros/geoserver-azure-web-app:2.14.2. The available tags can be found on Docker Hub at https://hub.docker.com/r/coderpatros/geoserver-azure-web-app/tags. After you've created the web app you need to go to application settings and set WEBSITES_ENABLE_APP_SERVICE_STORAGE to true to enable persistent storage.

There is a OpenGeo Suite in Azure marketplace which helps in publishing maps and data from a variety of formats and sources with GeoServer.
Not sure if it will help you, but here ... OpenGeo Suite

Related

Azure App Service on Linux - Static File Content not updated

I have created an App Service (inside Linux based App Service Plan). I have connected to wwwroot folder using FTP Client
In the hostingstaart.html, I made a simple text change.
I couldn't see the change getting reflected when I navigate to https://.azurewebsites.net/
However, when I navigate to Kudu and access the same page, I can see the change.
Below is the screenshot.
In the left hand side (kudu website), I can see the change that I have made (DevOps Engineers). However, In this right hand side, the changes is not shown.
In order to troubleshoot, I have added another file as well which is visible in Kudu. But, I'm not able to access the same.
This is not at all an issue in Windows Based App Service Plan. This is an issue only with Linux based app.
Is there any docker container internally where it reads the files from? if yes, how do change those files?
Appreciate any help here .
Thanks,
Praveen
Yes, Azure App Service on Linux run in containers and depending on the platform, different webservers and locations are used which can get confusing.
For SSH access into the container go to https://<yourappname>.scm.azurewebsites.net/webssh/host - in .NET projects on Linux the default page you'll see on a new app service is stored at /defaulthome/hostingstart/wwwroot/hostingstart.html while files you upload via FTP will go to /home/site/wwwroot.
That being said, I'd recommend to use the documented ways to publish content based on the platform you want to use. For .NET, you can find the docs here.

What are the list of Fonts used in Azure App Service

I would like to know what are the list of default fonts used by an azure app service.
This is for an app which we have installed on azure app service and its source code does not have any fonts folder.
Adding to Md Farid’s response, if you’re looking at rendering custom fonts (system-installed font is used instead) not supported on the standard App Service, because of sandbox restrictions.
Azure App Service provides pre-defined application stacks on Windows like ASP.NET or Node.js, running on IIS. The preconfigured Windows environment locks down the operating system from administrative access, software installations, changes to the global assembly cache, and so on.
This is because, the Azure Web Apps run in a secure environment called a sandbox. Each app runs inside its own sandbox, isolating its execution from other instances on the same machine as well as providing an additional degree of security and privacy which would otherwise not be available.
However, using a custom Windows container in App Service lets you make OS changes that your app needs, so it's easy to migrate on-premises app that requires custom OS and software configuration. This tutorial demonstrates how to migrate to App Service an ASP.NET app that uses custom fonts installed in the Windows font library.
https://learn.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-windows-containers-custom-fonts
Also, see sandbox page -https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox
Just added an answer here -
it is any web fonts you want, just config in web.config and add the font in a directory in the app service under WWWROOT
Is it possible to install fonts on an Azure App Service?
Seems there is no such official docs about that , but you can follow this post to register mime type in Azure webapp IIS for your own custom fonts files.
I think you can mount the storage like in that ticket: Azure Linux App Service with .Net Core Stack. Unable to use NodeJS

What's the Azure equivalent of "Add application" in IIS?

We use a app builder to create our applications, download them as .zip, and then just click "Add Application" on IIS, point to the application folder and it would be working.
Our applications require no server logic or database, they are self contained, the database is external and acessed via REST on javascript.
I can't seem to find the equivalent of the above procedure on Azure, it has options like Python/Node/Java/.NET but I'm not sure which of these fit our application needs.
How can I just easily upload a web app on Azure without any backend required?
If I'm understanding your question correctly, you can drag/drop a zip file into the "kudu" console of an Azure webapp to upload the file. Azure takes care of unzipping the file and putting the files in the web app.
To get to that portal, change your web app url to contain ".scm." and append /ZipDeploy to the end of the url:
https://yourwebapp.scm.azurewebsites.net/zipdeploy
Then drag/drop your file onto the web page.
From the main kudu page (remove zipdeploy from your url) you can upload entire directories of files if you need to. I regularly deploy webapps this way and it works great.
One of the easiest approaches is to make use of Azure App Services. This is Azure's Platform as a Service (Paas) offering that allows you to get a web site up fairly quickly whether that be a static site that is mostly client side logic or your more traditional apps such as asp.net\php\etc. You can deploy your app through various means from CI\CD, Github, FTP, etc. You can find more details and a 5 minute quickstart at https://learn.microsoft.com/en-us/azure/app-service/.
More recently Azure has offered the ability to host static web sites right in Azure's Blob storage. It doesn't come with all the features of Azure App Services and does not have any server side execution but has the advantage of price and simplicity and when used in concert with some CDN networks it can be attractive for static client side only sites. More details at https://learn.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website

ABCpdf .NET with Azure App Service

I am trying to use ABCpdf .NET with Azure App Service and getting the following error when generating a PDF.
Unable to render HTML. Failed to configure IE 9 or above for the MSHtml engine:
Access denied while writing to the registry.
For IIS applications, please enable "Load User Profile" or
consult MSHtmlBootstrap in the documentation.
Usually in a VM I would set Load User Profile to True and it works but in Azure App Service, I do not have access to IIS Application Pool configuration.
According to the developer of ABCpdf, it should work with Azure websites.
http://www.websupergoo.com/support-azure-abcpdf.htm
Windows Azure Web Sites
WAWS sites operate as 32-bit processes in a multi-tenanted environment. In order to isolate one site from another WAWS is locked down to prevent inter-process communication. While you may find ABCpdf (32-bit) will install to WAWS, we expect the functionality will be diminished.
You cannot modify the registry with Azure Web Apps (formerly Web Sites). So, you're getting an error because the app cannot register itself. Being a multi-tenant service, you are not allowed to make registry modifications.
You need to go back and look at that page again, where they suggest using a VM or a web/worker role (both of which do allow for registry modification).
Even though this is a few years old it's the top StackOverflow question for "ABCpdf App Service" so it seems pertinent add an updated answer.
As of version 12.1 ABCpdf.NET includes the ABCWebKit HTML rendering engine based on WkHTMLToPdf 0.12.6 (Qt patched version).
Although limited compared to the default ABCChrome engine, it will enable rendering in a 64-bit Azure App Service on Windows using Basic App Service plans B1 and above.
NB: it will not work on any of the free App Service plans, or on 32-bit instances.
More information:
Updated ABCpdf .NET Azure Deployment Guide for App Services
Example project on GitHub

Web service migration from Local IIS to Azure

I Used Azure Website Migration Assistance to migrate my web service that was running on my Local VM's IIS. My Migration process was successful and also I was able to use this web service. But I can't find where to find the migrated source code in azure portal. All I can see is some 20Mb of data in on the dashboard graph of azure portal. If I need to changed some of my code where to do this?
What is on the Azure Web App should now match what was on your IIS server. Now, to update the web app, you can use the deployment techniques here: https://azure.microsoft.com/en-us/documentation/articles/web-sites-deploy/
The simplest method to deploy to check what content is on your web app would be to use the SCM site. This is available at: https://your-site-name.scm.azurewebsites.net. Go to Debug Console > CMD and then the site > wwwroot folder to see your web app content. You can also upload to the site via drag and drop.
Alternatively, you can download the publishing settings for your web app via the portal and then re-use the migration tool, select the site, and then upload the publishing settings. However I would suggest using the deployment techniques above first. (Disclaimer: I wrote the migration tool.)
There are multiple ways to push changes to your Azure Website/Web App. They are listed here: https://azure.microsoft.com/en-us/documentation/articles/web-sites-deploy/
One simple way is to use an FTP client like FileZilla. In the classic portal, you will find the FTP address (hostname) and the credentials in the dashboard tab. In the new portal, select your Web App and the FTP address will be displayed in the Essentials section at the top of the page. Click on Settings and Deployment credentials to set your FTP user password.
Another simple alternative is to use Dropbox. Take a look at this video for how to set instructions: https://channel9.msdn.com/Series/Windows-Azure-Web-Sites-Tutorials/Dropbox-Deployment-to-Windows-Azure-Web-Sites

Resources