Alle Beiträge von admin

Seafile CLI sync certificate error

If you get the following error while syncing your seafile library with a server using a self signed certificate, you have to add the certficate to your certificate store.

Error:

urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)>

Solution:

  1. Retrieve the self-signed certificate (usually .pem or .crt)
  2. Make sure you have ca-certificates installed
    apt-get install ca-certificates
  3. Copy your certificate into the certificate folder
    cp cert.pem /usr/share/ca-certificates
  4. Activate the certificate
    dpkg-reconfigure ca-certificates

For more information see: http://unix.stackexchange.com/a/90607

Update Seafile Client 4.x to 5.x on Raspberry Pi

To update your Seafile Client (e.g. 3.1.7) on your Raspberry you just have to install the new packages of version 5.x.

1. Download packages

2. Install packages

dpkg -i libsearpc-3.0_3.0-latest-2_armhf.deb
dpkg -i ccnet_5.0.1-1_armhf.deb
dpkg -i seafile_5.0.1-1_armhf.deb
dpkg -i seafile-client_5.0.1-1_armhf.deb

As usual: Please, report if you have any issues and also report if it worked for you.

Update Seafile Server on Raspberry

  1. Get link of newest seafile server release from https://github.com/haiwen/seafile-rpi/releases (e.g. v4.4.0/seafile-server_4.4.0_pi.tar.gz)
  2. Switch to the seafile user: sudo su seafile
  3. Switch to the seafile home folder: cd ~
  4. Download the new release: e.g. wget https://github.com/haiwen/seafile-rpi/releases/download/v4.4.0/seafile-server_4.4.0_pi.tar.gz
  5. Unpack the new release: tar -xzf seafile-server_4.4.0_pi.tar.gz
  6. Follow the steps in http://manual.seafile.com/deploy/upgrade.html

Fix „SSLCertificateFile: file ‚…‘ does not exist or is empty“

After updating a certificate in Plesk I got the error message:

New configuration files for the Apache web server were not created due to the errors in configuration templates:
Syntax error on line 50 of /etc/apache2/plesk.conf.d/vhosts/xxx.conf: SSLCertificateFile: file ‚/opt/psa/var/certificates/cert-xxx‘ does not exist or is empty .

Detailed error descriptions were sent to you by email. Please resolve the issues and click here to generate broken configuration files once again or here to generate all configuration files

To fix this:

  1. Log into your server using ssh
  2. cd /opt/psa/var/certificates/
  3. Determine the new name of the certificate (first output of ls -lt) e.g. cert-yyyyy
  4. Create the missing certificate: cp cert-yyyyy cert-xxxxx
  5. Click on the link in the error message to regenerate all configuration files.

The error message should disappear.

Update Seafile Client 3.x to 4.x on Raspberry Pi

To update your Seafile Client (e.g. 3.1.7) on your Raspberry you just have to install the new packages of version 4.x.

1. Download packages

2. Install packages

dpkg -i libsearpc-3.0_3.0.4-1_armhf.deb
dpkg -i ccnet_4.0.6-1_armhf.deb
dpkg -i seafile_4.0.6-1_armhf.deb
dpkg -i seafile-client_4.0.6-1_armhf.deb

As usual: Please, report if you have any issues and also report if it worked for you.

Angular.js: Conditional filtering of list

I just spent 2 hours in finding a solution. In case anybody else needs this:

I want to filter a list. Not all the time, but conditional. In my case only if a checkbox is checked. If experimented with if and various custom filter solutions.

This is the very simple solution using unique from the ui.utils package:

HTML

<html>
<head>
  <script src="ui-utils/ui-utils.min.js"></script>
</head>
<body>
<input 
  type="checkbox" 
  ng-model='variable_with_field' 
  ng-true-value="field_to_be_filtered"
>
<tr 
  data-ng-repeat="release in 
  filtered = (releases | unique:variable_with_field )"
>
  <td>do some outputs</td>
