Hier mal wieder eine Anleitung, für die Installation von Nextcloud Hub 7 in einem Proxmox LXC / Container, hinter den Nginx Proxy Manager.
Wichtig, diese Anleitung funktioniert nur mit der Ubuntu 22.04.3 LTS Version, NICHT mit der STS.
Ich installiere Nextcloud auch nicht in den Unterordner “nextcloud” sondern in den Ordner “html”
Ich habe unter Proxmox einen Continer erstellt…
Ubuntu 22.04 LTS
2 CPU
2048 MB Ram
1024 Swap
10 GB HDD
Unter Optionen
- Features keyctl=1,nesting=1
Die 10GB HDD habe ich, da ich eine weitere, größere HDD als Mountpoint gesetzt habe, wo Nextcloud dann die Daten ablegen wird. Wer dies nicht macht, muss natürlich mehr als diese 10GB angeben.
Wenn man einen Mountpoint zu einer anderen Festplatte setzt, muss das in der Installation dann natürlich beachten.
Ich beschränke mich jetzt auf eine einfache Installation, also ohne Mountpoint.
Hat man seinen Proxmox LXC erstellt, geht die Installation los.
Zeitzone anpassen
dpkg-reconfigure tzdata
Update Ubuntu
apt update && apt dist-upgrade -y && apt autoremove && apt autoclean -y && systemctl reload postfix
Möglich das die Meldung kommt, 0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded. also dass zwei Updates nicht installiert wurden. Mit apt list --upgradable
kann man sich diese anzeigen lassen und nachinstallieren. Sollten diese zwei sein…
apt install python3-update-manager update-manager-core
Apache installieren
apt install apache2 -y
PHP 8.2 Installation
Wer hier nicht die LTS Version installiert hat, kann hier aufhören, denn er bekommt nur Fehlermeldungen.
apt install software-properties-common -y
add-apt-repository ppa:ondrej/php
WARNING: add-apt-repository is broken with non-UTF-8 locales,…
Meldung einfach ignorieren und mit ENTER weiter
Nun kommt bestimmt diese Meldung “3 packages can be upgraded. Run ‘apt list –upgradable’ to see them.”
Es sollten diese Pakete sein…
apt install libpcre2-8-0 libpcre3 libxml2
PHP 8.2 und die Abhängigkeiten installieren
apt install php8.2 libapache2-mod-php8.2 php8.2-zip php-dompdf php8.2-xml php8.2-mbstring php8.2-gd php8.2-curl php8.2-imagick libmagickcore-6.q16-6-extra php8.2-intl php8.2-bcmath php8.2-gmp php8.2-cli php8.2-mysql php8.2-zip php8.2-gd php8.2-mbstring php8.2-curl php8.2-xml php-pear unzip nano php8.2-apcu redis-server ufw php8.2-redis php8.2-smbclient php8.2-ldap php8.2-bz2 -y
PHP.ini bearbeiten / anpassen
nano /etc/php/8.2/apache2/php.ini
Einträge suchen und anpassen, bei date.timezone und pcache.interned_strings_buffer am Anfang das (😉 Semikolon entfernen.
memory_limit = 2048M
upload_max_filesize = 50G
post_max_size = 50G
date.timezone = Europe/Berlin
output_buffering = Off
pcache.interned_strings_buffer = 16
apcu.ini bearbeiten / anpassen
nano /etc/php/8.2/mods-available/apcu.ini
Unten diesen Eintrag hinzufügen.
apc.enable_cli=1
Datenbankserver Installation
apt install mariadb-server -y
Maria DB Server Konfiguration
mysql_secure_installation
Die erste Abfrage einfach mit der ENTER Taste bestätigen.
Weitere Abfragen
Switch to unix_socket authentication [Y/n] N
Change the root password? [Y/n] Y Hier muss man ein Passwort vergeben, welches man sich merken muss.
Remove anonymous users? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y
SQL öffnen
mysql
Datenbank erstellen
Die Datenbank bekommt den Namen nextloud
CREATE DATABASE nextcloud;
Datenbank Benutzer mit Passwort erstellen
Hier gleich das Passwort verwenden, welches man weiter oben schon nutzte.
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'das passwort von weiter oben';
Benutzerrechte für die Datenbank
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
Speichern
FLUSH PRIVILEGES;
Datenbank verlassen
EXIT;
Download letzte Nextcloud Version
cd /tmp && wget https://download.nextcloud.com/server/releases/latest.zip
Lösche html Ordner
rm -r /var/www/html
Entpacke die latest.zip
unzip latest.zip
Kopiere Nextcloud Dateien nach /var/www/html
mv nextcloud /var/www/html
000-default.conf bearbeiten
Ist wichtig, wegen dieser Fehlermeldung https://www.technik22.de/d/503-viele-fehler-beim-install-von-hub-ii-2302/17
nano /etc/apache2/sites-available/000-default.conf
Ich habe einfach die originale Eintragung auskommentiert…
und diese Eintragung (Lösung von hier nextcloud/serverissues/40803#issuecomment-1787611227) hinzugefügt…
Redis Server Konfiguration
nano /etc/redis/redis.conf
Ändere
port 6379 zu port 0
.# unixsocket /var/run/redis/redis-server.sock
.# unixsocketperm 700
in
unixsocket /var/run/redis/redis.sock
unixsocketperm 770
User zur Gruppe redis user to www-data group hinzufügen
usermod -a -G redis www-data
Starte die NextCloud Module und Redis-Server
a2enmod rewrite
a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime
service redis-server start
Neustart Apache
service apache2 restart
Erstelle Ordner oder Pfad zum speichern der Dateien und die Rechte
Hier ist es dann entscheidend ob man einen Mountpoint nutzt oder nicht, ich mach jetzt ohne Mountpoint weiter.
mkdir /var/www/html/dateien
chown -R www-data:www-data /var/www/html/dateien/
chown -R www-data:www-data /var/www/html/
chmod -R 755 /var/www/html/
Fertig, nun kann man über die vergebene IP Adresse im Browser Nextcloud aufrufen und fertig installieren.
Nun den Admin + Kennwort festlegen, den Pfad wo die Dateien gespeichert werden. Die Daten der erstellen Datenbank, Name + Passwort + Benutzer…
Hat man alles eingetragen, dann aus Installieren klicken…
Kann man überspringen oder installieren, ich überspringe…
Fertig, fürs Erste…
Man sollte nur diese paar Meldungen sehen…
Also bearbeiten wir die config.php und fügen dies hinzu…
nano /var/www/html/config/config.php
'updater.release.channel' => 'stable',
'default_language' => 'de',
'default_locale' => 'de',
'default_phone_region' => 'DE',
'activity_expire_days' => '5',
'default_phone_region' => 'DE',
'skeletondirectory' => '',
'loglevel' => 3,
'memcache.local' => '\OC\Memcache\APCu',
'filelocking.enabled' => true,
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => '/var/run/redis/redis.sock',
'port' => 0,
'timeout' => 0.0,
),
Nun sollten nur noch diese Meldungen erscheinen.
Die Meldung E-Mail-Serverkonfiguration könnt ihr beheben, indem ihr den E-Mail Server einrichtet, damit Nextcloud euch Nachrichten schicken kann.
Die rote Medlung verschwindet, wenn ihr Nextcloud zum Beispiel hinter den Nginx Proxy Manager setzt, hier werden dann ein paar neue Meldungen kommen…
Es gibt einige Warnungen zu Ihrer Systemkonfiguration.
Ihr Webserver ist nicht richtig konfiguriert um “/.well-known/caldav” aufzulösen. Weitere Informationen hierzu finden Sie in unserer Dokumentation ↗.
Ihr Webserver ist nicht richtig konfiguriert um “/.well-known/carddav” aufzulösen. Weitere Informationen hierzu finden Sie in unserer Dokumentation ↗.
Hier müsst ihr im Nginx Proxy Manager unter Advanced dies hinzufügen…
location /.well-known/carddav {
return 301 $scheme://$host/remote.php/dav;
}
location /.well-known/caldav {
return 301 $scheme://$host/remote.php/dav;
}
Sollte im Chrome weiter der Fehler angezeigt werden, dann hilft die F12 Taste https://www.technik22.de/d/237-nextcloud-host-prefix/9
Zum Schluss noch einen Cronjob erstellen, damit die Hintergrunddienste ausgeführt werden…
https://www.technik22.de/d/503-viele-fehler-beim-install-von-hub-ii-2302/22
Nun sollte NC ohne Probleme laufen…
Achso, eine weitere Quelle für diese Anleitung ist noch und so einige in der Vergangenheit gesammelten Informationen.