Installing SAP Content Server 7.5x (Linux) & Configuring GOS Storage for S/4HANA 2023+

End-to-end setup guide for SAP Content Server 7.5x on Linux with FileSystem driver, offloading Generic Object Services (GOS) attachments from database table SOFFCONT1 to reduce HANA database footprint.

1. Architectural Objective #

Offload Generic Object Services (GOS) attachments (PDFs, Office documents, scanned invoices from transactions FB03, ME23N, VA03, etc.) from SAP HANA database table SOFFCONT1 to a dedicated SAP Content Server 7.5x (FileSystem driver) running on Linux.

  • Benefits: Prevents database bloat in SAP HANA memory and disk data volumes, reduces storage costs, and minimizes backup/restore recovery times.

2. 5-Step Deployment Runbook #

Step 1: Install SAP Content Server on Linux #

  1. Launch Software Provisioning Manager (SWPM): Generic Installation Options -> SAP Content Server -> Standalone Engines -> Content Server.
  2. Select Storage Type: File System (default port 1090, script sapcs).
  3. Verify that the Content Server daemon is responding via cURL:
    curl "http://<cs_host>:1090/sapcs?serverInfo"
    # Expected output: serverStatus="running"
    

Step 2: Provision the OS-Level Storage Repository (Linux) #

Create the physical directory, set proper permissions, and configure the repository definition:

# 1. Create storage directory for repository ZGOS
mkdir -p /sapmnt/<SID>/content/ZGOS

# 2. Assign ownership to the Content Server service user (<sid>adm / sapsys)
chown -R <sid>adm:sapsys /sapmnt/<SID>/content/ZGOS
chmod -R 770 /sapmnt/<SID>/content/ZGOS

Define the repository in cs.cnf (or ContentServer.ini, e.g., /sapmnt/<SID>/exe/cs.cnf):

[Repository-ZGOS]
ContentStorageName=ZGOS
StorageType=FileSystem
StorageDriver=FSStorageDriver
StoragePath=/sapmnt/<SID>/content/ZGOS
Security=1
ContRep=ZGOS

Restart the Content Server service:

systemctl restart apache2    # or: /usr/sap/<SID>/SYS/exe/sapcs restart

Step 3: Configure Repository Connection in S/4HANA #

1. Define HTTP Repository (Transaction OAC0) #

  • Content Rep.: ZGOS
  • Storage type: 06 HTTP content server
  • Version no.: 0046 or 0047
  • HTTP server: <cs_host> (IP or FQDN)
  • Port number: 1090
  • HTTP Script: sapcs
  • Press Save (Ctrl + S).

2. Initialize & Activate Certificates (Transaction CSADMIN) #

  1. Open transaction CSADMIN and enter repository ZGOS.
  2. Repository tab: Click Create repository → Status changes to defined.
  3. Certificates tab: Click Send Certificate → Highlight the sent certificate row → Click Activate (Status changes to Active).

Step 4: Reroute GOS Storage Category (Transaction OACT) #

  1. Open transaction OACT and locate category SOFFDB.
  2. Update the Content Rep. field from SYSTEM to ZGOS.
  3. Click Save.

[!NOTE]
All subsequent GOS attachments created in transactions like FB03 or ME23N will now stream directly to /sapmnt/<SID>/content/ZGOS on the Linux filesystem instead of consuming space in HANA table SOFFCONT1.

Step 5: Migrate Legacy DB Attachments to Content Server (Optional) #

To relocate existing attachments stored in the database:

  1. Transaction OACT: Create temporary category SOFFDB_OLD pointing to Content Rep SYSTEM.
  2. Transaction SE38: Execute migration report RSIRPIRL (schedule as a background job via transaction SM36 for high volumes):
    • Source Category: SOFFDB_OLD
    • Target Category: SOFFDB
  3. HANA DB Reorganization: Reclaim disk space back to the operating system after migration:
    ALTER TABLE "SAPHANADB"."SOFFCONT1" REORGANIZE;
    

3. Verification & Acceptance Testing #

  1. Open transaction FB03 or ME23N → Click Services for Object (GOS) → Create... → Create Attachment → Upload a sample PDF or document.
  2. Confirm physical file creation on the Linux host:
    ls -laR /sapmnt/<SID>/content/ZGOS/
    
  3. Re-open the document from the Attachment List in SAP GUI to verify complete file retrieval and display.

Related notes in HANA & Database