Uncaught exception with 'DB connection error' on line 18

Manuelle ownCloud installation – Linux (z.B. Debian Wheezy)

Nachdem mein Provider angekündigt hat den kostenlosen Cloud-Service einzustellen, habe ich beschlossen einen eigenen Cloud-Speicher auf meinen Server zu installieren. Man muß sich auf dem Server mit einem Terminal-Programm anmelden können.

Die Wahl fiel auf ownCloud. Es gibt zwar die Möglichkeit ein Package mit Autoupdate zu installieren, ich habe mich aber für eine manuelle Installation entschieden.

Die aktuelle Version war Version 7.0.4. Download direkt mit

wget https://download.owncloud.org/community/owncloud-7.0.4.tar.bz2

auf dem Server in ein beliebiges Verzeichnis, z.B. ~/download. Für alle manuellen Installationen habe ich ein /opt – Verzeichnis angelegt. Unter anderem habe ich dort auch verschiedene unabhängige Tomcat-Installationen und auch das Oracle Java manuell installiert, obwohl Installation eigentlich schon zuviel gesagt ist, es besteht nur aus kopieren, Link setzen, ggf. Service einrichten etc.

cd /opt
tar xfvj ~/download/owncloud-7.0.4.tar.bz2

aufrufen. Das neue Verzeichnis owncloud in owncloud-7.0.4 umbenennen. So kann man neue Versionen parallel „installieren“. Symbolischer Link

ln -s owncloud-7.0.4 owncloud.

Mysql-Datenbank anlegen, z.B. owncloud mit User owncloud.
Um Zugriff durch Apache zu erhalten könnten wir chown mit www-data:www-data rekursiv auf das owncloud-Verzeichnis machen, dann bestehen aber Schreibrechte auf alle Dateien durch Apache. Wir benötigen aber nur Schreibzugriff auf das config- und apps-Verzeichnis.

chown -R www-data:www-data /opt/owncloud/config
chown -R www-data:www-data
/opt/owncloud/apps.

Im config-Verzeichnis befindet sich eine config.sample.php. Diese würde ich ohne genaue Kenntnis der darin enthaltenen Parameter nicht benutzen. Eine config.php mit minimalen Parametern wird automatisch nach dem ersten Start von owncloud erstellt.
Jetzt legen wir das data-Verzeichnis an.

cd /opt/owncloud
mkdir data
chown -R www-data:www-data data.

Jetzt muß noch der Apache wissen wo owncloud sich befindet. Wir wechseln in das /etc/apache2/conf.d Verzeichnis und legen eine neue owncloud.conf an.

Es werden alle Dateien in diesem Verzeichnis von Apache bei einem Reload bzw. Restart eingelesen. Ich habe hier schon die phpmyadmin.conf, roundcube.conf usw. Hier installiert Debian auch seine conf-Dateien für verschiedene Pakete hinein (z.B. phpmyadmin.conf).

cd /etc/apache2/conf.d
mcedit owncloud.conf

In owncloud.conf steht folgendes (minimum):

<VirtualHost *:80>
DocumentRoot     /opt/owncloud
ServerName       cloud.<domain>.de
ErrorLog         /var/log/apache2/cloud.<domain>.error.log
CustomLog        /var/log/apache2/cloud.<domain.access.log combined
<VirtualHost>

<Directory /opt/owncloud>
options          FollowSymLinks
DirectoryIndex   index.php
</Directory>

Jetzt laden wir die Konfiguration des Apache neu: service apache 2 reload.
Und rufen unseren owncloud unter cloud.<domain>.de auf…

Nach Eingabe von admin-Name/Passwort und Datenbank ist die Installation auf dem Server beendet.

Falls jemand in der config.php von owncloud ein Logfile definiert hat, gibt e möglicherweise noch den Fehler „Unable to create file owncloud.log because Permission denied…“ im Log-File. Das Log-File existiert und wird beschrieben. Fehler hängt möglicherweise mit der php-Version zusammen… Damit das Log-File nicht zugemüllt wird habe ich folgendes gemacht:

Unter Administration den Loglevel auf „Fatale Probleme“ gestellt und eine Auskommentierung in der /opt/owncloud/lib/private/log/owncloud.php (Zeile 49 u. 51)


//     if (!file_exists(self::$logFile) && !@touch(self::$logFile)) {
self::$logFile = $defaultLogFile;
//     }

Ich gehe davon aus das touch die Ursache ist…