пятница, 21 июня 2013 г.

Ошибка: Для данного компьютера отсутствуют клиентские лицензии уделенного рабочего стола

Добрый день.

Сегодня пробуя подключиться к удаленному рабочему столу с помощью mstsc в Windows 7, я неожиданно получил сообщение об ошибке: "Для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола" (к сожалению скриншот не подумал сделать).

Как выяснилось это довольно частая проблема для клиентских компьютеров с Windows. Для решения этой проблемы необходимо выполнить:

Нажмите Win+R и введите команду: regedit

Этой командой мы запускаем Редактор реестра.

В редакторе реестра необходимо пройти по пути: HKEY_LOCAL_MACHINE -> SOFTWARE -> Microsoft -> и на пункт MSLicensing нажать правой кнопкой и выбрать пункт "Удалить" и на вопрос ответить утвердительно:

Теперь попробуем подключиться снова с помощью mstsc и у нас все работает.

среда, 19 июня 2013 г.

Дебет Плюс V12 с удаленной базой данных MySQL в VPN сети


Добрый день.
В прошлой статье мы настроили сеть между сервером и клиентами по VPN. Теперь же установим сервер баз данных - MySQL и настроем его на работу с системой Дебет Плюс V12.

Так же продолжение: Донастройка системы Дебет Плюс V12 для корректной работы с справочниками.

Наши пользователи смогут работать с Дебет Плюс, а вся информация будет храниться на удаленном сервере.

1.  Установка mysql

Обновим список достпуных пакетов:
# sudo apt-get update

Установим MySQL сервер:
# sudo apt-get install mysql-server -y

Во время установки нам предложат установить пароль для root пользователя MySQL:

Теперь нам необходимо настроить MySQL так, что бы он был доступен по VPN сети:
Правим /etc/mysql/my.cnf:
# sudo nano /etc/mysql/my.cnf

Ищем строку bind-address = 127.0.0.1
и заменяем 127.0.0.1 на нужный нам IP-адрес, в нашем случае это 10.8.0.1 (IP-адрес OpenVPN сервера).

Перезапустим сервер MySQL:
# sudo /etc/init.d/mysql restart

Далее нам необходимо скачать систему Дебет Плюс V12, что бы создать базу данных:

Скачиваем систему для Linux (я положил его на свой аккаунт Dropbox, однако можно скачать и с официального сайта: http://debet.kiev.ua):
# wget https://dl.dropboxusercontent.com/u/65786771/DebetPlusV12x64_12.0.84_20121228.tar.gz

Разархивируем:
# tar xvf DebetPlusV12x64_12.0.84_20121228.tar.gz

Перейдем в нужный катало:
# cd DebetPlusV12/base/org2

Зайдем на сервер MySQL под root пользователем:
# mysql -uroot -p

Далее нам необходимо импортировать базу данных Дебет Плюс (тут указывается относительный путь, так как мы логинились в MySQL из каталога: DebetPlusV12/base/org2, если же мы логинимся из другой директории необходимо указать полный путь к файлу dpbase.arh):
mysql> source dpbase.arh

Будет создано окало 1000 таблиц необходимые для работы Дебет Плюс V12.

Однако для корректной работы Дебет Плюс V12 нужна еще одна база, создадим ее:
mysql> CREATE DATABASE `dpadmin` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

Теперь нам необходимо создать пользователя базы данных - DPADMIN и разрешить ему доступ с любого компьютера к базам данных - dpbase и dpadmin:
mysql> GRANT ALL PRIVILEGES ON dpbase.* TO "DPADMIN"@"%" IDENTIFIED BY "secret" WITH GRANT OPTION;
mysql> GRANT ALL PRIVILEGES ON dpadmin.* TO "DPADMIN"@"%" IDENTIFIED BY "secret" WITH GRANT OPTION;

Запомните пароль (secret) он может быть любым, но должен быть одинаковым в обеих командах.


2. Настройка клиентов

Скачиваем Дебет Плюс V12: тыц

Устанавливаем, установка очень простая.
Запускаем DebetPlusV12.exe.

И нажмем правой кнопкой мыши на "База MySQL" и выберем пункт "Настройка соединения".

Появится окно:

Тут нас все устраивает по умолчанию кроме пунктов:
Сервер базы данных: куда мы впишем IP-адрес нашего MySQL ( и OpenVPN сервера) - 10.8.0.1.
И установим галочку "Настройки в базе данных".
Согласимся с изменения нажав "Готово".

Теперь нам необходимо активировать эту базу данных, для чего опять нажмем правой кнопкой мыши на "База MySQL" и выберем пункт "Сделать активной".

На что мы получим сообщение об ошибке, так и должно быть.
Жмем "ОК".

Далее появится следующее окно "Подключение к СУБД"
Пользователь: DPADMIN - его мы создали ранее на MySQL сервере.
Пароль: secret - его мы задали во время создания пользователя.

Появится напоминание о том, что база не архивировировалась уже давно. Ну что же выполним архивирование на всякий случай.
И установим галочку "Отключить напоминание", что бы нас больше не спрашивали об этом.

В принципе это все, можно работать с Дебет Плюс V12, у которой база данных находится на удаленном сервере.

Однако если не произвести дальнейшие манипуляции, то каждый раз заходя в систему Дебет Плюс V12 мы будем получать запрос на ввод пароля для пользователя базы данных DPADMIN.
Давайте исправим этот недостаток.

Нажмем на пункт "Администрирование".

На вкладке "Администрирование" нажмем на пункт "Пользователи".

Откроется окно "Администрирование". Сначала нажмем на плюсик напротив "Пользователи системы", там будет только один пользователь: DPADMIN.
Установим галочку "Сменить пароль" и заполним поле "Пароль для подключения к БД", сюда введем secret - пароль, который мы вводили ранее. Далее нажмем "Сохранить" и "Закрыть".

Все! теперь мы можем спокойно работать с системой Дебет Плюс V12.


Ссылки:
Основная мысль отсюда: тыц 

вторник, 18 июня 2013 г.

OpenVPN сервер на Ubuntu 12.04 и подключение клиентов (Windows)

Добрый день.

Понадобилось настроить VPN сервер, в заметке буду использовать OpenVPN сервер с системой Ubuntu 12.04.

Теоретическая часть:

VPN ( Virtual Private Network - виртуальная частная сеть) - обобщенное название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети. Несмотря на то, что коммуникации осуществляются по сетям с меньшим или неизвестным уровнем доверия (например, по публичным сетям), уровень доверия к построенной логической сети не зависит от уровня доверия к базовым сетям благодаря использованию средств криптографии (шифрования, аутентификации, инфраструктуры открытых ключей)

В зависимости от применяемых протоколов и назначений, VPN может обеспечивать соединения трех видов: узел-узел, узел-сеть и сеть-сеть.

Я буду реализовывать соединение типа: узел-сеть. Где будет OpenVPN сервер (Ubuntu 12.04) и клиенты: 2 ПК с Windows XP.

OpenVPN - свободная реализация технологии VPN с открытым исходным кодом для создания зашифрованных каналов типа точка-точка или сервер-клиенты между компьютерами.

Принцип работы:
Сначала сервер и клиент обмениваются своими публичными ключами (они не секретны и можно их не прятать и не беспокоиться о их доступности). Потом обеими сторонами проводится проверка полученных ключей на предмет легитимности, то есть срок действия, проверка подписи СА, проверка в списке отозванных ключей и так далее. Если все отлично, то начинается обмен данными:

  • Отправляемый пакет шифруется с помощью открытого ключа получателя;
  • Потом пакет подписывается закрытым ключом отправителя;
  • Пакет отправляется на другую сторону;
  • У получаемого пакета проверяется подпись с помощью открытого ключа отправителя;
  • Если подпись верна. то пакет расшифровывается с помощью закрытого ключа получателя.

В нашем случае Ubuntu будет выступать в роли центра сертификации (СА) и openvpn сервера, который обеспечивает возможность подключения удаленных клиентов.

Центр сертификации - отдельная папка на винчестере, в которой находятся:
  • Пара файлов ca.key и ca.crt - ключ и сертификат центра сертификации;
  • Простейшая база данных из двух файлов:
    • Файл serial - счетчик;
    • Файл index.txt - список выданных сертификатов.
  • Файлы уже выданных сертификатов (*.crt) для возможности их отзыва;
  • Файл crl.pem, в котором накапливается информация об отозванных ключах;
  • Несколько скриптов для генерации новых ключей и сертификатов.
Походу установки и настройки, я буду делать лирические отступления для пояснения. Приступим:

1. Установка openvpn сервера

Пожалуй сама установка самое простое:
# sudo apt-get update
# sudo apt-get install openvpn -y

2. Установка центра сертификации (СА)

Что бы установить свой собственный центр сертификации и сгенерировтаь сертификаты и ключи для OpenVPN сервера и нескольких клиентов необходимо сначала скопировать easy-rsa в каталог /etc/openvpn. Это будет гарантировать, что любые изменения в сценариях не будут потеряны при обновлении пакета.

# sudo mkdir /etc/openvpn/easy-rsa
# sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/

Далее необходимо отредактировать соответствующие строки в конце файла /etc/openvpn/easy-rsa/vars, содержащего различные переменные, которые будут загружаться в командную оболочку перед каждым сеансом генерации сертификатов и ключей.
# sudo nano /etc/openvpn/easy-rsa/vars

Я только поменяю такие строки:

export KEY_COUNTRY="UA" # страна
export KEY_PROVINCE="Crimea" # регион
export KEY_CITY="Sevastopol" # город
export KEY_ORG="home test vpn" # организация
export KEY_EMAIL="qqw1mb0@gmail.com" # почтовый адрес

Это редактирование можно и пропустить, так как при генерации ключей и сертификатов все равно опять будут запрашиваться все эти параметры, просто если этот файл отредактировать, то данные, которые мы вписали будут использоваться по умолчанию. Да и вообще эти данные можно не изменять, если вы не серьезная контора. Так как никакой функциональной нагрузки они не несут.

Создадим главный сертификат центра сертификации (СА) и ключ:
# cd /etc/openvpn/easy-rsa
# source vars


Скорее всего мы увидим такое сообщение об отсутсвтии файла openssl.cnf, если же его нет то можно пропустить этот момент. Благо разработчики OpenVPN о нас позаботились и в папке /etc/openvpn/easy-rsa уже есть несколько шаблонов: openssl-0.9.6.cnf , openssl-0.9.8.cnf , openssl-1.0.0.cnf , openssl-1.0.0.cnf-old-copy.

Узнаем, какая версия openssl стоит у нас в системе:
# aptitude show openssl
Нас интересует строка Version, в ней указано 1.0.1-4ubuntu5.9.
Ну что же, файла с такой версией нет, но нам подойдет и openssl-1.0.0.cnf , переименуем его, так как нам нужен файл openssl.cnf:
# sudo mv openssl-1.0.0.cnf openssl.cnf

Теперь мы можем загрузить переменные:
# source vars 
или можно воспользоваться: # . vars , так как "source" одно и тоже что "." .

На что мы должны получить ответ:
NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys

Вот как раз дальше мы и выполним:
# ./clean-all

Однако на это мы получим ответ:
mkdir: cannot create directory `/etc/openvpn/easy-rsa/keys': Permission denied

Интересно и почему так? а потому что мы копировали easy-rsa с правами суперпользователя (root) и владельцем всего easy-rsa является root, а мы выполняем ./clean-all с правами пользователя.

Я решил эту проблему так:
# sudo chown -R $USER /etc/openvpn/easy-rsa/

Переменная $USER - это переменная в которой хранится имя пользователя. Вот так мы сделали владельцем каталога easy-rsa своего пользователя. Теперь выполним, то что хотели:
# ./clean-all

И мы не увидим никаких ошибок. И сгенерируем наконец сертификат и ключ центра сертификации:
# ./build-ca
Теперь в /etc/openvpn/easy-rsa/keys лежат сертификат центра сертификации ca.crt и приватный ключ центра сертификации ca.key.  Сертификат центра сертификации находится как на сервере, так и на клиенте, так что в будущем его надо будет скопировать на клиентскую машину, но об этом позже.

Приватный ключ центра сертификации чрезвычайно секретный и не должен попасть в чужие руки. Нужно как можно лучше его спрятать, после генерации ключей для клиентов.

3. Сертификаты сервера

Далее мы сгенерируем сертификат и закрытый ключ для OpenVPN сервера:
# ./build-key-server server1
где server1 любое имя вашего OpenVPN сервера.

Большая часть вопросов аналогична вопросам при генерации сертификата и ключа для центра сертификации однако есть и новые поля:
Часть я обрезал, что бы скрины не были уж слишком большими.

Больше всего нас интересуют два вопроса:
  • Sign the certificate? [y/n]:
  • 1 out of 1 certificate requests certified, commit? [y/n]:
На которые нужно ответить утвердительно: y

Для сервера OpenVPN необходимо использовать алгоритм Диффи-Хеллмана:
# ./build-dh

Вывод будет примерно таким:

Все сертификаты и ключи были сгенерированы в подкаталоге keys/. Обычно их копируют в /etc/openvpn/ , зачем и мне отличаться? Да и потом в конфиге меньше букв набирать:
# cd keys/
# sudo cp ca.crt dh1024.pem server1.crt server1.key /etc/openvpn/

4. Конфигурация сервера OpenVPN

Вместе с утсновкой OpenVPN мы получаем примеры нужных нам конфигурационных файлов (и многих других, если присмотреться):
# ls -l /usr/share/doc/openvpn/examples/sample-config-files/
Однако нас интересует один файл server.conf.gz.
Скопируем его в /etc/openvpn/ и разархивируем:
# cd /etc/openvpn
# sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
# sudo gzip -d server.conf.gz

Отредактируем server.conf:
# sudo nano server.conf

так, что бы убедиться, что следующие строки указывают на корректные сертификаты и ключи:
ca ca.crt
cert server1.crt
key server1.key
dh dh1024.pem

Тут мне пришлось изменить только строки cert и key, так как я назвал свой сервер: server1, а по умолчанию идет: server.
Так же на самом деле можно как угодно назвать файлы, главное указать в соответсвтующих строках (это может помочь сбить с толку злоумышленника).
Стандартных настроек server.conf вполне хватает для работоспособного сервера, однако вы можете по изучать интернет на эту тему, с OpenVPN можно делать очень интересные и хитрые штуки.

Стартанем OpenVPN сервер:
# sudo /etc/init.d/openvpn start

Демон успешно стартовал. Проверим, создался ли сетевой интерфейс:
# ifconfig tun0
 По умолчанию OpenVPN первому серверу назначает первый IP: 10.8.0.1. Нас это вполне устраивает. Так что перейдем к настройке клиентов.

5. Генерация сертификатов и ключей для клиентов.

Для каждого клиента необходимо индивидуально создавать ключи и сертификаты:
# cd /etc/openvpn/easy-rsa/
# source vars
# ./build-key client1

Вывод будет такой же, как при создании ключа и сертификата для сервера OpenVPN (пункт 3).
В подкаталоге keys/ появиться три файла: client1.crt - сертификат, client1.key - ключ, clien1.csr - вроде как мусор, он нам дальше не пригодится.
Необходимо каким либо безопасным образом скопировать файлы:
ca.crt , clien1.crt, client1.key скопировать на клиентский компьютер.

Так же поступим для генерации ключа и сертификата для второго клиента:
# cd /etc/openvpn/easy-rsa/
# source vars
# ./build-key client2

Для копирования на Windows клиенты можно воспользоваться WinSCP или существует много других способов.

6. serial и index.txt

Ранее я упоминал об этих файлах:
serial - серийный номер;
index.txt - список выданных ключей.
можно глянуть их содержимое:
# cat /etc/openvpn/easy-rsa/keys/serial
04
# cat /etc/openvpn/easy-rsa/keys/index.txt

Так же можно избавиться от файлов: client1.crt, client1.csr, client1.key, client2.crt, client2.csr, client2.key:
# rm client*

7. Настройка клиентов Windows XP

Переходим на страницу: http://openvpn.se/download.html
И скачиваем openvpn-2.0.9-gui-1.0.3-install.exe
Устанавливаем OpenVPN GUI соглашаясь со всеми пунктами.
Теперь возьмем файлы: ca.crt, client2.crt, client2.key и скопируем в каталог: 
C:\Program Files\OpenVPN\config

Далее возьмем файл C:\Program Files\OpenVPN\sample-config\client.ovpn и скопируем его в C:\Program Files\OpenVPN\config.

У меня почему-то файлы сертификатов (*.crt) поменяли расширение на *.cer. Но это не страшно, просто главное заметить.

UPD: Если расширение файла у вас не поменялось с crt на cer, то в конфиге нужно указывать соответственно то расширение, которое имеют файлы (если у файлов расширение crt то в конфиге нужно указать: ca ca.crt и cert client2.crt). Спасибо за уточнение Мостовому Павлу.

Откроем файл C:\Program Files\OpenVPN\config\client.ovpn и приведем к такому виду:
client
dev tun
proto udp
remote 192.168.1.104 1194 # Это адрес моего OpenVPN сервера, а 1194 - стандартный порт для OpenVPN
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.cer
cert client2.cer
key client2.key
comp-lzo
verb 3

Теперь нажмем дважды на значок OpenVPN GUI в трее:

И увидим примерно такую картину:

А после успешного подключения увидим в трее:

Теперь вспомним, что когда мы запустили OpenVPN сервер у нас получил IP-адрес: 10.8.0.1 и попробуем его пропинговать:
И это при том, что у меня в сети адреса были только в диапазоне: 192.168.1.0/36

Вот мы и получили рабочий сервер OpenVPN и подключили к нему клиентов.
Далее я напишу заметку, для чего я все это делал.


Ссылки:
Большую часть информации я взял отсюда, хорошая статья: тыц
Описание много чего в конфиге OpenVPN: тыц

четверг, 13 июня 2013 г.

Автологин и запуск приложения сразу после загрузки системы (Xubunu)

Добрый день.

Понадобилось мне настроить убунту таким образом, что бы пользователь автоматически логинился в систему и сразу же запускалась сессия по RDP на удаленную виртуальную машину.

1. Автоматический логин в систему.

Для начала необходимо убрать запрос на ввод пароля.
Выбираем: "Меню приложений -> Система -> Пользователи и группы"

Откроется окно управления пользователями и группами:

Напротив поля "Пароль" жмем кнопку "Изменить..." и откроется новое окно:
Тут необходимо поставить галочку "Не спрашивать пароль при входе", нажать ОК и ввести пароль, когда его запросят.

Теперь сделаем тот самый автологин. Отредактируем файл: /etc/lightdm/lightdm.conf:
# sudo nano /etc/lightdm/lightdm.conf

По умолчанию содержимое файла такое:
[SeatDefaults]
user-session=xubuntu
greeter-session=lightdm-gtk-greeter

Нам же нужно добавить пару строк и привести к такому виду:
[SeatDefaut]
autologin-user=wimbo # Имя вашего пользователя
autologin-user-timeout=0
user-session=xubuntu
greeter-session=lightdm-gtk-greeter

Сохраняем, презагружаемся и радуемся автологину.


2. Автоматический запуск приложений при старте системы

Так как мне нужно запускать RDP, установим его:
# sudo apt-get update
# sudo apt-get install rdesktop

Теперь настроим запуск:
# xfce4-session-settings

Откроется окно настройки "Сеансы и запуск" (Session and Startup):

Перейдем на вкладку "Автозапуск приложений" (Application Autostart) и нажмем кнопку "Добавить" (Add):
Необходимо заполнить 3 поля:
Имя (Name) - имя задания;
Описание (Description) - текстовое описание, что бы потом не забыть, а что же делает эта команда;
Команда (Command) - сама команда, у меня это rdesktop 192.168.1.1, где 192.168.1.1 - IP-адрес windows машины.

Данные действия, аналогичны тем, если бы вручную создавали файлы *.desktop по адресу: ~/.config/autostart/
Например вот содержимое такого файла для сценария, который мы создали выше:
# cat ~/.config/autostart/autordp.desktop

[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=autordp
Comment=подключаемся к Windows по RDP
Exec=rdekstop 192.168.1.1
StartupNotify=false
Terminal=false
Hidden=false

Интересности про Desktop Entry.

Теперь при включении компьютера будет происходить автоматический логин и сразу будет запускаться приложение rdesktop, которое подключается к удаленному компьютеру по RDP.

Радуемся.

вторник, 11 июня 2013 г.

Windows и TeamViewer не отображается рабочий стол

Добрый день.

Появилась проблема, что когда человек через TeamViewer пытается подключиться к другому компьютеру, соединение устанавливается, но человек не видит рабочий стол компьютера.
Хотя у меня на нескольких компьютерах все хорошо подключается к той же машине.

Не знаю почему это происходит, но такая проблема есть.

Помогает перезапуск службы, при этом перезапуск самой программы не помогает.

Перезапустить службу TeamViewer очень просто и делается это на хост машине (куда подключаются).

Нажимаем комбинацию клавиш Win+R или же Пуск -> Выполнить (Start -> Run...) и вводим команду services.msc .
Откроется окно "Службы" (Services). 
Ищем службу TeamViewer, нажимаем правой кнопкой мыши и жмем Перезапустить (Restart).

После перезапуска службы проблема исчезнет.

Радуемся.

Proxmox VE 2 и Windows XP в качестве гостевой системы

Добрый день.

Понадобилось установить ан виртуалку Windows XP, однако после установки я обнаружил, что Windows не видит сетевых карт: Intel E1000, VirtIO и Realtec RTL8139 и собственно нед подключения к сети.

Решение данной проблемы для карты VirtIO:
1. Скачиваем образ с последними драйверами: http://alt.fedoraproject.org/pub/alt/virtio-win/stable/
2. Загружаем его на сервер Proxmox VE.
3. В качестве сетевого интерфейса виртуальной машины Windows XP устанавливаем: VirtIO (paravirtualized).
4. В качестве CD/DVD Drive (ide2) выбираем образ скаченный ранее: virtio-win-0.1-52.iso .
Получается примерно такая картина:
5. Запускаем виртуальную машину.
6. Сразу после старта система обнаружит новое устройство.
На вопрос: Can Windows connect to Windows Update to search for software?
Отвечаем: No, not this time

Далее выбираем установку драйвера с CD/DVD привода и отвечаем утвердительно во время установки драйвера.

Все. Сеть работает.

воскресенье, 9 июня 2013 г.

Установка Sun Java Development Kit (JDK) 6/7 на Debian Squeeze

Добрый день.

Дебиан 6 для архитектуры amd64 по умолчанию идет с OpenJDK. Так как нашим разработчикам понадобилась именно Sun JDK, то вот краткая записка, как установить Sun JDK 6 на Debian Squeeze.

Добавим в /etc/apt/sources.list:
# nano /etc/apt/sources.list
non-free:
deb http://mirror.hetzner.de/debian/packages squeeze main contrib non-free

Обновим список доступных пакетов:
# apt-get update

Найдем доступные Sun Java пакеты:
# apt-cache search sun-java6

Вывод будем примерно таким:
ia32-sun-java6-bin - Sun Java(TM) Runtime Environment (JRE) 6 (32-bit)
sun-java6-bin - Sun Java(TM) Runtime Environment (JRE) 6 (architecture dependent files)
sun-java6-demo - Sun Java(TM) Development Kit (JDK) 6 demos and examples
sun-java6-fonts - Lucida TrueType fonts (from the Sun JRE)
sun-java6-javadb - Java(TM) DB, Sun Microsystems' distribution of Apache Derby
sun-java6-jdk - Sun Java(TM) Development Kit (JDK) 6
sun-java6-jre - Sun Java(TM) Runtime Environment (JRE) 6 (architecture independent files)
sun-java6-plugin - The Java(TM) Plug-in, Java SE 6
sun-java6-source - Sun Java(TM) Development Kit (JDK) 6 source files

Теперь установим то, что нам необходимо:
# apt-get install sun-java6-bin sun-java6-jdk -y

В ходе установки необходимо будет согласиться с лицензией Java.

Сделаем Sun Java 6 по умолчанию, вместо OpenJDK:
# update-java-alternatives -s java6-sun

И проверим, установилось ли все корректно:
# java -version

Вывод будет примерно таким:
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

UPD: Если же вам нужна Java7 то мануал дальше:
Будем устанавливать из репозитория WebUpd8 Java 7 PPA

# su -
# echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" >> /etc/apt/sources.list
# echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" >> /etc/apt/sources.list
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EEA14886
# apt-get update
# apt-get install oracle-java7-installer

Теперь у нас установлены java SDK и Java RE
Свяжем java с java7:
# sudo apt-get install oracle-java7-set-default

Проверим версию:
# java -version
java version "1.7.0_21"
Java(TM) SE Runtime Environment (build 1.7.0_21-b11)
Java HotSpot(TM) 64-Bit Server VM (build 23.21-b01, mixed mode)

пятница, 7 июня 2013 г.

Comodo Positive SSL Wildcard Certificate + nginx + Firefox + ISPmanager

Добрый день.

Появилась проблема:
У некоторых пользователей в Firefox (winxp/ubuntu 12.04) говорит, что Comodo Positive SSL, который стоит на моих серверах, не трастовый и дает ошибку:  sec_error_unknown_issuer.

И вот как решается эта проблема:
Когда покупаешь Comodo Positive SSL Wildcard Certificate вам приходит письмо от comodo с прикрепленным zip-архивом в котором содержится 3 файла *.cert.

Для того, что бы решить проблему с сертификатом в Firefox необходимо все эти 3 файла закинуть на сервер. Например закинем их в папку /var/www/httpd-cer/username/, где username - имя пользователя. Все действия актуальны для системы управления сервером ISPmanager.

И вот в каталоге /var/www/httpd-cert/username/ у меня находятся 5 файлов:
AddTrustExternalCARoot.crt - главный сертификат центра сертификации;
PositiveSSLCA2.crt;
STAR_domain_name.crt - сам SSL сертификат;
comodo.crt - действующий сертификат (установленный ранее для данного домена);
comodo.key - приватный ключ к сертификату.

В качестве фронтенда у меня выступает nginx. Весь конфиг находится в одном месте /etc/nginx/nginx.conf.
Ищем секцию server { ... } для интересующего нас домена.
В конце секции будут две записи:
ssl_certificate /var/www/httpd-cert/username/comodo.crt
ssl_certificate_key /var/www/httpd-cert/username/comodo.key

Для начала нам нужно создать так называемый ca-bundle:
# cat PositiveSSLCA2.crt STAR_domain_name.crt AddTrustExternalCARoot.crt > domain_name.ca-bundle

Теперь создадим chain сертификат:
# cat comodo.crt domain_name.ca-bundle > domain_name.chain.crt

Теперь нужно подправить конфиг nginx и заменить путь ssl_certificate на chain сертификат:
# nano /etc/nginx/nginx.conf

приводим строку ssl_certificate к такому виду:
ssl_certificate /var/www/httpd-cert/username/domain_name.chain.crt
Сохраняем и закрываем текстовый редактор.

Перезагрузим конфиги nginx'а:
# /etc/init.d/nginx reload

Радуемся https без предупреждений.

Что бы каждый раз не править конфиги всех поддоменов, можно сделать один файл через любой текстовый редактор или же взять сделанный domain_name.chain.crt и в панели управления сервером ISPmanager'ом в качестве сертификата вставлять полностью весь файл.

Для других веб-серверов есть аналогичные решения, смотрим ссылку на stackoverflow.

Ссылки:
https://support.comodo.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=264&nav=0,1
http://stackoverflow.com/questions/275878/firefox-and-ssl-sec-error-unknown-issuer
http://nginx.org/en/docs/http/configuring_https_servers.html#chains
http://kb.parallels.com/ru/716