RuhrbrückeVor ein paar Tagen hatte ich mal etwas über einen DropBox-Ersatz OwnCloud gelesen und das wollte ich mir ganz gern mal ansehen. Also habe ich heute Abend mal ein wenig damit gebastelt. (Version 4.5.1a)
Die Installation lief deutlich problemloser ab, als erwartet. In der Installationsanleitung sind nämlich ein paar debian-Pakete aufgelistet die der Installer dann nicht finden konnte:

# apt-get install apache2 php5 php5-json php-xml php-mbstring php5-zip php5-gd php5-sqlite curl libcurl3 libcurl3-dev php5-curl php-pdo
 Paketlisten werden gelesen... Fertig
 Abhängigkeitsbaum wird aufgebaut       
 Statusinformationen werden eingelesen... Fertig
 Hinweis: »php5-common« wird an Stelle von »php5-json« gewählt
 Hinweis: »libcurl4-openssl-dev« wird an Stelle von »libcurl3-dev« gewählt
 E: Paket php-xml kann nicht gefunden werden
 E: Paket php-mbstring kann nicht gefunden werden
 E: Paket php5-zip kann nicht gefunden werden
 E: Paket php-pdo kann nicht gefunden werden
# mkdir /home/ftp/pub/internet/owncloud && cd $_
# wget -N http://mirrors.owncloud.org/releases/owncloud-4.5.1.tar.bz2
# cd /home/httpd
# tar xjf /home/ftp/pub/internet/owncloud/owncloud-4.5.1.tar.bz2
# cd owncloud
# cp .htaccess /etc/apache2/sites-available/owncloud.inc.conf
# mkdir data
# chown www-data:www-data data
# chmod 0770 data
# vi /etc/apache2/sites-available/owncloud.inc.conf
# echo "  Include /etc/apache2/sites-available/owncloud.inc.conf" >> /etc/apache2/sites-available/19quadrat.conf
# vi /etc/apache2/sites-available/19quadrat.conf
# /etc/init.d/apache reload
Der erste Eindruck war dann auch sehr gut. Die Oberfläche machte einen modernen Eindruck und lief auch relativ zügig.
Als nächstes versuchte ich ein paar Apps zu aktivieren und dadurch auch noch ein paar zusätzliche Funktionen zu aktivieren. Mit den „Internal Apps“ klappte das auch noch ganz gut.
Dann fand ich eine App die RoundCube einbinden soll, aber immer wenn ich sie aktivierte und dann auf das neue Symbol für die Mail-App klickte, bekam ich die Fehlermeldung, dass es die Datenbank-Tabelle mit den Usernamen für den Mailer noch nicht gebe. :( Die App „Mail“, die ich auch noch fand, brachte genau den selben Fehler zu Tage.
Die App „Unix user backend“ funktionierte auch nicht. Genauso erging es mir mit der App „Gsync“.
Langsam nervte es etwas, – den ganzen Donnerstag Abend gebastelt und genau nichts geschafft. :( Das Hauptproblem war allerdings die fehlende Dokumentation. Man findet kaum Hinweise, wie man vorgehen muss. Es geht schon mit so einfachen Sachen los, wie der Frage, wohin muss man das Archiv entpacken. Erst als ich den RoundCube-App-Ordner ins Verzeichnis „./owncloud/apps/“ steckte, konnte ich es aktivieren. Am Freitag fand ich dann auch einen passenden Hinweis zur App „Gsync“. Das Bild auf der App-HomePage „beschreibt“ die Vorgehensweise, um einen passenden Key bei Google-Code zu erhalten. Tatsächlich bekam ich auch diese App dann doch noch hin.
Am Freitag Abend installierte ich nämlich die ganze OwnCloud-Anwendung noch einmal ganz neu. Diesmal allerdings „gegen“ die MySql-Datenbank. Dazu musste man bei der Installation „nur“ den „Advanced“-Mode aktivieren und dann statt „sqlite“ den Datenbank-Type „mysql“ aktivieren. Danach lief einiges deutlich zügiger. Der Import der Google-Kalender-Exportes lief gefühlt um den Faktor 10 schneller. Auch die RoundCube-App konnte man jetzt aktivieren und die pam-App bekam ich dann in-gange.
Ein Problem bestand aber weiterhin. Wenn der User „uwe2“ für den User „uwe“ etwas freigab, hatte „uwe“ danach einen neuen Ordner „Shared“ – toll – nur öffnen kann ich den nicht. Wenn ich darauf klicke arbeitet der Browser kurz und zeigt mir dann wieder die „Dateien“-Startbildschim an. Wenn ich in der „Shared“-Leiste auf „Herunterladen“ klicke, erhalte ich die Fehlermeldung „Cloud nicht gefunden //Shared„. :( Und gerade diese Funktion macht die Cloud ja interessant, wenn sie dann funktionieren würde. Auch ein Umstellen der Sprache auf „English“ löste das Problem nicht. Komisch, dass auch Google zu keinem der ganzen Probleme irgendwo eine Lösung vorrätig hatte. – Von der Doku (wie bitte, welche Doku :( ) mal ganz zu schweigen. – Erst Tage später fand ich dann noch einen Tipp und als ich die internal App „Pictures“ (Version 0.5.2) deaktiviert hatte, funktionierte die internal App „Share Files“ (Version 0.3.3) plötzlich und man konnte auch in die freigegebenen Ordner schauen. Dafür entfällt jetzt dann aber leider die schöne Galerie-Funktion. :evil:
Dafür bekam ich es dann aber hin, die Kontakte aus OwnCloud als RoundCube-Adressbuch einzubinden. Das lief mit der Anleitung absolut easy durch.
Unterm Strich lief zwar nicht alles rund, aber nun kann man die eigene Cloud doch nutzen.
Leider habe ich sehr viel Zeit mit probieren und testen vergeudet, Zeit die man mit einer Doku gespart hätte.

Nachtrag:
Irgendwann stellte ich außerdem fest, dass das log-File von OwnCloud selbst nicht weiter „behandelt“ wird und womöglich irgendwann zu groß wird. Also habe ich mal logrotate gebeten, ;) einen wöchentlichen Blick darauf zu werfen.:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Alias /titan /home/httpd/owncloud
#Alias /owncloud /home/httpd/owncloud
#https://www.19quadrat.de/owncloud
#https://saturn.19quadrat.de/titan
 
<Directory /home/httpd/owncloud>
  #php_flag register_globals off
  #Options -Indexes
  Options -Indexes FollowSymLinks
  <IfModule mod_dir.c>
    DirectoryIndex index.php
  </IfModule>
 
  ErrorDocument 403 /cloud/core/templates/403.php
  ErrorDocument 404 /cloud/core/templates/404.php
  <IfModule mod_php5.c>
    php_value upload_max_filesize 513M
    php_value post_max_size 513M
    php_value memory_limit 512M
    <IfModule env_module>
      SetEnv htaccessWorking true
    </IfModule>
  </IfModule>
  <IfModule mod_rewrite.c>
    RewriteEngine on
 
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
 
    RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteRule ^.well-known/host-meta /public.php?service=host-meta [QSA,L]
    RewriteRule ^.well-known/carddav /remote.php/carddav/ [R]
    RewriteRule ^.well-known/caldav /remote.php/caldav/ [R]
    RewriteRule ^apps/calendar/caldav.php remote.php/caldav/ [QSA,L]
    RewriteRule ^apps/contacts/carddav.php remote.php/carddav/ [QSA,L]
    RewriteRule ^apps/([^/]*)/(.*\.(css|php))$ index.php?app=$1&getfile=$2 [QSA,L]
    RewriteRule ^remote/(.*) remote.php [QSA,L]
  </IfModule>
 
</Directory>
 
<Directory /home/httpd/owncloud/data>
  deny from all
  IndexIgnore *
  #Options Indexes
</Directory>
 
<Directory /home/httpd/owncloud/config>
  deny from all
  IndexIgnore *
</Directory>

Logrotate funktioniert dann aber nur, wenn das Verzeichnis mit den log-Files nicht zu viele Rechte hat:
chown www-data:www-data /home/httpd/owncloud/data

Außerdem hätte ich das config-File ganz gern im /etc-Pfad:

134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
...
//// Preset 1: Personal
/* */
$prefs['Personal'] = array(
        // required attributes
        'name'         =>  'Personal',
        // will be substituted for the roundcube username
  'username'     =>  '%u',
        // will be substituted for the roundcube password
  'password'     =>  '%p',
        // %u will be substituted for the CardDAV username
  'url'          =>  'https://saturn.19quadrat.de/titan/remote.php/carddav/',
 
  'active'       =>  true,
        'readonly'     =>  false,
        'refresh_time' => '02:00:00',
 
        'fixed'        =>  array( 'username' ),
);
/* */
 
//// Preset 2: Corporate
/*
$prefs['Work'] = array(
        'name'         =>  'Corporate',
  'username'     =>  'CorpUser',
  'password'     =>  'C0rpPasswo2d',
  'url'          =>  'https://ical.example.org/caldav.php/%u/Corporate',
 
        'fixed'        =>  array( 'name', 'username', 'password' ),
);
*/
 
/* */
$prefs['Global'] = array(
  'name'         =>  'Global',
  'username'     =>  'blockwart',
  'password'     =>  'ertmer',
  'url'          =>  'https://saturn.19quadrat.de/titan/remote.php/carddav/',
  'active'       =>  true,
  'readonly'     =>  false,
  'refresh_time' => '02:00:00',
  'fixed'        =>  array( 'username' ),
);
/* */