Installation Nextcloud unter Ubuntu 24.04 LTS: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 6: | Zeile 6: | ||
https://apfelcast.com/nextcloud-25-auf-linux-server-ubuntu-22-04-installieren-einfache-anleitung | https://apfelcast.com/nextcloud-25-auf-linux-server-ubuntu-22-04-installieren-einfache-anleitung | ||
Die Anleitung wurde wegen neuer PHP Version 8.3 etwas angepasst | <B<Die Anleitung wurde wegen neuer PHP Version 8.3 etwas angepasst</B> | ||
Die beiden zusätzlichen Änderungen am Schuss ergeben sich nach dem überprüfen der Einstellungen in Nextcloud. | Die beiden zusätzlichen Änderungen am Schuss ergeben sich nach dem überprüfen der Einstellungen in Nextcloud. | ||
| Zeile 13: | Zeile 13: | ||
Nextcloud 29 Installation auf Basis Ubuntu 24.04 LTS | Nextcloud 29 Installation auf Basis Ubuntu 24.04 LTS | ||
Betriebsystem auf aktuellen Stand bringen | |||
apt update && apt upgrade -y | apt update && apt upgrade -y | ||
Installion apache | |||
apt install apache2 | apt install apache2 | ||
Installion PHP 8.3 | |||
apt install software-properties-common | apt install software-properties-common | ||
add-apt-repository ppa:ondrej/php | add-apt-repository ppa:ondrej/php | ||
apt update | apt update | ||
Installion PHP 8.3 Module ohne php-dompdf wie bei PHP 8.1 Module | |||
apt install php8.3 libapache2-mod-php8.3 php8.3-zip php8.3-xml php8.3-mbstring php8.3-gd php8.3-curl php8.3-imagick libmagickcore-6.q16-6-extra php8.3-intl php8.3-bcmath php8.3-gmp php8.3-cli php8.3-mysql php8.3-zip php8.3-gd php8.3-mbstring php8.3-curl php8.3-xml php-pear unzip nano php8.3-apcu redis-server ufw php8.3-redis | apt install php8.3 libapache2-mod-php8.3 php8.3-zip php8.3-xml php8.3-mbstring php8.3-gd php8.3-curl php8.3-imagick libmagickcore-6.q16-6-extra php8.3-intl php8.3-bcmath php8.3-gmp php8.3-cli php8.3-mysql php8.3-zip php8.3-gd php8.3-mbstring php8.3-curl php8.3-xml php-pear unzip nano php8.3-apcu redis-server ufw php8.3-redis | ||
anpassen der PHP.ini Datei | |||
nano /etc/php/8.3/apache2/php.ini | |||
nano /etc/php/8.3/apache2/php.ini | |||
memory_limit = 1024M | memory_limit = 1024M | ||
upload_max_filesize = 16G | upload_max_filesize = 16G | ||
post_max_size = 16G | post_max_size = 16G | ||
date.timezone = Europe/Berlin | date.timezone = Europe/Berlin | ||
output_buffering = Off | output_buffering = Off | ||
Installation Datenbank Server | |||
apt install mariadb-server | apt install mariadb-server | ||
Maria DB Server Konfiguration | |||
mysql_secure_installation | mysql_secure_installation | ||
öffnen SQL Dialog | |||
mysql | mysql | ||
create database calles nextcloud | |||
CREATE DATABASE nextcloud; | CREATE DATABASE nextcloud; | ||
create database user with password | |||
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'password_here'; | CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'password_here'; | ||
grant accesss to databse | |||
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost'; | GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost'; | ||
save changes and exit | |||
FLUSH PRIVILEGES; | FLUSH PRIVILEGES; | ||
EXIT; | EXIT; | ||
Download lastest nextcloud version | |||
cd /tmp && wget https://download.nextcloud.com/server/releases/latest.zip | cd /tmp && wget https://download.nextcloud.com/server/releases/latest.zip | ||
unzip latest.zip | unzip latest.zip | ||
mv nextcloud /var/www/ | mv nextcloud /var/www/ | ||
create new conf | |||
nano /etc/apache2/sites-available/nextcloud.conf | nano /etc/apache2/sites-available/nextcloud.conf | ||
<VirtualHost *:80> | <VirtualHost *:80> | ||
ServerAdmin master@domain.com | ServerAdmin master@domain.com | ||
DocumentRoot /var/www/nextcloud/ | DocumentRoot /var/www/nextcloud/ | ||
| Zeile 121: | Zeile 116: | ||
ErrorLog ${APACHE_LOG_DIR}/error.log | ErrorLog ${APACHE_LOG_DIR}/error.log | ||
CustomLog ${APACHE_LOG_DIR}/access.log combined | CustomLog ${APACHE_LOG_DIR}/access.log combined | ||
</VirtualHost> | </VirtualHost> | ||
Enable the NextCloud and Rewrite Module | |||
a2ensite nextcloud.conf | a2ensite nextcloud.conf | ||
a2enmod rewrite | a2enmod rewrite | ||
a2enmod headers | a2enmod headers | ||
a2enmod env | a2enmod env | ||
a2enmod dir | a2enmod dir | ||
a2enmod mime | a2enmod mime | ||
restart apache | |||
service apache2 restart | service apache2 restart | ||
prepare data folder | |||
mkdir /home/data/ | mkdir /home/data/ | ||
chown -R www-data:www-data /home/data/ | chown -R www-data:www-data /home/data/ | ||
prepare nextcloud Folder | |||
chown -R www-data:www-data /var/www/nextcloud/ | chown -R www-data:www-data /var/www/nextcloud/ | ||
chmod -R 755 /var/www/nextcloud/ | chmod -R 755 /var/www/nextcloud/ | ||
install certbot and create Let's Encrypt SSL-Certificate | |||
apt install certbot python3-certbot-apache | apt install certbot python3-certbot-apache | ||
Falls diese Maschine hinter einem Reverseproxy platziert ist, dann vorübergehend Port 80 und Port 443 direkt auf diese Maschine weiterleiten. | |||
Nur dann funktioniert der nächste Schritt und unter /etc/apache2/sites_available die Datei nextcloud-le-ssl.conf angelegt. | |||
Nach dem nächsten Schritt kann das Portforwarding sofern vorhanden wieder auf den Reverse Proxy umgestellt werden. | |||
erstes Zertifikat anfordern | |||
certbot --apache -m master@domain.com -d cloud.domain.com | certbot --apache -m master@domain.com -d cloud.domain.com | ||
--> only lasts 90 days | --> only lasts 90 days | ||
gegebenenfall das Paket cron installieren | |||
install crontab | install crontab | ||
crontab -e | crontab -e | ||
40 3 * * 0 letsencrypt renew >> /var/log/letsencrypt-renew.log && service apache2 reload > /dev/null 2>&1 | 40 3 * * 0 letsencrypt renew >> /var/log/letsencrypt-renew.log && service apache2 reload > /dev/null 2>&1 | ||
Falls ein Revers Proxy im Einsatz ist, dann bitte den nachfolgenden Link beachten. | |||
Nextcloud Server hinter einem Nginx Reverse Proxy Server | Nextcloud Server hinter einem Nginx Reverse Proxy Server | ||
Version vom 6. Juni 2024, 08:06 Uhr
Installation Nextcloud unter Ubuntu 24.04 LTS Zur Navigation springen Zur Suche springen
Diese Anleistung basiert auf folgender Anleitung: https://apfelcast.com/nextcloud-25-auf-linux-server-ubuntu-22-04-installieren-einfache-anleitung
<B<Die Anleitung wurde wegen neuer PHP Version 8.3 etwas angepasst
Die beiden zusätzlichen Änderungen am Schuss ergeben sich nach dem überprüfen der Einstellungen in Nextcloud.
Nextcloud 29 Installation auf Basis Ubuntu 24.04 LTS
Betriebsystem auf aktuellen Stand bringen
apt update && apt upgrade -y
Installion apache
apt install apache2
Installion PHP 8.3
apt install software-properties-common add-apt-repository ppa:ondrej/php apt update
Installion PHP 8.3 Module ohne php-dompdf wie bei PHP 8.1 Module
apt install php8.3 libapache2-mod-php8.3 php8.3-zip php8.3-xml php8.3-mbstring php8.3-gd php8.3-curl php8.3-imagick libmagickcore-6.q16-6-extra php8.3-intl php8.3-bcmath php8.3-gmp php8.3-cli php8.3-mysql php8.3-zip php8.3-gd php8.3-mbstring php8.3-curl php8.3-xml php-pear unzip nano php8.3-apcu redis-server ufw php8.3-redis
anpassen der PHP.ini Datei
nano /etc/php/8.3/apache2/php.ini
memory_limit = 1024M upload_max_filesize = 16G post_max_size = 16G date.timezone = Europe/Berlin output_buffering = Off
Installation Datenbank Server
apt install mariadb-server
Maria DB Server Konfiguration
mysql_secure_installation
öffnen SQL Dialog
mysql
create database calles nextcloud
CREATE DATABASE nextcloud;
create database user with password
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'password_here';
grant accesss to databse
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
save changes and exit
FLUSH PRIVILEGES; EXIT;
Download lastest nextcloud version
cd /tmp && wget https://download.nextcloud.com/server/releases/latest.zip unzip latest.zip mv nextcloud /var/www/
create new conf
nano /etc/apache2/sites-available/nextcloud.conf
<VirtualHost *:80> ServerAdmin master@domain.com DocumentRoot /var/www/nextcloud/ ServerName demo.domain.com ServerAlias www.demo.domain.com Alias /nextcloud "/var/www/nextcloud/"
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
Require all granted
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Enable the NextCloud and Rewrite Module
a2ensite nextcloud.conf a2enmod rewrite a2enmod headers a2enmod env a2enmod dir a2enmod mime
restart apache
service apache2 restart
prepare data folder
mkdir /home/data/ chown -R www-data:www-data /home/data/
prepare nextcloud Folder
chown -R www-data:www-data /var/www/nextcloud/ chmod -R 755 /var/www/nextcloud/
install certbot and create Let's Encrypt SSL-Certificate
apt install certbot python3-certbot-apache
Falls diese Maschine hinter einem Reverseproxy platziert ist, dann vorübergehend Port 80 und Port 443 direkt auf diese Maschine weiterleiten. Nur dann funktioniert der nächste Schritt und unter /etc/apache2/sites_available die Datei nextcloud-le-ssl.conf angelegt. Nach dem nächsten Schritt kann das Portforwarding sofern vorhanden wieder auf den Reverse Proxy umgestellt werden.
erstes Zertifikat anfordern
certbot --apache -m master@domain.com -d cloud.domain.com
--> only lasts 90 days
gegebenenfall das Paket cron installieren
install crontab crontab -e 40 3 * * 0 letsencrypt renew >> /var/log/letsencrypt-renew.log && service apache2 reload > /dev/null 2>&1
Falls ein Revers Proxy im Einsatz ist, dann bitte den nachfolgenden Link beachten.
Nextcloud Server hinter einem Nginx Reverse Proxy Server
--> Domain ansurfen und Einrichtung abschließen
Abschliessende Änderungen:
Erweitern der Datei : /etc/apache2/sites-available/nextcloud-le-ssl.conf um folgenden Eintrag
Fettgedrucktes unter Servername einfügen
Strict-Transport-Security:
<VirtualHost *:443>
ServerName cloud.nextcloud.com
<IfModule mod_headers.c>
Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"
</IfModule>
</VirtualHost>
Erweitern der Einstellungen in der Datein /var/www/nextcloud/config/config.php um folgenden Eintrag
'default_phone_region' => 'DE',
(bei einer Snap Installation unter Ubuntu 20.04 liegt die Datei unter /var/snap/nextcloud/current/config/config.php)
Erweiterung der Crontabelle des Users www-data für regelmäßige vom System auszuführende Wartungsaufgaben alle 5 Minuten. [Hinweis]
crontab -u www-data -e
- /5 * * * * php -f /var/www/nextcloud/cron.php