wpdebian

Debian verkkopalvelimelle wordpressin asennus

Debian asennus dokumentaatio, tässä lyhyesti kerrottu pääasiat sekä mitä tarvitaan nettsivun pystyttämiseksi. Sekä siihen liittyviä tietoturva-kohtia. Dokumentti on tehty Debian versiossa 7, jotkin kohdat voivat poiketa hiukan uusemmissa versioissa.

Asennus

Verkko

Jotta saadaa pysyvä ip-osoite pitää se manuaalisiesti laittaa sekä configuroida yhteys internettiin. Voit myös käyttää manuaalista tai muita itselle sopivia tapoja.

Nano /etc/network/interfaces

Allow-hotplug ens18

Iface ens18 inet static

                address 95.xx7.4x.1×8

                netmask 255.255.255.224

                gateway x5.x16.x4.15x

Luodaan tyhjä tiedosto nameserverille (ei ole pakollinen eikä aina tarvittava).

nano /etc/resolv.conf

nameserver 213.133.98.98

nameserver 213.133.99.99

nameserver 213.133.100.100

Paketin hallinta

Seuraavaksi lisätään paketti repositorio josta asennetaan tarvittavia sovelluksia.

nano /etc/apt/sources.list

Merkitään ensimmäiset deb alkuiset # kommentiksi.

# deb cdrom:[Debian GNU/Linux 10.6.0 _Buster_ – Official amd64 NETINST 20200926-10:16]/ $

#deb cdrom:[Debian GNU/Linux 10.6.0 _Buster_ – Official amd64 NETINST 20200926-10:16]/ b$

Lisätään rivi, jonka jälkeen käynnistetään kone uudelleen.

deb http://ftp.fi.debian.org/debian buster main contrib non-free

reboot

Apache

Jotta saadaan verkkopalvelin ja jota voidaan alkaa isännöimään tarvitaan apache.

apt-get update

apt-get upgrade

apt-get install apache2

Seuraavaksi konfiguroidaan apache.

nano /etc/apache2/sites-available/default.conf TAI 000-default.conf

<VirtualHost *:80>

                ServerAdmin webmaster@localhost

                ServerName lassinsivut.eu

                ServerAlias www.lassinsivut.eu

                DocumentRoot /var/www/html/index.html

                ErrorLog $ {APACHE_LOG_DIR}/error.log

                CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Tehdään kansio minne haluttu sivusto/palvelu halutaan asennuttaa

Mkdir -p /var/www/index.html

chown -R $www-data:$www-data /var/www/html

chmod -R 755 /var/www

Seuraavaksi tehdään html tiedosto mikä päättää mitä sivustolla näkyy.

nano /var/www/html/index.html

<html>

  <head>

    <title>Welcome to lassinsivut!<title>

  </head>

  <body>

    <h1>Success! The lassinsivut.eu is working, the site is under construction.!</h1>

  </body>

</html>

Nimetään Apachen konfigurointi tiedosto helpommin tunnistettavaan nimeen.

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/lassinsivut.conf

Otetaan uuden tiedostot voimaan ja poistetaan vanha.

a2ensite lassinsivut.conf

a2dissite 000-default.conf

Lopuksi vielä käynnistetään Apache uudelleen

systemctl restart apache2

systemctl status apache

Tehdään vielä symlink jotta sama tiedosto päivittyy toisessa polussa.

ln -s /etc/apache2/sites-available/lassinsivut.conf /etc/apache2/sites-enabled/lassinsivut.conf

Lisätään host tiedoston alkuun muutama määritys

nano /etc/hosts

127.0.0.1              localhost

127.0.1.1              lassinsivut

95.xx7.4x.1×8     www www.lassinsivut.eu

Palomuuri

Palomuurin asennus.

apt-get install ufw

ufw allow 80

ufw allow http

ufw allow https

ufw status

ufw enable

Palomuurin portteja saadaan kiinni komennolla esimerkiksi ufw deny 80 tai ufw deny http.

Fail2Ban

Fail2ban estetään ylimääräisiä henkilöitä yhdistämästä palvelimelle. Nopea asennus hidastaa hakkereita.

apt install fail2ban

service fail2ban restart

service fail2ban status

