Bestellen en selecteren OS
Bij aanvraag wordt een OS gevraagd, daar heb ik Debian 7.0 64bit geselecteerd, dus niet niet de minimale versie. Voor de minimale Debian image is deze beschrijving niet geschikt, er moeten dan meer pakketten geïnstalleerd worden.
De minimale Debian image zou normaliter mijn voorkeur hebben, door het gering geheugen en disk verbruik, maar het bleek handiger te zijn om van de OpenVZ Debian 7 Normal uit te gaan en overbodige pakketten te verwijderen. Qua geheugen gebruik komt uiteindelijk op hetzelfde neer, maar het is handiger om de Normal versie te kiezen i.v.m. al aanwezig softwarepakketten in de image.
Putty en automatisch inloggen
Zie voor uitgebreide instructies: automatisch inloggen met ssh
Login als root op je server en wjzig/controleer de sshd_config:
$ vi /etc/ssh/sshd_config
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
Creëer de .ssh folder:
$ mkdir ~/.ssh
Voeg de public key toe aan de authorized_keys file en zet de rechten goed. Tip: Je kunt de public key selecteren en kopiëren met Ctrl-C en met linkermuis toets plakken in PuTTY:
$ vi /root/.ssh/authorized_keys
ssh-rsa AAA......ZCbQk= rsa-key-20150220
$ chmod 700 ~/.ssh
$ chmod 644 ~/.ssh/authorized_keys
Putty Home/End toetsen werken vreemd
Om Home/End toetsen te laten werken, ga naar: Putty > Connection > Data, wijzig Terminal-type string van “xterm” naar “linux” en sla de sessie op.
Softwarepakketten installeren
Nu je ingelogd bent als root kun je het volgende doen om de laatste updates te installeren:
$ apt-get update
$ apt-get upgrade
# apt-get dist-upgrade? -> Let op! Beter om niet te doen! VPS kan onbereikbaar worden via SSH. De dist_upgrade moet door de VPS hoster gedaan worden, d.m.v. een nieuwe OpenVZ Debian Normal template te installeren.
Eerst de overbodige pakketten verwijderen
Apache weg -> wordt vervangen door Nginx
$ service apache2 stop
$ apt-get remove --purge apache2.2-common apache2.2-bin apache2-doc apache2-utils
Nu nog de achtergebleven rommel opruimen:
$ rm /etc/init.d/apache2 /etc/logrotate.d/apache2 /etc/cron.daily/apache2 /etc/default/apache2
# rm - rf /etc/init.d/apache2 /etc/apache2/ /var/log/apache2/ /var/run/apache2/
$ rm -rf /var/cache/apache2 /run/lock/apache2 /var/lock/apache2
Sendmail verwijderen
Sendmail wordt vervangen door Postfix
$ service sendmail stop
$ apt-get remove --purge sendmail sendmail-bin sendmail-cf sendmail-doc
Of Exim4 verwijderen
In het geval dat Exim4 geïnstalleerd is
$ service exim4 stop
$ apt-get remove --purge exim4 exim4-base exim4-config exim4-daemon-light
Misschien SASL verwijderen?
Let op! SASL alleen verwijderen als geen mailserver gewenst is
$ service saslauthd stop
$ apt-get remove --purge libsasl2-modules sasl2-bin
En selecteer: Remove /etc/sasldb2: Yes
Xinetd verwijderen
$ service xinetd stop
$ apt-get remove --purge xinetd
Samba verwijderen
$ service samba stop
$ apt-get remove --purge samba
$ rm -rf /etc/samba /run/samba
$ rm -rf /etc/pam.d/samba /usr/share/samba /var/lib/samba /var/cache/samba /var/log/samba/
$ rm -rf /etc/dhcp3/dhclient-enter-hooks.d/samba /etc/dhcp/dhclient-enter-hooks.d/samba
Bind9 verwijderen -> Vaak onnodig
Bron: lowendtalk.com/discussion/1106/is-bind9-necessary-for-a-vps
$ service bind9 stop
$ apt-get remove --purge bind9 bind9-host bind9utils
$ rm -rf /var/cache/bind
En nu de benodigde pakketten installeren
Installatie van vim
Waarschijnlijk is deze al geïnstalleerd, maar vim is als volgt te installeren:
$ apt-get install vim
Installatie van dnsutils
Om DNS lookups te kunnen doen, installeren we dig:
$ apt-get install dnsutils
Shortcut command aliases
Voeg de aliassen onder aan bash.bashrc toe.
$ 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'
Hostnaam in Bash-prompt
Om de hostnaam in de prompt weer te geven, doe het volgende $ vi /etc/bash.bashrc Vervang de variabele PS1 prompt met de volgende regel: PS1=‘${debian_chroot:+($debian_chroot)}\u@$(hostname -f):\w\$
No Waranty melding verwijderen
Melding nat het inloggen via SSH verwijderen:
$ rm /etc/motd
Tijdzone
Instellen van de tijdzone gaat met de volgende tool:
$ 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
cloud
En de volledige hostnaam:
$ hostname -f
cloud.example.com
SSH poort veranderen
Op poort 22 wordt erg vaak geprobeerd om in te breken, maar dat kan eevoudig voorkomen worden door dit poort nummer te wijzigen in wat anders. In dit voorbeeld poort 2222, maar verzin gewoon een andere ongebruikte poort. Boven de 1000 mag ook een poort worden gekozen, welke waarschijnlijk niet gebruikt zal worden.
$ vi /etc/ssh/sshd_config
# What ports, IPs and protocols we listen for
Port 2222
De gids “VPS opzetten” bestaat uit de volgende artikelen:
- Inleiding: De gids: een VPS opzetten van A tot Z
- Welke VPS provider te kiezen
- VPS opzetten bij RamNode
- DNS instellen voor de VPS
- Installeren van Postfix
- Installeren van DKIM icm Postfix
- Installeren van de webserver Nginx, PHP en MySQL
- SFTP server via SSH
- Toegangsbeveiliging met Fail2ban op de VPS
- Monitoren van de VPS server
- Nieuwe website aanmaken in Nginx