I have already written about how
Here I will document setting up my own self-hosted Nextcloud server. I am using How to Install NextCloud on Debian 10 as a reference, and will only make note of things I needed to do which depart from the instructions provided therein.
In the section Install Apache, MariaDB and PHP, instructions tell us to modify /etc/php/7.3/apache2/php.ini with the following settings:
memory_limit = 512M upload_max_filesize = 500M post_max_size = 500M max_execution_time = 300 date.timezone = Asia/Kolkata
I only changed this last instruction, using Setting server timezone as a guide, to my own local area.
I'm in the habit of setting up my Debian servers without a root password, so I needed a workaround for the instruction:
$ mysql -u root -p
which requires a root password. I found How to Connect to MySQL Without Root Password on Terminal most helpful, and ran:
sudo mysqladmin -u root password [Password here]
to create a mariaDB root user.
My server is running Debian 11, not 10, so the next step at which I depart slightly from the instructions is in Secure NextCloud with Let's Encrypt Free SSL, where the package name now has python3 instead of python:
sudo apt install python3-certbot-apache -y