There is a very old site is written in a closed content management system(CMS). This system is no longer supported. I want to rewrite this site. Because it does not scale now and a lot of bugs.
Clearly, this system is no good.
I want to use Liferay.
I know that Liferay allows users to configure an access to different applications through a single site using portlets.
I'm interested in the function -
etc.
Ie all the things that allow many content management system (CMS). Can I use the Liferay as content management system (CMS)?
The core of Liferay is a generic portlet container. It organized pages, on which portlets are displayed. It manages authentication, security, etc.
Liferay comes with pre-made portlets to manage web content: it's the Journal portlet. See the corresponding section in the doc. It supports versioning, internationalization, templating, role-based security, workflow.
It covers the area of requirements you described. Whether it covers the exact requirements you have I don't know, since they were not very precise (as said these are only "areas" of requirments).
Internally, Liferay uses services that can be accessed more-or-less easily programatically. Content is stored in a database. Documents are stored via one level of abstraction called the "FileSystemHook". So files can be stored on the file system, or in JCR repostiory, or (probably) in the database itself. JCR is a standard for managing content, and if this option is used, I guess it can also be accessed via some interface.
All that makes Liferay a pretty extensible platform out of the box or with custom development, but it also has a cost in complexity.
PS: I haven't used Liferay actively in the past two years, so some of this information might be outdated.