Azure Kudu toolbar missing menu items - azure

I'm trying to install a site extension to my Azure web app, however my Kudu toolbar only has two menu items, environment and debug console.
Many tutorials about the topic have a site extensions menu item on the toolbar. What should i do to have site extensions on Kudu? My application is a Standard: 1 Small -tier web application.

As #Kaushal Kumar Panday said, according to your screenshot, you are using Web Apps on Linux, so there is not any site extensions which be ready for Web Apps on Windows.
Web Apps on Linux is a Docker container based on Ubuntu, which you can see it via the tab Docker Container on Azure portal and Kudu Debug console with command uname -a.
If you need to install more componets or language runtimes, you just need to use Kudu SSH terminal via the url https://<your linux webapp>.scm.azurewebsites.net/webssh/host to update the apt source via apt-get update and search for you wants via apt-cache search <keyword for package> install via apt-get install <packages of you wants> like doing these operations on local Ubuntu environment. For more details, you can refer to the offical tutorial SSH support for Azure Web App on Linux to know them.
Hope it helps.

So as I said, site extensions are not visible if the app is hosted on Azure Web App (Linux).
Currently there is no way to get the Site extensions on Azure Web App (Linux). You can list all the site extensions here: https://www.siteextensions.net/
Most of the site extensions that exists are mostly written by the community and were mainly written for IIS (Windows). You could however, create a request for this on the Azure Web Apps feedback site.
I think we should get lot more contributions from the Open Source community to create site extensions for Azure Web Apps on Linux.

Related

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

How to enable extensions on an Azure App?

I have activated an app service and a mysql database on microsoft azure.
What I would like to do now is activate the phpmyadmin extension in order to use it for database management.
The problem is that the Extensions item is always disabled from the Azure app service menu.
Following online directions I successfully created a new mysql connection string using this format:
Database=DBNAME;Data Source=MYSQLHOST;User Id=USERID;Password=PWD;
Despite this, the Extensions item is still disabled.
I have also restarted the app but nothing has changed.
Following the path advanced tools > go for the kudu I get this:
https://ibb.co/txKDCPY
If the Extensions on the App Service menu is greyed out, you could go to the Kudu site to add the extension you want.
On the App Service menu, choose Advanced Tools, click Go. You will see your app's Kudu site, on the top of the bar , you could find the Site extensions. Then choose Gallery and search the extensions you want like phpmyadmin. Then you could clike the + button to install the extension.
Update: msdn answer
From your description, it might be that you are using a linux web app. As such, the phpmyadmin is installed as part of the docker image.
To load phpmyadmin you should visit /phpmyadmin.
The credentials are available under the application settings on the web app itself.
More details : https://blogs.msdn.microsoft.com/appserviceteam/2017/06/07/mysql-in-app-feature-for-web-apps-on-linux/

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

How Console in New Windows Azure Portal Works?

In the new Windows Azure Portal, how does the "Console" Window works? What really happens behind the scenes? I am curious to know how it works internally.
(I can't find that out for myself since I don't have an Azure account :-( )
http://assets.andrewconnell.com/media/Default/Misc/AzurePortalManager04.png
I actually made this console as my internship project while at Microsoft. It was made before the xplat-cli was available, but it's still very simple and actually uses the Kudu service. Kudu is the engine behind git/hg deployments, WebJobs, and various other features in Azure Web Sites. More information on Kudu here: https://github.com/projectkudu/kudu/
When your web application is created on azure, Kudu stands up a scm website for your web application with the end point yoursite.scm.azurewebsites.net. The console then takes commands that you give it, calls Kudu's REST API using the scm website as the endpoint, and then displays you the output in the console.
That console looks exacly like the Azure Cross-Platform Command-Line Interface (xplat-cli) which is based on node.js. I'm not a node.js expert, but a good guees would be, that the browser creates a node.js session und runs the xplat-cli in there.
xplat-cli in turn use the Service Management API of Azure, which are all REST-based.
You can compare the xplat-cli on your own by installing them from the Downloads page. At the bottom of this page are the download links for Windows, Mac, and Linux.

Create Azure Website from command line, PowerShell

I'm looking into the possibilities of hosting several websites in Windows Azure.
Right now, I have a dedicated server where I have developed a Windows Service which performs the following tasks every 5 minutes:
Looks at a table in a database
Finds new sites Creates the site in IIS
Creates the database on the SQL server
Deploys an MVC 3 package to IIS with parameters for connection strings and such
In Azure, I can't find a way to create a Website from PowerShell looking at the Cmdlets docs here: http://msdn.microsoft.com/en-us/library/windowsazure/jj152841.aspx
What looks strange, is that using the command line tools for Mac and Linux you can create new sites: https://www.windowsazure.com/en-us/manage/linux/other-resources/command-line-tools/#Commands_to_manage_your_web_sites
That's right, there is no PowerShell support for WAWS at the moment. Here is the answer from Microsoft on the WAWS forum: http://social.msdn.microsoft.com/Forums/da-DK/windowsazurewebsitespreview/thread/f4e69962-a1ec-437f-b205-bb1664242ed2
You can install the cross platform tools on Windows. First install Node.js then run npm install azure -g.
You then have access to Windows Azure Web Sites tools. You can watch me demo the tools on this episode of WebCampsTV

Resources