Category Archives: IIS

WordPress IIS and PNG Not Showing Up Headaches

Okay, this bit me again today, and I didn’t remember the solution from previous research so I had to research it again. That to me means I need to write it up in a blog post. :)

I’m running WordPress for this blog. It is hosted on a Windows 2012 R2 server (using IIS, not Apache) with the latest versions of PHP and MySQL installed.

I uploaded a post earlier that had a PNG file screenshot included. The PNG file uploaded fine and showed up fine in the Media management screen of WordPress but it wouldn’t display in the actual post. The issue winds up being a permissions problem. Read more »

Convert a Folder to an Application on a Remote IIS Host

The topic recently came up of the best way to convert a folder to an application on remote shared hosting server. Some hosts may have this built-in to their control panel. I know many (like Cytanium) have options in the control panel to create Virtual Directories, but sometimes an application specifically needs its folder to be marked as a literal “application” within IIS. Read more »

IIS/ASP.Net Install Error “The referenced assembly is not installed on your system”

Guest post from Rick Barber from OrcsWeb today…


While attempting to install IIS through role services with other than the default options checked or ASP.Net under IIS in role services on Windows Server 2008 and 2008 R2 you may come across errors like the one below; ‘Attempt to install XXX failed with error code 0x800736B3.  The referenced assembly is not installed on your system.’

IISError01

After little success trying a variety of ‘fixes,’ I came across this KB article:

http://support.microsoft.com/kb/947821

Once I downloaded and installed the proper hotfix, I was able to install IIS and ASP.Net on my Windows 2008 R2 server.

IISError02


Happy hosting!

Getting .NET 4.5 working on a new IIS8 installation

I fought with IIS8 and ASP.NET 4.5 way longer than I should have had to this morning.

Per previous lessons learned, I used WebPI to install IIS and the recommended configuration. I also selected .NET 4.5 and Web Deploy. Afterward I threw up a simple Hello World type ASP.NET page but when I hit it I got this error:

HTTP Error 404.17 – Not Found
The requested content appears to be script and will not be served by the static file handler.

I checked the application pool and saw that it was set to 4.0. I also checked under Roles-IIS and confirmed that the server thought ASP.NET 4.x was installed. Yet obviously something wasn’t working properly. If I changed the application pool to 2.0 the test page loaded fine.

After a bunch of troubleshooting trying to figure this out, I decided to step back into WebPI and see if I could reinstall 4.5 that way. While it doesn’t allow a “reinstall” I did notice that the “IIS: ASP.NET 4.5″ component was showing as available for install. Hmm. Worth a shot.

So I let it run through that install, tested again, and the test page worked. Yeah! It seems like there might be some sort of failure or bug in this process since IIS thought 4.x should work yet it seems that there were no mappings set up until I did the additional component install.

(BTW – I tested this on two different fresh Windows Server 2012 installations, so it wasn’t just one bad build.)

Well, lesson learned and I’ll get through this a lot faster next time. Hopefully this saves someone else hours of troubleshooting and allows them to get on with their coding.

Happy hosting!

DevOps. What does it mean?

MeInRedJacketWhat does DevOps mean?
Like many terms, there are a variety of slightly different (in some cases vastly different) definitions. The current definition per Wikipedia seems pretty good:

DevOps is a software development method that stresses communication, collaboration and integration between software developers and information technology (IT) professionals. DevOps is a response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services.” – Wikipedia

There has always been an important relationship between the people who develop applications, and the people who manage the servers where these applications live long-term. It hasn’t always been a positive relationship, but there is a relationship nonetheless.

What concern does this movement address?
Not everything fits into a generic generalization, but the contention historically relates to:

1)      Developers love to be nimble and make changes (bug fixes, updates, etc.) very quickly as they are ready. This is not a bad thing – especially if your business is dependent on the success of a particular application. A developer makes a change on their development machine, runs through some tests, and wants to push these updates to the production servers… where the contention arises…

2)      Operations people (think server, storage, security, and network administrators) are responsible for the 24x7x365 monitoring, operation, and support of the organization’s IT systems. These people thrive on consistency and plans. To do their jobs well they need to know the operating system, how it was configured, what changes were made, what changes are planned, how will those changes impact the running systems? Will there be performance impacting changes? Will changes push capacity thresholds? Will the changes impact the stability?

