9 березня 2013 р.

Openmeeting, встановлення, налаштування SSL

Openmeetings забезпечує проведення відеоконференції, обмін миттєвими повідомленнями, спільна дошка для малювання, показ робочого столу,спільне редагування документів та інших засобів групового використання API функцій Red5 Streaming Server для віддаленої взаємодії і потокового відео.

Інструкція з встановлення складається з трьох етапів.


Завантажити, розпакувати, запустити скрипт red5, перейти до інтерфейсу web-встановлення.

Я завантажу останню версію - остання версія що у розробці:
https://builds.apache.org/view/M-R/view/OpenMeetings/job/openmeetings/lastStableBuild

cd ~
wget "https://builds.apache.org/view/M-R/view/OpenMeetings/job/openmeetings/lastStableBuild/artifact/singlewebapp/dist/apache-openmeetings-2.1.0.r1450001-26-02-2013_0309.tar.gz"

mkdir red5
tar -C red5 -xzf apache-openmeetings-2.1.0.r1450001-26-02-2013_0309.tar.gz

Використовувані в команді ключі
  • x - дозволяє вам витягувати файли з архіву.
  • f - є обов'язковою опцією. Без неї tar намагається використовувати магнітну стрічку замість файлу архіву.
  • z - дозволяє вам обробляти архів, стиснутий архіватором gzip (з розширенням. gz). Якщо ви забудете вказати цю опцію, tar видасть помилку. І навпаки, ця опція не повинна використовуватися для не стислих архівів.
  • v - робить висновок tar докладним. Це означає, що на екран будуть виведені всі знайдені в архіві файли. Якщо ця опція опущена, інформація, що виводиться в процесі обробки, буде обмежена.
mv red5 /usr/lib
cd /usr/lib/red5

Якщо ви оновлюєте попередню версію то можна зробити збереження попередніх налаштувань
admin -b -file ~/backup_today.zip
Відновити налаштування можна так
admin -r -file ~/backup_yesterday.zip
А ось так можна почати встановлення разом з відновленням
admin -i -file ~/backup_yesterday.zip
Setting default logging context: default 
Context init...
Logger name for context: openmeetings
Context logger config file: logback-config.xml
....
lorer item import complete, clearing temp files
... Done

У моєму завданні було встановити шифроване з'єднання при використанні OpenMeetings з Adobe Flash Player з використанням протоколу RTMPS.

Налаштування RTMPS

1. Налаштування RTMPS для використання його у Adobe Flash Client.

Створю нове сховище ключів (тека red5/conf/keystore) та ключ, використовуючи один той самий пароль як для ключа так і для сховища.
keytool -keysize 2048 -genkey -alias red5 -keyalg RSA -keystore red5/conf/keystore
Enter keystore password: вводимо пароль для сховища ключів
Re-enter new password: повторюємо його, та не забуваємо
What is your first and last name?
 [Unknown]: вводимо назву вашого домену, наприклад: lexxai.pp.ua
What is the name of your organizational unit?
 [Unknown]: вводимо назву вашого підрозділу, наприклад: IT
What is the name of your organization?
[Unknown]: вводимо назву вашої організації, наприклад: Maemo sho mayemo
What is the name of your City or Locality?
 [Unknown]: вводимо назву вашого міста, наприклад: Kyiv
What is the name of your State or Province?
 [Unknown]: вводимо назву вашого регіону, наприклад: Kyivska
What is the two-letter country code for this unit?
 [Unknown]: вводимо назву вашої країни двома літерами, наприклад: UA
Is CN=lexxai.pp.ua, OU=IT, O=Maemo sho mayemo, L=Kyiv, ST=Kyivska, C=UA correct?
[no]:відповідаємо yes, для збереження якщо усе вірно
Enter key password for <red5>
        (RETURN if same as keystore password): призначаємо для ключа той самий пароль що і для сховища, натискаючи ENTER на клавіатурі
