====== SavaPage Server Minimal Install Guide ====== This is a guide to install a minimal [[wp>Headless_computer|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.// ===== 1. Netinstall ===== ==== 1.1. Boot from Netinst CD ==== * **Debian** * Download Debian "stable release" netinst CD image for amd64 from [[https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/|here]]. * Look for ''debian-11.*.*-amd64-netinst.iso'' at the bottom of the page. * More info on https://www.debian.org/CD/netinst/ * **Ubuntu** * Download Ubuntu 20.04 "Focal Fossa" Minimal CD image for 64-bit PC (amd64, x86_64) from [[http://archive.ubuntu.com/ubuntu/dists/focal/main/installer-amd64/current/legacy-images/netboot/|here]]. > Boot the VM with the CD .iso image ==== 1.2. Install ==== 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: Allow login as root: Full name for the new user: beheerder Username for your account: beheerder Choose a password for the new user: ************ Encrypt your home directory: Configure the clock Set the clock using NTP? 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? : 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: Use a network mirror: 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: Use contrib software: Enable source repositories in APT: Services to use: [*] security updates [*] release updates [*] backported software +---------------------+ | Ubuntu | +---------------------+ Use restricted software: Use software from the "universe" component: Use software from the "multiverse" component: Use backported software: Enable source repositories in APT: Select and install software +---------------------+ | Debian | +---------------------+ Warning: When using VM in Virtualbox, do NOT install "virtualbox-ose-guest-x11" Participate in the package usage survey: 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: Device for boot leader installation: /dev/sda Force FRUB installation to the EFI removable media path: Finish the installation Is the system clock set to UTC? Installation complete Detach netinst iso image and ==== Lifecycle (EOL) ==== * [[https://endoflife.software/operating-systems/linux/ubuntu|Ubuntu Lifecycle (EOL)]] * [[https://endoflife.software/operating-systems/linux/debian|Debian Lifecycle (EOL)]] ===== 2. Configure Remote Access ===== 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. | ===== 3. Additional Steps by Datraverse ===== Optionally, Datraverse will deliver a fully functioning system, according to the agreed design and [[services:operational:sla|Service Level Agreement]]. ==== 3.1. Secure Access ==== 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.// ==== 3.2. Installation and Configuration ==== On top of the basic headless Debian system, additional packages are installed and configured. > //Ongoing Operational Support can optionally be performed by Datraverse within [[services:operational:sla|Service Level Agreement]] limits.//