See the potential issue there? I can’t count how many times I’ve heard from a developer “but it works fine on my machine” after deploying code and either it doesn’t work as expected or it creates operational support challenges. It is very likely that the development environment isn’t as secure as the production systems. It’s also fairly common for a developer to install an update – perhaps the latest version of some development framework – and assume that it is either already on the server or that installing it there won’t be an issue.

So what’s the solution? What is DevOps?
The solution is actually rather simple in concept (but not always easy to get people to follow). A main ingredient needs to be communication. Operations people need to communicate the environment, its constraints, generalized reasons for certain “restrictions” (permissions, changes, etc.). Developers need to communicate what they’re planning, what dependencies exist, what changes made need to be made to the systems, and generalized reasons justifying the changes.

Another key ingredient needs to be education. It’s fine to communicate things, but both departments need to understand what the other is doing and why. It will make the communication part easier, and will help both departments appreciate the reasons for certain guidelines.

DevOps in hosted world
Addressing the DevOps topic is often a easier in a corporate enterprise environment. Communication not working? Let’s get the IT Director involved and they’ll referee to straighten things out. There are a lot of hosting companies that either hide from this type of interaction or don’t have the experience and expertise to deal with it. The support teams may know operating systems but not know a model view from a case statement from a dynamic query (whatever – you know what I mean). This increases the challenge level but definitely does not rule out successful DevOps implementation. It just takes a bit more work up-front before engaging with a hosting company.

First, successful DevOps interaction with a site or server host is going to require managed hosting. In an unmanaged situation the client is generally on their own. Super-cheap hosting models are generally unmanaged – it costs money to maintain quality, experienced, and educated operations people, and make them available as-needed.

Second, you’ll want a host that doesn’t hide. Does the host respond quickly to email tickets? Do they provide telephone access not only for critical issues, but for talking about plans and changes and working proactively through upcoming deployments?

Third, you’ll want a host with knowledge and experience. Do they have developers on staff that work in the same development stack that you do? Are those people available to help out if needed? Sometimes development topics can be extremely technical and it might help to have a developer-to-developer interaction. Do the support people have some basic development knowledge? If you explain to them that your code is doing X, Y, and Z – do they get it?

Lastly, you’ll want a host who is proactive. Communication should flow both directions – not just from the customer’s developers to the host – but the host should also proactively review the systems and communicate and trends being noticed. Patching and change schedules should be communicated and coordinated. Operations people should make themselves available during deployments to assist and closely monitor for any issues. Scheduling a planning meeting to discuss ideas, plans, and suggestions (from both sides) shouldn’t be a hassle.

Do any hosts really operate at this level?
Yes, some do. Definitely not all of them though – in fact, in a world with thousands of “hosts” available, a small percentage provide this level of quality interaction.

If you don’t already know, OrcsWeb was founded 17 years ago (1996) and focuses on exactly this level of interaction with its customers. Its goal is to operate as an extension of the customers IT team and work proactively together for the overall success of the project. The Complete Care Managed Services (CCMS) that is available to all cloud server and dedicated server hosting clients provides all of the above: Proactive system reviews, system operational analysis, performance analysis (slow load pages, long running queries, optimization pointers, etc.), architectural guidance as needed – in addition to 24x7x365 monitoring with immediate alert response, 24x7x265 critical issue resolution, security solutions (VPN, firewall, ISP, etc.)

There may be other options too – I’m just not familiar with any. Before you decide who to partner with, I’d suggest picking up the phone and calling candidates. Chat a little with the person who answers the phone. Ask about the possibility of having a pre-sales architectural call to discuss your project and their solutions. Are you dealing with just a sales person or do they engage experienced architects to understand your concerns and needs?

I hope this helps you better understand the DevOps topic and some of the surrounding challenges (aka opportunities), and I hope it helps you make a good decision with selecting your hosting partners. Remember that group of people is going to be key to your success as a developer/manager/owner, so take the time up front and choose wisely.

Happy hosting!