PHP (7.3)

Adawdawdawd wadiuhawdbawhd awhdbaw hj

apt install apt-transport-https lsb-release ca-certificates

apt install wget

wget https://packages.sury.org/php/apt.gpg

apt-key add apt.gpg

apt-get update

apt install apache2 php7.3 libapache2-mod-php7.3 php7.3-common php7.3-mbstring php7.3-xmlrpc php7.3-soap php7.3-gd php7.3-xml php7.3-intl php7.3-mysql php7.3-cli php7.3-ldap php7.3-zip php7.3-curl

(Tarvittaessa myös apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip)

Nähdään php versio sekä onko asennus onnistunut.

php-v

SSH With Filezilla

SSH on sitä varten että saadaan Debian koneelle pääkoneelta sekä toisin päin siirrettyä tiedostoja. Siirrän valmiin Templaten sivustolle jotta ihmiset näkevät että sivusto on vielä kesken.

apt install openssh-server

apt install net-tools

Nähdään että mitä portteja kuunnellaan, sekä onko portti 22 valmiiksi siellä.

Netstat -ant | grep LISTEN

Ufw allow ssh (eli portti 22)

Ufw status

Asennetaan pääkoneelle Filezilla-ohjelma

Oikeassa ylänurkassa näkyy mitä ja mihin ja miten yhdistetään palvelimeen.

Host 95.xx7.4x.1×8         Username lassi                  Password PASSWORDHERE         Port 22

Avataan lassi kansio ja siirretään sinne Template kansio.

Nyt mennään lassi kansioon Debian-koneella ja siirretään Template kansio nettsivun polkuun.

mv /home/lassi/Template /var/www/html

scp -r root@192.168.1.1:/var/www/html/database_backup/restore_fullbackup/backup_20140308-023002.sql  /var/www/html/db_bkp/

LETSENCRYPT with Certbot

Letsencrypt sekä certbot saavat aikaiseksi certifikaatin sivustolle. Jotta kävijät tietävät että sivusto on turvallinen niin sellainen certifikaatti pitää asentaa.

apt install python3-certbot-apache

Kerrotaan mikä sivusto sekä muita tärkeitä tietoja.

certbot –-apache

Katsotaan onko tuollaista polku olemassa. Sekä onko tarvittavat tiedostot siellä.

ls -l /etc/letsencrypt/live/lassinsivut.eu/

Seuraavaksi lisätään apachen konfigurointi certifikaatti että saadaan se myös näkyviin ja käyttöön.

nano /etc/apache2/sites-enabled/lassinsivut.conf

Lisätään portin 80 jälkeen uusi portti

<VirtualHost *:443>

                DocumentRoot

                ServerAlias lassinsivut.eu

                SSLEngine on www.lassinsivut.eu

                SSlCertificateFile /etc/letsencrypt/live/lassinsivut.eu/cert.pem

                SSLCertificateKeyFile /etc/letsencrypt/live/lassinsivut.eu/privkey.pem

</VirtualHost>

Lisätään vielä porttiin 80 rivi Redirect / https://lassinsivut.eu/

<VirtualHost *:80>

                ServerAdmin webmaster@localhost

                ServerName lassinsivut.eu

                ServerAlias www.lassinsivut.eu

                Redirect / https://lassinsivut.eu/

DocumentRoot /var/www/html/index.html

                ErrorLog $ {APACHE_LOG_DIR}/error.log

                CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

MYSQL with Mariadb

Mysql avulla tehdään databaseja ja saadaan tallennettua dataa palvelimelle.

apt install mysql-server

systemctl status mysql

mysql_secure_installation

mysql -V

Avataan mysql syöttämällä komento

mysql -u root -p

Asetetaan mysql root käyttäjän salasana.

ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘PASSWORDHERE’;

FLUSH PRIVILEGES;

TAI ERI VERSIOSSA

 UPDATE mysql.user SET authentication_string = PASSWORD(PASSWORDHERE) WHERE User = ’root AND Host = ’localhost’;

FLUSH PRIVILEGES;

WordPress

