Brugerværktøjer

Webstedsværktøjer


webserver

Webserver & DokuWiki

Nedenstående afsnit er en mulig guide til at oprette en HTTPS-webserver på en single board computer (SBC) som Raspberry Pi med installeret free software såsom: PHP, MySQL / MariaDB, phpMyAdmin, DokuWiki, Let's Encrypt, domæne / DNS - og til udvikling på egen PC med XAMPP:

Webserver & PHP

Egen Raspberry Pi webserver med modem & router i baggrunden

  • Hent et formateringsværktøj som fx „SD Formatter Tool“ el. lign. og formatér microSD kort i „FAT32“ format. Vær omhyggelig med at det er det rigtige drev, som formateres!
  • Download Raspberry Pi OS og installer det til microSD kortet.
  • Indsæt microSD kort i Raspberry Pi og tilslut til trådløst netværk og dansk keybord.
  • Installering af Raspberry OS fra microSD-kort til samme microSD-kort via brug af skærm, keyboard og mus tilsluttet Raspberry Pi.
  • Fra command prompt ændre password for root-bruger: sudo passwd root
  • Fra command prompt skriv: sudo -i da der så installeres under „root@raspberrypi“.
  • Opdatering af software (tager lang tid) og kan evt gøres ved brug af skærm, keyboard og mus tilsluttet Raspberry Pi, og fra command prompt'en skrives: sudo apt-get update og derefter sudo apt-get upgrade
  • Installér Xrdp så der kan fås adgang til webserver'en via Fjernskrivebord (Remote Desktop Client) sudo apt-get install xrdp
  • Under Raspberry Pi OS klik på „Hindbæret“ → „Indstillinger“ → „Raspberry Pi Configuration“. Ændre password'et for Pi-bruger, omdøb Hostname, Enable SSH & VNC (Secure Shell, forkortet SSH er en protokol som bruges til krypteret fjernadgang & Virtual Network Computing er et computerprogram til skrivebordsdeling som benytter RFB -protokollen til at kontrollere en anden computer over et netværk). Samme sted vælg: „Display“ og „Overscan“ for at kunne se hele skærm via fjernskrivebord.
  • Fra command prompt installér Apache webserver og nyeste version af PHP: sudo apt-get install apache2 php7.3 libapache2-mod-php7.3 php7.3-xml og eventuel andre softwareinstallationer adskilt med mellemrum.
  • Fra command prompt kan man checke hvilke versioner af PHP og Apache webserver, der er installeret ved at skrive: php -v og apache2 -v

DokuWiki

DokuWiki

Installering af DokuWiki plus installering af diverse plugin's såsom: Backup Tool + Wiki Upgrade + Bureaucracy + SMTP + Comment Syntax + Statistics (Kræver MySQL 4.1 / 5.0 el. højere).

Skift til root-bruger i command prompt'en og skriv sudo su plus derefter sudo nano /etc/apache2/apache2.conf for at ændre via tekstprogrammet Nano i konfigurationsfilen til Apache webserveren:

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName eget-domænenavn.dk
  DocumentRoot /var/www/eget-domænenavn
</VirtualHost>
<VirtualHost *:80>
  ServerName www.eget-domænenavn.dk
  DocumentRoot /var/www/eget-domænenavn
</VirtualHost>

<Directory ~ "/var/www/eget-domænenavn/wiki/(bin/|conf/|data/|inc/)">
  <IfModule mod_authz_core.c>
    Require all denied
  </IfModule>
  <IfModule !mod_authz_core.c>
    Order allow,deny
    Deny from all
  </IfModule>
</Directory>

For at få pæne og lettere indekserbare URL'er udfør følgende https://www.dokuwiki.org/rewrite - og tilføj øverst i apache2.conf-fil for at få tilladelse til at afvikle .htaccess-filen:

<Directory /var/www/eget-domænenavn/wiki>
  Options Indexes FollowSymLinks
  AllowOverride All
  Require all granted
</Directory>

Herefter genstart webserveren for at opdatere ændringerne i filen apache2.conf skrives fra command prompt: sudo systemctl restart apache2

MariaDB & phpMyAdmin

MySQL / MariaDB

For at kunne anvende plugin'en 'Statistics' under DokuWiki skal installeres MariaDB (MySQL-database), som kan administreres via phpMyAdm, så udfør følgende:

  • sudo apt-get install mariadb-server php7.3-mysql php7.3-gd Installering af MySQL / MariaDB mv.
  • sudo mysql_secure_installation Sikring af database med password og oprydning.
  • sudo systemctl restart apache2
  • sudo apt install phpmyadmin - og vælg „apache2“ og senere „Ja“.
  • # mysql -u root -p
  • MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
  • MariaDB [(none)]> exit
  • sudo service apache2 restart
  • MariaDB kan administreres via ala: http://192.168.XY.ABC/phpmyadmin - hvor XY og ABC ændres med egne værdier, og databasen fra DokuWiki's plugin 'Statistics' importeres: db.sql

Indsæt derefter i filen apache.conf:

Include /etc/phpmyadmin/apache.conf

HTTPS-certifikater

 HTTPS med Let’s Encrypt

Installering af Cerbot, der er et gratis open source softwareværktøj for automatisk implementering af Let’s Encrypt sikkerhedscertifikater (HTTPS) på manuelt administrerede websites https://certbot.eff.org - følg instruktion for Apache webserver og Debian 10 (Raspberry Pi OS).

Router

Desuden skal der ske noget håndtering af porte + ændring af IP-adresser under NAT/Port Forwarding + Remote MGMT der kan sættes til noget lignende nedenstående:

  • WWW / HTTP - port 80
  • HTTPS - port 443
  • FTP - port 20/21
  • SSH - port 22
  • Remote Desktop - port 3389

+ sikkerhedsindstilling af egen router såsom:

  • Firewall
  • DoS
  • mm.

og evt. tilkøb af fast IP-nummer så den nye Raspberry Pi webserver bliver en fast del af internettet.

Domæne- & DNS-hotel

Domæner & DNS-hotel

Et godt og billigt dansk domæne- & DNS-hotel kan anbefales https://dns.services. DNS er en forkortelse for Domain Name System også kaldt navneserver, som er en server placeret på et IP-baseret datanetværk, der tager sig af oversættelsen af domænenavne til IP-nunre i forbindelse med World Wide Web (www).

Hvis fast IP-nummer ikke haves kan Dynamic DNS anvendes og opdatere ens nuværende midlertidige dynamiske IP til et hostname / domænenavn via en af disse gratis alternativer:

PHP & MariaDB på PC

Udvikling i PHP, Perl eller MariaDB kan foregå ved at installere XAMPP, som er en samlet freeware softwarepakke for Windows, Linux og OS X, hvor disse programmeringssprog og database kan installeres på egen PC. Desuden kan installering af PHP-udviklingseditor være en fordel List of free PHP editors for Windows, Linux, macOS med flere.

webserver.txt · Sidst ændret: 2023/08/09 16:42 af Klaus Kristensen

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki