So installierst du Nextcloud mit Apache 2 und Let’s Encrypt SSL unter Ubuntu 22.04 LTS

Nextcloud ist eine kostenlose und quelloffene Lösung zum Teilen und Synchronisieren von Dateien, die dir hilft, deine persönlichen Dokumente, Dateien, Fotos und anderes an einem zentralen Ort zu speichern. Sie ist anderen Cloud-Speicherlösungen wie Dropbox, Google Drive, iCloud usw. sehr ähnlich. Du solltest zu NextCloud wechseln, wenn du dir Sorgen um deine Privatsphäre machst, denn du kannst Nextcloud auf deinem eigenen Server installieren. Du kannst Dateien und andere Dokumente auf deinen Nextcloud-Server hochladen und sie dann mit deinem Desktop-PC, Laptop oder Smartphone synchronisieren.

In diesem Tutorial zeigen wir dir, wie du Nextcloud auf einem Ubuntu 22.04 Server installierst.

Voraussetzungen

  • Ein Server, auf dem Ubuntu 22.04 läuft.
  • Ein gültiger Domainname, der auf die Server-IP zeigt.
  • Ein Root-Passwort ist auf deinem Server konfiguriert.

Installiere Apache, PHP und MariaDB

Bevor du beginnst, muss der LAMP-Stack auf deinem Server installiert sein. Wenn er nicht installiert ist, kannst du ihn mit dem folgenden Befehl installieren:

apt install apache2 mariadb-server php php-cli php-fpm php-json php-intl php-imagick php-pdo php-mysql php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath apache2 libapache2-mod-php -y

Nachdem du alle Pakete installiert hast, bearbeite die PHP-Konfigurationsdatei und ändere einige Standardeinstellungen:

nano /etc/php/8.1/apache2/php.ini

Ändere die folgenden Zeilen:

date.timezone = UTC
memory_limit = 512M
upload_max_filesize = 500M
post_max_size = 500M
max_execution_time = 300

Speichere und schließe die Datei und starte den Apache-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart apache2

Erstelle eine Datenbank für Nextcloud

Nextcloud verwendet eine MariaDB-Datenbank als Datenbank-Backend. Daher musst du eine Datenbank und einen Benutzer in MariaDB anlegen.

Verbinde dich zunächst mit der MariaDB-Shell mit dem folgenden Befehl:

mysql

Sobald du mit MariaDB verbunden bist, erstelle eine Datenbank und einen Benutzer mit dem folgenden Befehl:

CREATE DATABASE nextcloud;
CREATE USER 'nextcloud'@'localhost' identified by 'password';

Als Nächstes erteilst du der Nextcloud-Datenbank mit folgendem Befehl alle Berechtigungen:

GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';

Lösche die Berechtigungen und verlasse MariaDB mit folgendem Befehl:

FLUSH PRIVILEGES;
QUIT;

Nextcloud herunterladen

Zum Zeitpunkt des Schreibens dieses Artikels ist die neueste Version von Nextcloud 24.0.1. Du kannst sie mit dem folgenden Befehl herunterladen:

wget https://download.nextcloud.com/server/releases/nextcloud-24.0.1.zip

Sobald der Download abgeschlossen ist, entpackst du die heruntergeladene Datei mit dem folgenden Befehl:

unzip nextcloud-24.0.1.zip

Als Nächstes verschiebst du das entpackte Verzeichnis mit folgendem Befehl in das Apache-Web-Root:

mv nextcloud /var/www/html/

Ändere als Nächstes mit folgendem Befehl die Eigentums- und Zugriffsrechte für das Nextcloud-Verzeichnis:

chown -R www-data:www-data /var/www/html/nextcloud
chmod -R 775 /var/www/html/nextcloud

Erstellen eines virtuellen Apache-Hosts für Nextcloud

Als Nächstes musst du eine Konfigurationsdatei für einen virtuellen Apache-Host für Nextcloud erstellen. Du kannst sie mit dem folgenden Befehl erstellen:

nano /etc/apache2/sites-available/next.conf

Füge die folgenden Zeilen hinzu:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/nextcloud
     ServerName next.example.com
     ErrorLog /var/log/apache2/nextcloud-error.log
     CustomLog /var/log/apache2/nextcloud-access.log combined
 
    <Directory /var/www/html/nextcloud>
	Options +FollowSymlinks
	AllowOverride All
        Require all granted
 	SetEnv HOME /var/www/html/nextcloud
 	SetEnv HTTP_HOME /var/www/html/nextcloud
 	<IfModule mod_dav.c>
  	  Dav off
        </IfModule>
    </Directory>
