Kategorien
Linux Raspberry Pi Server Ubuntu

Installation OpenVPN Access Server auf Ubuntu

Um einen OpenVPN Access Server auf Ubuntu zu installieren sind folgende Schritte nötig:

apt update && apt -y install ca-certificates wget net-tools gnupg

wget -qO - https://as-repository.openvpn.net/as-repo-public.gpg | apt-key add -

echo "deb http://as-repository.openvpn.net/as/debian focal main">/etc/apt/sources.list.d/openvpn-as-repo.list

apt update && apt -y install openvpn-as

Nun das Passwort des default Benutzers zurücksetzten:

passwd openvpn 

Nun ist die Weboberfläche deines OpenVPN Access Servers erreichbar. Wenn du „/admin“ in der Adresse des Servers ergänzt kannst du auf das Admin-Portal zugreifen und die Konfiguration vornehmen.

Kategorien
Nextcloud Raspberry Pi Server

Nextcloud Wartungsmodus einstellen

Der Wartungsmodus der Nextcloud dient dazu, dem Administrator freies Feld zu schaffen. Beispielsweise zur Installation von Updates. Wenn der Wartungsmodus aktiviert ist können sich keine User mehr anmelden. Auch Protokolle zur Datenübertragung wie WebDAV lassen keine Verbindungen mehr zu.

Der Wartungsmodus lässt sich in der Nextcloud – Konfiguration aktivieren und deaktivieren. Das geht einfach mit einem beliebigen Text-Editor:

# der Pfad der Datei kann in eurer Installation anders aussehen.
# Wenn ihr die Installation nach meiner Anleitung gemacht habt sollte es keine Probleme geben.

nano /var/www/nextcloud/config/config.php

# Oder

vi /var/www/nextcloud/config/config.php

In der Datei findet ihr relativ weit unten den Punkt, den Wartungs bzw. maintenance Modus auf true und false zu setzen:

Wenn diese Option auf true gesetzt ist, sieht die Website folgendermaßen aus:

Kategorien
IT Security Let's Encrypt Linux Nextcloud Raspberry Pi

Nextcloud mit kostenfreien Let’s Encrypt Zertifikat

Um unsere Nexcloud noch besser zu schützen können wir den „http“-Traffic verschlüsseln. Dafür bedarf es nicht mehr als ein paar befehlen und einer Einstellung.

Grundsätzlich benötigst du für die SSL Absicherung deiner Nextcloud nur eine Domain, dessen A und/oder AAA Record auf die IP-Adresse deiner Nextcloud zeigt. Sonst wird das nichts 😉

## Certbot installieren
apt-get install certbot python3-certbot-apache

## Certbot konfigurieren (Hier fragt er nur ein paar werte ab, ob ihr ein redirect von http auf https wollt, auf welche Domain das Zertifikat laufen soll, wie der web admin erreichbar ist usw.)

certbot --apache

## Das wars schon mit dem Zertifikat, jetzt müsst Ihr nur noch in der Nextcloud Config erlauben das auf diese über die Domain zugegriffen werden darf

nano /var/www/nextcloud/config/config.php

## Das sieht dann so aus:

 'trusted_domains' =>
  array (
    0 => '<Hier steht schon deine IP-Adresse des Servers>',
    1 => '<Hier muss deine Domain rein>',
  ),

## Das ganze noch speichern und dann bist du durch.
Kategorien
Linux Nextcloud Raspberry Pi Server

Nextcloud Installation auf Ubuntu 20.04

In dieser Anleitung erhältst du die komplette Befehl Abfolge zur Installation einer Nextcloud in Verbindung mit MariaDB und Apache Virtual Host auf Ubuntu 20.04.

## Dauerhafte Admin rechte als su(super user)
su

## Pakete aktualisieren
apt-get update

## Updates installieren
apt-get upgrade

## Installation Apache Webserver
apt install apache2

## Directory listing deaktivieren
sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf

## Apache Dienst starten
systemctl start apache2.service

