Monthly Archives: Август 2015

Liferay. Часть 4. Регистрируем сервис ApacheTomCat.

Выкачиваем полный бистрибутив томкат 7.0.42 — 32 или 64 — какая винда у нас смотря

cd C:\bundles\liferay-portal-6.2-ce-ga2-1\tomcat-7.0.42\bin

service install LifeRay_X64
tomcat7w //ES//LifeRay_X64

JAVA

-XX:MaxPermSize=512m <- — — -для 64 разрядной винды!!!
-Dfile.encoding=UTF8
-Duser.timezone=GMT
-Djava.security.auth.login.config=»C:/bundles/liferay-portal-6.2-ce-ga2-1/tomcat-7.0.42/conf/jaas.config»
-Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false

REMOVE SERVICE

tomcat7 //ES//LifeRay_X64

Liferay. Часть 3. Настраиваем Apache 2.2. + mod_jk.so для работы на Front. Переводим портал на SSL (TSL).

 

Fronting Liferay with Apache Web Server using mod_jk Connector:
In this example I am going to explain how to access a liferay tomcat server using Apache web server. For this we require Liferay server, Apache web server and mod_jk connector.
In this example I am using Liferay Tomcat 6.2 , Apache Web server 2.2(httpd-2.2.25-win32-x86-openssl-0.9.8y.msi) and mod_jk (tomcat-connectors-1.2.x-windows-i386-httpd-2.2.x.zip)
1. Installing The Apache Web Server:
Download the Apache Web Server here and to Install follow this link 2. Downloading and Enabling mod_jk in httpd.conf file:Download the mod_jk from here.
Once the mod_jk connector is downloaded, unzip and copy the ‘mod_jk.so’ file from it and paste it under “modules” folder of your Apache installation directory.
For eg: C:\Program Files (x86)\Apache Group\Apache2\modules
To access mod_jk, we need an entry in ‘httpd.conf’ file which is located under “conf” folder of your apache installation directory.Paste the below lines in your ‘httpd.conf’ file after “

#LoadModule vhost_alias_module modules/mod_vhost_alias.so”
# Load mod_jk module
LoadModule jk_module modules/mod_jk.so

3. Creating ‘workers.properties’ file and including in httpd.conf file: Create a “workers.properties” file under the “conf” folder of your apache installation directory.
copy the below 4 lines and paste it in your newly created workers.properties file.

worker.list = worker1
worker.worker1.port=8009
worker.worker1.host=127.0.0.1
worker.worker1.type=ajp13

Here worker.worker1.port is the AJP port number of your Liferay tomcat server. and now include below line in your ‘httpd.conf’ file after “LoadModule jk_module modules/mod_jk.so”
JkWorkersFile conf/workers.properties
4. Creating VirtualHost in httpd.conf file:
Copy the below code and paste it at the end of your httpd.conf file.

# Listen for virtual host requests on all IP addresses
NameVirtualHost *:80

