CMS (English content management system) is a computer program or system used to provide and organize the joint process of creating, editing and managing text and multimedia documents (content or content). Typically, this content is viewed as unstructured data for the object problem, as opposed to structured data, usually managed by a DBMS.
In general, CMS is divided into: ECMS - Enterprise Content Management System (enterprise content management system) and WCMS - Web Content Management System (Web content management system).
Due to the fact that ECMS have a deep internal classification by subject area (HRM, DMS, CRM, ERP, etc.), the term CMS has replaced WCMS, becoming a synonym for site management system. Such CMS allows you to manage the text and graphic content of the website, providing the user with convenient tools for storing and publishing information.
All CMS require PHP as a platform and MySQL as a DB (database). Most CMS do require PHP and MySQL, but some are also capable of running on platforms such as Perl, Zope, Python, ASP.NET and supporting Oracle, MS SQL, PostgreSQL as a database. But the percentage of the latter is quite small and insignificant, this is due to the wide distribution and use of the PHP platform and the MySQL database. The very requirement of a certain platform and database is due to the fact that the CMS is used for larger and more serious projects than a one-page site. PHP is more powerful and less restrictive than HTML and is more convenient when working through a shell. On 99% of sites with CMS there is a registration function, which already implies a certain "web script" (small web program) that can only be reproduced using PHP and as an addition - entering registration data (such as login and password) in a certain place, namely in the database. The database is also used for system records that the CMS needs to work correctly.
CMS was created for people who do not understand anything in web programming. No, it is not, the fact that a CMS does most of the functions that an average web programmer can do does not mean that it is intended for a beginner or completely non-Internet-savvy audience. CMS was created for convenience and time saving, because the web programming language has the same results, and the programmer and CMS will be the same both in the code and in action. Such a system allows you not to waste time on inventing a bicycle, but to start working right away. In addition, most of the site customers really do not understand much in web programming, so it is much easier and more convenient for them to do everything in a couple of clicks without reading long instructions and directions.
CMS will replace manual web programming. Rather, the "manual" work will be directed in a different direction, since even the CMS needs "manual" maintenance. Some of the settings are made through a special panel, but in order to go beyond the proposed one, you need to act through the code, this is where the "manual" work comes back, so the death of web programmers is not threatened yet. Moreover, setting up the "manual" part of the CMS is more difficult than writing a simple website from scratch.
CMS can do nothing more than what is put in it by the creators. Most modern CMS support plugins, modules and other enhancements that extend their functionality. As a rule, each CMS supports international standards, and it is not difficult to write any addition, since the code complies with the generally accepted standard. Among the added extensions, there can be things of absolutely any complexity. From a simple greeting that changes depending on the time of day, to a forum that syncs with the site's database.
All good CMS costs a lot of money. Not all, there are a number of fairly good and popular CMS that are distributed for free. Most of the CMS used for small sites or home pages are free. When developing a paid CMS, developers focus on medium and large firms for which the cost of a CMS is not as high as it seems to us. Nevertheless, this does not in any way affect the popularity of free options, because firms most often need specific things that sites have never needed. From this it follows that a free CMS option is quite suitable for a home page or even an average site.
Free hosting does not allow installing CMS. Most often this is so, because the installation of a CMS requires certain resources, and if there are thousands of sites on the hosting and all require a little bit of resources, hosting simply will not cope. Therefore, free hosting prefers, is provided either on their CMS or simply as a place on the network to play regular html pages. Particular attention should be paid to hosting with a personal CMS, as it is sometimes not worse than the one you plan to install, and sometimes even better. But it is also less customizable since the hoster again focuses on low resource consumption.