Einführung

Dies ist eine kurze Anleitung zur Installation von ownCloud auf einer frischen Installation von Ubuntu 20.04. Führen Sie die folgenden Befehle in Ihrem Terminal aus, um die Installation abzuschließen.

Diese Anleitung kann nicht auf Details eingehen und hat von Natur aus ihre Grenzen. Wenn Sie auf Probleme wie Abhängigkeiten von PHP oder andere relevante Dinge wie das Betriebssystem, den Webserver oder die Datenbank stoßen, lesen Sie die Detaillierte Installationsanleitung für weitere Informationen.

Voraussetzungen und Anmerkungen

  • Eine frische Installation von Ubuntu 20.04 mit aktiviertem SSH.
  • Diese Anleitung geht davon aus, dass Sie als Root-Benutzer arbeiten.
  • Ihr ownCloud-Verzeichnis wird unter /var/www/owncloud/ liegen.
  • PHP 7.4 ist die standardmäßig installierbare Version mit Ubuntu 20.04.
  • Verwenden Sie das richtige Multi-Processing-Modul (MPM).
  • Lesen Sie die openSSL Versionshinweise, die wichtig sind, wenn Sie planen, Verschlüsselung zu verwenden.

Vorbereitung

Setzen Sie Ihren Domainnamen

my_domain="Your.Domain.tld"

echo $my_domain

hostnamectl set-hostname $my_domain

hostname -f

Aktualisieren Sie Ihr System

Stellen Sie zunächst sicher, dass alle installierten Pakete auf dem neuesten Stand sind und dass PHP im APT-Repository verfügbar ist. Führen Sie dazu die folgenden Befehle aus:

apt update && apt upgrade -y

Erstellen Sie das occ-Hilfsskript

Erstellen Sie ein Hilfsskript, um das Ausführen von occ-Befehlen zu vereinfachen:

FILE="/usr/local/bin/occ"
cat <$FILE
#! /bin/bash
cd /var/www/owncloud
sudo -E -u www-data /usr/bin/php /var/www/owncloud/occ "\$@"
EOM

Stellen Sie sicher, dass das Hilfsskript ausführbar ist:

chmod +x $FILE

Installieren Sie die erforderlichen Pakete

Führen Sie den folgenden Befehl aus, um die benötigten Pakete zu installieren:

apt install -y \
  apache2 libapache2-mod-php \
  mariadb-server openssl redis-server wget php-imagick \
  php-common php-curl php-gd php-gmp php-bcmath php-imap \
  php-intl php-json php-mbstring php-mysql php-ssh2 php-xml \
  php-zip php-apcu php-redis php-ldap php-phpseclib

Installieren Sie das smbclient PHP-Modul

Wenn Sie über SMB auf externen Speicher zugreifen möchten, müssen Sie das smbclient PHP-Modul installieren.

Installieren Sie zunächst die erforderlichen Pakete:

apt-get install -y libsmbclient-dev php-dev php-pear

Installieren Sie dann das smbclient PHP-Modul mit pecl:

pecl channel-update pecl.php.net
mkdir -p /tmp/pear/cache
pecl install smbclient-stable
echo "extension=smbclient.so" > /etc/php/7.4/mods-available/smbclient.ini
phpenmod smbclient
systemctl restart apache2

Überprüfen Sie, ob es erfolgreich aktiviert wurde:

php -m | grep smbclient

Dies sollte die folgende Ausgabe zeigen:

libsmbclient
smbclient

Installieren Sie die empfohlenen Pakete

Zusätzliche nützliche Tools, die für die Fehlersuche hilfreich sind:

apt install -y \
  unzip bzip2 rsync curl jq \
  inetutils-ping ldap-utils \
  smbclient

Konfigurieren Sie Apache

Erstellen Sie eine virtuelle Hostkonfiguration

FILE="/etc/apache2/sites-available/owncloud.conf"
cat <$FILE

# uncommment the line below if variable was set
#ServerName $my_domain
DirectoryIndex index.php index.html
DocumentRoot /var/www/owncloud

  Options +FollowSymlinks -Indexes
  AllowOverride All
  Require all granted

 
  Dav off
 

 SetEnv HOME /var/www/owncloud
 SetEnv HTTP_HOME /var/www/owncloud


EOM

Aktivieren Sie die virtuelle Hostkonfiguration

a2dissite 000-default
a2ensite owncloud.conf

Konfigurieren Sie die Datenbank

Es wird empfohlen, mysql_secure_installation auszuführen, um die MariaDB-Installation abzusichern und ein sicheres Passwort für den Datenbankbenutzer festzulegen.

Stellen Sie sicher, dass der Transaktionsisolationsgrad gesetzt ist und performance_schema aktiviert ist:

sed -i "/\[mysqld\]/atransaction-isolation = READ-COMMITTED\nperformance_schema = on" /etc/mysql/mariadb.conf.d/50-server.cnf
systemctl start mariadb
mysql -u root -e \
  "CREATE DATABASE IF NOT EXISTS owncloud; \
  CREATE USER IF NOT EXISTS 'owncloud'@'localhost' IDENTIFIED BY 'password'; \
  GRANT ALL PRIVILEGES ON *.* TO 'owncloud'@'localhost' WITH GRANT OPTION; \
  FLUSH PRIVILEGES;"

Es wird empfohlen, das Skript mysqltuner auszuführen, um die Datenbankkonfiguration nach mehreren Tagen Betriebs zu analysieren.

Aktivieren Sie die empfohlenen Apache-Module

a2enmod dir env headers mime rewrite setenvif
systemctl restart apache2

Installation

ownCloud herunterladen

cd /var/www/
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2 && \
tar -xjf owncloud-complete-latest.tar.bz2 && \
chown -R www-data. owncloud

ownCloud installieren

Wir empfehlen, ein sicheres Passwort für Ihren ownCloud-Admin-Benutzer und den Datenbankbenutzer festzulegen.

occ maintenance:install \
    --database "mysql" \
    --database-name "owncloud" \
    --database-user "owncloud" \
    --database-pass "password" \
    --data-dir "/var/www/owncloud/data" \
    --admin-user "admin" \
    --admin-pass "admin"

Konfigurieren Sie die vertrauenswürdigen Domains von ownCloud

my_ip=$(hostname -I|cut -f1 -d ' ')
occ config:system:set trusted_domains 1 --value="$my_ip"
occ config:system:set trusted_domains 2 --value="$my_domain"

Konfigurieren Sie die Cron-Jobs

Setzen Sie den Hintergrundjobmodus auf Cron:

occ background:cron

Konfigurieren Sie die Ausführung des Cron-Jobs alle 15 Minuten und die Bereinigung der Chunks jeden Abend um 2 Uhr:

echo "*/15  *  *  *  * /var/www/owncloud/occ system:cron" \
  | sudo -u www-data -g crontab tee -a \
  /var/spool/cron/crontabs/www-data
echo "0  2  *  *  * /var/www/owncloud/occ dav:cleanup-chunks" \
  | sudo -u www-data -g crontab tee -a \
  /var/spool/cron/crontabs/www-data

Wenn Sie Ihre Benutzer von einem LDAP- oder Active Directory-Server synchronisieren müssen, fügen Sie diesen zusätzlichen Cron-Job hinzu. Dieser Cron-Job synchronisiert alle 4 Stunden LDAP-Benutzer in ownCloud und deaktiviert diejenigen, die nicht mehr verfügbar sind. Zusätzlich erhalten Sie eine Protokolldatei in /var/log/ldap-sync/user-sync.log zur Fehlersuche.

echo "1 */6 * * * /var/www/owncloud/occ user:sync \
  'OCA\User_LDAP\User_Proxy' -m disable -vvv >> \
  /var/log/ldap-sync/user-sync.log 2>&1" \
  | sudo -u www-data -g crontab tee -a \
  /var/spool/cron/crontabs/www-data
mkdir -p /var/log/ldap-sync
touch /var/log/ldap-sync/user-sync.log
chown www-data. /var/log/ldap-sync/user-sync.log

Konfigurieren Sie Caching und Dateisperrung

occ config:system:set \
   memcache.local \
   --value '\OC\Memcache\APCu'
occ config:system:set \
   memcache.locking \
   --value '\OC\Memcache\Redis'
occ config:system:set \
   redis \
   --value '{"host": "127.0.0.1", "port": "6379"}' \
   --type json

Konfigurieren Sie die Protokollrotation

FILE="/etc/logrotate.d/owncloud"
sudo cat <$FILE
/var/www/owncloud/data/owncloud.log {
  size 10M
  rotate 12
  copytruncate
  missingok
  compress
  compresscmd /bin/gzip
}
EOM

Installation abschließen

Stellen Sie sicher, dass die Berechtigungen korrekt sind:

cd /var/www/
chown -R www-data. owncloud

ownCloud ist jetzt installiert. Sie können bestätigen, dass es bereit ist, HTTPS zu aktivieren (zum Beispiel mit Let’s Encrypt), indem Sie Ihren Webbrowser auf Ihre ownCloud-Installation verweisen.

Um zu überprüfen, ob Sie die richtige Version von ownCloud installiert haben und ob der occ-Befehl funktioniert, führen Sie die folgenden Befehle aus:

occ -V
echo "Ihr ownCloud ist erreichbar unter: "$my_ip
echo "Ihr ownCloud ist erreichbar unter: "$my_domain
echo "Die Installation ist abgeschlossen."
Was this answer helpful? 0 Users Found This Useful (0 Votes)