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.