Enterprise Collaboration with Liferay
The Way of the Ray
![© Alex Timaios, Fotolia © Alex Timaios, Fotolia](/var/linux_magazin/storage/images/linux-magazine.com/issues/2008/91/the-way-of-the-ray/fo_3447637_strahl_alex-timaios.png/430925-1-eng-US/fo_3447637_strahl_Alex-Timaios.png_medium.png)
© Alex Timaios, Fotolia
Liferay is a powerful and easily customizable CMS that is ideal for community collaboration – once you get it configured.
Users on business networks often struggle to get increasingly heterogeneous infrastructures to work seamlessly. As proprietary software loses market share to more open technologies, infrastructure administrators must find ways to preserve ease of use across increasingly differing platforms. In addition to interoperability problems, each company must move forward to more collaborative environments in order to remain competitive and make the best use of its greatest (and largely untapped) asset – the ideas of its employees.
The Liferay CMS has been around for years and it keeps getting bigger and better. Many companies have implemented Liferay to address a whole spectrum of needs. From an e-commerce platform to a collaborative intranet portal, Liferay has the scalability and functionality built-in to deploy quickly and grow as the needs of the company grow.
Liferay Portal (Figure 1) provides your organization with a powerful portal for creating and managing content pages, message boards, and other collaboration tools. The Liferay CMS is not a 'silver bullet' that will solve every systematic transparency, communication, and collaboration issue for every company, but in my experience, Liferay is just about the best portal/content management system out there and a superb foundation for unifying and simplifying company communication.
The Liferay CMS comes with a large number of useful portlets – ready-made tools that let you tailor your Liferay site to the needs of your organization. But more importantly, Liferay makes it easy to bring together many different systems in one place. Departments can arrange and rearrange content in their own web space, relieving the sys admin from the duties of posting and arranging content for everyone in the organization.
So, why isn't everyone using Liferay? It is big, it is Java, and the documentation is a little intimidating. At more than 86MB (bundled with Tomcat), Liferay is one of the larger CMS packages out there. Because it is written in Java, extensibility might require some extra attention. Liferay has a steeper learning curve than the traditional CMS running on a LAMP box. The "Getting Started" documentation is easy enough to find, but because of the size of the Liferay project and the variety of configuration options, digesting it and getting started quickly is a daunting task.
Liferay supports a variety of complex configuration scenarios. In a typical scenario, a company might need an intranet site for all departments to contribute to, but access controls are necessary for preventing salespeople from rooting around in accounting's private documents and keeping HR from dropping new hire documentation in the middle of IT's web space. Different departments can use different aspects of Liferay for different things. The company will make use of the Iframe Portlet or the Web Proxy portlet to bring the web-management interfaces of several different systems like Nagios, Hobbit, or MRTG together under one roof.
The Message Boards portlet serves as a very basic help desk. Human Resources will use the Document Library portlet to post policy manuals. Sales and Marketing departments will use the Web Proxy portlet to pull in a sales dashboard report from the CRM system and the portlets related to Liferay's Journal Content portlet to store and disseminate press releases and information about product promotions.
Because Tomcat will not run on port 80 without root privileges, the configuration described in this article uses Apache HTTP server and mod_jk to serve Liferay on port 80 and allow for vhosting with other web-based applications existing on the same machine. Liferay comes set up to use a Hypersonic database, but this configuration doesn't work well for production use. In this example, I will use MySQL as the production database.
Getting Ready
When you set up your Linux computer, make sure the system includes development tools, development libraries, and MySQL. Unless you need it, get rid of the GUI. If you decide to use the software firewall, make sure you leave ports 22, 80, and 8080 open. When the testing is complete, 8080 will be closed. If you are not familiar with manual firewall configuration, you can save some time by installing system-config-securitylevel.
Setting up MySQL
Your Liferay CMS will store and retrieve data from a back-end database system. In this case, configure the system so MySQL starts on boot. Enable the system with chkconfig mysqld on and check it with chkconfig --list mysqld. The numbers represent runlevels. The last command should produce output that indicates mysqld is set to run on runlevels 2,3,4, and 5. Log in to MySQL and create the Liferay database:
mysql -u root -p enter the password at the prompt create database lportal
Next, create the Liferay user account and give it all privileges on lportal.*.
Infrastructure
The Liferay configuration described in this article requires Apache, Tomcat, and MySQL. Depending on your Linux distro, some of these components might already be running on your system, or you might have the option of setting up the component through your distro's package management system. Compatibility of the specific versions may vary. Alternatively, you can install the components from source code.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
![Learn More](https://www.linux-magazine.com/var/linux_magazin/storage/images/media/linux-magazine-eng-us/images/misc/learn-more/834592-1-eng-US/Learn-More_medium.png)
News
-
NVIDIA Released Driver for Upcoming NVIDIA 560 GPU for Linux
Not only has NVIDIA released the driver for its upcoming CPU series, it's the first release that defaults to using open-source GPU kernel modules.
-
OpenMandriva Lx 24.07 Released
If you’re into rolling release Linux distributions, OpenMandriva ROME has a new snapshot with a new kernel.
-
Kernel 6.10 Available for General Usage
Linus Torvalds has released the 6.10 kernel and it includes significant performance increases for Intel Core hybrid systems and more.
-
TUXEDO Computers Releases InfinityBook Pro 14 Gen9 Laptop
Sporting either AMD or Intel CPUs, the TUXEDO InfinityBook Pro 14 is an extremely compact, lightweight, sturdy powerhouse.
-
Google Extends Support for Linux Kernels Used for Android
Because the LTS Linux kernel releases are so important to Android, Google has decided to extend the support period beyond that offered by the kernel development team.
-
Linux Mint 22 Stable Delayed
If you're anxious about getting your hands on the stable release of Linux Mint 22, it looks as if you're going to have to wait a bit longer.
-
Nitrux 3.5.1 Available for Install
The latest version of the immutable, systemd-free distribution includes an updated kernel and NVIDIA driver.
-
Debian 12.6 Released with Plenty of Bug Fixes and Updates
The sixth update to Debian "Bookworm" is all about security mitigations and making adjustments for some "serious problems."
-
Canonical Offers 12-Year LTS for Open Source Docker Images
Canonical is expanding its LTS offering to reach beyond the DEB packages with a new distro-less Docker image.
-
Plasma Desktop 6.1 Released with Several Enhancements
If you're a fan of Plasma Desktop, you should be excited about this new point release.