{"id":4012,"date":"2020-03-30T19:02:18","date_gmt":"2020-03-30T18:02:18","guid":{"rendered":"https:\/\/olivier.hoarau.org\/?p=4012"},"modified":"2020-03-30T19:02:18","modified_gmt":"2020-03-30T18:02:18","slug":"installation-dun-cloud-personnel-avec-nextcloud","status":"publish","type":"post","link":"https:\/\/olivier.hoarau.org\/?p=4012","title":{"rendered":"Installation d&rsquo;un cloud personnel avec NextCloud"},"content":{"rendered":"\n<p>Jusqu&rsquo;\u00e0 pr\u00e9sent j&rsquo;utilisais <a href=\"https:\/\/owncloud.org\/\">OwnCloud<\/a> pour synchroniser et stocker les informations (contacts t\u00e9l\u00e9phoniques notamment) de mon t\u00e9l\u00e9phone mobile. Le serveur n&rsquo;est pas accessible d&rsquo;internet et je synchronise en WIFI seulement \u00e0 la maison, ce qui suffit \u00e0 mon utilisation. A ce sujet j&rsquo;avais r\u00e9dig\u00e9 ce <a href=\"https:\/\/olivier.hoarau.org\/?p=2874\">post<\/a>.  Cela permet de ne pas d\u00e9pendre d&rsquo;un tiers qui est rarement de confiance comme Google (entre autres) pour stocker ses informations personnelles. Il se trouve qu&rsquo;<strong>OwnCloud<\/strong> a d\u00e9riv\u00e9 petit \u00e0 petit vers un produit commercial ce qui conduit \u00e0 la cr\u00e9ation d&rsquo;un fork appel\u00e9 <a href=\"https:\/\/nextcloud.com\">NextCloud<\/a>. Aujourd&rsquo;hui certaines fonctions ne sont pr\u00e9sentes que dans la version payante d&rsquo;<strong>OwnCloud<\/strong> alors qu&rsquo;elle reste disponible dans <strong>NextCloud<\/strong>. De fait <strong>NextCloud<\/strong> semble s&rsquo;imposer comme outil de Cloud et j&rsquo;ai donc fait le choix de migrer d&rsquo;<strong>OwnCloud<\/strong> \u00e0 <strong>NextCloud<\/strong>.<\/p>\n\n\n\n<p>A vrai dire je ne suis pas parti d&rsquo;une migration de donn\u00e9es m\u00eame s&rsquo;il existe <a href=\"https:\/\/nextcloud.com\/fr_FR\/migration\/\">des outils <\/a>pour le faire. J&rsquo;ai consid\u00e9r\u00e9 que j&rsquo;avais peu de donn\u00e9es \u00e0 migrer et que cela ne valait pas le coup d&rsquo;autant qu&rsquo;elles restaient stock\u00e9es sur le t\u00e9l\u00e9phone et que je pouvais toujours peupler facilement la base \u00e0 l&rsquo;installation de <strong>NextCloud<\/strong>. Pour l&rsquo;installation de <strong>NextCloud<\/strong>, rappelons qu&rsquo;il faut disposer d&rsquo;un <a href=\"https:\/\/www.funix.org\/fr\/linux\/index.php?ref=apache2\">serveur httpd avec PHP et un serveur de bases de donn\u00e9e <\/a>(autrement dit un serveur <strong>LAMP<\/strong> (<strong>Linux<\/strong>, <strong>Apache<\/strong>, <strong>MySQL<\/strong>\/<strong>MariaDB<\/strong> et <strong>PHP<\/strong>)). Ensuite l&rsquo;installation est assez simple, on peut se baser sur <a href=\"https:\/\/docs.nextcloud.com\/server\/18\/admin_manual\/installation\/source_installation.html\">cette page<\/a>. J&rsquo;ai install\u00e9 le package, qu&rsquo;on r\u00e9cup\u00e8rera par <a href=\"https:\/\/nextcloud.com\/install\/#instructions-server\">l\u00e0<\/a>, sous <strong>\/var\/www\/nextcloud<\/strong>. On donnera la propri\u00e9t\u00e9 du r\u00e9pertoire \u00e0 l&rsquo;utilisateur du process <strong>httpd<\/strong> tel que d\u00e9fini dans le fichier <strong>httpd.conf <\/strong>avec la commande <strong>chown<\/strong>.<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<pre class=\"wp-block-code\"><code>chown -R daemon:daemon \/var\/www\/nextcloud<\/code><\/pre>\n<\/div><\/div>\n\n\n\n<!--more-->\n\n\n\n<p>C\u00f4t\u00e9 configuration d&rsquo;<strong>Apache<\/strong>, voil\u00e0 ce qu&rsquo;on retrouve dans le fichier <strong>httpd.conf<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;Directory \"\/var\/www\/nextcloud\">\n  Require all granted\n  AllowOverride All\n  Options FollowSymLinks MultiViews\n\n  &lt;IfModule mod_dav.c>\n    Dav off\n  &lt;\/IfModule>\n&lt;\/Directory><\/code><\/pre>\n\n\n\n<p>et puis j&rsquo;ai d\u00e9fini l&rsquo;acc\u00e8s \u00e0 <strong>NextCloud<\/strong> par un simple alias<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Alias \/nextcloud \"\/var\/www\/nextcloud\"<\/code><\/pre>\n\n\n\n<p>et toujours dans le m\u00eame fichier on veillera au chargements des modules <strong>headers<\/strong>, <strong>env<\/strong>, <strong>dir<\/strong> et <strong>mime<\/strong>. Pour la configuration de <strong>PHP<\/strong>, j&rsquo;ai d\u00fb reprendre compl\u00e8tement <a href=\"https:\/\/www.funix.org\/fr\/linux\/index.php?ref=apache2#Installation%20de%20PHP4\">sa compilation<\/a> et rajouter les options de compilation <strong>  &#8211;with-password-argon2 &#8211;with-freetype &#8211;with-external-gd<\/strong>. Ce n&rsquo;est pas suffisant j&rsquo;ai d\u00fb installer les modules <strong>PHP<\/strong>, <strong>redis<\/strong>, <strong>memcached<\/strong> et <strong>apcu<\/strong> qui g\u00e8rent le cache, qu&rsquo;on installera en tapant en tant que root :<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>pecl install redis\npecl install memcached\npecl install apcu<\/code><\/pre>\n\n\n\n<p>A noter que <strong>memcached<\/strong> utilise <strong>libmemcached<\/strong> qu&rsquo;on r\u00e9cup\u00e8rera par <a href=\"https:\/\/libmemcached.org\/libMemcached.html\">l\u00e0<\/a> et qu&rsquo;on installera en tapant<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>tar xvfz libmemcached-1.0.18.tar.gz\ncd libmemcached-1.0.18\n.\/configure\nmake\nmake install<\/code><\/pre>\n\n\n\n<p>Si vous avez une erreur du style<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>clients\/memflush.cc:42:22: error: le C++ ISO interdit la comparaison entre un pointeur et un entier &#91;-fpermissive]<\/code><\/pre>\n\n\n\n<p>Il suffira d&rsquo;\u00e9diter le fichier <strong>Makefile<\/strong> et de rajouter <strong>-fpermissive <\/strong>aux d\u00e9clarations des directives <strong>CFLAGS<\/strong> et <strong>CXXFLAGS<\/strong>. Maintenant on modifiera le fichier<strong> php.ini <\/strong>et on rajoutera \u00e0 la fin.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>extension=redis.so\nextension=apcu.so\napc.enabled=1\napc.enable_cli=1\nextension=memcached.so<\/code><\/pre>\n\n\n\n<p>On relance <strong>Apache<\/strong> et voil\u00e0 ce que \u00e7a donne \u00e0 la premi\u00e8re connexion \u00e0 l&rsquo;URL <strong>http:\/\/votre-serveur\/nextcloud<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"382\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-connexion.jpg?resize=474%2C382&#038;ssl=1\" alt=\"\" class=\"wp-image-4014\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-connexion.jpg?w=991&amp;ssl=1 991w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-connexion.jpg?resize=300%2C242&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-connexion.jpg?resize=768%2C618&amp;ssl=1 768w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/figure>\n\n\n\n<p>On d\u00e9finit le compte administrateur, le r\u00e9pertoire des donn\u00e9es ainsi que le type de base de donn\u00e9es, attention \u00e0 l&rsquo;avertissement il est pr\u00e9f\u00e9rable d&rsquo;utiliser une base de donn\u00e9e avec<strong> MySQL\/MariaDB <\/strong>plut\u00f4t qu&rsquo;avec <strong>SQLite<\/strong>. <\/p>\n\n\n\n<p>Je m&rsquo;attarde maintenant sur la synchronisation avec le mobile, pour les contacts et le calendrier c&rsquo;est identique \u00e0 la configuration avec <strong>OwnCloud<\/strong> d\u00e9crite dans mon post <a href=\"https:\/\/olivier.hoarau.org\/?p=2874\">l\u00e0<\/a>. On utilisera l&rsquo;application <strong>DAVdroid<\/strong>, si vous aviez d\u00e9j\u00e0 un compte pr\u00e9c\u00e9dent avec un serveur <strong>OwnCloud<\/strong> vous constaterez qu&rsquo;il n&rsquo;est pas possible de modifier l&rsquo;URL du serveur, il faut supprimer le compte et en recr\u00e9er un autre. Attention d&rsquo;exporter pr\u00e9alablement tous vos contacts et entr\u00e9es d&rsquo;agenda ! Ensuite sous <strong>DAVdroid<\/strong> on entre l&rsquo;URL du style <strong>http:\/\/mon-serveur\/nextcloud\/remote.php\/dav <\/strong>et on se laisse guider, vous trouverez par <a href=\"https:\/\/wiki.zaclys.com\/index.php\/Synchronisation_des_agendas,_des_t%C3%A2ches_et_des_contacts_sous_Android_(DAVx5)\">l\u00e0<\/a> quelques copies d&rsquo;\u00e9cran. A noter que vous pouvez aussi bien passer par un QR Code pour lancer la connexion.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"415\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-connexion3.jpg?resize=474%2C415&#038;ssl=1\" alt=\"\" class=\"wp-image-4017\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-connexion3.jpg?w=959&amp;ssl=1 959w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-connexion3.jpg?resize=300%2C263&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-connexion3.jpg?resize=768%2C673&amp;ssl=1 768w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/figure>\n\n\n\n<p>Pour la synchronisation des fichiers du portable (dont images et vid\u00e9os) on utilisera simplement l&rsquo;application Android <strong>NextCloud<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"843\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud.png?resize=474%2C843&#038;ssl=1\" alt=\"\" class=\"wp-image-4015\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud.png?w=480&amp;ssl=1 480w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud.png?resize=169%2C300&amp;ssl=1 169w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/figure>\n\n\n\n<p>Sinon niveau utilisation on retrouve donc ses contacts dans le client web de <strong>NextCloud<\/strong> et il est toujours plus facile de les g\u00e9rer sur PC que sur le petit \u00e9cran du mobile.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"215\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-contact.jpg?resize=474%2C215&#038;ssl=1\" alt=\"\" class=\"wp-image-4018\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-contact.jpg?resize=1024%2C464&amp;ssl=1 1024w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-contact.jpg?resize=300%2C136&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-contact.jpg?resize=768%2C348&amp;ssl=1 768w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-contact.jpg?resize=1536%2C695&amp;ssl=1 1536w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-contact.jpg?w=1860&amp;ssl=1 1860w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-contact.jpg?w=948&amp;ssl=1 948w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-contact.jpg?w=1422&amp;ssl=1 1422w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/figure>\n\n\n\n<p>On acc\u00e8de \u00e9galement \u00e0 son mail m\u00eame si je pr\u00e9f\u00e8re un outil comme <strong>roundcube mail<\/strong> comme \u00e9voqu\u00e9 <a href=\"https:\/\/olivier.hoarau.org\/?p=3887\">ici<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"474\" height=\"213\" src=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-mail.jpg?resize=474%2C213&#038;ssl=1\" alt=\"\" class=\"wp-image-4019\" srcset=\"https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-mail.jpg?resize=1024%2C461&amp;ssl=1 1024w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-mail.jpg?resize=300%2C135&amp;ssl=1 300w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-mail.jpg?resize=768%2C346&amp;ssl=1 768w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-mail.jpg?resize=1536%2C692&amp;ssl=1 1536w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-mail.jpg?w=1851&amp;ssl=1 1851w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-mail.jpg?w=948&amp;ssl=1 948w, https:\/\/i0.wp.com\/olivier.hoarau.org\/wp-content\/uploads\/nextcloud-mail.jpg?w=1422&amp;ssl=1 1422w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/figure>\n\n\n\n<p>Pour le reste je vous renvoie vers la <a href=\"https:\/\/docs.nextcloud.com\/server\/18\/user_manual\/\">documentation d&rsquo;utilisation<\/a> de NextCloud.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jusqu&rsquo;\u00e0 pr\u00e9sent j&rsquo;utilisais OwnCloud pour synchroniser et stocker les informations (contacts t\u00e9l\u00e9phoniques notamment) de mon t\u00e9l\u00e9phone mobile. Le serveur n&rsquo;est pas accessible d&rsquo;internet et je synchronise en WIFI seulement \u00e0 la maison, ce qui suffit \u00e0 mon utilisation. A ce sujet j&rsquo;avais r\u00e9dig\u00e9 ce post. Cela permet de ne pas d\u00e9pendre d&rsquo;un tiers qui est &hellip; <a href=\"https:\/\/olivier.hoarau.org\/?p=4012\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Installation d&rsquo;un cloud personnel avec NextCloud<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false,"_share_on_mastodon":"0"},"categories":[5],"tags":[56,57,58],"class_list":["post-4012","post","type-post","status-publish","format-standard","hentry","category-logiciels-libres","tag-lamp","tag-nextcloud","tag-owncloud"],"share_on_mastodon":{"url":"","error":""},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/peOjJ-12I","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/4012","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4012"}],"version-history":[{"count":2,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/4012\/revisions"}],"predecessor-version":[{"id":4020,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=\/wp\/v2\/posts\/4012\/revisions\/4020"}],"wp:attachment":[{"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4012"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4012"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/olivier.hoarau.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4012"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}