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.