I have recently switched over to Liferay1. I was looking for a CMS/Webportal/thingie that is more in tune with the rest of my applications (which are written in Java/Glassfish). I could have chosen Hippo2, but I didn't. Liferay seems to align very good with Vaadin3, which is something I plan on perhaps using in the future.
Installing Liferay on GlassFish 4
Liferay comes with a choice of pre-defined application servers, which is very handy. But I already had a Glassfish server installed, so I wished to use that one, and then things do get a bit more complicated4 5.What follows are some of the things that I ran up against, and how to do some of the administration that I required.
Global site
Apparently, since version 6, there's a Global6 site that is used for defining resources that are accessible for all other sites. Something I don't need, as I only required a one-site install. But it does show that the product seems defined for many websites of an Enterprisy nature.Making the site private
Control panel -> Sites -> Configuration -> Site Settings -> Membership Type = Private
There are three settings for the site: open, restricted and private.- Open
- Users can become members of the site at any time. Users can join sites from the My Sites portlet.
- Restricted
- Users can request site membership but site administrators must approve requests in order for users to become members. Requests can be made from the My Sites portlet.
- Private
- Users are not allowed to join the site or request site membership. Private sites don’t appear in the My Sites portlet. Site administrators can still manually select users and assign them as site members.
It is also possible to define how new users are registered on the site12
Favicon
See for changing the favicon7 the (future) blog on "Liferay Themes".Apple Icons
I got the following warning in my glassfish logs. Apparently I need to get some apple icons in there:[2015-09-19T17:58:16.236+0000] [glassfish 4.1] [INFO] [] [] [tid: _ThreadID=29 _ThreadName=Thread-8] [timeMillis: 1442685496236] [levelValue: 800] [[
17:58:16,235 WARN [http-listener-1(5)][code_jsp:114] {code="404", msg="Not Found", uri=/apple-touch-icon.png}]]
[2015-09-19T17:58:16.399+0000] [glassfish 4.1] [INFO] [] [] [tid: _ThreadID=28 _ThreadName=Thread-8] [timeMillis: 1442685496399] [levelValue: 800] [[
17:58:16,398 WARN [http-listener-1(4)][code_jsp:114] {code="404", msg="Not Found", uri=/apple-touch-icon-precomposed.png}]]
17:58:16,235 WARN [http-listener-1(5)][code_jsp:114] {code="404", msg="Not Found", uri=/apple-touch-icon.png}]]
[2015-09-19T17:58:16.399+0000] [glassfish 4.1] [INFO] [] [] [tid: _ThreadID=28 _ThreadName=Thread-8] [timeMillis: 1442685496399] [levelValue: 800] [[
17:58:16,398 WARN [http-listener-1(4)][code_jsp:114] {code="404", msg="Not Found", uri=/apple-touch-icon-precomposed.png}]]
Unable to change default Display Icon
When attempting to change the display icon prominently displayed in the left-upper corner of the Liferay website, I ran into a little problem.Changing it can be done using
Control Panel -> Portal Settings -> Display Settings (Under Miscellaneous)
The error message was:GRIZZLY0039: Request URI is too large.
java.nio.BufferOverflowException
Apparently, it was necessary to increase the buffer size of the glassfish application server8 9:java.nio.BufferOverflowException
Configurations -> cluster-config -> Network Config -> Transports -> tcp -> Buffer Size' to 131072 or more.
Liferay site
You can probably remove the Liferay Inc company site that is available standard in the demo.Issues with the server.policy file
The server.policy file of Glassfish needs to be adapted for Liferay to work properly10.I added the following which seemed to do the trick:
grant codeBase "file:${com.sun.aas.instanceRoot}/applications/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${com.sun.aas.instanceRoot}/generated/-" {
permission java.security.AllPermission;
};
permission java.security.AllPermission;
};
grant codeBase "file:${com.sun.aas.instanceRoot}/generated/-" {
permission java.security.AllPermission;
};
What version?
You can see the version of the Liferay instance you are running, by going to:Control panel -> Configuration -> Server Administration
There you will findLiferay Portal Community Edition 6.2 CE GA4 (Newton / Build 6203 / April 16, 2015)
Uptime: 3 Days, 14:53:03
Uptime: 3 Days, 14:53:03
References
- [0] Drupal
- https://www.drupal.org/
- [1] Liferay
- http://www.liferay.com/
- [2] Hippo
- http://www.onehippo.com/en
- [3] Vaadin
- https://vaadin.com/home
- [4] Liferay Documentation - Installing Liferay on GlassFish 4
- http://www.liferay.com/documentation/liferay-portal/6.2/user-guide/-/ai/installing-liferay-on-glassfish-3-liferay-portal-6-2-user-guide-15-en
- [5] Liferay Dev - Installing Liferay on GlassFish 4
- https://dev.liferay.com/discover/deployment/-/knowledge_base/6-2/installing-liferay-on-glassfish-4
- [6] Liferay Wiki - Global Scope
- https://www.liferay.com/community/wiki/-/wiki/Main/Global+Scope
- [7] Liferay Wiki - How to change the favorites icon
- https://www.liferay.com/community/wiki/-/wiki/Main/How+to+change+the+favorites+icon
- [8] Stackoverflow - Glassfish 3.1 maximum uri length
- http://stackoverflow.com/questions/5936165/glassfish-3-1-maximum-uri-length
- [9] Iliachemodanov Blog - Configuration of long URLs in GlassFish
- http://www.iliachemodanov.ru/en/blog-en/13-tools/glassfish/24-long-urls-in-glassfish-en
- [10] Liferay Forums - Deployment problem on Liferay6.2 Glassfish4
- https://www.liferay.com/community/forums/-/message_boards/view_message/52843459#_19_message_48023536
- [11] Leveraging Liferay’s Multi-site Capabilities
- https://dev.liferay.com/discover/portal/-/knowledge_base/6-2/leveraging-liferays-multi-site-capabilities
- [12] Time for action – disabling the Register option for a guest user
- https://www.packtpub.com/packtlib/book/Web-Development/9781849517003/6/ch06lvl1sec91/Time%20for%20action%20%20disabling%20the%20Register%20option%20for%20a%20guest%20user