Поиск по блогу

Показаны сообщения с ярлыком fedora 15. Показать все сообщения
Показаны сообщения с ярлыком fedora 15. Показать все сообщения

среда, 23 мая 2012 г.

Настройка SSL для приложений в tomcat


Исходные данные:
  1. ОС: Fedora 16
  2. Tomcat 7.0.27
  3. JDK 6u32 (6u31)
Последовательность действий:
  1. Установить tomcat и jdk:
  2. Рассмотрим случай, когда Tomcat по умолчанию использует порт 8080. Необходимо, чтобы файерволл разрешил выход с этого порта. Добавим правило в iptables:
    # vim /etc/sysconfig/iptables
    вписать
    -A INPUT -m state --state NEW -m udp -p udp --dport <8080> -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport <8080> -j ACCEPT
    

    #service iptables restart 
    Fedora 16:
    #systemctl restart iptables.service
  3. Проверить, что все запускается:
    /path/bin/startup.sh 
    или
    /path/bin/catalina.sh start
    http://localhost:8080
  4. Необходимо настроить SSL на установленном tomcat:
    1. остановить томкат, если запущен:
      /path/bin.shutdown.sh
      или
      /path/bin/catalina.sh stop 
    2. нужно сгенерировать
      self-signed sertificate
      и приватный ключ сервера:
      keytool -genkey -alias tomcat -keyalg RSA 
      [ -keysize 1024 -keystore /path/to/keystore/.keystore ] 
      
      keytool
      будет просить ввести пароли. Надо ввести. Можно указать дополнительные данные
      (organisation, state, name, etc)
      . И согласиться с введенными данными. Результат:
      /%username%/.keystore
      keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 
      -keystore /path/conf/.keystore 
      
      Результат: 1024-битный
      .keystore
      , расположенный в
      /path/conf/.keystore
    3. экспорт
      .keystore
      в файл сертификата
      name.cer
      :
      cd /path/conf/ 
       keytool -export -alias tomcat -file server.cer
      Вводим пароль от нашего хранилища (если мы его задавали, а лучше было бы задать) и получаем результат:
      /path/conf/server.cer 
    4. Создание key файла-приватного ключа:
      openssl genrsa -out server.key
      по умолчанию 512 бит размер ключа
      openssl genpkey -algorithm RSA -out server.key 
      -pkeyopt rsa_keygen_bits:2048
      
      Результат:
      /path/conf/server.key 
    5. Конфигурация в файле
      /path/conf/server.xml 
      :
      < !-- Define a SSL HTTP/1.1 Connector on port 8443
               This connector uses the JSSE configuration, when using APR, the
               connector should be using the OpenSSL style configuration
               described in the APR documentation -- >
      
         < Connector
                     port="8443"
                     protocol="HTTP/1.1" SSLEnabled="true"
                     maxThreads="150" scheme="https" secure="true"
                     clientAuth="false" sslProtocol="TLS"
                     SSLCertificateFile="/path/conf/server.cer"
                     SSLCertificateKeyFile="/path/conf/server.key"
                     keystoreFile="/path/conf/.keystore"
                     keystorePass="keystore_password" / >
      
    6. запустить томкат
    7. проверка:
      https://localhost:8443
  5. Взять (с сервера или попросить товарища или собрать самому) war файл свежей версии проекта
    X
    (X.war) и скопировать пока в какую-нибудь директорию, отличную от
    /path/
    , например,
    /home/%username%/
    .
  6. Остановить томкат, если еще не остановлен.
  7. cp /home/%username%/X.war /path/webapps/ 
  8. Запустить томкат. War файл сам развернется и приложение будет готово.
  9. И:
     https://localhost:8443/X/ 
    Если выдается нужная страничка, то вообще отлично.
Источники:

пятница, 5 августа 2011 г.

Установка Hudson (Jenkins) на Fedora 14+

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

1) Установка Hudson осуществляется двумя способами:

либо скачивание rpm пакета hudson для класса своего дистрибутива,
либо скачивание war файла hudson и деплой его в контейнер (например, tomcat)

Использовался первый вариант.
Выполним несколько команд:
(для redhat систем)

sudo wget -O /etc/yum.repos.d/hudson.repo http://hudson-ci.org/redhat/hudson.repo


sudo yum check-update 


sudo yum install hudson

Пакет скачается, установится и распакуется. По сути, скачается war файл и задеплоится.

2) Запускаем сервис hudson

service hudson start #создастся пользователь и группа hudson и hudson будет запущен как сервис.

Теперь открываем страничку http://yourserver:8080, yourserver = localhost, домен или IP-адрес машины, на которой стоит hudson

Заметка 1: Если запущен сервис tomcat по стандартному порту 8080, то hudson "перекроет" доступ tomcat-у и web-приложения последнего не будут найдены и не запустятся, т.к. порт занят. Сменить порт для tomcat например на порт 8081. (в файле /path/to/tomcat/conf/server.xml поправить на нужный порт). Либо поправить переменную HUDSON_PORT в файле /etc/sysconfig/hudson

Заметка 2: В случае закачки и развертывания war файла hudson на сервере приложений tomcat порт можно менять. Тогда его запускать нужно как http://yourserver:8080/hudson.

Заметка 3: (для установки в контейнере tomcat) Лучше установить переменную HUDSON_HOME в нужное место, ибо по умолчанию /home/tomcat-user/.hudson, и показалось это неудобным и неправильным.

Итого, hudson доступен по адресу http://yourserver: либо http://yourserver:/hudson

3) Настраиваем и администрируем hudson (по мотивам статьи)

Можно настроить переменную HUDSON_HOME (файл /etc/sysconfig/hudson и service hudson restart).

Заметка 4: если GMAIL аккаунт настроен, но тестовая почта не хочет присылаться и выпадает исключение об ssl, то сменить порт с 587 на 465. Есть еще совет попробовать 25 порт, но мне хватило 465-го.

Бекапы: сводятся к копированию содержимого HUDSON_HOME. Можно не останавливать сервис (контейнер). Но при восстановлении останавливать сервис(контейнер).

tar -zcvf /path/to/backup/hudson`date +%d%m%y`.tar.gz /path/to/hudson (например так бекапить)