A customer needs to evaluate the requirements of the application to choose what kind of hosting to use. Such considerations include database server software, scripting software, and operating system. Most hosting providers provide Linux-based web hosting which offers a wide range of different software. A typical configuration for a Linux server is the LAMP platform: Linux, Apache, MySQL, and PHP/Perl/Python.
Web hosting packages often include a Web Content Management System, so the end-user doesn't have to worry about the more technical aspects.
The scopes of hosting services vary widely. The most basic is web page and (small) file hosting, where files can be uploaded via FTP or a Web interface. The files are usually delivered to the Web "as is" or with little processing. Many ISPs offer this service for free to their subscribers. People can also obtain Web page hosting from other, alternative service providers. Web page hosting is typically free, advertisement sponsored, or cheap. Web page hosting is generally sufficient only for personal home pages. A complex site calls for a more comprehensive package that provides database support and application development platforms (e.g. PHP, Java, and ASP.NET). These facilities allow the customers to write or install scripts for applications like forums and content management. For e-commerce, SSL is also required.
The host may also provide a Web interface control panel (e.g. Cpanel, Helm, Plesk) for managing the Web server and installing scripts as well as other services like e-mail.
Some hosts specialize in certain software or services (e.g. e-commerce). They are commonly used by larger companies to outsource network infrastructure to a hosting company.