ORDS Standalone
Download der neuesten Version von ORDS:
https://www.oracle.com/database/sqldeveloper/technologies/db-actions/download/
Dateipfade auf dem Applikationsserver anlegen:
- Source-Verzeichnis - Beispiel: mkdir -p /opt/oracle/ords/24.1/
- Config-Verzeichnis - Beispiel: mkdir -p /etc/ords/config
- Ordner für statische html5 Files - Beispiel: mkdir -p /var/www/html/i
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