Verifiziert mit Ubuntu 22.04.2 LTS Minimalversion und Nextcloud 25.0.3
- Minimal-Install Ubuntu
- Pakete installieren
apt-get install rsyslog unzip nano cron apache2 mariadb-server libapache2-mod-php php-gd php-mysql php-curl php-mbstring php-intl php-gmp php-bcmath php-imagick libmagickcore-6.q16-6-extra php-xml php-zip php-ldap iptables iptables-persistent -y
- Firewalleinstellungen setzen
nano /etc/iptables/rules.v4
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -s <ip> --dport 22 -j ACCEPT
-A INPUT -p TCP --dport 80 -j ACCEPT
-A INPUT -p TCP --dport 443 -j ACCEPT
-A INPUT -j REJECT
- Automatische OS-Updates aktivieren: Aktivieren automatisches Update Ubuntu 22.04
- Datenbank für nextcloud vorbereiten
mysql -uroot
CREATE DATABASE nextcloud;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY '<password>';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
- Verzeichniss anlegen
- Nextcloud-Verzeichnis
mkdir -p /srv/nextcloud/data
- Verzeichnis für Domänenvalidierung
mkdir /srv/cert
- Nextcloud-Verzeichnis
- nextcloud herunterladen
wget https://download.nextcloud.com/server/releases/latest.zip -O /srv/nextcloud/latest.zip
- ...entpacken
unzip /srv/nextcloud/latest.zip -d /srv/nextcloud
- ...umbenennen
mv /srv/nextcloud/nextcloud /srv/nextcloud/www
- Owner und Berechtigungen setzen
chmod -R o-rwx /srv/nextcloud
chown -R www-data:www-data /srv/nextcloud
- Zertifikat anfordern oder installieren
- Apache-Site konfigurieren
a2enmod ssl
a2enmod rewrite
nano /etc/apache2/sites-available/nextcloud.conf
Vorlage Website 2.4
<VirtualHost *:80>
ServerName nextcloud.sld.tld
ServerAdminDiese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.
DocumentRoot /srv/cert
RewriteEngine on
RewriteCond %{REQUEST_URI} !^\/\.well-known\/pki-validation\/.+\.txt$
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost><VirtualHost *:443>
ServerName nextcloud.sld.tld
ServerAdminDiese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.
DocumentRoot /srv/nextcloud/www
SSLEngine on
SSLCertificateFile /etc/ssl/mycerts/host.sld.tld.cer.2022
SSLCACertificateFile /etc/ssl/mycerts/host.sld.tld.chain.2022
SSLCertificateKeyFile /etc/ssl/private/host.sld.tld.key.2022
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost><Directory /srv/nextcloud/www>
SSLRequireSSL
Require all granted
AllowOverride All
</Directory>-
a2ensite nextcloud
- PHP konfigurieren:
nano /etc/php/8.1/apache2/php.ini
memory_limit = 512M
opcache.interned_strings_buffer = 16
- URI aufrufen und Grundinstallation durchführen