Take the 2-minute tour ×
Webmasters Stack Exchange is a question and answer site for pro webmasters. It's 100% free, no registration required.

I have a very basic question about web hosting. How will I be able to manage software packages on shared hosting services?

For example, some of my python scripts might require the MySQL-Python package, which is of course easily install-able on my own machine, I have sudo permission and can just apt-get install, or pip install.

How will web hosting companies manage their software packages? Do I have to install from sources, set paths to specified directories? That would be a PITA.

I wanted to know it so I know how I can organize my code so I can migrate my website from my workstation to web hosting companies seamlessly.

Again, I know this probably varies from company to company, I am just trying to understand some industrial basics before asking more ignorant questions.

share|improve this question
add comment

2 Answers

The short answer is that with shared web hosting, you don't do your own package management. While you usually get shell access, you don't get sudo or any other permissions you need to do this. Installing even a moderately complex package would require extensive and non-trival rewriting of install scripts. It is well beyond a PITA, it is (IMHO) impossible. Besides, the TOS of most (all?) shared hosting companies does not let you run packages you manage yourself for sound security reasons. (This also means you should probably stay away from those who allow their users do this, as a badly managed package may open a shared host up to all sorts of attacks.)

Shared hosting is cheap. That is the only thing it has going for it. If you do your research, you may be able to find a hosting provider that let you pick the all packages you're interested in from a menu of packages supported, and is willing to maintain those you pick (check out what versions they have on offer - stale versions are not a good sign). This is not too hard with LAMP when the P means "PHP", but a bit harder when the P stands for "Python", and (at least in my neck of the woods) near impossible if you think the P means "Perl".

If you are serious about managing your own packages, avoid shared hosting. Instead, lease a physical or virtual server (with or without a cloud-based arrangement).

share|improve this answer
add comment

One of the most common ways that shared hosting companies allow you to manage your hosting is cPanel. It allows you to install packages that are provided by the hosting company, here's the documentation on that: http://docs.cpanel.net/twiki/bin/view/AllDocumentation/CpanelDocs/SiteSoftware

I'm not sure if you're hoping to use your software for just your own use on shared hosting, or you are going to be distributing it to others. If it's the latter then this may be helpful as it describes how to package your software so that hosting site providers can make it available: http://docs.cpanel.net/twiki/bin/view/SoftwareDevelopmentKit/CpAddonsIntro.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.