Запуск Java и Apache Felix в chroot jail окружении в Debian Lenny

Создание отдельного chroot окружения для Java и Apache Felix позволяет повысить безопасность сервера. Настройку chroot будем производить с помощью утилиты makejail:

apt-get install makejail


Создаем директорию, в которой будет работать Java и Apache Felix.

mkdir /var/flx


Скачиваем свежий JDK и устанавливаем его, запустив бинарный файл в директории /var/flx — он будет распакован в директорию jdk1.6.0_xx.

( Читать дальше )
  • +3
  • 09 декабря 2009, 19:31
  • Sergei_T
  • 4

Felix + старый добрый Telnet

На сайте felix.apache.org среди сопутствующих проектов есть Remote Shell. Если включить это бундле в состав запускаемых Felix'ом при старте, а сам старт прописать куда-нибудь в автозагрузку типа

su felix -c "cd /home/felix && java -jar bin/felix.jar"


то можно всегда достучаться по telnet'у до его оболочки. Это удобно, если девелоперам нужно дать доступ лишь к Felix'у, а всё остальное запретить. Естественно, telnet — небезопасная вешь, но с помошью ssl можно организовать зашифрованое соединение по ключам, которые раздать только доверенным лицам. По-моему, лучшего способа дистанционного управления Felix'ом и не придумаешь. Ведь иногда надо-то всего ввести команду типа

update 6


( Читать дальше )
  • +4
  • 07 декабря 2009, 22:24
  • yababay
  • 4

Установка Apache Felix в Debian Lenny - Часть 3

Часть 1
Часть 2

Итак, в предыдущих топиках мы дополнили Felix всем необходимым для запуска Web консоли. Консоль будет находиться по адресу хост:8080/system/console. Логин и пароль по-умолчанию — admin.



( Читать дальше )
  • +2
  • 07 декабря 2009, 17:56
  • Sergei_T
  • 1

Установка Apache Felix в Debian Lenny - Часть 2

Начало

Посмотрев на рабочий Apache Felix от yababay в его топике Железный Felix, пришел к выводу что для работы Jetty был необходим bundle iPOJO.
Подрезюмируем, какие bundle нужно установить для минимальной работы web консоли, со страницы загрузки Apache Felix:

Http Service Jetty
iPOJO
Web Console


В принципе я ничего не прописывал в felix.auto.start.1, просто закинул все в директорию bundle, при новых запусках Felix'а обязательно чистил директорию felix-cache.

Запускаем командой:

java -jar ./bin/felix.jar


Конечно немного ругается bundle Web Console, но в целом все запускается нормально:

Welcome to Felix
================

-> *INFO * Failed to instantiate plugin org.apache.felix.webconsole.internal.compendium.ComponentsServlet. Reason: java.lang.NoClassDefFoundError: org.apache.felix.scr.ScrService
*INFO * Failed to instantiate plugin org.apache.felix.webconsole.internal.compendium.ConfigManager. Reason: java.lang.NoClassDefFoundError: org/osgi/service/metatype/ObjectClassDefinition
*INFO * Failed to instantiate plugin org.apache.felix.webconsole.internal.compendium.PreferencesConfigurationPrinter. Reason: java.lang.NoClassDefFoundError: org/osgi/service/prefs/BackingStoreException
*INFO * Failed to instantiate plugin org.apache.felix.webconsole.internal.deppack.DepPackServlet. Reason: java.lang.NoClassDefFoundError: org/osgi/service/deploymentadmin/DeploymentException
[INFO] Started jetty 6.1.x at port 8080


Есть заветная запись — Started jetty 6.1.x at port 8080

Так как Felix стоит внутри виртуальной машины Xen и по некоторым другим причинам скриншот из текстового браузера:



Продолжение следует...

Железный Felix

Этот материал — продолжение темы, начатой в предыдущем топике, так что у «вновьприбывших» может сложиться впечатление, что повествование начинается откуда-то с середины. В таком случае сначала следует ознакомиться с началом обсуждения.

Чтобы не пугать далекий от Java честной народ, сухой теорией и малопонятным кодом, я просто покажу на реальном примере, что Apache Felix во-первых, работает, во-вторых, имеет ряд преимуществ.




( Читать дальше )
  • +5
  • 04 декабря 2009, 01:35
  • yababay
  • 15

Установка Apache Felix в Debian Lenny - Часть 1


Скачал здесь: felix.apache.org/site/downloads.html

В консоли:
mkdir /var/felix
cd /var/felix
wget http://www.sai.msu.su/apache/felix/felix-framework-2.0.1.tar.gz


Порт, на котором будет работать Felix прописан в conf/config.properties:
org.osgi.service.http.port=8080

Вроде все нормально.

Установил Java 5 JDK:
apt-get install sun-java5-jdk


Скачал в bundle jar файлы:
www.sai.msu.su/apache/felix/org.apache.felix.webconsole-2.0.2.jar
www.sai.msu.su/apache/felix/org.apache.felix.http.bundle-2.0.4.jar

Запустил:
java -jar ./bin/felix.jar

Вывод ps:


В итоге порт не открывает 8080. Пробовал ставить Pax, Equinox, Http Service Jetty — они вообще не работают — выдаваю кучу сообщений об ошибке.

Я абсолютный новичок в Java и что мне на вскидку не нравится — так это то что хотели сделать просто и переносимо а получили хрен знает что такое! Может я еще не проникся идеей?

Что делать то???? Выручай yababay!


PS: разобрался, спасибо yababay за помощь!
Продолжение тут.

Сотовый телефон как ПДУ для компьютера

На днях увидел ссылку на программу BluePad, превращающую сотовый телефон в пульт дистанционного управления компьютером. Давно собирался написать что-то подобное, а тут — пожалуйста, готовый вариант. Скачав и распаковав продукт, обнаружил, что серверная часть написана на Python'е, требует удовлетворения некоторых специфических зависимостей, разбираться с которыми не было ни времени, ни желания. К тому же интерфейс клиентской части (мидлета) и функционал не вполне соответствовуют моим потребностям. Тем не менее, заглянув в исходный код, я обнаружил там массу замечательных идей, побудивших взяться за собственную разработку. В итоге буквально за пару дней родился проект Bluetooth Backdoor.

( Читать дальше )