Installatie webserver (2021): verschil tussen versies
Regel 215: | Regel 215: | ||
* https://www.golinuxcloud.com/bashrc-vs-bash-profile/ | * https://www.golinuxcloud.com/bashrc-vs-bash-profile/ | ||
* https://www.tecmint.com/disable-root-login-in-linux/ | * https://www.tecmint.com/disable-root-login-in-linux/ | ||
+ | * https://www.tecmint.com/set-hostname-permanently-in-linux/ |
Versie van 17 sep 2021 18:52
Tijd voor een nieuwe VPS! Zie Installatie webserver (2018) voor de laatste installatie hiervoor. Dit artikel is daarop gebaseerd.
Server-specs
Laatste server
Dit zijn de specs van m'n laatste server:
- TransIP-pakket X16
- 4 cores
- 16 GB geheugen
- 300 GB SSD
Nieuwe server
TransIP C-range-pakket: Die schalen net iets verder door dan VPS'en uit het X-range-pakket. Het wordt het instappakket C2:
- 2 dedicated vCPU's
- 4 GB RAM
- 100GB NVMe
- OS: Ubuntu 20.04 LTS, met ondersteuning tot april 2025
Basis-configuratie
Alias op werkstation
Geen DNS-entry toevoegen aan /etc/hosts
. Enkel een alias toevoegen aan .bashrc
:
alias dvb8="ssh 123.134.156.78"
Installatie OS door TransIP
Tegenwoordig is er de keuze om het OS direct te installeren en gelijk al ssh-public keys te plaatsen. Daar heb ik gebruik van gemaakt - Scheelt flink wat frustrerend werk!
Wachtwoord instellen
Omdat TransIP de installatie van het OS verzorgd, krijg ik daar niet de gelegenheid een wachtwoord in te stellen voor het root-account. Dat gaat pas na inloggen (via ssh):
sudo passwd jeroen
Disable root-account
Account root
is actief. Dat vind ik niet handig. Verwijderen lijkt me iets te veel van het goede. Daarom uitzetten:
sudo vim /etc/passwd
- Verander regel
root:x:0:0:root:/root:/bin/bash
inroot:x:0:0:root:/root:/sbin/nologin
.
Als ik nu probeer in te loggen:
$ su root Password: This account is currently not available.
Hostnaam aanpassen
Deze server heet nu Ubuntu. Daar wil ik dvb8 van maken:
sudo hostname dvb8
sudo vim /etc/hostname
sudo vim /etc/hosts
- Bleek niet nodig te zijn.
Time zone instellen
[1]:
Specificeer de timezone met de interactieve routine die je start met:
sudo dpkg-reconfigure tzdata
Deze bleek niet correct te zijn ingesteld. Nav. de routine kreeg ik deze melding:
Current default time zone: 'Europe/Amsterdam' Local time is now: Fri Sep 17 17:44:13 CEST 2021. Universal Time is now: Fri Sep 17 15:44:13 UTC 2021.
Firewall
TransIP biedt VPS Firewall, die draait op de hypervisor van het VPS. Deze is gebaseerd op iptables en kun je bedienen via de TransIP-console - Handig [2]. Dan ga ik niet zelf klooien met een firewall.
Ik denk dat de basisinstellingen voldoen. Dit zijn de regels die in 2018 gebruikte voor de configuratie van UFW, en die komen overeen met deze basisinstellingen:
default allow outgoing default deny incoming allow 22/tcp # ssh allow 80/tcp # http allow 443/tcp # https
→ Firewall aangezet.
IPv6
Ik ben nog niet thuis in configuratie van IPv6. Verbazend simpele oplossing: Niet gebruiken! Cloudways heeft dat ook niet op z'n servers, dus kan ik ook wel zonder.
Locale
Instellingen tav. locale zijn al door TransIP verzorgd tijdens installatie. Dit zijn ze, al hoef ik hier momenteel nix mee:
$ locale LANG=C.UTF-8 LANGUAGE= LC_CTYPE="C.UTF-8" LC_NUMERIC=C.UTF-8 LC_TIME=C.UTF-8 LC_COLLATE="C.UTF-8" LC_MONETARY=C.UTF-8 LC_MESSAGES="C.UTF-8" LC_PAPER=C.UTF-8 LC_NAME=C.UTF-8 LC_ADDRESS=C.UTF-8 LC_TELEPHONE=C.UTF-8 LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C.UTF-8 LC_ALL=
.bash_aliases
Verschil tussen diverse bestanden [3]:
.bashrc
: Wordt uitgevoerd bij alle shell-aanroepen. Dus ook als je scripts met een shebang aanroept.bash_aliases
: Optioneel bestand om je aliassen in onder te brengen. Dit is voor het eerste dat ik hier gebruik van maak: Storingen in.bashrc
zijn niet handig.profile
: Wordt alleen uitgevoerd tijdens interactive shells, dus wanneer je als gebruiker een terminal opent. Ik geloof dat dit de plek is om PATH eventueel aan te passen.
Mijn toevoegingen aan .bash_aliases
:
########################################################################################## # Additions - Strompf ########################################################################################## # # # Aliases - General ########################################################### # alias scripts="cd /usr/local/bin" alias www="cd /var/www" alias wwwls="ls /var/www" alias pss="ps -aux" # Aliases - Apache ########################################################### # # I use these quite a bit # alias a2re="sudo service apache2 reload" alias a2s="apachectl -S" alias a2dis="sudo a2dissite" alias a2en="sudo a2ensite" # Aliases - Hosted sites ########################################################### # # None yet, of course
.profile
Ik vind het handig als na inloggen, de inhoud van map /var/www
wordt getoond. Daarom deze toevoeging aan .profile
:
################################################################################ # Additions - Strompf ################################################################################ # # # Update PATH ################################################## # # * Do this in .profile or in .bashrc? # * Nothing needed yet # * Note that "/use/local/bin" is already included in PATH # Display hosted sites ################################################## # echo " " echo "ls /var/www" ls /var/www echo " "
sudo timeout
Zie Sudo voor het aanpassen van de sudo timeout - Graag!
Backup-time!
Juhu! De basis is op orde. Goed moment voor een backup (via TransIP-console) en dan de applicaties.