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