Java Bridge: Интеграция Trusted Java и PHP¶
Настройка доступа к Trusted Java из PHP под APACHE¶
Вопрос установки http-сервера APACHE, PHP и модуля PHP для APACHE здесь не рассматривается. Установка Trusted Java и JRE описана выше. Далее описывается процесс настройки доступа из модуля PHP для APACHE к Java и, как следствие, к Trusted Java.
Сначала требуется получить файлы со страницы PHP/Java Bridge (требующие Java 1.6 и выше) и разместить их в каталоге, например, /opt/JavaBridge:
/opt/JavaBridge/java/Java.inc
/opt/JavaBridge/ext/JavaBridge.jar
/opt/JavaBridge/ext/php-script.jar
/opt/JavaBridge/ext/php-servlet.jar
Создайте в каталоге /opt/JavaBridge файл PHPJavaBridge_start.sh:
#!/bin/sh
java -Dphp.java.bridge.daemon="true" -jar /opt/JavaBridge/ext/JavaBridge.jar SERVLET_LOCAL:8080 3
JavaBridge.log
Перед его запуском в режиме «демона» необходимо убедиться, что при запуске java запускается установленная ранее версия JRE. Настроить использование требуемой JRE с использованием alternatives возможно, например, следующим образом:
Теперь можно выполнить файл /opt/JavaBridge/ PHPJavaBridge_start.sh
.
Откройте www-каталог http-сервера, например, /var/www/html и создайте в нем символическую ссылку JavaBridge на каталог /opt/JavaBridge. Положите в него тестовый файл SignAndVerify.php из архива с тестами, поставляемыми в составе дистрибутива Trusted Java. Запустите http-сервер. Проверить работу связки Trusted Java + PHP Apache + PHP Java Bridge можно обратившись из Internet Explorer по ссылке http://servername/SignAndVerify.php. В данном примере реализовано формирование ЭЦП из браузера с использованием ПО КриптоАРМ, а ее проверка на стороне сервера – с использованием Trusted Java.
Настройка доступа к Trusted Java из PHP под Tomcat¶
Требуется получить файл JavaBridge.war, который появляется после установки rpm-пакета, для дальнейшего его включения в сервер Tomcat6. Для создания rpm-пакета PHP Java Bridge необходимо наличие следующих компонент:
-
Java JDK версии 1.4.2 или выше (рекомендуется версия 6)
-
PhpDocumentor версии 1.4.2 или выше
-
Ant версии 1.7.1 или выше
-
Apache HTTP Server
При использовании SELinux:
-
selinux-policy – конфигуратор политик,
-
selinux-policy-devel – пакет разработки,
-
policycoreutils – утилиты для работы с политиками,
-
checkpolicy – компилятор политик,
-
coreutils – набор основных утилит GNU.
Для установки rpm-пакета PHP Java Bridge потребуются следующие компоненты:
-
PHP версии 5.1.2 или выше (рекомендуется версия 5.3 или выше)
-
Tomcat версии 6.х
Далее потребуется настроить установку пакетов, например, через jpackageutil (Jpackage Project), подключив, например, к yum репозитарий jpackage50.repo.
Таким образом можно будет установить Ant, Tomcat6. Rpm-пакет PhpDocumentor можно получить, например, с сайта RPM pbone.net. Там же могут быть получены связанные с ним пакеты. Скачайте архив php-java-bridge_6.1.2.1.tar.gz, разместите в каталоге пользователя root, например, /root/soft. Для сборки rpm-пакета выполните команду
Если появляется сообщение
ошибка: синтаксическая ошибка в выражении
ошибка: /usr/src/redhat/SPECS/php-java-bridge.spec:56: parseExpressionBoolean код возврата: -1
ошибка: Пакет не имеет %description: php-java-bridge
то создайте и исполните файл /root/soft/deploy.sh:
#!/bin/sh
cd /root/soft
tar -zxf php-java-bridge_6.1.2.1.tar.gz *.spec
mv php-java-bridge-6.1.2.1/php-java-bridge.spec .
rm -R php-java-bridge-6.1.2.1
cp php-java-bridge_6.1.2.1.tar.gz /usr/src/redhat/SOURCES/
Далее в полученном файле /root/soft/php-java-bridge.spec закомментируйте строки 56-57:
…
#%if (%{PHP_MINOR_VERSION} == 2 && %{PHP_RELEASE_VERSION} > 6) || (%{PHP_MINOR_VERSION} >
2)
#%endif
…
Полученные rpm-файлы можно забрать из каталога /usr/src/redhat/RPMS/i386.
Установите полученный пакет PHP Java Bridge, выполнив команду
В приведенной команде может использоваться опция --nodeps для случая, когда Tomcat6 был установлен, но не через механизм rpm-пакетов. В этом случае требуется вручную довести установку PHP Java Bridge для связки с Tomcat6. Скопируйте файл JavaBridge.war в подкаталог webapps каталога установки Tomcat6:
Перезапустите Tomcat6:
Теперь должна быть доступна страница с тестами