Technical info and insight on using Oracle Documaker for customer communication and document automation

Running on Bare Red Metal - Installing Documaker on Oracle Linux from Scratch

Andy Little
Technical Director


This is a rather long tutorial that will guide you through the installation of Oracle Linux 7, Oracle Database 12c, Fusion Middleware, and Documaker Enterprise 12.6.2. By the end of this tutorial, you'll go from a bare, empty machine that doesn't boot to an operating system, to a full-fledged Linux-enabled Documaker system running on the complete Oracle stack.

Installing Oracle Linux 7

These steps will guide you in preparation of a physical or virtual machine, prior to the installation and configuration of software components. In the following instructions, Oracle Enterprise Linux 7 will be installed to a bare machine. In order to install Oracle Enterprise Linux 7 (OEL7), you will need:

Next, you need to prepare the installation media, which you can do with macOs, Linux, or Windows.

Prepare Installation Media

Using macOs

  1. Make the ISO file available to macOs and note the path/filename.
  2. Insert/connect the USB drive.
  3. Open the Terminal application on macOs to use for the following steps. Commands to be issued are shown in bold. Specific elements needed are in italics.
  4. List the drives attached to obtain the device identifier
% diskutil list
/dev/disk2 (external, physical):
0: FDisk_partition_scheme       *32.0 GB disk2
1: Windows_FAT_32   32.0 GB    disk2s1
  1. Unmount the drive.
% diskutil unmountdisk /dev/disk2
Unmount of all volumes on disk2 was successful
  1. Prepare the USB drive with OEL7 media. This will take some time as the entire ISO file (4+ GB) is copied and verified. Press CTRL-T to output current state (can press repeatedly for updates).
% sudo dd if=/Volumes/files/oel/oel7/OELR7U5.iso of=/dev/disk2 bs=1m
  1. Eject the drive.
% diskutil eject /dev/disk2
Disk /dev/disk2 was ejected.

Using Windows

  1. Make the ISO file available to Windows and note the path/filename.
  2. Download balenaEtcher from https://www.balena.io/etcher/
  3. Launch the installer and follow the directions.
  4. Insert the USB memory stick into the USB port, and launch balenaEtcher
  5. Click the Select image button; a window will appear. Navigate to the ISO file that you want to use, then click Open
  6. Click "Change" to select the correct USB device. 
  7. Click the Flash! button to begin flashing.
  8. If required, click ok to allow balenaEtcher to proceed.
  9. Once completed, balenaEtcher will unmount the stick so you can remove it.

Using Linux

  1. Login to the existing Linux machine.
  2. Change to the root user:
sudo -i
  1. Install syslinux if you do not already have it with :
yum install syslinux
  1. Insert/connect the USB drive. If running a VM, be sure to eject the drive from the host machine so the guest VM can capture it.
  2. Check that the drive is detected by your Linux OS by running fdisk -l to list the disks available. You'll want to know the approximately capacity of the USB drive so you can identify it. Locate the device name, shown in bold.
# fdisk -l
Disk /dev/sdd: 32.0 GB, 32023511040 bytes, 62545920 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00000000
Device Boot      Start         End      Blocks   Id  System
/dev/sdd1            8192    62545919    31268864    c  W95 FAT32
  1. Run the partition tool to set partition one of the USB drive as bootable, using the device name discovered earlier. Commands are shown in bold.
# parted /dev/sdd
GNU Parted 3.1
Using /dev/sdd
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) toggle 1 boot
(parted) quit
  1. Rerun fdisk -l to verify that the device partition is now bootable. Make a note of the partition device name, and ensure it is marked as bootable (shown in bold below).
