SavaPage Server Minimal Install Guide

This is a guide to install a minimal headless Debian or Ubuntu system in a Virtual Machine, as base for installing SavaPage Open Print Portal, PaperCut Secondary Server, and PostgreSQL for SavaPage and PaperCut Databases.

Virtual Machine 2 CPU, 4GB RAM, 100GB HDD When using PaperCut managed direct queues only.
Virtual Machine 2 CPU, 4GB RAM, 150GB HDD When using PaperCut managed hold/release queues.

Virtual Machine specifications differ depending on requirements. Contact Datraverse to tailor your wishes.

  • Debian
    • Download Debian “stable release” netinst CD image for amd64 from here.
      • Look for debian-11.*.*-amd64-netinst.iso at the bottom of the page.
  • Ubuntu
    • Download Ubuntu 20.04 “Focal Fossa” Minimal CD image for 64-bit PC (amd64, x86_64) from here.
Boot the VM with the CD .iso image
Installer boot menu
    Advanced options > Expert install

Select any nearby location, in this case “Belgium” is chosen.

Choose Language: English 

    Select your location: 
    other > Europe > Belgium
    
    Configure locales:
    United States - en_US.UTF-8 > No additional locales   
+---------------------+
| Debian              |
+---------------------+
Configure the keyboard
    
    Keymap to use: American English

Detect and mount CD-ROM

    Modules to load
        [*] usb-storage (USB storage)

Load installer components from CD

    Installer components to load: 
      Do NOT select any component
+---------------------+
| Ubuntu              |
+---------------------+
Configure the keyboard

    Country of origin: English (US) | Keyboard layout: English (US)
Detect network hardware

    Modules to load
        [*] usb-storage (USB storage)

Choose a Hostname that identifies your organization. This makes it easier for third-party support to distinguish multiple terminals from different customers. Prefix your hostname with sava-, and use a short mnemonic, that identifies your organization, as suffix. So, the hostname for Acmee Corp could be sava-acmee.

Configure the network

    Hostname    : (your 'sava-mnemonic' hostname)
    Domain name : (empty for now)

    No autoconfiguration > Use static IP's as appropriate in your infrastructure
+---------------------+
| Ubuntu              |
+---------------------+
Download installer components

    Installer components to load: 
      Do NOT select any component
Set up users and passwords

    Enable shadow passwords: <Yes>
    Allow login as root: <No>
    Full name for the new user: beheerder
    Username for your account: beheerder
    Choose a password for the new user: ************
    Encrypt your home directory: <No>

Configure the clock

    Set the clock using NTP? <Yes>
    NTP server to use: (accept the default)
    Select your time zone: Europe/Brussels
Detect disks

Partition disks

    Partition method: Manual
    Select the SCS ... (sda) device
    Create new empty partition table on this device? : <Yes>
    Partitiontable type: msdos
    

The size of the partitions is based on the default HDD size as specified at the top of this page. Contact Datraverse on how to size the partitions in case HDD size differs from the default options.

  • PaperCut Secondary needs to be installed in /home/papercut/. All its temp (spool) files resides there as well. Since it is hard to tell what size PaperCut will occupy at runtime, a /home partition is not created. It is better to be on the safe side with a large / mount.
  • SavaPage is installed in /opt/savapage/, where /opt/savapage/custom/ and /opt/savapage/data/ hold operational files (that are not part of the initial installation). The /opt mount isolates the complete SavaPage runtime in a separate partition.
  • PostgreSQL data_directory resides in /var/lib/postgresql/9.*/main/. In case of a disaster, the SavaPage database can be restored from /opt/savapage/data/backups/ and PaperCut from its own Windows backup location. Of course, storing database backups to an external location is recommended.
    Select the FREE SPACE to create the following partitions:

    For a 100 GB disk:
    
      size   mount   use as  partition   type
      ----   -----   ------- ---------   ----------
      55GB   /       ext4    /dev/sda1   *PRIMARY*
      40GB   /opt    ext4    /dev/sda2   *PRIMARY*
       5GB           swap    /dev/sda3   *PRIMARY*
    
    For a 150 GB disk:
     
      size   mount   use as  partition   type
      ----   -----   ------- ---------   ----------
     105GB   /       ext4    /dev/sda1   *PRIMARY*
      40GB   /opt    ext4    /dev/sda2   *PRIMARY*
       5GB           swap    /dev/sda3   *PRIMARY*
     
Install the base system
+---------------------+
| Debian              |
+---------------------+
    Kernel to install: linux-image-amd64  
        Note: this is the generic metapackage
+---------------------+
| Ubuntu              |
+---------------------+
    Kernel to install: linux-generic
    Drivers to include in the initrd: 
        targeted: only include drivers needed for this system
Configure the package manager
+---------------------+
| Debian              |
+---------------------+
    Scan another CD or DVD: <No>
    Use a network mirror: <Yes>
    Protocol for file downloads: http
    Debian archive mirror country: Belgium
    Debian archive mirror: (accept default)
    HTTP proxy information (blank for none): 
    
    Use non-free software: <No>
    Use contrib software: <Yes>
    Enable source repositories in APT: <No>

    Services to use:
        [*] security updates
        [*] release updates
        [*] backported software
+---------------------+
| Ubuntu              |
+---------------------+
    Use restricted software: <No>
    Use software from the "universe" component: <Yes>
    Use software from the "multiverse" component: <No>
    Use backported software: <Yes>
    Enable source repositories in APT: <No>
Select and install software
+---------------------+
| Debian              |
+---------------------+
    Warning: When using VM in Virtualbox, do NOT install 
             "virtualbox-ose-guest-x11"
    
    Participate in the package usage survey: <No>
    
    Choose software to install:
        [*] SSH server
        [*] standard system utilities        
        [ ] disable everything else
+---------------------+
| Ubuntu              |
+---------------------+
    How do you want to manage upgrades on this system?
        Install security updates automatically

    Choose software to install:
        [*] OpenSSH server
        [ ] disable everything else
Install the GRUB boot loader on a hard disk        

    Install GRUB boot loader to master boot record: <Yes>
    Device for boot leader installation: /dev/sda    
    Force FRUB installation to the EFI removable media path: <No>
        
Finish the installation
    
    Is the system clock set to UTC? <Yes>
    
Installation complete

    Detach netinst iso image and <Continue>       

To SSH access the Debian server over the Internet, forward local port 22 of the server to a random (non-trivial) external port. For example:

Debian Server on LAN 192.168.0.11 find with ip addr show
Internet WLAN 176.62.168.143
Port Forward 176.62.168.143:59411 → 192.168.0.11:22 Please do not filter these ports.

Optionally, Datraverse will deliver a fully functioning system, according to the agreed design and Service Level Agreement.

After remote access is established, password logins are immediately disabled and pubkey authentication is set up. You can provide the public SSH keys for users that are allowed access.

On top of the basic headless Debian system, additional packages are installed and configured.

Ongoing Operational Support can optionally be performed by Datraverse within Service Level Agreement limits.
  • howto/savapage/minimal-debian-install.txt
  • Last modified: 2022/01/04 10:18
  • by rijk