{"id":13795726,"url":"https://github.com/OraOpenSource/OXAR","last_synced_at":"2025-05-12T23:32:44.302Z","repository":{"id":26577701,"uuid":"30032037","full_name":"OraOpenSource/OXAR","owner":"OraOpenSource","description":"Oracle XE \u0026 APEX build script along with images for popular cloud platforms","archived":false,"fork":false,"pushed_at":"2019-06-28T14:47:16.000Z","size":11892,"stargazers_count":109,"open_issues_count":58,"forks_count":41,"subscribers_count":35,"default_branch":"master","last_synced_at":"2025-03-03T00:25:06.983Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.oraopensource.com/oxar/","language":"PLSQL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OraOpenSource.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-29T17:25:40.000Z","updated_at":"2024-11-25T06:05:16.000Z","dependencies_parsed_at":"2022-09-01T19:20:50.597Z","dependency_job_id":null,"html_url":"https://github.com/OraOpenSource/OXAR","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OraOpenSource%2FOXAR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OraOpenSource%2FOXAR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OraOpenSource%2FOXAR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OraOpenSource%2FOXAR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OraOpenSource","download_url":"https://codeload.github.com/OraOpenSource/OXAR/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253841183,"owners_count":21972610,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T23:01:01.237Z","updated_at":"2025-05-12T23:32:39.290Z","avatar_url":"https://github.com/OraOpenSource.png","language":"PLSQL","funding_links":[],"categories":["Tools"],"sub_categories":["Closed Source"],"readme":"***This document is best viewed in [flatdoc format](http://oraopensource.github.io/flatdoc?repo=oxar\u0026path=README.md)***\n\u003ca name=\"constants\"\u003e\u003c/a\u003e\n\n# Oracle XE \u0026 APEX\nThe goal of the OXAR (pronounced \"Oscar\") project is to make it easy for developers to quickly build and/or launch a fully functional instance of Oracle XE and APEX. The scripts provided in this project handle the automatic build.\n\n*Note: Currently this build lacks a backup script. It is recommended to do your own backup*\n\nFor more information and to signup for our email list go to [oraopensource.com](http://www.oraopensource.com). You can follow the related blogs on this project [here](http://www.oraopensource.com/blog/?category=OXAR).\n\nIf you need additional help, there is a [How-To video](http://www.oraopensource.com/blog/2015/2/25/video-how-to-build-oracle-xe-apex-machine) for this installation which walks you through the entire process.\n\n# Current Software Versions\nApp              | Version                 | Description\n------           | ------                  | ------\nOracle XE        | 11.2.0.2.0              |\nSQLcl            | 4.2.0                   | Command line SQL\nAPEX             | 18.2                    | Currently supports APEX 18.x, 5.x and APEX 4.x releases. Just reference the appropriate file in `config.properties`\nORDS             | 18.3.0                  |\nTomcat           | 7.0.57                  |\nNode JS          | 8.x                     |\nAPEX Office Print| 3.0                     | Currently only supports 5.x. Disable the option to install this add-on if you are installing versions earlier or later than 5.x\n\n## Node.js Tools\nApp              | Version                 | Description\n------           | ------                  | ------\noracledb         | latest                  | [Node.js driver for Oracle](https://github.com/oracle/node-oracledb)\n[pm2](https://github.com/Unitech/pm2) | latest | Process manager for Node.js apps\n\n\n# Supported OS's\nThis script currently works on the following Linux distributions\n\nOS | Minimum version | Comments\n------ | ------ | ------\nCentOS        | 7 |\n~~Oracle Linux~~  | ~~7.2~~ |\n~~Fedora~~        | ~~21~~ |\n~~Debian~~        | ~~8.0~~ | See #198 for more information\n~~Ubuntu~~        | ~~16.04~~ | See #198 for more information\n\n# Deployment Options\n\nOption | Description\n------ | ------\nNative Build | This is the default option and assumes thats you will be running this script on the machine that it will be installed on. Common uses of this is to run in a VM or cloud machine.\n[Vagrant](https://www.vagrantup.com/) | Vagrant is a tool for building development environments. Some additional configuration is required when running this script with Vagrant. These changes are noted in the documentation\nPrebuilt Images | Due to licensing issues, we can not provide a prebuilt image or appliance. As such you will need to manually build the VM yourself with the provided scripts. \u003c/br\u003e\u003c/br\u003eIf you are using Amazon AWS EC2, please be sure to follow the configuration steps listed [here](docs/amazon_aws.md).\n\n\n# Build\nYou can build your own VM with the following instructions.\n\n## Download\n### Native Build\n\n```bash\n#Ensure user is currently root\nif [ \"$(whoami)\" != \"root\" ]; then\n  sudo -i\nfi\n\ncd /tmp\n\n#Install Git\nif [ -n \"$(command -v yum)\" ]; then\n  #RHEL type OS\n  yum install git -y\nelse\n  #Debian type OS\n  apt-get install git-core\nfi\n\ngit clone https://github.com/OraOpenSource/oxar.git\ncd oxar\n```\n\n### Vagrant\nRun the following on your host machine *(you will need `git` installed on your host machine)*:\n\n```bash\ngit clone https://github.com/OraOpenSource/oxar.git\ncd oxar\n```\n\n## Configure\nRegardless of whether you're doing a native or Vagrant based build, you will need to modify the `config.properties` file prior to running the installation script. At a minimum, you will need to replace the CHANGME tokens to point to the appropriate files. Read below for help on modifying this file. *If doing a Vagrant install, you can modify `config.properties` using your local text editor.*\n\n```bash\n#Hints for vi:\n#Type:\u003cesc key\u003e?CHANGEME   to search for CHANGEME\n#Once done modifying an entry, hit \u003cesc\u003e and type: n  to search for next entry\n\nvi config.properties\n```\n\n### Files\n**Due to licensing requirements, you must download the Oracle installation files and modify the following parameters in the config file with the location of these files.**\n\nParameter | Description\n------ | ------\n`OOS_ORACLE_FILE_URL` | [Download](http://www.oracle.com/technetwork/database/database-technologies/express-edition/overview/index.html)\n`OOS_APEX_FILE_URL` | [Download](http://download.oracleapex.com)\n`OOS_ORDS_FILE_URL` | [Download](http://www.oracle.com/technetwork/developer-tools/rest-data-services/overview/index.html)\n`OOS_SQLCL_FILE_URL` | [Download](http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html) *This is an optional file*\n\n\nThese can be references to files on a web server or to the location on the server. Some examples:\n\n```bash\n#Assuming the file resided on myserver.com\nOOS_ORACLE_FILE_URL=http://myserver.com/oracle-xe-11.2.0-1.0.x86_64.rpm.zip\n#Assuming the file is placed in the /tmp folder on the machine\nOOS_ORACLE_FILE_URL=file:///tmp/oracle-xe-11.2.0-1.0.x86_64.rpm.zip\n```\n\nYou can copy files from your local machine to the remote server easily using ```scp```. Example:\n\n```bash\nscp oracle-xe-11.2.0-1.0.x86_64.rpm.zip username@servername.com:/tmp\n```\n\n#### File Help\n\nTo assist getting your Oracle installation files configured for OXAR one approach is to use [Dropbox](http://dropbox.com). Once you have downloaded the install files, store them on dropbox and then reference them using the [Shared Link](https://www.dropbox.com/en/help/167) feature. Note that you need to change the `...?dl=0` to a `...?dl=1` at the end of the file. *For copyright purposes you should only use these links for your OXAR install and not share them publicly.*\n\nInstead of having to use `vi` to edit the file you can use `sed` to find and replace. An example is as follows: *(Note: the escaping of forward slashes (`/`) in the URL)*\n```bash\nsed -i 's/OOS_ORACLE_FILE_URL=CHANGEME/OOS_ORACLE_FILE_URL=https:\\/\\/www.dropbox.com\\/s\\/SHAREDLINKCODE\\/oracle-xe-11.2.0-1.0.x86_64.rpm.zip?dl=1/g' config.properties\nsed -i 's/OOS_APEX_FILE_URL=CHANGEME/OOS_APEX_FILE_URL=https:\\/\\/www.dropbox.com\\/s\\/SHAREDLINKCODE\\/apex_5.0.3_en.zip?dl=1/g' config.properties\nsed -i 's/OOS_ORDS_FILE_URL=CHANGEME/OOS_ORDS_FILE_URL=https:\\/\\/www.dropbox.com\\/s\\/SHAREDLINKCODE\\/ords.3.0.2.294.08.40.zip?dl=1/g' config.properties\nsed -i 's/OOS_SQLCL_FILE_URL=/OOS_SQLCL_FILE_URL=https:\\/\\/www.dropbox.com\\/s\\/SHAREDLINKCODE\\/sqlcl-4.2.0.16.049.0843-no-jre.zip?dl=1/g' config.properties\n```\n\n#### Files-Vagrant\nVagrant automatically maps your current folder to `/vagrant` on its VM. You can copy your files to the subdirectory `files` in `oraclexe_apex` (on your host machine) and reference them with `/vagrant/files/\u003cfilename\u003e`. The `files` subdirectory has been added to [.gitignore](.gitignore) to exclude the installation files from version control.\n\nExample:\n```bash\nOOS_ORACLE_FILE_URL=file:///vagrant/files/oracle-xe-11.2.0-1.0.x86_64.rpm.zip\n```\n\n### Modules\nYou can optionally chose which modules you want installed. This install supports the following optional modules which can be modified in ```config.properties```\n\nModule | Default | Description\n------ | ------ | ------\n`OOS_MODULE_ORACLE` | Y | Install Oracle XE\n`OOS_MODULE_APEX` | Y | Install's APEX and all of it's components (Tomcat, ORDS, etc)\n\n\n### APEX\nThere are additional APEX configurations that you may want to make in the ```scripts/apex_config.sql``` file. You can run them later on or manually configure them in the APEX admin account.\n\n### Vagrant\nBy default you don't need to configure anything, however you may want to modify various things about your Vagrant machine. To do so, modify `Vagrantfile`.\n\n## Build\nTo build the server run the following commands. It is very important that you run it starting from the same folder that it resides in.\n\n### Native Install\n\n```bash\n. build.sh\n```\n\n### Vagrant\n\n```bash\nvagrant up\n```\n\n# Add-ons\n\nOXAR now supports 3rd party add-ons to be included into OXAR. Current list of add-ons:\n\nName | Description\n--- | ---\n[APEX Office Print](addons/aop) | Flexible print server for Oracle Application Express (APEX) to generate your Office and PDF-documents in no time and effort - we make printing easy.\n\n# Securing the Server\n\nIf you use OXAR in a production instance or is available on the internet it is recommended that you lock down certain features. Review our [Securing System](docs/securing_system.md) document.\n\n\n# How to connect\n\n## Oracle / SQL*Plus / SQLcl\n\nThere are many different ways to connect to Oracle with SQL*Plus. The [How to Connect to Oracle](docs/connect_oracle.md) document covers them.\n\nUsername | Password | Description\n------ | ------ | ------\n`OOS_USER` | `oracle` | User you can use to develop with right away\n`SYS` | `oracle` |\n`SYSTEM` | `oracle` |\n`APEX_PUBLIC_USER` | `oracle` |\n\nTo start/stop/restart Oracle run the following commands:\n```bash\n/etc/init.d/oracle-xe start\n/etc/init.d/oracle-xe stop\n/etc/init.d/oracle-xe restart\n```\n\n## APEX\nTo connect to APEX go to `http://\u003cserver_name\u003e/` or `https://\u003cserver_name\u003e/` and it will direct you to the APEX login page.\n\nWorkspace | Username | Password | Description\n------ | ------ | ------ | ------\n`INTERNAL` | `admin` | `Oracle1!` | Workspace administrator account\n`OOS_USER` | `oos_user` | `oracle` | You can start developing on this account. It is linked to OOS_USER schema\n\n\n### APEX Web Listener\nThis project uses [Node4ORDS](https://github.com/OraOpenSource/node4ords) as a web listener. The Node4ORDS project provides the ability to serve static content and will provide additional web server functionality. Please read its documentation for more information.\n\nNode4ORDS is installed in `/opt/node4ords`. It can be controlled by:\n```bash\npm2 start node4ords --watch\npm2 stop node4ords\n# For older versions of OXAR\n# systemctl start node4ords\n# systemctl stop node4ords\n```\n\nStatic content can be put in `/var/www/public/` and referenced by `http://\u003cserver_name\u003e/public/\u003cfilepath\u003e`. More information about the web listener configuration can be found at the [Node4ORDS](https://github.com/OraOpenSource/node4ords) project page.\n\n#### SSL\nOXAR now supports SSL out of the box with an unsigned certificate. For configurations options and how to obtained a signed certificate read the [SSL docs](docs/ssl.md)\n\n### ORDS\n[Oracle REST Data Services (ORDS)](http://www.oracle.com/technetwork/developer-tools/rest-data-services/overview/) allows web servers (such as Tomcat) to connect serve up APEX pages. It is located in `/ords`\n\nThe APEX images are stored in `/ords/apex_images`\n\nSince ORDS is a module that is added to Tomcat, there is no direct stop/stop commands for it. To restart ORDS, restart Tomcat.\n\n## Tomcat Manager\nThis server uses [Apache Tomcat](http://tomcat.apache.org/) as the web container for ORDS. By default, the firewall restricts public access to the Tomcat server directly. *Note: To access APEX, you do not need to reference Tomcat directly (via port 8080 by default). Connecting to Tomcat is only required for additional debugging or configuration.*\n\nIf you do want to make it accessible run:\n\n```bash\nservice firewalld start\nfirewall-cmd --zone=public --add-service=tomcat\n```\n\nYou can then access Tomcat Manager via `http://\u003cserver_name\u003e:8080/manager` or Application Express via `http://\u003cserver_name\u003e:8080/ords`\n\nUsername | Password | Description\n------ | ------ | ------\n`tomcat` | `oracle` | Admin account\n\n\nBy default the admin account is tomcat/oracle\n\nTo disable Tomcat firewall access run: *note: if you don't disable it, the next time the server is rebooted it will be disabled.*\n\n```bash\nfirewall-cmd --zone=public --remove-service=tomcat\n```\n\nTomcat is located in `/usr/share/tomcat/`. Tomcat can be controlled by:\n\n```bash\nsystemctl stop tomcat@oxar\nsystemctl start tomcat@oxar\n```\n\n## Shell Access for Vagrant\nFor VM created by Vagrant, the following user accounts can be used to access the VMs via SSH:\n\nBox | Username | Password | Description\n------ | ------ | ------ | ------\nboxcutter/ol72 | vagrant | vagrant | User account\nboxcutter/ol72 | root | vagrant | Root account\n\n# Port Configurations\nThe default port settings are as follows:\n\nPort | Service | Open | Description\n------ | ------ | ------ | ------\n22 | SSH | Yes |\n80 | Node.js | Yes | HTTP Server\n1521 | Oracle SQL connection | Optional (default: No) |\n8080 | Tomcat | Optional (default: No) |\n8081 | PL/SQL Gateway | No | Disabled by default\n\nOptional ports can be configured in`config.properties` in the `FIREWALL` section. If you want to modify the firewall settings after running the build script, open `scripts/firewalld.sh` and look for examples on how to open (both temporarily and permanently).\n\nTo start/stop the Firewall:\n```bash\nsystemctl start firewalld\nsystemctl stop firewalld\n```\n\n## Vagrant Port Mapping\nThe following ports are mapped to the host and can be configured in [Vagrantfile](Vagrantfile):\n\nPort | Host Port | Service | Description\n------ | ------ | ------ | ------\n22 | 50022 | SSH | An additional port may be assigned by Vagrant.\n80 | 50080 | Node.js | HTTP Server\n1521 | 50521 | Oracle SQL connection | The port is mapped but usable only if permitted by firewall rules **.\n\n** See [Port Configurations](#port-configurations).\n\n# Other\n## OS Utility Scripts\nWhen setting up a new server their are some common things that you may want to do such as creating a new user, disabling root SSH access, etc. Though these tasks are outside the goal of this project, we've created a new folder [`utils/os`](utils/os) to store some of these common scripts which may help when setting up a new server.\n\n## Oracle Utility Scripts\nThis install uses some common Oracle scripts that may be useful to run at a later time. For example, the `create_user.sql`, creates a user with all the necessary privileges to start using. For more info, go to the [`oracle`](oracle) folder.\n\n## Editing server files locally\nTo make it easier to edit files on the server (and avoid using vi), [Remote-Atom](https://github.com/randy3k/remote-atom) (ratom) is installed by default. This requires that you have the [Atom](https://atom.io/) text editor on your desktop and have installed the [ratom](https://github.com/randy3k/remote-atom).\n\nWhen you connect to the server use the following connection string:\n```bash\nssh -R 52698:localhost:52698 \u003cusername\u003e@\u003cserver_name_or_ip_address\u003e\n```\n*Note: Port 52698 is the default port and can be changed in the plugins settings in Atom*\n\nOnce you're connected, to edit a file locally, simply type:\n```bash\nratom \u003cmyfile\u003e\n```\nThe file will then appear in your Atom editor.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOraOpenSource%2FOXAR","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOraOpenSource%2FOXAR","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOraOpenSource%2FOXAR/lists"}