ComputerBas

Tips, tricks and manuals

Je bent niet ingelogd.

#1 2020-08-26 15:56:05

Bas
Administrator
Geregistreerd: 2019-11-10
Posts: 83

Debian 10

Installeer Debian 10 met Cinnamon Desktop, webserver en SSH server


Log in als root

open terminal en kijk of het hekje er staat.

Zo ja dan ben je root en hoef je niet meer eerst sudo te typen

root@vps#

sudo apt update

sudo apt upgrade

Installeer en zet de firewall aan met UFW:

sudo apt install ufw

sudo ufw status

sudo ufw enable

sudo ufw app list

sudo ufw allow SSH

sudo ufw allow 'WWW Full'

regel verwijderen doe je zo:

sudo ufw app list numbered

sudo ufw delete 3

sudo ufw reload

SSH:

Om onderstaande makkelijk te kunnen plakken in je console moet je root toestaan voor SSH

sudo nano /etc/ssh/sshd_config

PermitRootLogin yes

Reboot of reload SSH

Nu kan je vanaf je computer inloggen op je website met ssh als root
Handig voor SFTP Drive en RDP door een SSH tunnel

SSH Tunnel met Putty:

In Putty:

Maak een SSH tunnel met port 1234 en destination localhost:3389

Open tunnel en log in.

RDP via SSH tunnel

Op server:

sudo apt install xfce4

sudo apt install xrdp

Op werkstation:

In RDP log je in met 127.0.0.1:1234 en servernaam\user

En dan de website:

Apache:

sudo systemctl status apache2

sudo apache2ctl configtest

sudo systemctl reload apache2

sudo mkdir -p /var/www/your_domain

sudo chown -R $USER:$USER /var/www/your_domain

sudo chmod -R 755 /var/www/your_domain

nano /var/www/your_domain/index.html

en dan

<html>
<head>
<title>Welkom op mijn website.nl!</title>
</head>
<body>
<h1>Gelukt! Virtual host werkt!</h1>
</body>
</html>

Om te kijken of het allemaal gelukt is doe je dit:

hostname -I

sudo apt install curl

curl -4 icanhazip.com

check: http://your_server_ip

sudo systemctl restart apache2

sudo nano /etc/apache2/sites-available/younameit.conf

Zet onderstaande in de configfile :

<VirtualHost *:80>

ServerAdmin admin@your_email_domain

ServerName your_domain

ServerAlias www.your_domain

DocumentRoot /var/www/your_domain

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Maak een aparte configfile per website in plaats van de default configfile:

sudo a2ensite younameit.conf

sudo a2dissite 000-default.conf

sudo apache2ctl configtest

HTTP2:

sudo a2dismod php7.3

sudo systemctl restart apache2

sudo a2dismod mpm_prefork

sudo a2enmod mpm_event

sudo systemctl restart apache2

sudo service php7.3-fpm restart

sudo a2enmod http2

sudo systemctl restart apache2

sudo a2enmod headers

sudo systemctl restart apache2

Security:

sudo apt install libapache2-mod-security2

sudo systemctl restart apache2

sudo nano /etc/apache2/conf-enabled/younameit.conf

en dan

ServerTokens Full

ServerSignature On

SecServerSignature "Bas"

TraceEnable Off

Expires header:

sudo a2enmod expires

sudo systemctl restart apache2

SSL:

sudo nano /etc/apt/sources.list

deb http://ftp.debian.org/debian buster-backports main

sudo apt update

sudo apt install python-certbot-apache -t buster-backports

sudo certbot --apache --rsa-key-size 4096 --must-staple --staple-ocsp -d jouwsite.nl -d www.jouwsite.nl

sudo certbot renew --dry-run

PHP 7.3:

sudo apt install php7.3

sudo apt install php7.3-mysql

sudo apt install php7.3-zip

sudo apt install php7.3-fpm

sudo apt install php7.3-mbstring

sudo apt install php-curl

sudo apt install php7.3-curl

sudo a2enmod proxy_fcgi setenvif

sudo systemctl restart apache2

sudo a2enconf php7.3-fpm

sudo systemctl restart apache2

sudo a2enmod setenvif

sudo a2enmod headers

sudo a2enmod deflate

sudo a2enmod filter

sudo a2enmod expires

sudo a2enmod rewrite

sudo a2enmod include

docker:

sudo apt install apt-transport-https ca-certificates curl gnupg2 software-properties-common

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

apt-cache policy docker-ce

sudo apt update

sudo apt install docker-ce

sudo systemctl status docker

sudo docker run hello-world

Done!

Mailserver in docker:

sudo docker pull tvial/docker-mailserver:latest

curl -o setup.sh https://raw.githubusercontent.com/tomav/docker-mailserver/master/setup.sh; chmod a+x ./setup.sh

curl -o docker-compose.yml https://raw.githubusercontent.com/tomav/docker-mailserver/master/docker-compose.yml.dist

curl -o .env https://raw.githubusercontent.com/tomav/docker-mailserver/master/.env.dist

curl -o env-mailserver https://raw.githubusercontent.com/tomav/docker-mailserver/master/env-mailserver.dist

sudo apt install docker-compose

NextCloud in Docker:

 
sudo docker run --name mariadb -v mariadb:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=secret-pass -d mariadb

sudo docker ps

sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mariadb

sudo docker run --name nextcloud -v nextcloud:/var/www/cloud -d -p 8080:80 nextcloud

sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' nextcloud

sudo docker ps

Remove:

docker rm nextcloud

docker rm docker-mailserver

Offline

Forum footer

Powered by FluxBB 1.5.11