WordPress on palvelu jolla voi tehdä nettisivut helposti eikä tarvitse osata html-kieltä. Hyvä valinta ihmiselle joka haluaa tehdä näyttävän esimerkiksi blogin tai kotisivut pienemmällä vaivalla. Ensin tehdään wordpress database mysqln databaseen.

mysql -u root -p

CREATE DATABASE DATABASENAMEHERE;

CREATE USER ‘USERNAMEHERE’@’localhost’ IDENTIFIED BY ‘PASSWORDHERE’;

GRANT ALL PRIVILEGES ON DATABASENAMEHERE.* TO ‘USERNAMEHERE’@’localhost’;

FLUSH PRIVILEGES

Exit

Ladataan wordpress

wget http://wordpress.org/latest.zip

unzip -q latest.zip -d /var/www/html

cd /var/www/html/wordpress

WordPressin voi myös ladata pääkoneelta Filezillaa käyttäen.

Tässä kohtaa vaihdetaan apache configuraatio tiedostosta polku mikä näkyy sivulla  sekä portista 80 että 443. Jottei selaimeen tarvitsisi syöttää lassinsivut.eu/wordpress vaan lassinsivut.eu

nano /etc/apache2/sites-enabled/lassinsivut.conf

DocumentRoot /var/www/html/wordpress

cd /var/www/html/wordpress

mv wp-config-sample.php wp-config.php

nano wp-config.php

Laitetaan datadasen tiedot oiken jotka juuri luotiin

// ** MySQL settings – You can get this info from your web host ** //

define(’DB_NAME’, ’DATABASENAMEHERE’);

define(’DB_USER’, ’USERNAMEHERE’);

define(’DB_PASSWORD’, ’PASSWORDHERE’);

define(’DB_HOST’, ’localhost’);

Nyt on wordpress asennettu turvallisesti Debian palvelimelle. Avataan selaimesta lassinsivut.eu (eli oma domain) ja tehdään konfigurointi loppuun.

proxmox

Proxmoxin asennus sekä konfigurointi

Asennusmedian tekeminen

Käydään ensin asentamassa iso-image Proxmoxiin sivulta: https://www.proxmox.com/en/downloads/category/iso-images-pve

Vaikeus:
2.5/5

Seuraavaksi asennetaan BalenEtcher sivulta https://www.balena.io/etcher/, sillä poltetaan iso-image bootable mediaksi USB-tikulle.

Avataan Etcher ja valitaan 1.Iso-image joka halutaan polttaa. 2. USB-media jolle halutaan polttaa iso-image. 3. Painetaan Flash jotta prosessi alkaa.

Kun asennus on valmis otetaan tikku irti ja liitetään koneeseen johon halutaan proxmox asentaa. Bootataan USB-tikulta ja pitäisi alla olevan kuvan mukainen menu.

Proxmoxin asennus

Kun asennus on valmis otetaan tikku irti ja liitetään koneeseen johon halutaan proxmox asentaa. Bootataan USB-tikulta ja pitäisi vieressä olevan kuvan mukainen menu.

Valitaan Install Proxmox VE

Valitaan valikosta haluamasi kovalevy jolle Proxmox asenetaan. Jos sinulla on enemmän kuin yksi kovalevy, tässä artikkelissa käydään myös niiden lisäys.

Määritellään seuraavaksi Valtio, aikavyöhyke ja näppäimistön kieli. Sen jälkeen määritellään root käyttäjän salasana. Tämä täytyy muistaa, koska sillä kirjaudutaan tietokoneelle sekä webguille jossa virtuaaliympäristöä hallitaan.

Seuraavana määritellän verkkoyhteys. Useimmille riittää oletusasetukset.  Hostname tarvitaan esimerkisi jos halutaa proxmox internettiin asti. En suosittele sitä koska proxmox on monessa paikassa ”keskusohjaamo” joka on kaikkein kriittisin haittaohjelmille ja muulle. IP Address taas tarkoittaa lähiverkon osoitetta johon avataan webgui.

Lopuksi vielä tarkistetaan ovatko kaikki määritykset oikein.

Proxmoxin konfigurointi

Rebootataan kone ja otetaan USB-tikku irti koneesta jotta kone ei boottaa tikulle. Kun kone on bootannut, avataan selaimella Proxmox Web GUI syöttämällä juuri laitetun ip-osoitteen. HUOM. muista laittaa alkuun https: sekä loppuun :8006 esim:https://192.168.101.124:8006

