Update format

This commit is contained in:
RealStickman 2023-02-19 15:29:32 +01:00
parent e0651eea6c
commit 9913447ba2

View File

@ -4,38 +4,59 @@ visible: true
--- ---
[toc] [toc]
## Installation ## Installation
Nextcloud will be using apache Nextcloud will be using apache
`# apt install mlocate apache2 libapache2-mod-php mariadb-client mariadb-server wget unzip bzip2 curl php php-common php-curl php-gd php-mbstring php-mysql php-xml php-zip php-intl php-apcu php-redis php-bcmath php-gmp php-imagick`
```sh
apt install mlocate apache2 libapache2-mod-php mariadb-client mariadb-server wget unzip bzip2 curl php php-common php-curl php-gd php-mbstring php-mysql php-xml php-zip php-intl php-apcu php-redis php-bcmath php-gmp php-imagick
```
Not found: `php-http-request python-certbot-apache` Not found: `php-http-request python-certbot-apache`
No password set No password set
`# mariadb -u root -p`
`CREATE DATABASE nextcloud;` ```sh
mariadb -u root -p
```
```sql
CREATE DATABASE nextcloud;
```
For UTF8 support use this instead: For UTF8 support use this instead:
`"CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"`
`GRANT ALL ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY '<password>';` ```sql
CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
`FLUSH PRIVILEGES;` GRANT ALL ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;
```
Exit the MariaDB prompt Exit the MariaDB prompt
Download Nextcloud into `/var/www` Download Nextcloud into `/var/www`
`# wget https://download.nextcloud.com/server/releases/nextcloud-(version).tar.bz2`
`# tar -xf nextcloud-(version).tar.bz2` ```sh
wget https://download.nextcloud.com/server/releases/nextcloud-(version).tar.bz2
tar -xf nextcloud-(version).tar.bz2
```
Change owner to the apache user Change owner to the apache user
`# chown -Rfv www-data:www-data /var/www/nextcloud`
```sh
chown -Rfv www-data:www-data /var/www/nextcloud
```
Create nextcloud configuration for apache Create nextcloud configuration for apache
`# vi /etc/apache2/sites-available/nextcloud.conf`
```sh
vi /etc/apache2/sites-available/nextcloud.conf
```
Configuration file Configuration file
```
```apacheconf
<VirtualHost *:80> #specify listen ip addresses: (address):(port) for ipv4, [(address)]:(port) vor ipv6, *:80 for all <VirtualHost *:80> #specify listen ip addresses: (address):(port) for ipv4, [(address)]:(port) vor ipv6, *:80 for all
ServerAdmin webmaster@localhost ServerAdmin webmaster@localhost
DocumentRoot /var/www/nextcloud DocumentRoot /var/www/nextcloud
@ -61,31 +82,51 @@ Configuration file
``` ```
Enable nextcloud and disable the default site Enable nextcloud and disable the default site
`# a2ensite nextcloud.conf && a2dissite 000-default.conf`
```sh
a2ensite nextcloud.conf && a2dissite 000-default.conf
```
Edit `ports.conf` for apache2 to only bind the addresses you need Edit `ports.conf` for apache2 to only bind the addresses you need
`# systemctl restart apache2` ```sh
systemctl restart apache2
```
### Cron ### Cron
To execute regular jobs, I personally use cron. To execute regular jobs, I personally use cron.
Edit `crontab` as the `www-data` user. Edit `crontab` as the `www-data` user.
`sudo -u www-data crontab -e`
```sh
sudo -u www-data crontab -e
```
Add this following line: Add this following line:
`*/5 * * * * php -f (nextcloud dir)/cron.php`
```
*/5 * * * * php -f {NEXTCLOUD DIR}/cron.php
```
### Configuration ### Configuration
The main config file is `(nextcloud dir)/config/config.php`
The main config file is `{NEXTCLOUD DIR}/config/config.php`
#### Automatic Trash clearing #### Automatic Trash clearing
> [See this page](https://bayton.org/docs/nextcloud/nextcloud-hoarding-trash-how-to-force-automatic-removal-of-deleted-items/) for more options > [See this page](https://bayton.org/docs/nextcloud/nextcloud-hoarding-trash-how-to-force-automatic-removal-of-deleted-items/) for more options
This settings keeps the files for 15 days, unless drive space is getting low. This settings keeps the files for 15 days, unless drive space is getting low.
In that case it delets them earlier. In that case it delets them earlier.
`'trashbin_retention_obligation' => 'auto, 15',`
```
'trashbin_retention_obligation' => 'auto, 15',
```
#### Trust Proxy #### Trust Proxy
This disables the warning of untrusted proxy in the webinterface. This disables the warning of untrusted proxy in the webinterface.
``` ```
'trusted_proxies' => 'trusted_proxies' =>
array ( array (
@ -94,7 +135,9 @@ This disables the warning of untrusted proxy in the webinterface.
``` ```
#### Trusted Domains #### Trusted Domains
Array of trusted domains. Array of trusted domains.
``` ```
'trusted_domains' => 'trusted_domains' =>
array ( array (
@ -104,23 +147,36 @@ Array of trusted domains.
``` ```
## Maintenance ## Maintenance
### Maintenance Mode ### Maintenance Mode
Enable maintenance mode to prevent data inconsistencies Enable maintenance mode to prevent data inconsistencies
`$ sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on`
```sh
sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --on
```
To disable maintenance mode again, run the same command with `--off` instead of `--on` To disable maintenance mode again, run the same command with `--off` instead of `--on`
### Upgrade with CLI ### Upgrade with CLI
`$ sudo -u www-data php /var/www/nextcloud/updater/updater.phar`
```sh
sudo -u www-data php /var/www/nextcloud/updater/updater.phar
```
### Backup Database ### Backup Database
Dump database to file Dump database to file
`$ mysqldump --single-transaction -h [server] -u [username] -p[password] [db_name] > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak`
```sh
mysqldump --single-transaction -h [server] -u [username] -p[password] [db_name] > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
```
> [Official documentation](https://docs.nextcloud.com/server/latest/admin_manual/maintenance/backup.html) > [Official documentation](https://docs.nextcloud.com/server/latest/admin_manual/maintenance/backup.html)
#### Backup Script #### Backup Script
```
```sh
#!/bin/bash #!/bin/bash
set -euo pipefail set -euo pipefail
@ -139,20 +195,24 @@ sudo -u www-data php /var/www/nextcloud/occ maintenance:mode --off
``` ```
### Restore Database ### Restore Database
```
```sh
mariadb -h $server -u $username -p$password -e "DROP DATABASE nextcloud" mariadb -h $server -u $username -p$password -e "DROP DATABASE nextcloud"
mariadb -h $server -u $username -p$password -e "CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci" mariadb -h $server -u $username -p$password -e "CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci"
``` ```
`$ mariadb -h $server -u $username -p$password $db_name < nextcloud-sqlbkp.bak` ```sh
mariadb -h $server -u $username -p$password $db_name < nextcloud-sqlbkp.bak
```
> [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/maintenance/restore.html) > [Nextcloud documentation](https://docs.nextcloud.com/server/latest/admin_manual/maintenance/restore.html)
## Collabora Online Container ## Collabora Online Container
> Unfinished > Unfinished
``` ```sh
# podman run -t -d --name collabora-online -p 9980:9980 \ podman run -t -d --name collabora-online -p 9980:9980 \
-e "extra_params=--o:ssl.enable=false" \ -e "extra_params=--o:ssl.enable=false" \
--restart always \ --restart always \
--label "io.containers.autoupdate=image" \ --label "io.containers.autoupdate=image" \
@ -160,10 +220,11 @@ mariadb -h $server -u $username -p$password -e "CREATE DATABASE nextcloud CHARA
``` ```
## Onlyoffice Container ## Onlyoffice Container
> Unfinished > Unfinished
``` ```sh
# podman run -it -d --name onlyoffice -p 9480:80 \ podman run -it -d --name onlyoffice -p 9480:80 \
--restart always \ --restart always \
--label "io.containers.autoupdate=image" \ --label "io.containers.autoupdate=image" \
docker.io/onlyoffice/documentserver:latest docker.io/onlyoffice/documentserver:latest