</VirtualHost>

Speichere und schließe die Datei und aktiviere dann den virtuellen Apache-Host und andere benötigte Apache-Module mit dem folgenden Befehl:

a2ensite next
a2enmod rewrite dir mime env headers

Starte anschließend den Apache-Dienst neu, um die Änderungen zu übernehmen:

systemctl restart apache2

Du kannst den Status des Apache auch mit dem folgenden Befehl überprüfen:

systemctl status apache2

Du erhältst den Apache-Status in der folgenden Ausgabe:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-06-17 15:04:27 UTC; 4s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 16746 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 16750 (apache2)
      Tasks: 6 (limit: 2292)
     Memory: 14.7M
        CPU: 98ms
     CGroup: /system.slice/apache2.service
             ??16750 /usr/sbin/apache2 -k start
             ??16751 /usr/sbin/apache2 -k start
             ??16752 /usr/sbin/apache2 -k start
             ??16753 /usr/sbin/apache2 -k start
             ??16754 /usr/sbin/apache2 -k start
             ??16755 /usr/sbin/apache2 -k start

Jun 17 15:04:27 ubuntu2204 systemd[1]: Starting The Apache HTTP Server...

Zugriff auf das Nextcloud Web Interface

Öffne nun deinen Webbrowser und rufe die Nextcloud-Web-Oberfläche über die URL http://next.example.com auf. Du solltest den folgenden Bildschirm sehen:

NextCloud Admin Login

Nextcloud-Datenbank konfigurieren

Gib deinen Admin-Benutzernamen, das Passwort und die Datenbank ein und klicke auf die Schaltfläche Installieren. Sobald Nextcloud installiert ist, solltest du den folgenden Bildschirm sehen:

Empfohlene NextCloud-Apps

Klicke auf die Schaltfläche Empfohlene Anwendungen installieren, um alle erforderlichen Anwendungen zu installieren. Du solltest den folgenden Bildschirm sehen:

Aufgaben nach der Installation

Klicke auf die Schaltfläche Alle Dateien. Auf dem folgenden Bildschirm sollte der Nextcloud-Speichermanager zu sehen sein:

NextCloud GUI

Klicke auf Deine Fotos. Auf dem folgenden Bildschirm sollte der Nextcloud-Fotomanager angezeigt werden:

NextCloud Foto

Aktiviere SSL auf Nextcloud

Es wird auch empfohlen, SSL auf der Nextcloud-Domäne zu aktivieren, um eine sichere Kommunikation zu gewährleisten. Installiere zunächst das Certbot-Paket mit dem folgenden Befehl:

apt-get install python3-certbot-apache -y

Nach der Installation führst du den folgenden Befehl aus, um deine Website mit Let’s Encrypt SSL zu sichern:

certbot --apache -d next.example.com

Du wirst aufgefordert, deine E-Mail-Adresse anzugeben und die Nutzungsbedingungen zu akzeptieren (siehe unten):

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): [email protected]

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y
Plugins selected: Authenticator apache, Installer apache
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for next.example.com
Enabled Apache rewrite module
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/apache2/sites-available/next-le-ssl.conf
Enabled Apache socache_shmcb module
Enabled Apache ssl module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/next-le-ssl.conf
Enabling available site: /etc/apache2/sites-available/next-le-ssl.conf

Als Nächstes wählst du aus, ob der HTTP-Verkehr auf HTTPS umgeleitet werden soll oder nicht (siehe unten):

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2

Gib 2 ein und drücke die Eingabetaste, um Let’s Encrypt SSL für deine Website zu installieren:

Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/next.conf to ssl vhost in /etc/apache2/sites-available/next-le-ssl.conf

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://next.example.com

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=next.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/next.example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/next.example.com/privkey.pem
   Your cert will expire on 2022-09-21. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Fazit

Herzlichen Glückwunsch! Du hast Nextcloud mit Apache und Let’s Encrypt SSL erfolgreich auf Ubuntu 22.04 installiert. Du kannst jetzt deine Dateien, Dokumente und Fotos hochladen und sie mit deinem Computer, Laptop und deinen mobilen Geräten synchronisieren.

Das könnte dich auch interessieren …