ORDS Standalone

Download der neuesten Version von ORDS:
https://www.oracle.com/database/sqldeveloper/technologies/db-actions/download/

Dateipfade auf dem Applikationsserver anlegen:

Anmerkung: Da es sich bei den empfohlenen Ablageorten um Systempfade handelt, sind diese mit root anzulegen. Der Service muss dann auch als User root laufen.
Es ist möglich ORDS unter einem gering privilegierten User laufen zu lassen. Das Vorgehen dazu wird unten dargestellt.

ords-24.1.1.120.1228.zip entpacken (z.B. im Downloads Verzeichnis) cp -R /home/.../Downloads/ords-24.1.1.120.1228/* /opt/oracle/ords/24.1/

Statische Files für den Webserver aus dem apex-source Ordner in den Webfolder kopieren:
cd /var/www/html/i/
\cp -R /opt/oracle/apex_23.2/apex/images/* .

ins .profile zumindest den Pfad zu ords/bin eintragen:
cd ~
nano .profile
source .profile

# Set a varibale to the Home Directory for ORDS. 
# You should see files like license.txt and index.html in this folder.
# This is also where the bin folder is located.
export ORDS_HOME=/opt/oracle/ords/24.1
# Set a variable pointing to your ORDS Config files.
export ORDS_CONFIG=/etc/ords/config
# Add the ORDS binary to your Path.
export PATH=${ORDS_HOME}/bin:${PATH}

Anmerkung: Für die Pflege der ORDS-Version ist es empfehlenswert ords- und config-Pfade versionsunabhängig zu haben, etwa durch symbolische Links:
ln -s /opt/oracle/ords/24.1 /opt/oracle/ords/latest
Dann wäre der anzugebende Pfad in obiger Konfiguration:
export ORDS_HOME=/opt/oracle/ords/latest

Vor einem Upgrade kann das latest - Verzeichnis mit "unlink" enkoppelt und auf das nächste Versionsverzeichnis gelinkt werden:

unlink /opt/oracle/ords/latest ln -s /opt/oracle/ords/24.2 /opt/oracle/ords/latest

Ebenso ist mit dem config-Verzeichnis zu verfahren.

ggf. Oracle JAVA (empfohlen: V17) installieren

ords --config $ORDS_CONFIG install

Seit Version 24 checkt der Installer auf vorhandene tnsnames.ora Einträge, so dass die Zieldatenbank nur ausgewählt werden muss.
Pfad zum images-Directory (/i/) angeben
Ggf. https und port anpassen.

starten des ORDS-Servers von Kommandozeile mit:

ords --config $ORDS_CONFIG serve

(stoppen mit strg+c)

Für alles Weitere (anlegen als Service und tuning) siehe unten den Link von cloudnueva

Ords als non-root user

Wenn ein non-root user den Service ausführen soll, kann als Port kein privilegierter Port wie 443 verwendet werden. Die Weiterleitung kann zum Beispiel über eine Firewall-Regel realisiert werden.

Dienst stoppen: systemctl stop ords

Neuen User anlegen:
useradd ords

Rechte auf Ordner vergeben:
chown -R ords:ords /etc/ords
chown -R ords:ords /opt/ords (auch für /var/www/html/i - denke ich)

Unit-Skript anpassen:
nano ords.service
=> ersetze "user=root" mit "user=ords"

Dienst wieder starten: systemctl start ords

Hier noch der Link zu dem cheat-sheet von Richard Soule:
https://github.com/RichardSoule/APEXandORDSforDBASandSysadmins/blob/main/APEXandORDSforDBAsandSysadmins.sql

und die Post Installation Steps von Jon Dixon:
https://blog.cloudnueva.com/running-ords-standalone-mode