#fdisk -l
Disk /dev/sdd: 1015 MB, 1015808000 bytes, 1984000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000ac091
Device Boot      Start         End      Blocks   Id  System
/dev/sdd1   *         249     1983743      991747+   6  FAT16
  1. Make the OEL7 ISO available to the machine by copying it to the machine, or by mounting the ISO, or using an NFS mount.
  2. Download this script (https://github.com/calittle/documaker/blob/master/utilities/oracle_linux_usb.sh) and run it as shown. This script will prepare the USB drive with necessary files. Replace the parts in < > with the appropriate values.
# sh oracle_linux_usb.sh --reset-mbr <path/to/ISO/file> </device/name>
  1. Eject stick.

Install Oracle Enterprise Linux

  1. Insert the USB stick into USB port on target computer and reboot machine.
  2. If the machine is not configured to select removable media first, use DEL, F2, or F8 to enter into BIOS settings and configure the machine to boot using the removable media.
  3. At the red Oracle screen, select option to install.
  4. Select the keyboard layout and language option and configure the installation according to these key points.
    1. 4.1.Destination: this is where you select the drive(s) that will be used by the Oracle Linux system. Click all the drives you want to use and use automatic partitioning to recover all the space (keep in mind that anything existing on the drives will be erased).
    2. 4.2.Software: If you burned the OEL7 ISO to a DVD and inserted it, or used a USB drive created from macOS, or copied the ISO a hard drive in the machine, it should be automatically recognized. If you chose the NFS route, you’ll need to pick the second option after clicking Software, then select the nfs protocol and enter the location in the form <IP_OR_HOSTNAME>:<PATH_TO_ISO>, e.g.
    3. 4.3.Installation type: pick development server, and go.
    4. 4.4.While the installation is progressing, use the menus to:
      1. 4.4.1.Create a root password
      2. 4.4.2.Create a user (e.g. “oracle”), and be sure to give the user administrative (sudo) privileges by ticking the box during user creation.
      3. 4.4.3.Set up networking and give your new machine a hostname.
  5. After the installation completes, remove the USB stick and reboot the machine, and login with the user created in 4.4.2.

Post-Installation Steps

  1. On your client machine, download the RPM for 64-bit JDK8 and the RPM for 32-bit JDK8 from here (https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html) and then transfer the files to the server. Note: you can also use a Windows SCP client to transfer the RPM file to your new Oracle machine.
% scp jdk-8u241-linux-*.rpm <user>@<hostname>:~/
  1. Login to the server and run the following commands to install a few extra packages that will be needed to complete other installations, and then install the JDK just downloaded.
$ sudo yum install -y nfs-utils wget xauth libXp* libXp*.i686 curl nano xorg-x11-apps xdpyinfo sysstat-10.1.5 libaio* smartmon* net-tools* binutils compat-libcap1compat-libstdc++-33 compat-libstdc++-33.i686 glibc glibc.i686 glibc-devel glibc-devel.i686 ksh libaio  libaio.i686 libaio-devel libaio-devel.i686 libX11 libX11.i686 libXau libXau.i686 libXi libXi.i686 libXtst libXtst.i686 libgcc libgcc.i686 libstdc++  libstdc++.i686 libstdc++-devel libstdc++-devel.i686 libxcb libxcb.i686 make nfs-utils net-tools smartmontools sysstat unixODBC unixODBC-devel libtiff.i686 libXrender.i686 libstdc++.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686

$ sudo yum -y localinstall jdk-8u241-linux-x64.rpm
$ sudo yum -y localinstall jdk-8u241-linux-i586.rpm
  1. Ensure you have installed an X-Windows client on your client machine, such as XQuartz or XMing.

Installing Oracle Database 12c

Database Installation

  1. On your client machine, download Oracle Database 12c Release 2 for Linux x86-64 available here (https://www.oracle.com/database/technologies/oracle-database-software-downloads.html).
  2. Transfer the file to your server.
% scp Downloads/linuxx64_12201_database.zip <user>@<hostname>:~/
  1. Login to your OEL system. Note: if you are still logged in after performing the post-installation steps you will need to log out, then log back in. Make sure you connect to the server using -Y to enable X11 forwarding:
% ssh -Y <user>@<hostname>
  1. Install prerequisites.
$ sudo yum install oracle-database-server-12cR2-preinstall -y
  1. Unzip the installer and run it. The installer GUI should appear. If it does not, check that you have installed an X-Windows client on your client machine and that you used -Y in your ssh command.
$ unzip linuxx64_12201_database.zip
$ ./database/runInstaller.sh

If you want to run the installation silently with a response file you have already generated, use the following command line. You can omit the -silent flag if you want to preview values.

$ ./database/runInstaller.sh -silent -responseFile <path/to/file>
  1. Untick the box "I wish to receive...". Click Next. Click Yes.
  2. Select Create and configure. Click Next.
  3. Select Server class. Click Next.
  4. Select Single instance. Click Next.
  5. Select Advanced install. Click Next.
  6. Select Enterprise Edition. Click Next.
  7. Use defaults for Oracle base and Software location (/home/oracle/app/oracle...). Click Next.
  8. Use defaults for Inventory. Click Next.
  9. Select General Purpose. Click Next.
  10. Use defaults for Global name (orcl) and SID (orcl). Untick the box for Create as Container database. Click Next.
  11. Accept default configurations and click Next (ensure Character Set AL32UTF8 is selected).
  12. Accept default database storage options. Click Next.
  13. No selections for EM cloud control. Click Next.
  14. No selections for Recovery options. Click Next.
  15. Enter desired password(s). Click Next.
  16. Accept defaults for system groups. Click Next.
  17. Process any required fixes for prerequisite checks. If Swap Size warning is displayed, use the following to temporarily increase swap space. Adjust count to number of megabytes of swap needed (e.g. 5000 MB = 5GB), then click Check Again.
$ sudo -i
# dd if=/dev/zero of=/tmp/swapfile bs=1M count=5000
# mkswap /tmp/swapfile
# swapon  /tmp/swapfile
# exit
  1. Click Save Response File if desired, otherwise click Install.
  2. When prompted, run the additional scripts as the root user.
  3. Allow the installation to finish.

Post-Installation Options

To prevent password expiration, rendering database unable to perform services, perform the following:

  1. Login to server
% ssh <user>@<hostname>
  1. Run sqlplus
# sqlplus / as sysdba
  1. Execute:

To configure the database for automatic startup on boot, perform the following steps.

  1. Login to server as oracle user.
  2. Create scripts directory:
$ mkdir /home/oracle/scripts
  1. Copy and paste this following into the terminal, modify the hostname before copying.
cat > /home/oracle/scripts/setEnv.sh <<EOF
# Oracle Settings
export TMP=/tmp
export TMPDIR=\$TMP
export ORACLE_HOSTNAME=<hostname>
export ORACLE_UNQNAME=orcl
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/12.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=/usr/sbin:/usr/local/bin:\$PATH
export PATH=\$ORACLE_HOME/bin:\$PATH
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
echo ". /home/oracle/scripts/setEnv.sh" >> /home/oracle/.bash_profile
cat > /home/oracle/scripts/start_all.sh <<EOF
. /home/oracle/scripts/setEnv.sh
. oraenv
dbstart \$ORACLE_HOME
cat > /home/oracle/scripts/stop_all.sh <<EOF
. /home/oracle/scripts/setEnv.sh
. oraenv
dbshut \$ORACLE_HOME
chown -R oracle.oracle /home/oracle/scripts
chmod u+x /home/oracle/scripts/*.sh
  1. You can manually start/stop the database as the Oracle user with the new stop_all.sh and start_all.sh scripts.
  2. Run the following as the root user to create the database service, which will call the start/stop scripts:
cat > /lib/systemd/system/dbora.service <<EOF
Description=The Oracle Database Service
After=syslog.target network.target
systemctl daemon-reload
systemctl enable dbora.service

Service Control

  • To start the services, run /home/oracle/scripts/start_all.sh
  • To stop the services, run /home/oracle/scripts/stop_all.sh
  • To run sqlplus, enter the command
$ sqlplus / as sysdba

Installing Fusion Middleware


  1. Download FMW from here: https://www.oracle.com/tools/downloads/application-development-framework-downloads.html
  2. Transfer the file to your server.
% scp Downloads/fmw_12. <user>@<hostname>:~/
  1. Login to the server with X11 forwarding enabled.
% ssh -Y <user>@<hostname>
  1. Copy and paste the following into the terminal. This will create the various directories for installation. If you change them from the defaults shown here, please be advised you'll need to change them for the rest of this documentation. Please pay close attention to this part!
mkdir -p /home/oracle/app/oracle/fmw
mkdir -p /home/oracle/app/oracle/domains
mkdir -p /home/oracle/app/oracle/applications
echo "export MW_HOME=$ORACLE_BASE/fmw" >> /home/oracle/scripts/setEnv.sh
echo "export WLS_HOME=$MW_HOME/wlserver" >> /home/oracle/scripts/setEnv.sh
echo "export WL_HOME=$WLS_HOME" >> /home/oracle/scripts/setEnv.sh
echo "export DOMAIN_BASE=$ORACLE_BASE/domains" >> /home/oracle/scripts/setEnv.sh
echo "export DOMAIN_HOME=$DOMAIN_BASE/wcc" >> /home/oracle/scripts/setEnv.sh
echo "export JAVA_HOME=/usr/java/jdk1.8.0_241-amd64" >> /home/oracle/scripts/setEnv.sh
echo "export PATH=$JAVA_HOME/bin:$PATH" >> /home/oracle/scripts/setEnv.sh
  1. Reload the bash profile
$ source ~/.bash_profile
  1. Unzip the installer.
$ unzip fmw_12.


  1. Run the installer.
$ java -jar fmw_12.

To run a silent installation, see Oracle documentation for generating appropriate artifacts for, and running, a silent installation. Documentation is available here: https://docs.oracle.com/cd/E23943_01/doc.1111/e14142/silent.htm#WLSIG134

  1. Click Next. Click Next.
  2. Set Oracle Home to /home/oracle/app/oracle/fmw. Click Next.
  3. Select Fusion Middleware Infrastructure. Click Next.
  4. Verify prerequisites are satisfied. Click Next.
  5. Untick the box "I wish...". Click Next. Click Yes.
  6. Click Save Response file (optional). Click Install.
  7. Click Next. Click Finish.


  1. Run the Repository Creation Utility.
$ $MW_HOME/oracle_common/bin/rcu
  1. Click Next.
  2. Select Create and System Load. Click Next.
  3. Set:
    1. Database Type = Oracle Database
    2. Host Name = localhost
    3. Port = 1521
    4. Service Name = orcl
    5. Username = sys
    6. Password = <password>
    7. Role = SYSDBA
  4. Click Next. Click Ok after prerequisite check.
  5. Tick "Oracle AS Repository Components" (checks all boxes). Click Next. Click Ok after prerequisite check.
  6. Enter password(s) for schemas. Click Next.
  7. Accept default tablespaces. Click Next. Click Ok to confirm. Click Ok after table spaces are created.
  8. Click Save Response File (optional), then click Create. After the process completes, click Close.

Documaker Installation


  1. Download Oracle Documaker Enterprise Edition (ODEE) from https://edelivery.oracle.com. You will need to search for Oracle Documaker Enterprise Edition and choose version 12.6.2 for Linux x86-64. Download the V980428-01.zip file.
  2. Copy file to the server
% scp Downloads/V980437-01.zip <user>@<hostname>:~/
  1. Login to the server with X11 forwarding enabled.
% ssh -Y <user>@<hostname>
  1. Unzip the file.
$ unzip V980437-01.zip
$ unzip ODEE12.6.2.34214linux64.zip


The installation process lays down the initial filesystem and prepares the system for configuration. This is a two-part process that begins with installation, and concludes with post-installation setup. You can follow along in the official documentation available at https://docs.oracle.com/cd/E96926_01/DEIG/Content/install-on-unix.htm.

  1. Run Disk1/runInstaller from the download package.
  2. At the welcome screen, click Next.
  3. Set the home directory to /home/oracle/app/oracle/odee. Click Next.
  4. Set password for the Documaker administrative user. Click Next.
  5. Set the database connection parameters
    1. Host = localhost
    2. Port = 1521
    3. Database Name = orcl
    4. Connection Type = Service Name
    5. Advanced Compression = check this box if you are licensed for this feature of Oracle Database. You are not required to use this feature.
    6. Click Next.
  6. On the following screens you will define the schema name and password for the Documaker administrative schemas and the first Assembly Line.
    1.  Set the schema password for dmkr_admin user. Click Next.
    2. Set the schema password for dmkr_asline user. Click Next.
  7. On the Application Server details screen, enter the following settings. If you have an existing WebLogic Domain that you want to deploy the Documaker artifacts into, specify the settings for that domain. Otherwise, create your own values here.
    1. User = <weblogic administrative user>
    2. Password=<weblogic password>
    3. Host=localhost
    4. Oracle Home=<$MW_HOME  value, /home/oracle/app/oracle/fmw>
    5. Project Path=<$DOMAIN_BASE value, /home/oracle/app/oracle/domains>
    6. Domain Name=<'ODEE' or some other name>
    7. Admin Server/Port=AdminServer, 7001
    8. Leave the remaining settings on this screen blank. Click Next
  8. Specify the principal and credentials for a user to connect to the JMS server. Recommend using the WebLogic administrative credentials. Note: recommend changing the Provider URL to use "localhost" for name resolution. Click Next.
  9. Set hot folder location (default is fine) and click Next.
  10. Enter SMTP server connection details if necessary. Note: recommend setting Port=1 if you are not using SMTP, to prevent an unnecessary warning message during startup. Click Next.
  11. Set WebCenter Content set Enable=False and click Next.
  12. Set  Oracle UMS Enable=False and click Next.
  13. Optionally save the response file, then click Install.


  1. Optionally run the following to set up an environment variable that points to your installation location. This isn't required, but is a handy shortcut. If you do not use this shortcut, then replace $ODEE1 in the remaining steps with /home/oracle/app/oracle/odee/documaker.
$ echo "export ODEE1=$ORACLE_BASE/odee/documaker" >> ~/scripts/setEnv.sh
$ source ~/.bash_profile
  1. Run the following:
$ cd $ODEE1/database/oracle11g
$ sqlplus / as sysdba @dmkr_admin
SQL> @dmkr_asline
SQL> @dmkr_admin_user_examples
SQL> exit
  1. Optionally run the following to deploy the reference implementation resources to the tables.
$ cd $ODEE1/mstrres/dmres
$ ./deploysamplemrl.sh
  1. Modify the $ODEE1/j2ee/weblogic/oracle11g/scripts/weblogic_installation.properties file. Replace '<SECURE VALUE>' with the passwords set during the installation. The passwords are not written to this file for enhanced security.
    1. jdbcAdminPassword='<SECURE VALUE>'
    2. jdbcAslinePassword='<SECURE VALUE>'
    3. jmsCredential='<SECURE VALUE>'
    4. adminPasswd='<SECURE VALUE>'
    5. weblogicPassword='<SECURE VALUE>'
    6. Optionally you can modify other values here if they differ from what was originally entered during installation.
  2. Run $ODEE/j2ee/weblogic/oracle11g/scripts/wls_create_domain.sh.
    1. Select Y to run the RCU.
      1. Click Next.
      2. Select Create Repository and System and Product Load. Click Next.
      3. Select Database Type Oracle, Host Name = localhost, Port = 1521, Service Name = orcl, Username = sys, Password = <sys password>. Click Next.
      4. Click Ok once prerequisite check completes.
      5. Create a new schema (e.g. DEV).  The templates required for ODEE are shown below - select these if they are not already selected.
        1. Common Infrastructure Services
        2. Metadata Services
        3. Weblogic Services
        4. Oracle Platform Security Services
        5. Audit Services
        6. Audit Services Append
        7. Audit Services Viewer
      6. Click Next. Click Ok after prerequisite check completes.
      7. Enter the desired password(s) for the schema(s) and click Next.
      8. Click Next to create tablespaces and then click Ok to confirm. Click Ok once tablespaces are created.
      9. Click Create to populate the schemas. Click Close.
    2. The installer will prompt you to run the RCU again if necessary. Click N.
    3. The WebLogic Domain Configuration Wizard will start.
      1. Select Create New Domain to deploy ODEE to a new domain. Set the domain location to /home/oracle/app/oracle/domains/odee. Click Next.
      2. Select Oracle JRF and click Next.
      3. Enter domain administrator username and password. Click Next.
      4. Set Domain Mode = development, and use the preselected JDK (unless you know you need to use a different one).
      5. Enter the database connection details for RCU data: Vendor=Oracle, Driver=Oracle's Driver (Thin) for Service Connections, Service=orcl, Host Name=localhost, Port=1521, Schema password for DEV_STB schema. Click Get RCU Configuration. Click Next.
      6. Click Next. Click Next after successful tests.
      7. Tick Administration Server and Node Manager boxes and click Next.
      8. Tick Enable SSL on port 7002. Click Next.
      9. Tick Per Domain Default configuration and set desired NodeManager username/password and click Next.
      10. Click Create.
      11. Click Next, then Finish.
    4. Back at the terminal window, you may open another connection to the server if you wish to edit the weblogic_installation.properties file, otherwise press Enter to load ODEE to the WebLogic domain you just created. If any of the properties you entered in the Configuration Wizard do not match those in the weblogic_installation.properties file, you must edit them before continuing.
    5. After the script completes, run wls_add_correspondence.sh.
    6. Open a new terminal window. Start Node Manager, then start the AdminServer
$ $DOMAIN_HOME/bin/startNodeManager.sh &
$ $MW_HOME/oracle_common/common/bin/wlst.sh
wls:/offline> nmConnect('<nodemanager username>','<nodemanager credential>','localhost','5556','<domain name>','/home/oracle/app/oracle/domains/<domain name>')
wls:/nm/<domain name>> startServer('AdminServer')
wls:/nm/<domain name>> exit()
  1. Back at the original terminal window, add the users for Correspondence:
$ ./create_users_groups.sh
$ ./create_users_groups_correspondence_example.sh
  1. Open a browser to http://<hostname>:7001/jpsquery
  2. Open a browser to http://<hostname>:7001/console, and login with the WebLogic credential.
    1. Expand Environment, then click Server.
    2. Click the Control tab.
    3. Tick the boxes next to JMS_Server, IDM_server, and DMKR_Server, then click Start. Grab a coffee and wait. You can click the Refresh icon to have the page automatically refresh. Note: the only required elements for starting Doc Factory are the JMS_Server and the Admin Server. If you don't need to access Documaker Interactive, then you don't need to start IDM_Server. If you don't need access DWS, Documaker Adminstrator, or Documaker Dashboard, then you don't need to start DMKR_server.
    4. Once the required servers are in the running state, you can log out of the console.
  3. Start DocFactory by entering the following command in the terminal window:
$ $ODEE1/docfactory/bin/docfactory.sh start

This concludes the tutorial; I hope you've found it useful. You can also check out my other tutorials on using ODEE with WebCenter content or authenticating with Active Directory. If you have any questions or comments, you can leave them below, or you can check out the Documaker Community.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.