<VirtualHost *:80>
ServerAdmin serveradmin@akram.com
ServerName http://www.akram.com
JkMount /* worker1
JkMountCopy On
</VirtualHost>

Here ServerName is your domain name and worker1 is the name of the worker you defined in your workers.properties file.
5. Adding entry in the hosts file:
Now you must add your server name (which is mentioned as ServerName in VirtualHost of your httpd.conf file) in your hosts
file which is located under “C:\Windows\System32\drivers\etc” as shown below.
127.0.0.1 http://www.akram.com
6. Restart your Apache Web Server and start your Liferay server.
7. Access your Liferay server with the domain name (ex: http://www.akram.com)

Liferay. Часть 2. Настройка интеграции Active Directory LDAP и NTLM.

Пришло время проверить, как портал взаимодействует с нашей ИТ инфраструктурой

Импорт через LDAP работает не сразу, но регулярно. Нужно терпение. Да , и Вы должны понимать, что процедура перебирает всех пользователей AD — если Вы что то поменяли в AD (например удалили у пользователя Email) — это изменение в течении 20 минут прилетит в профиль пользователя на портале. Обязательной проверкой при загрузке пользователя является заполненное поле email (в MS LDAP атрибут — mail). Если Вы хотите нормального старта проекта — потрудитесь проверить наличие актуальных записей email в Ваше MS Active Directory (в представленном случае MS Windows 2008 R2, и уровень  Active Directory — domailControllerFunctionality = 5) — это поможет организовать безотказный вход пользователей на портал и восстановление забытых паролей через email.

Поднимаем домен контроллер  MS Windows для песочницы, смотрим параметры и атрибуты LDAP в AD Explorer.

В Панели управления — Конфигурация -Аутентификация — Общий вход по экранному имени (Screen Name)

В Панели управления — Конфигурация -Аутентификация LDAP, добавляем конфигурацию для MS AD

ldap://10.10.101.2:389
dc=company,dc=com
company\Administrator

password=pasw0rd

Тестируем, если ничего не получается , еще раз смотрим в в AD Explorer.

Заполняем поля сопоставления для Microsoft LDAP — пользователи:

Заполняем поля сопоставления для Microsoft LDAP

Группы
Сопоставление групп
Смотрим, что пишет нам сервер при попытке загрузить пользователей.

NTLM:

Для авторизации (только IE) без логина — пароля, используя данные AD — настраиваем секцию NTLM:

Добавляем учётную запись компьютера (New → Computer) с именем (например — NTLM) в папку Computers в Active Directory
Задаем пароль для созданной учетной записи компьютера в оснастке ADSI Edit 

NTLM$@COMPANY.COM с паролем Passw0rd

ADSI

При успешной настройке и использовании Internet Explorer вы увидите окно AD авторизации.

Liferay.Часть 1. Краткий обзор и подводные камни.

Автору подвернулась задача сделать внутри корпоративный (т.е. с AD авторизацией) сайт с  форумом, голосовалкой, библиотекой документов и доступом с разных сторон Интернет -Интранет через TSL и мобильных (Android и i-OS) устройств. Бесплатное решение.Чтобы сразу. Быстро (это не получилось). Без серьезных разработок. И разные модераторы для разных разделов. Времени на отбор и тестирование продуктов не было. Подвернулся Liferay CE с открытым исходным кодом, если быть точнее на тот момент Liferay Portal 6.2 CE GA2  (сейчас уже GA4). Тема была не изучена и я с дуру приступил к развертыванию. Сразу обрадовала портлетная архитектура продукта, соответствующая современным корпоративным порталам, магазин приложений для ленивых , откуда впрочем, из бесплатных приложений в последствии толком ничего не было установлено. Тем не менее проект удалось вывести в свет и портал заработал.

Решение достаточно изящное из коробки. Тема по умолчанию выглядит хорошо. Наличие Панели управления и безупречной системой раздачи прав, интеграции с LDAP (импорт пользователей из AD), Active Directory NTLM авторизации в IE и управление множественными организациями путем назначения организационных администраторов подкупает собой добротностью. Немного корявая локализация тоже по началу не сильно смущает. Из предложенного на тот момент функционала в пакете нормально работала только вся инфраструктура прав доступа, интеграция с корпоративными каталогами (AD) , немного убогие web формы — которые мне за небольшую плату потом доработали  (компания (-=реклама=-)) , форум (с небольшими глюками), опросы, публикация Web контента (почти безупречна), блоги (на этом построен весь портал) и CMS  работает безупречно в рамках стандартной темы. Если заказчик требует большего (как в моем варианте) — добро пожаловать — Eclipce (в моем случае Kepler)+ Liferay Plugin SDK (+ Maven), CSS + Compas — и все-все , что я так не люблю, ибо не разработчик я (по крайней мере сайтов) в душе совсем. В GA2 косяк с основной темой  в CSS при публикации  web контента для браузеров Firefox выводил  из себя, пока добрые люди не разобрались, но об этом позже , терпеливому читателю…

Для тех кто привык работать коммерческими порталами только в CMS (без доп. программирования, допиливания системной части ) и тем кому нужен быстрый результат за неделю — забудьте, выберете другой продукт — чем дороже тем лучше. Но, — вы скачали сборку с TomCat, разархивировали на своем ноутбуке запустили startaup.bat и наслаждаетесь. Можно завтра показывать заказчику. Вы даже не подозреваете, что Вам еще немного будет нужно все допилить. Лучше сразу разверните песочницу виртуальной машине, все делайте там, а потом накатывайте на продуктив, ну Вы знаете ….

Еще из недостатков. Наличие документации на сайте Liferay достаточно условное. Т.е. есть wiki по разным версиям с комментариями индийских разработчиков, куда иногда приходит STAFF и успокаивает разгневанных, но иногда ковырять приходилось долго и не все удавалось понять. Да и разработчиков в России достаточно мало, а те кто есть, за проекты менее 200 тыс. руб. не берутся. Фрилансеры про Liferay слушать не хотят — им  и так хорошо, поставить задачу там даже не пытайтесь.

Далее будут записи с салфеток для себя при сложной для продукта операционной системы windows 2008 server (не забывайте запускать все с правами администратора)   — под linux установка в некоторых моментах проще, но у меня требования заказчика — закон — OS windows. Подразумевается, что Вы немого почитали про продукт и знаете, что  вся конфигурация liferay хранится в файле portal.properties в корне каталога портала.

1.1 Считаем, что переменные среды JAVA_HOME и CATALINA_HOME Вы прописали, подключим MySQL (при инсталляции MySQL не ставьте его в каталог Programm File х86 — потом проще будет в скриптах читать c:\MySQL):

mysql -u root -p
CREATE DATABASE lportal CHARACTER SET utf8;
mysql> GRANT ALL PRIVILEGES ON lportal.* to ‘ladmin’@’localhost’ IDENTIFIED BY ‘12345’;

И (не кидайтесь в меня камнями — знатоки My SQL) забекапим базу сразу 🙂

>mysqldump -u root -p lportal > C:\TEMP\lportal.sql

проверяем восстановление (новичкам особенно обратить внимание на направление слеш) :

use lportal;
SOURCE c:/TEMP/lportal.sql;

эта процедура не описана только ленивым, останавливаться на ней не будем.