</tr>
</body>
</html>

JS:

var clientApp = angular.module('clientApp', [ 'ui.utils' ]);
$scope.variable_with_field = false;

Initially the list is not filtered. If the checkbox is checked all duplicates are removed. If the duplicates should be removed already on load set $scope.variable_with_field on the field_name.

Seafile Client on Raspberry PI

The Raspberry PI is often used as a server for seafile. For this case there are ready-to-use binaries (http://seafile.com/en/download/) and good tutorials how to do so.

Unfortunately this is not the case for the client on raspberry. This article describes how to easily setup the seafile client on raspberry. It is also possible to install the client in parallel to the server on the same raspberry.

Make sure you have python installed:

sudo apt-get -y install python2.7 python-setuptools python-simplejson python-imaging sqlite3

Install the following packages. For the cli-version of the client only the first three are needed (and I have not yet tested the visual seafile-client):

Seafile 5.0.1 (current)

Seafile 4.0.x (old)

Seafile 3.1.x (old)

dpkg -i libsearpc-3.0_3.0.4-1_armhf.deb
dpkg -i ccnet_4.0.6-1_armhf.deb
dpkg -i seafile_4.0.6-1_armhf.deb
dpkg -i seafile-client_4.0.6-1_armhf.deb

These packages are created using checkinstall and following the steps on http://manual.seafile.com/build_seafile/linux.html

If you have dependency errors try to also install the following (however most should be only needed for the build):

sudo apt-get install autoconf automake libtool libevent-dev libcurl4-openssl-dev libgtk2.0-dev uuid-dev intltool libsqlite3-dev valac libjansson-dev libqt4-dev cmake libfuse-dev libssl-dev

Now you can start the seafile client:

# choose a folder where to store the seafile client settings e.g ~/.seafile-client
mkdir ~/.seafile-client            # create the settings folder
seaf-cli init -d ~/.seafile-client  # initialise seafile client with this folder
seaf-cli start

And sync your library:

seaf-cli sync -l "the id of the library" -s  "the url + port of server" -d "the folder where the library folder will be downloaded" -u "username on server" -p "password"

More information on the client usage is available on: https://seacloud.cc/group/3/wiki/seafile-cli-manual

1. Zertifikat erstellen

Im folgenden wird die Erstellung eines kostenlosen Zertifikats bei StartSSL beschrieben. Es kann auch jeder andere Anbieter verwendet werden, z.B. die WWU Münster.

  1. StartSSL aufrufen und Registrierungsformular ausfüllen:
    StartSSL Registrierung
  2. Account per Codeeingabe validieren (wird an die E-Mail-Adresse gesendet)
  3. Nun oben auf den Reiter „Validations Wizard“ klicken und den Typ „EMail Address Validation“ wählen.
    StartSSL Validation
  4. Im nun auftauchenden Feld muss die Mailadresse eingegeben werden, für die das Zertifikat generiert werden soll.
    StartSSL Validierung Mailadresse
  5. Es wird nun wieder ein Validierungscode an die Mail-Adresse gesendet und dieser muss eingegeben werden.
  6. Nun kann auf den Reiter „Certficates Wizard“ gewechselt werden. Dort wird der Vorgabewert „S/MIME and Authentification Certificate“ übernommenstartssl-certificates-wizard
  7. Als Keysize wird „Hochgradig“ ausgewählt
    startssl-keysize
  8. und im nächsten Schritt die validierte E-Mail-Adresse ausgewählt und der Algorithmus SHA1 ausgewählt
    startssl-select-mail
  9. Der Browser (z.B. Firefox) erstellt nun das Zertifikat und dieses wird von StartSSL signiert (damit dieses vertrauenswürdig wird).
    startssl-erstellt
  10. Das Zertifikat liegt nun im Browser vor und muss nur noch gespeichert werden: Bei Firefox geschieht dies über: <Alt-Taste> Extras -> Einstellungen -> Erweitert -> Zertifikate -> Zertifikate anzeigen -> Ihre Zertifikate.
    firefox-zertifikat-sichern
    Das Vorgehen für den Internet Explorer ist hier beschrieben.
  11. Dort das Zertifikat auswählen und „Sichern …“ klicken. Für das sichere Speichern muss nun noch ein Passwort vergeben werden (dieses wird im nächsten Schritt bei Import wieder benötigt).
  12. Das war es schon. Ein Großteil der Arbeit für die sichere Kommunikation ist getan. Das Zertifikat ist fertig und kann im nächsten Schritt importiert werden.

Sollten Schritte veraltet sein, nicht stimmen oder unverständlich sein, wendet euch gern an mail [-at-] tobiasheide.de.

Auf diese Anleitung darf frei verlinkt werden.
Creative Commons Lizenzvertrag
E-Mails verschlüsseln von Tobias Heide ist lizenziert unter einer Creative Commons Namensnennung – Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.

2. Zertifikat importieren

Beim Importieren des Zertifikats gibt es zwei unterschiedliche Wege, je nachdem ob Thunderbird oder Outlook verwendet wird.

Zertifikat in Thunderbird importieren

  1. In Thunderbird: Extras -> Einstellungen -> Erweitert -> Zertifikate -> Zertifikate -> Ihre Zertifkate öffnen und dann „Importieren …“ wählen.
    thunderbird-zertifikatmanager
  2. Nach Eingabe des Passworts (wurde beim Sichern des Zertifikats vergeben) ist das Zertikat in Thunderbird vorhanden.
  3. Nun muss das Zertifikat nur noch mit dem Mailkonto verknüpft werden: Extras -> Konten-Einstellungen -> S/MIME-Sicherheit. Dort bei „Digitale Unterschrift“ auf Auswählen. Das Zertifikat wählen, OK klicken und Abfrage bestägigen, ob das Zertifikat auch zur Verschlüsselung genutzt werden soll.
    thunderbird-smime-sicherheit
  4. Es ist wichtig, dass der Haken bei „Nachrichten digital unterschreiben“ gesetzt ist. Optional kann unten auch „Notwendig“ bei der Verschlüsselung gewählt werden (siehe besser: Modul „Encrypt if possible“)
  5. Es können nun signierte und verschlüsselte Mails versendet werden.

Optional: Modul „Enycrpt if possible“

  1. Das Modul schaut automatisch nach, ob der Empfänger verschlüsselte Mails empfangen kann und entscheidet dann ob die Mail verschlüsselt wird.
  2. Modul unter https://addons.mozilla.org/de/thunderbird/addon/encrypt-if-possible/ herunterladen und in Thunderbird installieren (Extras -> Addons)

Zertifikat in Outlook 2013 importieren

  1. Das Trust Center in Outlook öffnen: Datei -> Optionen -> Trust Center -> „Einstellungen für das Trust Center“
    outlook-trustcenter
  2. Dort „E-Mail-Sicherheit“ wählen und das Zertifikat (unter Angabe des Passworts) importieren
    outlook-zertifikat-import
  3. Im vorigen Fenster nun auf Einstellungen klicken, einen Namen für die Sicherheitseinstellung wählen und das Zertifikat als „Signaturzertifikat“ und Verschlüsslungszertifikat“ auswählen und speichern.
    outlook-sicherheitseinstellungen
  4. Nun noch überprüfen, dass das Zertifikat korrekt ausgewählt wurde und die Einstellungen wie auf dem Bild setzen
    outlook-einstellungen
  5. Es können nun signierte und verschlüsselte Mails versendet werden.

Sollten Schritte veraltet sein, nicht stimmen oder unverständlich sein, wendet euch gern an mail [-at-] tobiasheide.de.

Auf diese Anleitung darf frei verlinkt werden.
Creative Commons Lizenzvertrag
E-Mails verschlüsseln von Tobias Heide ist lizenziert unter einer Creative Commons Namensnennung – Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.