====== 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.//