Надалі, формую запит для отримання сертифіката у кореневого центру сертифікації (файл red5.csr).
keytool -certreq -keyalg RSA -alias red5 -file red5.csr -keystore red5/conf/keystore
Enter keystore password:
Отриманий файл запиту для отримання сертифікату можна перевірити перед тим як купувати, наприклад на сайті видачі сертифікатів COMODO.
Перевіримо запит на сертифікат на сайті https://comodosslstore.com/checkcsr.aspx
Якщо ви купили сертифікат, або використовували само підписаний сертифікат від свого кореневого центру сертифікації, ви повні отримати сертифікат, ті ланцюжок сертифікатів з проміжних та кореневих центрів сертифікації, що вповноважують їх автентичність. У моєму випадку сертифікати спочатку були протестовані на само підписаному сертифікаті, а потім були придбанні на центрі сертифікації COMODO.
Я отримав кореневий сертифікат центру сертифікації AddTrustExternalCARoot.crt, проміжний сертифікат центру сертифікації PositiveSSLCA2.crt, та файл www.lexxai.pp.ua.crt з сертифікатом  згідно закритого ключа за запитом з файлу red5.csr.
Імпортую кореневий сертифікат центру сертифікації:
keytool -import -alias root -keystore red5/conf/keystore -trustcacerts -file AddTrustExternalCARoot.crt
Enter keystore password:
Certificate already exists in system-wide CA keystore under alias <addtrustexternalca>
Do you still want to add it to your own keystore? [no]:  yes
Certificate was added to keystore
Імпортую проміжний сертифікат центру сертифікації:
keytool -import -alias intermed -keystore red5/conf/keystore -trustcacerts -file PositiveSSLCA2.crt
Enter keystore password:
Certificate was added to keystore
Імпортую сертифікат закритого ключа:
keytool -import -alias red5 -keystore red5/conf/keystore -trustcacerts -file www.lexxai.pp.ua.crt
Enter keystore password:
Certificate reply was installed in keystore
Перевіримо імпортовані ключі з сховища ключів:
keytool -list -keystore red5/conf/keystore
Enter keystore password:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 3 entries
root, Feb 28, 2013, trustedCertEntry,
Certificate fingerprint (MD5): 1D:.........................................:3F
red5, Feb 28, 2013, PrivateKeyEntry,
Certificate fingerprint (MD5): E5:.........................................:6C
intermed, Feb 28, 2013, trustedCertEntry,
Certificate fingerprint (MD5): 0C:.........................................:33
2. Налаштовую використання протоколу RTMPS у RED5
Розкоментував розділ <!-- RTMPS --> у файлі red5/conf/red5-core.xml
   <!-- RTMPS -->
    <bean id="rtmpsMinaIoHandler" class="org.red5.server.net.rtmps.RTMPSMinaIoHandler">
        <property name="handler" ref="rtmpHandler" />
        <property name="rtmpConnManager" ref="rtmpMinaConnManager" />
        <property name="keyStorePassword" value="${rtmps.keystorepass}" />
        <property name="keystoreFile" value="conf/keystore" />
    </bean>

    <bean id="rtmpsTransport" class="org.red5.server.net.rtmp.RTMPMinaTransport" init-method="start" destroy-method="stop">
        <property name="ioHandler" ref="rtmpsMinaIoHandler" />
        <property name="connectors">
            <list>
                <bean class="java.net.InetSocketAddress">
                    <constructor-arg index="0" type="java.lang.String" value="${rtmps.host}" />..
                    <constructor-arg index="1" type="int" value="${rtmps.port}" />
                </bean>
            </list>
        </property>
        <property name="ioThreads" value="${rtmp.io_threads}" />
        <property name="tcpNoDelay" value="${rtmp.tcp_nodelay}" />
    </bean>
Редагуємо файл red5/conf/red5.properties та встановлюю наступні значення
rtmps.port=5443
rtmps.keystorepass=password (password = password you set on your new keystore)
Редагуємо файл red5/webapps/openmeetings/public/config.xml та встановлюю наступні значення
<rtmpsslport>5443</rtmpsslport>
<useSSL>yes</useSSL>
<proxyType>best</proxyType>
Перезавантажуємо  red5 та спробуємо підключитися Ваше з'єднання мусить використовувати RTMPS порт 5443, можете перевірити програмами моніторингу поточних мереживних з'єднань.

Продовження: оновлення сертифікатів, налаштування HTTPS

Немає коментарів:


Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

ipv6 ready