Skip to content
Snippets Groups Projects
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
cloud.xml 8.74 KiB
<?xml version="1.0" encoding="UTF-8"?>
<chapter annotations="slide" version="5.1" xml:id="cloud"
         xmlns="http://docbook.org/ns/docbook"
         xmlns:xlink="http://www.w3.org/1999/xlink"
         xmlns:xila="http://www.w3.org/2001/XInclude/local-attributes"
         xmlns:xi="http://www.w3.org/2001/XInclude"
         xmlns:trans="http://docbook.org/ns/transclusion"
         xmlns:svg="http://www.w3.org/2000/svg"
         xmlns:m="http://www.w3.org/1998/Math/MathML"
         xmlns:html="http://www.w3.org/1999/xhtml"
         xmlns:db="http://docbook.org/ns/docbook">
  <title>File cloud</title>

  <figure xml:id="cloud_fig_general">
    <title>File services</title>

    <informaltable border="0">
      <tr>
        <td valign="top"><itemizedlist>
            <listitem>
              <para>Centralized remote file storage.</para>
            </listitem>

            <listitem>
              <para>Proprietary protocols.</para>
            </listitem>

            <listitem>
              <para>File Up- and Download.</para>
            </listitem>
          </itemizedlist></td>

        <td valign="top"><itemizedlist>
            <listitem>
              <para>Multi client synchronization.</para>
            </listitem>

            <listitem>
              <para>Network file system support.</para>
            </listitem>

            <listitem>
              <para>Ubiquitous access.</para>
            </listitem>
          </itemizedlist></td>
      </tr>
    </informaltable>
  </figure>

  <figure xml:id="cloud_fig_demands">
    <title>Customer demands</title>

    <informaltable border="0">
      <tr>
        <td valign="top"><itemizedlist>
            <listitem>
              <para>Integrated backup.</para>
            </listitem>

            <listitem>
              <para>Versioning.</para>
            </listitem>

            <listitem>
              <para>Sharing on user / group level.</para>
            </listitem>

            <listitem>
              <para>Secure access, Encryption</para>
            </listitem>
          </itemizedlist></td>

        <td valign="top"><itemizedlist>
            <listitem>
              <para>Consistent availability.</para>
            </listitem>

            <listitem>
              <para>Federation support.</para>
            </listitem>
          </itemizedlist></td>
      </tr>
    </informaltable>
  </figure>

  <figure xml:id="cloud_fig_reasons">
    <title>Driving factors</title>

    <itemizedlist>
      <listitem>
        <para>Local hardware does not scale:</para>

        <itemizedlist>
          <listitem>
            <para>Systems interoperability</para>
          </listitem>
        </itemizedlist>
      </listitem>

      <listitem>
        <para>Storage as a service</para>
      </listitem>

      <listitem>
        <para>Economy of scale: Cheap hardware, distributed system</para>
      </listitem>
    </itemizedlist>
  </figure>

  <figure xml:id="cloud_fig_services">
    <title>Selected cloud file services</title>

    <informaltable border="0">
      <tr>
        <td valign="top"><itemizedlist>
            <listitem>
              <para><productname>Google Drive</productname></para>
            </listitem>

            <listitem>
              <para><productname>Dropbox</productname></para>
            </listitem>

            <listitem>
              <para><productname>OneDrive</productname></para>
            </listitem>

            <listitem>
              <para><productname>iCloud Drive</productname></para>
            </listitem>
          </itemizedlist></td>

        <td valign="top"><itemizedlist>
            <listitem>
              <para><productname>Box</productname></para>
            </listitem>

            <listitem>
              <para><productname>Amazon Cloud Drive</productname></para>
            </listitem>
          </itemizedlist></td>
      </tr>
    </informaltable>
  </figure>

  <figure xml:id="cloud_fig_serverSoftware">
    <title>Selected self hosting products</title>

    <itemizedlist>
      <listitem>
        <para><productname
        xlink:href="https://nextcloud.com">Nextcloud</productname>,
        <productname
        xlink:href="https://owncloud.org">Owncloud</productname></para>
      </listitem>

      <listitem>
        <para><productname
        xlink:href="https://www.seafile.com">Seafile</productname></para>
      </listitem>

      <listitem>
        <para><productname
        xlink:href="https://cozy.io">Cozy</productname></para>
      </listitem>

      <listitem>
        <para><productname
        xlink:href="https://www.resilio.com">Resilio</productname></para>
      </listitem>
    </itemizedlist>
  </figure>

  <figure xml:id="cloud_fig_nextcloud">
    <title><productname
    xlink:href="https://nextcloud.com">Nextcloud</productname>
    features</title>

    <informaltable border="0">
      <tr>
        <td valign="top"><itemizedlist>
            <listitem>
              <para>Open source (<xref linkend="glo_PHP"/>)</para>
            </listitem>

            <listitem>
              <para><link
              xlink:href="https://nextcloud.com/install/#install-clients">Sync
              clients</link></para>
            </listitem>

            <listitem>
              <para><link
              xlink:href="https://nextcloud.com/endtoend">End-to-end
              encryption support</link></para>
            </listitem>

            <listitem>
              <para>Full text search</para>
            </listitem>
          </itemizedlist></td>

        <td valign="top"><itemizedlist>
            <listitem>
              <para><link xlink:href="https://apps.nextcloud.com/">Plugin
              extendability</link></para>

              <itemizedlist>
                <listitem>
                  <para><link
                  xlink:href="https://en.wikipedia.org/wiki/CardDAV">CardDav</link></para>
                </listitem>

                <listitem>
                  <para><link
                  xlink:href="https://en.wikipedia.org/wiki/CalDAV">CalDav</link></para>
                </listitem>
              </itemizedlist>
            </listitem>

            <listitem>
              <para><xref linkend="glo_LDAP"/> support</para>
            </listitem>
          </itemizedlist></td>
      </tr>
    </informaltable>
  </figure>

  <figure xml:id="cloud_fig_nextcloudLighning">
    <title><productname>Lightning</productname> integration</title>

    <mediaobject>
      <imageobject>
        <imagedata fileref="Fig/lightning.png"/>
      </imageobject>
    </mediaobject>
  </figure>

  <section xml:id="sdi_cloud_exercises_sect">
    <title>Exercises</title>

    <para>Set up a <productname>Nextcloud</productname> server based on
    <productname>Apache</productname> and <productname>Mysql</productname>
    following <link
    xlink:href="https://help.nextcloud.com/t/complete-nc-installation-on-debian-9-stretch-and-manual-update/21881">Complete
    NC Installation on Debian 9 Stretch and manual update</link>. Mind the
    following hints:</para>

    <orderedlist>
      <listitem>
        <para>Use <code>https://sdiXY.mi.hdm-stuttgart.de/nextcloud</code>
        rather than <code>https://sdiXY.mi.hdm-stuttgart.de</code> as base URL
        to your server reusing your existing <productname>Apache</productname>
        server installation. This should be mapped to a
        <productname>Nextcloud</productname> root directory
        <filename>/var/www/nextcloud</filename>outside e.g.
        <filename>/var/www/html/nextcloud</filename> denying attackers getting
        access to sensitive configuration data.</para>
      </listitem>

      <listitem>
        <para>If you've already configured a <productname>Mysql</productname>
        server use that one instead of the installation manual's
        <productname>MariaDB</productname> server.</para>
      </listitem>

      <listitem>
        <para>Depending on the <filename>/etc/passwd</filename> home directory
        settings of user <code>www-data</code> you may have to use
        <command>sudo -u www-data php /var/www/html/nextcloud/occ ...
        </command> rather than simply <command>sudo -u www-data ./occ
        ...</command>.</para>
      </listitem>
    </orderedlist>

    <para>After this step log in as user <code>ncadmin</code> and follow <link
    xlink:href="https://docs.nextcloud.com/server/13/admin_manual/configuration_user/user_auth_ldap.html">User
    authentication with LDAP</link> configuring <xref linkend="glo_LDAP"/>
    access. Use ldap1.hdm-stuttgart.de as <xref linkend="glo_LDAP"/>
    provider.</para>

    <tip>
      <para>The default <xref linkend="glo_LDAP"/> attribute
      <property>displayName</property> has to be changed to
      <property>cn</property>.</para>
    </tip>

    <para>Test your installation by logging in using your own HdM account
    credentials.</para>
  </section>
</chapter>