===== Debian Armbian Webserver Setup ===== ===== 1. Initial Setup ===== **Download and Prepare Armbian Image:** - Download an Armbian image from [[https://www.armbian.com/|Armbian.com]]. - Write the image to a storage device (e.g., SD card). - Connect the device to the server, power it up, and log in via SSH. bash ssh root@ Password is 1234 (or as stated at the source). Follow on-screen instructions to complete the initial setup. ===== 2. Installing Webmin ===== bash # Install Webmin curl -o setup-repos.sh https://raw.githubusercontent.com/webmin/webmin/master/setup-repos.sh sh setup-repos.sh apt-get install webmin --install-recommends ===== 3. Network Configuration ===== Use armbian-config for static IP configuration or edit /etc/rc.local as a last resort: bash # Example for /etc/rc.local (if needed) ifconfig eth0 192.168.10.206 netmask 255.255.255.0 route add default gw 192.168.10.1 eth0 Reboot and log in with the new IP. ===== 4. NFS Drive Preparation (Optional) ===== If using an NFS drive: bash mkdir /var/www Add the following line to /etc/fstab: :/volume1/ /var/www nfs _netdev,nofail,rw 0 0 Reboot or use mount -a to mount the new drive. ===== 5. Prepare for Dokuwiki ===== bash apt update apt install php libapache2-mod-php php-xml php-mbstring php-zip php-intl php-gd apache2 systemctl restart apache2.service wget https://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz tar xzvf dokuwiki-stable.tgz mv dokuwiki-* /var/www/html/dokuwiki chown -R www-data:www-data /var/www/html/dokuwiki Respectively use the directories where you want to store the new webpages. ===== 6. Apache Virtual Server Configuration ===== Setup Apache webservers via Webmin, configuring port 80 for HTTP and port 443 for HTTPS. Use Webmin's homepage for instructions, else the shortform is: \\ Setup Apache webservers via webmin: * for future simplicity in maintenance, put all configs into httpd.conf * port 80 for http:// * port 443 for https:// * Dont forget to click apply! ===== 7. Certbot Installation and Configuration ===== bash apt install certbot python3-certbot-apache Run Certbot for each virtual server: bash certbot --apache -d your_domain -d www.your_domain Verify renewal process: bash sudo certbot renew --dry-run And check the websites via the ( router-configured ) Dynamic DNS hostnames! ===== 8. Activate PHP in Apache2 ===== Was needed for us as we f'd up earlier, should not be needed: bash # In case of issues apt purge libapache2-mod-php apt install php8.2-fpm apt install libapache2-mod-php /usr/bin/php -v ===== Sources ===== * [[https://webmin.com/docs/modules/apache-webserver/|Webmin Documentation]] * [[https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-debian-11|Let's Encrypt on Debian 11]] * [[https://certbot.eff.org/instructions?ws=apache&os=debianbuster|Certbot Instructions]] * [[https://www.cyberciti.biz/faq/install-php-8-2-with-apache-on-debian-11-linux/|Install PHP 8.2 with Apache on Debian 11]]