Pitäisi avautua kirjautumis ikkuna johon syötetään juuri luotu root käyttäjä. Muista valita Realm kohdasta Linux PAM standard authentication. Voit myös tehdä lisää muita käyttäjiä proxmoxiin jos on tarvetta.

Seuraavaksi laitetaan palomuuri päälle. Panetaan Datacenter > Firewall > Add Ja lisäätään tarvittavat portit palomuuriin.

Kovalevyn lisääminen

Kun asensin proxmoxia valikossa näkyi yhteensä 3 1TB kovalevyjä, mutta proxmox näyttää vain sen jolle asensin sen. Täytyy siis mountata ja lisätä kovalevy kokoonpanoon.

Avataan proxmox koneen Shell ikkuna.

Annetaan seuraavat komennot:

lsblk (sdb ja sdc ovat 2 1TB kovalevyjä.)

apt update

apt policy parted

apt install parted -y

parted /dev/sdb mklabel gpt

parted -a opt /dev/sdb mkpart primary ext4 0% 100%

mkfs.ext4 -L Storage1 /dev/sdb1

mkdir -p /mnt/data

 

nano /etc/fstab

Lisätään teksti LABEL=levyn-nimi /polku/johon/levy/liitettiin formaatti

Lopuksi poistutaan paniamalla CTRL + X

mount -a

lsblk

Seuraavaksi rebootataan kone ja avataan Proxmox Web GUI ja painetaan Datacenter > Storage >  Add

Seuraavaksi avataan Proxmox Web GUI ja painetaan Datacenter > Storage >  Add

Nyt kohdassa Datacenter > Summary näkyy kohdassa Resources Uuden kovalevyn tila.

Virtuaalikoneen asennus

Asennan uuden Debian 11 koneen sekä iso-imagen liittäminen proxmoxiin

mennään osoitteeseen: https://cdimage.debian.org/debian-cd/current/amd64/iso-cd/

 

Scrollataan alas ja painetaan kohtaa jossa lukee debian-11.1.0-amd64-netinst.iso

Kun iso-image on ladattu, avataan Proxmox Web GUI  ja mennään kohtaan Datacenter > local (eli tallennustila johon haluat iso-imagen ladata) > ISO Images > Add

Valitaan File Managerista polku jonne iso-image on ladattu ja painetaan Upload.

Seuraavaksi ikkunan oikeasta yläkulmasta painetaan Create VM

Annetaan koneelle nimi jotta se tunnistetaan helposti, sekä VM ID joka on numero jolla kone voidaan tunnistaa tarvittaessa.

Määritellään OS kohdasta juuri lisätty iso-image oikeasta tallennustilasta. ja valitaan ISO image kohdasta iso-image.

Määritellään voidaan antaa näytönohjan koneelle, luon debian ilman graaffista käyttöliittymää joten tässä tapauksessa ei tarvita näytönohjainta.

Määritellään koneelle kovalevyn koko Hard Disk kohdasta valitaan minne koneen tallennustila menee/ottaa käyttöön. Suosittelen jättämään Bus/Device oletukselle.

Määritellään koneelle monta ydintä kone saa käyttöön. Tarvittaessa jos asennetussa proxmox koneessa on useampi prosessori, voidaan valita Socket kohdasta kumpaa prosessoria kone käyttää.

Määritellään koneelle RAM-muisti, riippuen koneen tarkoituksesta paljon tarvitset käyttöön.

Määritellään mitä verkkokorttia kone käyttää, tarvittaessa koneen voi jättää ilman verkkoa.

Lopuksi nähdään yhteenveto koneesta, siitä voidaan tarkistaa onko tarvittavat tiedot oikeat. Lopuksi painetaan Finish tai vasemmalta alhaalta Start after created.

Kone näkyy nyt vasemmalla virtuaali koneissa.

Konee laitetaa päälle oikealta ylhäältä Start napista, sekä avataan konsoli ikkuna Console napista.

Nyt tietokone on luotu toimivana virtuaali ympäristöön. Voit tarvittaessa luoda usemman tietokoneen tarpeen mukaan.