Краткая инструкция как установить Application Express на отдельный сервер Oracle. Рассматривается простейший вариант установки в режиме embedded PL/SQL gateway.
Перед установкой
- Необходимо проверить, что прослушиватель БД (listener) настроен.
- Экземпляр Oracle должен быть сконфигурирован c XML DB. Если изначально это не было сделано, добавить XML DB можно с помощью утилиты Database Configuration Assistant (dbca).
- Остановить все сервисы oracle (listener и пр.). Экземпляр БД (instance) при этом остается запущенным.
Загрузка последней версии Oracle Application Express
Загрузить архив APEX можно на сайте Oracle. На момент написания этой статьи последней версией являлся APEX 4.1.1, поэтому дальнейшее изложение пойдет исходя из этой версии.
Выбор варианта HTTP-сервера
Существует 3 варианта организации связи с сервером APEX.
- Oracle Application Express Listener – специальный прослушиватель напрямую соединяется со службой APEX, что позволяет избежать необходимость использования плагина mod_plsql. Является отдельной утилитой, требующей установки и настройки.
- Oracle HTTP Server (Apache) c mod_plsql – отдельный HTTP-сервер со специальным плагином. Оба варианта обеспечивают трехуровневую архитектуру взаимодействия:
- Браузер
- Oracle Application Express Listener или Oracle HTTP Server (Apache) с mod_plsql
- БД Oracle с Oracle Application Express
Преимуществом такой модели является разделение БД и транспортной службы, обеспечивающей взаимодействие пользователя с Oracle Application Express.
- Встроенный шлюз PL/SQL (Embedded PL/SQL Gateway) – сервер Oracle XML DB HTTP со встроенным шлюзом PL/SQL устанавливается вместе с Oracle Database 11g. Этот механизм обеспечивает сервер Oracle веб-сервером и всей необходимой инфраструктурой для создания веб-приложений. Такое решение имеет двухуровневую архитектуру
- Браузер
- БД Oracle с PL/SQL шлюзом и Oracle Application Express
Преимуществами данного варианта являются отсутствие необходимости отдельной установки и простота настройки. Т.к. данная архитектура двухуровневая, то нет возможности разделения самого сервера БД и прослушивателя, взаимодействующего с пользователем. Кроме того, шлюз не обладает таким широким набором настроек защиты и журналирования, как первые два варианта. Поэтому, не рекомендуется использование встроенного шлюза для обеспечения работы готового APEX-приложения в сети интернет.
Если же сервер будет использоваться для знакомства с APEX и локальной разработки приложений, то для упрощения установки целесообразно выбрать именно 3-й вариант встроенного PL/SQL шлюза.
Проверка переменных окружения
Если сервер БД Oracle уже настроен и функционирует, то переменные окружения скорее всего настроены должным образом. В любом случае стоит их проверить. Настройки должны быть подобны следующим:
- Для платформы Windows
ORACLE_BASE= c:\oracle ORACLE_HOME=%ORACLE_BASE%\product\11.2.0\dbhome_1 ORACLE_SID=orcl ORACLE_UNQNAME=orcl PATH=%PATH%;%ORACLE_HOME%\bin
- Для платформы UNIX и Linux
ORACLE_BASE= /opt/oracle ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 ORACLE_SID=orcl ORACLE_UNQNAME=orcl PATH=$PATH:$ORACLE_HOME/bin
Региональные настройки и кодировка (значение параметра NLS_LANG зависит от предпочтений – utf8, koi8-r или win1251):
NLS_DATE_LANGUAGE=RUSSIAN NLS_LANG=RUSSIAN_RUSSIA.AL32UTF8 NLS_LANG=RUSSIAN_RUSSIA.CL8KOI8R NLS_LANG=RUSSIAN_RUSSIA.CL8MSWIN1251 NLS_SORT=RUSSIAN
Установка
Загруженный архив (в нашем случае, apex_4.1.1.zip) следует распаковать в директорию $ORACLE_HOME. Примечание: там может уже присутствовать директория apex более ранней версии. Ее можно перенести в другое место или просто удалить, если она не используется.
В командной строке следует перейти в директорию apex и запустить sqlplus.
- Для платформы Windows (предположим, БД расположена на диске C:)
C: cd %ORACLE_HOME%\apex sqlplus /nolog SQL> CONNECT SYS as SYSDBA
- Для платформы UNIX и Linux:
cd $ORACLE_HOME/apex $ sqlplus /nolog SQL> CONNECT SYS as SYSDBA
Т.к. сервер устанавливается для разработки, необходима полная установка среды разработки (Full development environment). Синтаксис команды установки имеет следующий общий вид:
@apexins tablespace_apex tablespace_files tablespace_temp images
Параметры:
- tablespace_apex имя табличного пространства, в котором будут храниться объекты схемы Oracle Application Express.
- tablespace_files имя табличного пространства для хранения файлов.
- tablespace_temp имя временного табличного пространства.
- images виртуальная директория, где будут располагаться все изображения для Oracle Application Express. Для обеспечения возможности обновления Oracle Application Express обязательно должна быть задана директория /i/.
Пример:
@apexins SYSAUX SYSAUX TEMP /i/
В большинстве случаев для стандартной установки достаточно использовать вариант из примера без изменений.
Во время установки Oracle Application Express создается 3 новых пользователя БД:
- APEX_040100 – Здесь хранятся все объекты Oracle Application Express и метаданные. Номер, следующий за нижним подчеркиванием, зависит от версии APEX.
- FLOWS_FILES – Схема, где хранятся все загружаемые файлы.
- APEX_PUBLIC_USER – пользователь с минимальными привилегиями, используется при работе с Oracle Application Express Listener или Oracle HTTP Server и mod_plsql.
Установка пароля для администратора APEX
Снова следует запустить sqlplus из той же директории apex.
- Для платформы Windows
C: cd %ORACLE_HOME%\apex sqlplus /nolog SQL> CONNECT SYS as SYSDBA
- Для платформы UNIX и Linux:
cd $ORACLE_HOME/apex $ sqlplus /nolog SQL> CONNECT SYS as SYSDBA
Команда установки пароля для администратора apex:
@apxchpwd
При появлении вопроса, введите пароль для пользователя admin.
Настройки после установки
Теперь можно запустить все процессы, остановленные перед началом установки.
Настройка выбранного варианта HTTP-сервера – встроенного PL/SQL шлюза
Снова следует запустить sqlplus из той же директории apex.
- Для платформы Windows
C: cd %ORACLE_HOME%\apex sqlplus /nolog SQL> CONNECT SYS as SYSDBA
- Для платформы UNIX и Linux:
cd $ORACLE_HOME/apex $ sqlplus /nolog SQL> CONNECT SYS as SYSDBA
Для настройки системных иконок необходимо запустить скрипт apex_epg_config.sql. В качестве параметра следует указать директорию, куда был распакован архив apex_4.1.1.zip. Важно! Не указывайте в пути саму директорию apex.
- Для платформы Windows
@apex_epg_config C:\oracle\product\11.2.0\dbhome_1
- Для платформы UNIX и Linux
@apex_epg_config /opt/oracle/product/11.2.0/dbhome_1
Далее необходимо разблокировать пользователя ANONYMOUS:
ALTER USER ANONYMOUS ACCOUNT UNLOCK;
Активация сервера Oracle XML DB HTTP
Для использования этого сервера экземпляр Oracle должен быть сконфигурирован c XML DB. Если изначально это не было сделано, добавить XML DB можно с помощью Database Configuration Assistant (dbca).
Проверка порта, назначенного для XML DB HTTP
Запускаем sqlplus
- Для платформы Windows
C:\ sqlplus /nolog connect sys as sysdba
- Для платформы UNIX и Linux
$ sqlplus /nolog connect sys as sysdba
Проверка значения заданного порта:
SELECT DBMS_XDB.GETHTTPPORT FROM DUAL;
Установка нового значения порта
Если значение порта равно 0, значит, сервер XML DB HTTP отключен. В этом случае, для активации сервера необходимо назначить порт, по которому будут выполняться обращения к серверу APEX (например, 8080).
Синтаксис команды:
EXEC DBMS_XDB.SETHTTPPORT(port);
Пример:
EXEC DBMS_XDB.SETHTTPPORT(8080);
Доступ к сетевым службам
Для использования в среде APEX различных сетевых служб, например, отправка и получение электронной почты средствами APEX, необходимо настроить политику доступа ACL.
На этом первая часть – установка сервера APEX закончена. Далее необходимо подготовить рабочие пространства, где будут создаваться приложения, и пользователей, которые будут работать с APEX.