NextCloud
I want to install NextCloud for my family, but only for my family. This means making things hard for myself by installing it behind my firewall with a private nat ipaddress. That presented problems with getting a valid Let's encrypt cert.
It all now works, and thanks to timttmy I was able to get the WireGuard VPN installed and working.
Pi 4
Get a Pi, and a SSD, enable it. You should review Raspberry Pi 4 USB Boot Config Guide for SSD / Flash Drives, for issues with SSD drives and the Raspberry Pi.
You can install Raspbian as normal. I already covered this in hpr2356 :: Safely enabling ssh in the default Raspbian Image, and Safely enabling ssh in the default Raspberry Pi OS (previously called Raspbian) Image.
And then follow the instructions in How to Boot Raspberry Pi 4 From a USB SSD or Flash Drive.
Next Cloud
Install Apache, MariaDB, and PHP
How to install Nextcloud 20 on Ubuntu Server 20.04
NextCloud - Installation and server configuration - Installation on Linux
Download NextCloud
# diff /etc/apache2/apache2.conf /etc/apache2/apache2.conf.orig
171,172c171,172
< Options FollowSymLinks
< AllowOverride All
---
> Options Indexes FollowSymLinks
> AllowOverride None
Install PHPMyAdmin
How to Install PHPMyAdmin on the Raspberry Pi
Required Changes to nextcloud config.
root@nextcloud:~# diff /root/nextcloud-config.php.orig /var/www/html/nextcloud/config/config.php
> 1 => 'nextcloud',
> 2 => '192.168.123.123',
> 3 => 'nextcloud.example.com',
> 'memcache.local' => 'OCMemcacheAPCu',
# diff /etc/apache2/sites-available/000-default.conf.orig /etc/apache2/sites-enabled/000-default.conf
28a29,32
> RewriteEngine On
> RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
> Redirect 301 /.well-known/carddav /var/www/html/nextcloud/remote.php/dav
> Redirect 301 /.well-known/caldav /var/www/html/nextcloud/remote.php/dav
Required Changes to php.ini config.
root@nextcloud:~# diff /etc/php/7.3/apache2/php.ini.orig /etc/php/7.3/apache2/php.ini
401c401
< memory_limit = 128M
---
> memory_limit = 2000M
689c689
< post_max_size = 8M
---
> post_max_size = 2048M
841c841
< upload_max_filesize = 2M
---
> upload_max_filesize = 2048M
Upgrade
You can upgrade using the procedure described by klaatu in hpr3232 :: Nextcloud, or as admin via the UI https://nextcloud.example.com/nextcloud/index.php/settings/user, Administration, Overview.
You will see a lot of Warnings on Admin Pag