## Installation von MariaDB Server und Client
apt install mariadb-server mariadb-client

# Konfiguration des MariaDB Servers
mysql_secure_installation

Enter current password for root (enter for none): Just press the Enter
Set root password? [Y/n]: Y
New password: Enter <Hier kommt dein Passwort hin>
Re-enter new password: <Hier kommt dein Passwort hin>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]:  Y
Reload privilege tables now? [Y/n]:  Y

## MariaDB Server Dienst neustarten
systemctl restart mariadb.service

## Installation von PHP und Modulen
installing PHP 7.1

## Download Repository für PHP Module hinzufügen
apt-get install software-properties-common
add-apt-repository ppa:ondrej/php

## Paketlisten updaten
apt update

## Finale Installation von PHP und dessen Modulen
apt install php7.2 libapache2-mod-php7.2 php7.2-common php7.2-gmp php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-zip

# PHP.ini config-file anpassen
nano /etc/php/7.2/apache2/php.ini

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 80M
date.timezone = Europe/Berlin

## Konfiguration SQL Datenbank


## Verbindung zur SQL Datenbank herstellen
mysql -u root -p

## Nextcloud Datenbank erstellen
CREATE DATABASE nextcloud;

## Datenbank Benutzer erstellen
CREATE USER 'ncusr'@'localhost' IDENTIFIED BY '<Hier kommt dein Passwort rein>';

## Datenbank Berechtigungen für den grade angelegten User anpassen
GRANT ALL ON nextcloud.* TO 'ncusr'@'localhost' IDENTIFIED BY '<Hier kommt dein Passwort rein>' WITH GRANT OPTION;

## Änderungen abspeichern und MariaDB Konsole verlassen
FLUSH PRIVILEGES;
EXIT;

## unzip installieren
apt-get install unzip

## Neuste Version von Nextcloud herunterladen
cd /tmp && wget 
<Neuster Nextcloud download link>
unzip nextcloud
mv nextcloud /var/www/nextcloud/

## Apache Virtual Host konfigurieren

## Konfigurationsdatei erstellen
nano /etc/apache2/sites-available/nextcloud.conf

## Inhalt der Datei habe ich euch unten angehangen.

## Nextcloud Website und Apache Module aktivieren und zu Schluss neu starten

a2ensite nextcloud.conf
a2enmod rewrite
a2enmod headers
a2enmod env
a2enmod dir
a2enmod mime

systemctl restart apache2.service

## Datenspeicherort in das Homeverzeichnis verlagern und Rechte vergeben

cd /home
mkdir /home/data/
chown -R www-data:www-data /home/data/
chown -R www-data:www-data /var/www/nextcloud/
chmod -R 755 /var/www/nextcloud/


## IP Adresse oder Domain die im Virtual Host hinterlegt ist und auf den Server zeigt an surfen.

Auf der Website kannst du zuerst den Nutzernamen des Administrators bestimmen. Ich würde „admin“ empfehlen und über den Benutzer die Cloud administrieren und keinem User (Auch nicht dir selbst) Admin rechte geben. Dann kannst du dir ein Passwort für den Benutzer ausdenken. Beim Datenverzeichnis müssen wir den von uns im Home Verzeichnis erstellten Ordner „data“ hinterlegen. Also füllst du in das Feld: „/home/data/“. Bei den Datenbank Einstellungen musst du den Datenbank Namen, Benutzer Namen, Benutzer Passwort und die Datenbank location angegeben werden. Wenn du diese nach dieser Anleitung eingerichtet hast ist der Datenbank Name „nextcloud“, der Benutzername „ncusr“, Passwort musst du selber wissen und bei der Datenbank location kannst du localhost stehen lassen da sich die Datenbank auf den gleichen Server befindet. Nun kannst du die Konfiguration abschließen und es sollte alles laufen.

## Vorlage zur VirtualHost Konfiguration
## E-mail, ServerName und Server Alias müssen angepasst werden (entweder wird hier die Ip-Adresse oder die Domain eingetragen)

<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>