Linux Content Management System Server

D

DevynCJohnson

Guest
There are many types of Linux servers. One popular type includes web-servers (or HTTP-servers). Linux web-servers are servers that provide web-content such as web-pages using HTTP. A particular sub-type that is important to discuss is a Content Management System (CMS). A Content Management System provides an easy way to edit, publish, manage, organize, etc. web-content via a single interface. Content Management Systems are used in conjunction with HTTP-daemons (such as Apache, Nginx, or others). Understanding the concept of a CMS and the available systems is helpful to administrators.

Concept
A Content Management System (CMS) makes it easy to manage and maintain a website. Web admins can simply install a HTTP-daemon and then place the web-page files in the designated directory for such files. However, it would be more difficult for the admin to manage the content. Thankfully, CMSs make it easier and more convenient to manage the web-content. The admin can use the CMS's interface to manage and organize content (i.e. upload files, create pages, publish content, manage registered users, edit content, etc.). The CMS will then create, edit, delete, etc. the data, thus saving the admin (or user) time from manually making the changes. In addition, many CMSs use a web template system (via a template processor) to provide a standard page format and appearance.

HTTP-daemons (like Apache, Nginx, Lighttpd, Jetty, Zope, and others) are still needed on servers that use a Content Management System. The daemon will listen for network requests and then get and send the content. To clarify, the CMS creates and organizes the web content while the HTTP-daemon obtains requested web content and sends it to the client. To further clarify and illustrate, think of a web-server like a restaurant and the clients/web-browsers as customers. In this scenario, the CMS is the manager, cooks, and supervisors while the HTTP-daemon are the servers (waiters/waitresses).

NOTE: CMSs are usually used on AMP (Apache+MySQL+PHP) stacks. However, a CMS is not required to have a LAMP (Linux+Apache+MySQL+PHP) server.

Along with Content Management Systems and HTTP-daemons, web-servers use some type of database for storing various data (such as CMS settings or user registrations). Such databases are typically Structured Query Language (SQL) databases that are run by a Relational Database Management System (RDBMS). Also, CMSs use some type of server-side scripting (such as PHP, Perl, or Python) for dynamic content. The RDBMS manages data in the SQL database and the server-side scripting interpreter executes code.

Content Management Systems
Many CMSs are available for Linux web-servers. Each CMS has advantages and disadvantages (depending on the website's needs). In addition, CMSs may use different database types, server-side scripting, RDBMSs, etc.
  • b2evolution - b2evolution (http://b2evolution.net/) is an open-source CMS that is similar to WordPress. b2evolution is written in PHP and supports plugins and skins/templates. This framework is HTML5 and CSS3 compliant.
  • Django-CMS - Django-CMS (http://www.django-cms.org/) is an open-source CMS that uses the Django framework which is written in Python. Django-CMS supports plugins.
  • Drupal - Drupal (https://www.drupal.org/) is open-source, written in PHP, and supports modules/plugins and themes/templates. Supposedly, Drupal is faster than many CMSs, but is harder to use.
  • DSpace - DSpace (http://www.dspace.org/) is open-source and written in Java. DSpace is used to provide a repository to digital content such as images, videos, files, etc. The framework supports Oracle and PostgreSQL databases.
  • EPrints - EPrints (http://www.eprints.org/) is an open-source Perl-written framework designed for managing open access repositories. EPrints is compliant with the Open Archives Initiative Protocol for Metadata Harvesting.
  • Ghost - Ghost (https://ghost.org/) is an open-source CMS that uses NodeJS (JavaScript) for server-side scripting. Ghost itself is written in JavaScript and supports the SQLite database.
  • ikiwiki - ikiwiki (http://ikiwiki.info/) is an open-source "wiki compiler" written in Perl. This framework uses a revision control system to track changes in pages. When a page is requested, ikiwiki will generate an HTML with the latest changes/edits. To summarize, ikiwiki is a wiki-like system that uses concepts seen in revision control systems (such as Subversion and Git).
  • Joomla - Joomla (http://www.joomla.org/) is open-source and written in PHP. Joomla supports PostgreSQL, MSSQL, and MySQL databases and plugins and themes/templates.
  • MediaWiki - MediaWiki (http://mediawiki.org/) is an open-source Wiki Content Management System that uses PHP. MediaWiki can use one of many Relational Database Management Systems (RDBMS) such as SQLite, MySQL, MariaDB, and PostgreSQL. MediaWiki, like other Wikis, is designed for collaborative editing and publishing of knowledge management systems.
  • Moodle - Moodle (https://moodle.org/) is open-source and commonly used as an online learning environment. Moodle supports MySQL, PostgreSQL, MSSQL, and Oracle databases.
  • OpenCMS - OpenCMS (http://www.opencms.org/) is an open-source CMS written in Java that requires a JSP Serverlet. OpenCMS supports a variety of databases such as MySQL, PostgreSQL, HSQLDB, Oracle, MSSQL, DB2, and more.
  • WordPress - WordPress (https://wordpress.org/) is open-source and uses PHP and MySQL. WordPress is customizable with themes, plugins, and templating. Frequently, BBPress (https://bbpress.org/) and BuddyPress (https://buddypress.org/) are plugins that are installed on WordPress servers to add forums and social networking features, respectively.
Numerous other Content Management Systems are available for Linux.

Further Reading
 

Attachments

  • slide.jpg
    slide.jpg
    60.6 KB · Views: 52,485

Members online


Latest posts

Top