Установка Oracle Application Express

Краткая инструкция как установить Application Express на отдельный сервер Oracle. Рассматривается простейший вариант установки в режиме embedded PL/SQL gateway.

Перед установкой

  1. Необходимо проверить, что прослушиватель БД (listener) настроен.
  2. Экземпляр Oracle должен быть сконфигурирован c XML DB. Если изначально это не было сделано, добавить XML DB можно с помощью утилиты Database Configuration Assistant (dbca).
  3. Остановить все сервисы oracle (listener и пр.). Экземпляр БД (instance) при этом остается запущенным.

Загрузка последней версии Oracle Application Express

Загрузить архив APEX можно на сайте Oracle. На момент написания этой статьи последней версией являлся APEX 4.1.1, поэтому дальнейшее изложение пойдет исходя из этой версии.

Выбор варианта HTTP-сервера

Существует 3 варианта организации связи с сервером APEX.

  1. Oracle Application Express Listener – специальный прослушиватель напрямую соединяется со службой APEX, что позволяет избежать необходимость использования плагина mod_plsql. Является отдельной утилитой, требующей установки и настройки.
  2. 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.

  3. Встроенный шлюз 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.

Close Menu