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

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

среда, 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/ 
    Если выдается нужная страничка, то вообще отлично.
Источники:

четверг, 14 апреля 2011 г.

Установка skype на 64-битную Fedora 13

Как выяснилось, проблема с установкой skype для 64-битных систем стоит острая. Пакеты skype для 64-битных систем делаются все равно с расчетом, что будут использоваться 32-битные библиотеки. Так как я не знала толком, какие основные пакеты надо поставить, чтобы удовлетворились все зависимости, то поначалу приходилось в yum командой

yum install <библиотека>.i686 


или

gpk-application-> имя библиотеки->apply


или использовать ресурс rpmfind для поиска библиотек и их установки.

Мои поиски застопорились, когда после очередной библиотеки скайп сообщил:



[rw@w ~]$ skype
skype: error while loading shared libraries: libQtDBus.so.4: cannot open shared object file: No such file or directory


Моя проблема решилась установкой базовых пакетов qt и qt-x11 архитектуры i686, отвечающих за собственно 32-битную qt и библиотек для системы X11 qt-x11.

Команды:
[root@w ~]# yum install qt.i686
[root@w ~]#yum install qt-x11.i686 


Скайп ставился командой

[root@w programs]# yum localinstall ./skype-2.2.0.25-fedora.i586.rpm --nogpgcheck


Думаю, для статической и динамической версии скайпа тоже подойдет.

У людей была проблема с библиотекой libasound.so.2, но мне помогла установленная alsa и тот же ресурс rpmfind .

ps: а решение находилось прямо под носом :)

upd (25/06/12): иногда настройка звука занимает длительное время. Чтобы его сократить, я обращаюсь на офсайт поддержки скайпа.


среда, 2 февраля 2011 г.

Настройка автозапуска tomcat7

Задача: автозапуск tomcat7 от имени специального пользователя, например tomcat. Так безопаснее и удобнее.
  1. Скачать tomcat с официального сайта http://tomcat.apache.org/. Желательно скачать tar.gz - zip предназначен для windows окружения. Установить tomcat7. Это просто распаковка. Например, в /opt. Подробнее в readme файле тарболла.
  2. В папке bin находятся скрипты запуска, останова и другие полезные. Они и будут делать всю основную работу. Необходимо написать скрипт - обертку, которая и запускает эти скрипты. 
Примерный код скрипта:


#!/bin/sh
#
# tomcat7 This shell script takes care of starting and stopping Tomcat
#
# chkconfig: - 80 20
#
### BEGIN INIT INFO
# Provides: tomcat7
# Required-Start: $network $syslog
# Required-Stop: $network $syslog
# Default-Start:
# Default-Stop:
# Description: Release implementation for Servlet 3.0 and JSP 2.1
# Short-Description: start and stop tomcat
### END INIT INFO

export CATALINA_HOME=/opt/apache-tomcat-7.0.6

NAME=`basename $0`

case $1 in

start)

echo "Starting ${NAME} service: "

su - tomcat -c $CATALINA_HOME/bin/startup.sh

;;

stop)

echo "Stopping ${NAME} service: "

su - tomcat -c $CATALINA_HOME/bin/shutdown.sh

;;

restart)

echo "Restarting ${NAME} service: "

su - tomcat -c $CATALINA_HOME/bin/shutdown.sh

su - tomcat -c $CATALINA_HOME/bin/startup.sh

;;

*)


echo "Usage $0 {start|stop|restart}"

exit 1

;;

esac

exit 0


Мини-поянение: Начальные строчки с решеткой нужны для chkconfig. Далее указываем переменную CATALINA_HOME где указан путь до нашего tomcat7. NAME - здесь первый аргумент строки - получаемое имя приложения из командной строки.

3. Сохранить скрипт под говорящим именем в директории /etc/init.d/<имя>. Мой файл называется my_tomcat7.

4. Добавим скрипту права на запуск, т.е. исполнение. Например, так:
[root@machine] # chmod +x /etc/init.d/my_tomcat7
владелец файла рут, само собой.

5. Создадим (и это можно было сделать вначале) пользователя и группу под именами tomcat. Дадим им права на папку tomcat7 и сделаем их владельцами:
# sudo groupadd tomcat
# adduser tomcat
# usermod -g tomcat tomcat

[root@machine] # chown tomcat.tomcat -R /папка/с/tomcat7/

6. Добавим наш tomcat7 в chkconfig
[root@machine] # chkconfig --add /etc/init.d/my_tomcat7
Для centOS: chkconfig --add my_tomcat7
[root@machine] # chkconfig /etc/init.d/my_tomcat7 on

7. Да, и если в папке tomcat7  /webapps есть приложения, которые важны, то нужно дать права на запись группе tomcat в папку /webapps: rwxrwxr-x
chmod g+w /webapps или mc => [F9] => File => Chmod => write by group. 

8. Для проверки можно перезапустить сначала вручную сервис, а можно сразу ребутнуться и посмотреть логи:
[root@machine] # service my_tomcat7 start
[root@machine] # service my_tomcat7 stop
[root@machine] # service my_tomcat7 restart

вторник, 25 января 2011 г.

Rar-unrar поддержка в Fedora 13 (Goddard), Fedora 14 (Laughlin)

Этот пакет, unrar, находится в rpm-fusion репозитории. Выкачиваем его и ставим.
Итак,

1) rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpmhttp://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

