Deze installatie instructies zijn voor elke recente Debian/Raspian/Ubuntu installaties gelijk en staan op volgorde van installeren. IP adressen en host namen zijn als voorbeeld, wijzig ze naar wens. De gebruiker “pi” gebruik ik op al mijn lokale servertjes, ook als het geen Raspberry Pi is. Dit is praktisch met directory rechten en scripts die op meerdere servertjes draaien.

Vervang minimaal deze voorbeeld waarden:

  • Hostnaam: Cubieboard
  • Vast IP nr: 291.168.5.248
  • Gateway: 192.168.5.3

Voor lokaal netwerk en publieke servers

Uitschakelen in Vim dat bij rechtermuis toets copy/paste de Visual mode aan gaat, zodat je kan pasten in Vim

$ vi ~/.vimrc
set mouse-=a

Pakketten updaten

$ sudo apt-get update;sudo apt-get upgrade

Installeren van vim

$ sudo apt-get install vim

Wijzig IP adres van DHCP naar statisch

Let op! Raspbian werkt met een /etc/dhcpcd.conf

Voor Debian/Ubuntu

$ cd /etc/network
$ cp interfaces interfaces.old
$ vi /etc/network/interfaces
# Wired adapter #1
auto eth0
iface eth0 inet static
address 192.168.5.248
netmask 255.255.255.0
gateway 192.168.5.3

# Local loopback
auto lo
iface lo inet loopback
$ sudo service networking restart

Login weer in met Putty op het nieuwe IP adres

Voor Raspian

Waarschijnlijk is het volgende al ingesteld, wijzig van dhcp naar manual

$ sudo vi /etc/network/interfaces
iface eth0 inet manual

Zet het volgende in de dhcpcd.conf file:

$ vi /etc/dhcpcd.conf
interface eth0
inform 192.168.5.248
static routers=192.168.5.3
static domain_name_servers=8.8.8.8 8.8.4.4

Dns check

Controleer of DNS werkt met:

$ ping google.com

Als dit niet werkt, doe dan het volgende:

$ sudo vi /etc/resolvconf/resolv.conf.d/base
nameserver 8.8.8.8
nameserver 8.8.4.4

Update de nieuwe nameserver settings en check of /etc/resolv.conf bijgewerkt is:

$ sudo resolvconf -u
/etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a symbolic link to /etc/resolvconf/run/resolv.conf
$ sudo cat /etc/resolve.conf
nameserver 8.8.8.8
nameserver 8.8.4.4

Public key toevoegen aan .ssh om automatisch in te loggen

Zie handleiding: Admin->Linux-SSH-autologin met RSA keys

Locale instellen in Putty

Om Home/End buttons te laten werken: Putty > Connection > Data -> Terminal details: Terminal-type string: linux (in plaats van xterm)

Locale goed zetten: Putty > Window > Translation > Remote Character Set: UTF-8

Locale instellen op server

$ sudo dpkg-reconfigure locales

Selecteer:

  • en_US.UTF-8 UTF-8
  • en druk op OK (Default locale=en_US.UTF-8)

Start een nieuwe terminal op en check de locale:

$ locale
    LANG=en_US.UTF-8
    LANGUAGE=
    LC_CTYPE="en_US.UTF-8"
    LC_NUMERIC="en_US.UTF-8"
    LC_TIME="en_US.UTF-8"
    LC_COLLATE="en_US.UTF-8"
    LC_MONETARY="en_US.UTF-8"
    LC_MESSAGES="en_US.UTF-8"
    LC_PAPER="en_US.UTF-8"
    LC_NAME="en_US.UTF-8"
    LC_ADDRESS="en_US.UTF-8"
    LC_TELEPHONE="en_US.UTF-8"
    LC_MEASUREMENT="en_US.UTF-8"
    LC_IDENTIFICATION="en_US.UTF-8"

Aliassen toevoegen

Zet in /root/bash.bashrc:

$ sudo vi /etc/bash.bashrc

alias pg='ps -ef|grep'
alias vi='vim'

export LS_OPTIONS='--color=auto'
eval "`dircolors`"
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'

export LANG=en_US.UTF-8
export LOCALE=UTF-8

# For public servers, give email notification when logging in:
echo "Who: `who`" | mail -s "Alert: Root Access on `hostname -f`" arjan@example.com

Full Hostname in Bash-prompt

Om de volledige hostname in de prompt weer te geven, doe het volgende, vervang de variabele PS1 prompt met de volgende regel:

$ sudo vi /etc/bash.bashrc
#PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
PS1='${debian_chroot:+($debian_chroot)}\u@$(hostname -f):\w\$ '

No Waranty melding verwijderen (Debian)

Melding nat het inloggen via SSH verwijderen:

$ sudo rm /etc/motd

Tijdzone

Instellen tijdzone:

# sudo dpkg-reconfigure tzdata 

Hosts en hostname file

Let op! Door het wijzigen van de hostname bij RamNode worden de hosts en hostname file automatisch aangepast!

Hostname

Check hostname

$ hostname
vps
of
cubieboard2

En voor full hostname:

$ hostname -f
vps.example.com
of
cubieboard2

Als dit niet correct is, zet deze dan goed in

# sudo vi /etc/hostname
vps
of
cubieboard2

en in

$ sudo vi /etc/hosts
...
12.34.56.78 vps.examle.com vps

of

# First hostname and then localhost, 
# otherwise hostname -f could return localhost instead of cubieboard2
127.0.0.1 cubieboard2 localhost

Het handigste is om de server nu even te rebooten en daarna hostname -f checken.

Installatie van dnsutils

Om DNS lookups te kunnen doen, installeren we dig:

$ sudo apt-get install dnsutils

Installatie NTP

Is waarchijnlijk al geïnstalleerd, maar als niet:

$ sudo apt-get install ntp ntpdate

Voor lokaal netwerk

Samba

Installeer samba:

$ apt-get install samba

Maak pi gebruiker aan voor Samba, ik gebruik ook pi op andere soorten machines dan Rapberry Pi. Handig voor uitwisselbaarheid van scripts.

$ sudo smbpasswd -a pi
$ cd /etc/samba
$ mv smb.conf smb.conf.org

$ vi /etc/samba/smb.conf
[global]

## Disable printer sharing ##
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes

## Browsing/Identification ##
workgroup = WORKGROUP
dns proxy = no

#### Debugging/Accounting ####
# log file = /var/log/samba/log.%m
log level = 0
# max log size = 1000

## Authentication ###
server role = standalone server

## Shares ##

[nas]
comment = NAS
path = /home/pi
read only = no
create mask = 0770
directory mask = 0770
force create mode = 0770
case sensitive = no
valid users = pi
force user = pi

Herstart de Samba service

$ sudo systemctl restart smbd.service

Avahi

Avahi is handig om servers te benaderen met een naam ipv een IP adres. Bijvoorbeeld: cubieboard.local Om Avahi te installeren, doe het volgende:

$ sudo apt-get install libnss-mdns avahi-utils

Hier kun je instructies vinden voor het installeren van Bonjour op Windows machines: Network discovery with Avahi and Bonjour

Op Windows machines wordt voor de rest niet veel meer met Zeroconf/Bonjour gedaan, wel op Linux desktops (Konqueror op KDE) en macOS (Finder). Wel kun je op Windows machines met de zeroconfServiceBrowser ontdekken wat er op het netwerk aangeboden wordt aan services en machines.