2) yum install unrar




Теперь можно пользоваться для распаковки архивов rar стандартным менеджером.

Источники:
p.s. и вообще источники данного мануала на 1 минуту - неплохие сайты.

четверг, 12 августа 2010 г.

Настройка межсетевого экрана (iptables) для использования NFS под Fedora

Я решил окончательно включить межсетевой экран (firewall) и систему безопасности SELinux, чтобы машина могла осуществлять сетевые соединения и чтобы они были защищены от непрошеных гостей.

В системе Fedora, базовая настройка межсетевого экрана до безобразия проста если использовать system-config-firewall. Тем не менее, разрешение работы с NFS to work не ограничивается простым выбором галочкой сервиса "NFS4" service в Firewall Configuration. Все это потому, что NFS использует 4 разных сервиса: собственно NFS, mountd, statd and portmapper. В то время как NFS и portmapper используют фиксированные порты (2049 и 111 TCP/UDP), порты сервисов mountd and statd выбираются в случайном порядке сервисом portmapper. Поэтому нет возможности открыть эти сервисы в межсетевом экране и NFS не работает как ожидалось.

Но, как вы можете себе представить, решение существует. Все, что нам нужно сделать, - это закрепить порты за сервисами mountd and statd. Это можно сделать, открыв и подредактировав файл /etc/sysconfig/nfs и раскомментировав строки MOUNTD_PORT и STATD_PORT и прописав желаемые значения (я использовал 4000 и 4001, соответственно). Сохраняем файл и перезапускаем серсив NFS:

# service nfs restart


Теперь возвратимся к программе system-config-firewall. Выберем "Other Ports" и добавим порты 111 TCP/UDP для portmapper и те порты, которые мы прописали для сервисов mountd и statd в файле конфигурации. После этого, нажимаем "Apply" и все готово, NFS доступен для компьютеров в вашей сети.

Решение работает на системах CentOS, Red Hat Enterprise Linux и возможно будет работать на других Red Hat-подобных операционных системах.



Перевод статьи http://daveandnaty.blogspot.com/2008/03/nfs-under-firewall-on-fedora.html

среда, 30 июня 2010 г.

NFS в Fedora 13 - путь решения

Поставив fedora 13, обнаружила некоторые неисправности в работе nfs. После расшаривания папки попытка перезапустить сервис не увенчалась успехом:
[root@neuro ~]# service nfs restart
Shutting down NFS mountd: [FAILED]
Shutting down NFS daemon: [FAILED]
Shutting down NFS quotas: [FAILED]
Shutting down NFS services: [FAILED]
Starting NFS services: [ OK ]
Starting NFS quotas: [ OK ]
Starting NFS daemon: [ OK ]
Starting NFS mountd: [ OK ]
Пробовала перезапускать сервисы rpc.mountd, rpc.nfsd, nfs.rquotad, а также netfs, portmap; selinux в permissive mode, пакеты ns-utils, system-config-nfs поставлены.
Уж не знаю, надолго ли, но проблема с nfs решилась. Как говорится, "не было бы счастья да несчастье помогло". Решила поставить проприетарный nvidia  драйвер, и все упало. По пути решения проблемы запуска системы починилося так:

1. Перед тем как загрузчик начнет загружать систему, нажать [esc] а потом при выбранной системе (если несколько систем стоит) нажать [e] (редактирование) и выбрав [с] (режим командной строки) допишем в опции ядра single (загрузиться в командную строку под суперпользователем).
2. При появившемся приглашении воспользуемся утилиткой sys-unconfig (реконфигурация запускаемых сервисов при загрузке).
Там нас попросят ввести пароль рута (и повторить его), раскладку клавиатуры, выбор конфигурации (я выбирала по умолчанию - device configuration) и после этого появится желанный список сервисов, который мы хотим запустить.
Нашла все связанное с nfs и не включенное (rpc, rpcbind, netfs, nfs, др.) и включила.
3. А после включения системы снова (после конфигураций система выключится) все должно запуститься.

4. Если не запустилось, возможный путь решения - это еще раз проверить, все ли сервисы и те ли сервисы мы запустили.

Да, nfs не только запустилось при загрузке, но и оказалось наконец-то способным расшаривать и монтировать папки в fedora 13.

Мои настройки всегда со мной - 2

Как уже говорилось, чтобы при переустановке системы не затерлись возможно нужные нам конфиги, можно бэкапить /home и /etc куда-нибудь.

Создание /home раздела на отдельной партиции даже более удобная вещь. При этом ваши обои рабочего стола (если скачать их с помощью plasmоида, и они хранятся в /home/user/.kde/share/wallpapers), настройки программ (и программы, возможно даже запустятся, если не нужно им зависимостей никаких ставить), и просто ваша настроенная конфигурация системы будет неизменной, даже если будет сбой в системе.

Как ею пользоваться при переустановке системы:

1 Создание /home раздела (я создавала 20 Gb раздел).

2 При установке системы выбрать раздел куда будем ставить и укажем точку монтирования "/", скажем, что форматируем в нужную файловую систему.

3 Затем выберем наш созданный раздел /home и скажем что точка монтирования "/home".


Теперь каждый раз /home каталог при загрузке системы будет монтироваться куда куда было указано. Если отмонтировать наш раздел /home, то в этом случае будет загружаться /home каталог вашей поставленной системы с дефолтными настройками.