Introduction

Nextcloud est un outil collaboratif de partage et d'édition de documents en ligne.

 

Architecture de la solution Nextcloud et OnlyOffice

 

 schema nextcloud onlyoffice 1

 

 

Les fonctionnalités que nous allons utilisées :

- Synchronisation de fichiers entre différents ordinateurs, tablettes et smartphones

- Partage des fichiers ou des dossiers avec d’autres utilisateurs

- Chiffrement de dossier personnel et ou confidentiel

- Edition collaborative en ligne des documents partagés

- Notifications (envoi de mails) à chaque changement sur les fichiers

- Système de notifications lors d'évènements sur les fichiers (envois de mails)

 

Prérequis

Debian 9.8 fraichement installé

Configuration TCP/IP opérationnelle

 

Etape :

 1) Configuration TCP/IP

 2) Installation de serveur Apache

 3) Installation de php

 4) Installation mariadb

 5) Installation de Nextcloud

6) Configuration de Nextcloud en https

 7) Configuration de Nextcloud via l’interface Web

8) Modification de la langue par defaut pour les notifications mail

9) Configuration d'envoie de mail "SMTP"

10) Installation de serveur OnlyOffice sur un autre serveur suivre ce lien

11) Integration de OnlyOffice avec Nextcloud

12) Changement de logo de nextcloud

13) Correction des avertissements de sécurité sur Nextcloud

14) Correction des avertissements de sécurité sur Nextcloud

15) Configuration d’authentification Ldap de Nextcloud

16) Création des groupes dans Nextcloud

17) Création des dossiers partages pour chaque groupe dans Nextcloud

 

Informations sur les serveurs

Onlyoffice :

https://192.168.1.150:8443/

Nextcloud :

https://192.168.1.188/index.php/

 

Configuration TCP/IP.

Obtenir le nom de l’interface réseau sur debian 9.8

# ip a

2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether

inet 192.168.1.102/24 brd 192.168.1.255 scope global ens18

 

Configuration de l’adresse ip statique

# vi /etc/network/interfaces

auto lo

iface lo inet loopback

allow-hotplug ens18

iface ens18 inet static

address 192.168.1.188

netmask 255.255.255.0

network 192.168.1.0

broadcast 192.168.1.255

gateway 192.168.1.1

dns-nameservers 192.168.1.1

 

Configuration de la résolution du nom du serveur en local

# vi /etc/hosts

127.0.0.1 localhost

127.0.1.1 home-nextcloud.local.ptu home-nextcloud

192.168.1.188 home-nextcloud.local.ptu home-nextcloud

192.168.1.150 home-onlyoffice.local.ptu home-onlyoffice

 

Configuration du nom du serveur en local

# vi /etc/hostname

home-nextcloud

 

Mise à jour système

# apt-get update

# apt-get upgrade

# apt-get dist-update

 

Configuration de fuseau horaire

# dpkg-reconfigure tzdata

 

Configuration en locale UTF-8

# dpkg-reconfigure locales

 

Installation d’ agent QEMU

# apt-get install qemu-guest-agent

 

Installation des dépendances

# apt-get install build-essential

# apt-get install sudo

# apt-get install unzip

 

Installation de ntp client

# apt-get install ntp

# vi /etc/ntp.conf

server ntp.local.ptu iburst

 

Installation de Apache

# apt-get install apache2 -y

 

Démarrage du serveur Apache

# systemctl start apache2

# systemctl enable apache2

 

Test du serveur Apache

# http://192.168.1.188/ -> ok

 

Activation de https sur apache

# a2enmod ssl

a2ensite default-ssl

# service apache2 reload

 

Tester le serveur Apache en https

# https://192.168.1.188/ -> ok

 

Installation de PHP 7.3

# apt-get install apt-transport-https lsb-release ca-certificates

# wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

# echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" >> /etc/apt/sources.list.d/php.list

# apt-get update

# apt-get install libapache2-mod-php7.3 -y

# apt-get install php7.3 php7.3-cli php7.3-intl php7.3-mysql php7.3-curl php7.3-gd php7.3-soap php7.3-xml php7.3-zip php7.3-readline php7.3-opcache php7.3-json php7.3-gd -y

# apt-get install php7.3-mbstring

 

Configuration php.ini

vi /etc/php/7.3/apache2/php.ini

memory_limit = 256M

upload_max_filesize = 32M

post_max_size = 32M

; http://php.net/date.timezone

;date.timezone =

 

Démarrage du serveur Apache

# /etc/init.d/apache2 restart

 

Installation de Mariadb

# apt -y install mariadb-server

 

Noter le mot de passe root de Mariadb

# Enter current password for root (enter for none): alcd

 

Démarrer le serveur Mariadb

# systemctl enable mariadb

# systemctl start mariadb

 

Sécuriser mariadb

# mysql_secure_installation

Change the root password? [Y/n] n

Remove anonymous users? [Y/n] Y

Disallow root login remotely? [Y/n] Y

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] Y

 

Créer un utilisateur ausmane dans mariadb avec le droit root

# mysql -u root -p

MariaDB [(none)]> grant all privileges on *.* to ausmane@"%"; identified by 'alcd' with grant option;

MariaDB [(none)]> flush privileges;

MariaDB [(none)]> exit

 

Créer la base de données nextcloud et l’utilisateur nextcloud_user

mysql -u root -p

MariaDB [(none)]> CREATE DATABASE nextcloud CHARACTER SET utf8;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud_user'@'localhost' IDENTIFIED BY 'alcd';

MariaDB [(none)]> FLUSH PRIVILEGES;

MariaDB [(none)]> exit;

 

Installation de Nextcloud 15.0.2

Télécharger Nextcloud : https://download.nextcloud.com/server/releases/

# cd /usr/local/src/

# unzip nextcloud-15.0.2.zip -d /var/www/html/

# chown -R www-data:www-data /var/www/html/nextcloud/

# find /var/www/html/nextcloud -type d -exec chmod 775 {} \;

# find /var/www/html/nextcloud -type f -exec chmod 664 {} \;

 

Configuration de Nexcloud

# vi /etc/apache2/sites-available/nextcloud.conf

<VirtualHost 192.168.1.188:80>

ServerName home-nextcloud1

DocumentRoot /var/www/html/nextcloud

<Directory /var/www/html/nextcloud>

options Indexes FollowSymLinks MultiViews

AllowOverride All

Require all granted

</Directory>

ServerSignature off

ErrorLog ${APACHE_LOG_DIR}error.log

CustomLog ${APACHE_LOG_DIR}access.log combined

</VirtualHost>

 

Activer et démarrer le service Nextcloud

# a2ensite nextcloud.conf

# apachectl configtest

# systemctl reload apache2

 

Vérifier que le serveur Apache est lancé

# ps -ef

 

Activer les modules zip gd curl

# phpenmod zip gd curl

 

Redémarrer le service Apache

# service apache2 restart

 

Installation et configuration de Nextcloud via l’interface Web

1) http://192.168.1.188/ -> OK

Login : admin

passwd : alcd

Utilisateur : nextcloud_user

passwordd :alcd

Répertoire des données : /var/www/html/nextcloud/data

Base de données : nextcloud

Serveur : localhost

 

Activer https pour Nextcloud

Les 4 fichiers a modifier :

/etc/apache2/sites-enabled/000-default.conf

/etc/apache2/sites-enabled/default-ssl.conf

/etc/apache2/sites-available/nextcloud.conf

/var/www/html/nextcloud/config/config.php

 

1) Modifier le fichier : /etc/apache2/sites-enabled/000-default.conf

RM : Ajouter ou modifier les lignes suivantes dans ce fichier

# vi /etc/apache2/sites-enabled/000-default.conf

DocumentRoot /var/www/html/nextcloud

Redirect permanent / https://192.168.1.188/

<IfModule mod_headers.c>

Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains"

</IfModule>

 

2) Modifier le fichier : /etc/apache2/sites-enabled/default-ssl.conf

RM : Ajouter ou modifier les lignes suivantes dans ce fichier

# vi /etc/apache2/sites-enabled/000-default.conf

ServerAdmin Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.

DocumentRoot /var/www/html/nextcloud

<IfModule mod_headers.c>

Header always set Strict-Transport-Security "max-age=15768000; includeSubDomains"

</IfModule>

 

3) Modifier le fichier : /etc/apache2/sites-available/nextcloud.conf

RM : Ajouter ou modifier les lignes suivantes dans ce fichier

# vi /etc/apache2/sites-available/nextcloud.conf

ServerName home-nextcloud.local.ptu

Redirect permanent / https://192.168.1.188/

DocumentRoot /var/www/html/nextcloud

 

4) Modifier le fichier : /var/www/html/nextcloud/config/config.php

RM : Ajouter ou modifier les lignes suivantes dans ce fichier

# vi /var/www/html/nextcloud/config/config.php

'trusted_domains' =>

array (

0 => '192.168.1.188',

1 => 'home-nextcloud.local.ptu',

2 => 'https://192.168.1.150',

),

 

Redémarrer le serveur Apache

# systemctl start apache2

 

Ajouter votre clé ssl dans apache

# Demander a votre organiste vous fournir votre clé ssl signée par une autorité de certification officielle

nextcloud.crt

nextcloud.key

votre-server-ca.crt

 

Copier votre cle et le certificat dans le depot

# cp nextcloud.crt /etc/ssl/certs/nextcloud.crt

# cp nextcloud.key /etc/ssl/private/nextcloud.key

# cp votre-server-ca.crt /etc/ssl/certs/votre-server-ca.crt

 

Modifier la configuration de votre serveur Apache :

# vi /etc/apache2/sites-enabled/default-ssl.conf

RM : Modifier les lignes suivantes

# SSLCertificateFile directive is needed.

SSLCertificateFile /etc/ssl/certs/nextcloud.crt

SSLCertificateKeyFile /etc/ssl/private/nextcloud.key

#SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt

SSLCertificateChainFile /etc/ssl/certs/votre-server-ca.crt

 

Redémarrer le serveur Apache

# systemctl start apache2

 

Tester la redirection https pour le serveur Nextcloud

# http://192.168.1.150 → Redirige vers https://192.168.1.150/ (OK)

 

Intégration de OnlyOffice dans Nextcloud

Configuration de Nextcloud 15.0.2 et OnlyOffice(2.1.2) avec git

 

# cd /var/www/html/nextcloud/apps/

git clone https://github.com/ONLYOFFICE/onlyoffice-nextcloud.git onlyoffice

# chown -R www-data:www-data /var/www/html/nextcloud/apps/onlyoffice

 

Activer OnlyOffice dans Nextcloud

Ajouter les lignes suivantes dans le fichier de config

# vi /var/www/html/nextcloud/config/config.php

'onlyoffice' =>

array (

'verify_peer_off' => true,

),

 

Reste à configurer les étapes suivantes :

12) Changement de logo de nextcloud

13) Correction des avertissements de sécurité sur Nextcloud

14) Correction des avertissements de sécurité sur Nextcloud

15) Configuration d’authentification Ldap de Nextcloud

16) Création des groupes dans Nextcloud

17) Création des dossiers partages pour chaque groupe dans Nextcloud

 

Logiciels utilisés : standards et open source

Open source Proxmox (Hyperviseur): https://pve.proxmox.com/wiki/Main_Page

Open source Debian  (système d'exploitation ): https://www.debian.org/

Open source Nextcloud (outil collaboratif de partage et d'édition de documents en ligne) :https://nextcloud.org/

Open source OnlyOffice (Suite bureautique en ligne) :https://www.onlyoffice.com/fr/

Open source Nginx(Serveur Web) :https://nginx.org/

Open source Apache(Serveur Web) :https://httpd.apache.org/

Open source Redis ( Redis est un système de gestion de base de données clef-valeur scalable ): https://redis.io/

Open source RabbitMQ (Un logiciel tiers permettant de créer un réseau d'échange d'informations entre des applications ): https://www.rabbitmq.com/

 

 

 

 

 

 

Prérequis

Ubuntu 18.04 LTS Desktop  fraichement installé

Configuration TCP/IP opérationnelle

 

Etape :

 1) Installation openJava 1.8

 2) Installation libreoffice

 3) Installation imageMagick and Sox

4) Installation Adobe Flash Player

5) Installation Compilation FFmpeg

6) Installation et configuration de mariadb

7) Installation OpenMeetings

8) Installation Script de démarrage red5-OpenMeetings

 

 

Informations sur les serveurs

OpenMeetings :

http://192.168.1.33/index.php/

Ldap :

ptu-ldap 192.168.1.80

FusionDirectory :

http://192.168.1.61/fusiondirectory/

 

Configuration TCP/IP.

Obtenir le nom de l’interface réseau sur Ubuntu 18.04

# ip a

2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether

inet 192.168.1.102/24 brd 192.168.1.255 scope global ens18

 

Configurer l’adresse ip statique

# vi /etc/network/interfaces

auto lo

iface lo inet loopback

allow-hotplug ens18

iface ens18 inet static

address 192.168.1.33

netmask 255.255.255.0

network 192.168.1.0

broadcast 192.168.1.255

gateway 192.168.1.1

dns-nameservers 192.168.1.1

 

Configurer la résolution du nom du serveur en local

# vi /etc/hosts

127.0.0.1 localhost

127.0.1.1 om-home.alcd.fr om-home

192.168.1.33 om-home.alcd.fr om-home

 

Configurer le nom du serveur en local

# vi /etc/hostname

om-home

 

Mise à jour sistème

# apt-get update

# apt-get upgrade

# apt-get dist-update

 

Configuration de fuseau horaire

# dpkg-reconfigure tzdata

 

Passer en locale UTF-8 sous Ubuntu

# dpkg-reconfigure locales

 

Installation agent QEMU

# apt-get install qemu-guest-agent

 

Installation de Openssh

# apt-get install libssl-dev

# apt-get install ssh

 

Installation de OpenJava 1.8

# sudo apt install openjdk-8-jdk openjdk-8-jdk-headless

# sudo apt install icedtea-8-plugin

# sudo update-alternatives --config java

 

 Vérifier la version de java active

# java -version

openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-8u191-b12-2ubuntu0.18.04.1-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)

 

Installation de libreOffice

# sudo add-apt-repository ppa:libreoffice/ppa
# sudo apt update

# apt-get install libreoffice

 

Installation ImageMagick Sox

# sudo apt install -y imagemagick libjpeg62 zlib1g-dev

# sudo apt install sox

 

Installation Adobe Flash Player

# sudo apt install flashplugin-installer

 

Installation des dépendances pour FFmpeg

# sudo apt -y --force-yes install autoconf automake build-essential libass-dev libfreetype6-dev
libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev
libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texi2html zlib1g-dev nasm libx264-dev cmake
mercurial libopus-dev curl git vlc unzip make build-essential wget nmap

 

Compilation FFmpeg

# cd /opt
# wget https://cwiki.apache.org/confluence/download/attachments/27838216/ffmpeg_UbunDebi.sh

# chmod +x ffmpeg_UbunDebi.sh

# ./ffmpeg_UbunDebi.sh

RM : When finish the compilation, a text will announce it:
FFmpeg Compilation is Finished!

 

 

Installation de Mariadb

# apt -y install mariadb-server

 

Noter le mot de passe root de Mariadb

# Enter current password for root (enter for none): alcd

 

Démarrer le serveur Mariadb

# systemctl enable mariadb

# systemctl start mariadb

 

Sécuriser mariadb

# mysql_secure_installation

Change the root password? [Y/n] n

Remove anonymous users? [Y/n] Y

Disallow root login remotely? [Y/n] Y

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] Y

 

Créer un utilisateur ausmane dans mariadb avec le droit root

# mysql -u root -p

MariaDB [(none)]> grant all privileges on *.* to ausmane@"%"; identified by 'alcd' with grant option;

MariaDB [(none)]> flush privileges;

MariaDB [(none)]> exit

 

Créer la base de données openmeetings et l’utilisateur userom

mysql -u root -p

 

MariaDB [(none)]> CREATE DATABASE openmeetings CHARACTER SET utf8;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON openmeetings.* TO 'userom'@'localhost' IDENTIFIED BY 'alcd';

MariaDB [(none)]> FLUSH PRIVILEGES;

MariaDB [(none)]> exit;

 

 

Installation de OpenMeetings

# mkdir /opt/red5408

# cp apache-openmeetings-4.0.8.zip /opt/red5408
# cd /opt/red540

# unzip apache-openmeetings-4.0.8.zip
# mv apache-openmeetings-4.0.8.zip /opt

# chown -R nobody /opt/red5408
# cd /opt
# wget http://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-conne5.1.47.jar
RM : Telecharger manuellement : http://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-conne5.1.47.jar

# cp /opt/mysql-connector-java-5.1.47.jar /opt/red5408/webapps/openmeetings/WEB-INF/lib

 

Télécharger le script de démarrage de openmeetings

# cd /opt
# wget https://cwiki.apache.org/confluence/download/attachments/27838216/red5-ubdeb2

 

 

Modifier le script de démarrage de openmeetings

# vi /opt/red5-ubdeb2

#!/bin/bash
# For RedHat and cousins: Modified for Ubuntu and Debian by Alvaro Bustos
### BEGIN INIT INFO
# Provides: red5
# Required-Start: $local_fs $remote_fs $network $syslog $named $time
# Required-Stop: $local_fs $remote_fs $network $syslog $named $time
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: true
# Short-Description: Start/stop OpenMeetings java based conferencing webapp
### END INIT INFO
PROG=red5
RED5_HOME=/opt/red5408
DAEMON=$RED5_HOME/$PROG.sh
PIDFILE=/var/run/$PROG.pid

# Source function library
# . /etc/rc.d/init.d/functions

[ -r /etc/sysconfig/red5 ] && . /etc/sysconfig/red5

RETVAL=0

case "$1" in
start)
# echo -n $"Starting $PROG: "
cd $RED5_HOME
start-stop-daemon --start -c nobody --pidfile $PIDFILE
$DAEMON >/dev/null 2>/dev/null &
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo $! > $PIDFILE
# touch /var/lock/subsys/$PROG
fi
# [ $RETVAL -eq 0 ] && success $"$PROG startup" || failure $"$PROG startup"
echo
;;
stop)
start-stop-daemon --stop --quiet --pidfile $PIDFILE \
--name java
rm -f $PIDFILE
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$PROG
;;
restart)
$0 stop
$0 start
;;
status)
status $PROG -p $PIDFILE
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
RETVAL=1
esac

exit $RETVAL

 

# cp red5-ubdeb2 /etc/init.d/
# chmod +x /etc/init.d/red5-ubdeb2

 

Tester le démarrer red5-OpenMeetings avec le script red5-ubdeb2

RM: Re-démarrer Mariadb si nécessaire

# /etc/init.d/mysql start

RM : Tester le démarrage de  red5-openmeetings via le script

# /etc/init.d/red5-ubdeb2 start

RM: Attendre environ 40 secondes et tester la connexion avec le serveur

http://192.168.1.33:5080/openmeetings/install

RM : Tester l'arrêter red5-openmeetings avec le script

# /etc/init.d/red5-ubdeb2 stop

RM: Re-démarrer red5-openmeetings via le script

# /etc/init.d/red5-ubdeb2 start

 

Attendre environ 40 secondes et tester la connexion avec le serveur

http://192.168.1.33:5080/openmeetings/install

 

 

openmeetings

 

Configurer le démarrage automatique à chaque reboot du Serveur

# cd /etc/init.d

# update-rc.d red5-ubdeb2 defaults

 

 

 

Prérequis

Debian 9.5 fraichement installé

Configuration TCP/IP opérationnelle

 

Etape :

 1) Installation docker

 2) Installation docker-compose

 3) Installation portainer

4) Installation php 7.3

5) Installation Apache

6) Installation mariadb via portainer

7) Installation Nextcloud

8) Installation OnlyOffice avec Docker

9) Activation  OnlyOffice dans Nextcloud

10) Authentification Ldap de Nextcloud

11) Activation https pour Nextcloud

12) Configuration d'envoie de mail "SMTP"

 

Informations sur les serveurs

Portainer :

https://192.168.1.86:8443/

Onlyoffice :

http://192.168.1.86.30:8080/

Nextcloud :

http://192.168.1.86/index.php/

Ldap :

ptu-ldap 192.168.1.80

FusionDirectory :

http://192.168.1.61/fusiondirectory/

 

Configuration TCP/IP.

Obtenir le nom de l’interface réseau sur debian 9.7

# ip a

2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

link/ether

inet 192.168.1.102/24 brd 192.168.1.255 scope global ens18

 

Configurer l’adresse ip statique

# vi /etc/network/interfaces

auto lo

iface lo inet loopback

allow-hotplug ens18

iface ens18 inet static

address 192.168.1.86

netmask 255.255.255.0

network 192.168.1.0

broadcast 192.168.1.255

gateway 192.168.1.1

dns-nameservers 192.168.1.1

 

Configurer la résolution du nom du serveur en local

# vi /etc/hosts

127.0.0.1 localhost

127.0.1.1 home-nextcloud1.alcd.fr home-nextcloud1

192.168.1.86 home-nextcloud1.alcd.fr home-nextcloud1

 

Configurer le nom du serveur en local

# vi /etc/hostname

home-nextcloud1

 

Mise à jour sistème

# apt-get update

# apt-get upgrade

# apt-get dist-update

 

Configuration de fuseau horaire

# dpkg-reconfigure tzdata

 

Passer en locale UTF-8 sous Debian

# dpkg-reconfigure locales

 

Installer agent QEMU

# apt-get install qemu-guest-agent

 

Installer les autres dépendances

# apt-get install build-essential

# apt-get install unzip

 

 Désinstaller les anciennes versions de Docker

# apt-get -y remove docker docker-engine docker.io

 

Installation de docker

# apt-get install -y apt-transport-https ca-certificates wget software-properties-common

# wget https://download.docker.com/linux/debian/gpg

# apt-key add gpg

# echo "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | tee -a /etc/apt/sources.list.d/docker.list

# apt-get update

# apt-cache policy docker-ce

# apt-get -y install docker-ce

 

Démarrer le service Docker

# systemctl start docker

 

Controler l’état du service Docker

# systemctl status docker

 

Activer le démarrage automatique du service Docker à chaque redémarrage du système

# systemctl enable docker

 

Tester l’arrêt du service Docker

# systemctl stop docker

 

Tester le démarrage du service Docker

# systemctl restart docker

 

Vérifier le status du service Docker

# docker ps

 

Autoriser à l’utisateur ausmane de démarrer le service Docker

# usermod -aG docker ausmane

 

2) Installation de docker-composer

# apt-get install curl

# curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

# chmod +x /usr/local/bin/docker-compose

# docker-compose --version

 

3) Installation de portainer ssl

# docker pull portainer/portainer

# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

portainer/portainer latest 00ead811e8ae 4 weeks ago 58.7MB

# mkdir /etc/ssl/portainer && cd /etc/ssl/portainer

# openssl genrsa -out portainer.key 1024

# sudo openssl x509 -req -days 999 -in portainer.csr -signkey portainer.key -out portainer.crt

# mkdir ~/portainer && sudo cp /etc/ssl/portainer/* ~/portainer

# docker run --name portainer_with_SSL -d -p 443:9000 -v ~/portainer:/certs -v "/var/run/docker.sock:/var/run/docker.sock" portainer/portainer --ssl --sslcert /certs/portainer.crt --sslkey /certs/portainer.key

 

Configuration de portainer

RM : Lors de la première connexion, il vous sera demandé de créer le mot de passe de l'utilisateur admin

1) https://192.168.1.86:8443/ -> OK

Login : admin

passwd :

1) Connexion local

3) Manage the local Docker environnement

4) Cliquer sur Dashboard

5) Modifier la langue

6) Créer le container mariadb via portainer

Name : mariadb_ptu

root password :

nifty_booth

Restart : Always

Idem pour portainer -> Restart : Always

 

Installation de PHP 7.3

# apt-get install apt-transport-https lsb-release ca-certificates

# wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

# echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" >> /etc/apt/sources.list.d/php.list

# apt-get update

 

Installation de Apache

# apt-get install apache2 -y

# apt-get install libapache2-mod-php7.3 -y

 

 

Démarrer le serveur Apache

# systemctl start apache2

# systemctl enable apache2

 

Tester le serveur Apache

# http://192.168.1.86/ -> ok

 

Installation de PHP 7.3

# apt-get install php7.3 php7.3-cli php7.3-intl php7.3-mysql php7.3-curl php7.3-gd php7.3-soap php7.3-xml php7.3-zip php7.3-readline php7.3-opcache php7.3-json php7.3-gd -y

# apt-get install php7.3-mbstring

 

Configurer php.ini

vi /etc/php/7.3/apache2/php.ini

 

Make the following changes:

memory_limit = 256M

upload_max_filesize = 32M

post_max_size = 32M

; http://php.net/date.timezone

;date.timezone =

 

Démarrer le serveur Apache

# /etc/init.d/apache2 restart

 

Activer https sur apache

# a2enmod ssl

a2ensite default-ssl

# service apache2 reload

 

Tester le serveur Apache en https

# https://192.168.1.86/ -> ok

 

 

Installation de Mariadb

# apt -y install mariadb-server

 

Noter le mot de passe root de Mariadb

# Enter current password for root (enter for none): alcd

 

Démarrer le serveur Mariadb

# systemctl enable mariadb

# systemctl start mariadb

 

Sécuriser mariadb

# mysql_secure_installation

Change the root password? [Y/n] n

Remove anonymous users? [Y/n] Y

Disallow root login remotely? [Y/n] Y

Remove test database and access to it? [Y/n] Y

Reload privilege tables now? [Y/n] Y

 

Créer un utilisateur ausmane dans mariadb avec le droit root

# mysql -u root -p

MariaDB [(none)]> grant all privileges on *.* to ausmane@"%"; identified by 'alcd' with grant option;

MariaDB [(none)]> flush privileges;

MariaDB [(none)]> exit

 

Créer la base de données nextcloud et l’utilisateur nextcloud_user

mysql -u root -p

 

MariaDB [(none)]> CREATE DATABASE nextcloud CHARACTER SET utf8;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud_user'@'localhost' IDENTIFIED BY 'alcd';

MariaDB [(none)]> FLUSH PRIVILEGES;

MariaDB [(none)]> exit;

 

Installation de Nextcloud 15.0.2

Télécharger Nextcloud : https://download.nextcloud.com/server/releases/

# cd /usr/local/src/

# unzip nextcloud-15.0.2.zip -d /var/www/html/

# chown -R www-data:www-data /var/www/html/nextcloud/

# find /var/www/html/nextcloud -type d -exec chmod 775 {} \;

# find /var/www/html/nextcloud -type f -exec chmod 664 {} \;

 

Configuration de Nexcloud

# # vi /etc/apache2/sites-available/nextcloud.conf

<VirtualHost 192.168.1.86:80>

ServerName home-nextcloud1

DocumentRoot /var/www/html/nextcloud

<Directory /var/www/html/nextcloud>

options Indexes FollowSymLinks MultiViews

AllowOverride All

Require all granted

</Directory>

ServerSignature off

ErrorLog ${APACHE_LOG_DIR}error.log

CustomLog ${APACHE_LOG_DIR}access.log combined

</VirtualHost>

 

Activer et démarrer le service Nextcloud

# a2ensite nextcloud.conf

# apachectl configtest

# systemctl reload apache2

 

Vérifier que le serveur Apache est lancé

# ps -ef

 

Activer les modules zip gd curl

# phpenmod zip gd curl

 

Redémarrer le service Apache

# service apache2 restart

 

Installation et configuration de Nextcloud via l’interface Web

1) http://192.168.1.86/ -> OK

Login : admin

passwd : alcd

Utilisateur : nextcloud_user

passwordd :alcd

Répertoire des données : /var/www/html/nextcloud/data

Base de données : nextcloud

Serveur : localhost

 

nc web install 1

 

nc web install 2

 

nc web install 3

 

Installation du serveur OnlyOffice via Docker

# docker run -i -t -d -p 8080:80 onlyoffice/documentserver

 

Vérifier le status du service Docker

# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

a1a74d364dac onlyoffice/documentserver "/bin/sh -c /app/onl…" 33 seconds ago Up 31 seconds 443/tcp, 0.0.0.0:8080->80/tcp jovial_jones

d1a1e68ff5a2 portainer/portainer "/portainer --ssl --…" 37 minutes ago Up 37 minutes 0.0.0.0:8443->9000/tcp portainer_with_SSL

root@home-nextcloud1:/usr/local/src#

 

Vérifier le status du service Portainer

 

Tester le serveur OnlyOffice

# http://192.168.1.86:8080/welcome/ -> ok

 

onlyoffice 1

 

Configuration de Nextcloud 15.0.2 et OnlyOffice(2.1.2) avec git

# # cd /var/www/html/nextcloud/apps/

git clone https://github.com/ONLYOFFICE/onlyoffice-nextcloud.git onlyoffice

# chown -R www-data:www-data /var/www/html/nextcloud/apps/onlyoffice

 

 

Ajouter les lignes suivantes dans le fichier de config

# vi /var/www/html/nextcloud/config/config.php

'onlyoffice' =>

array (

'verify_peer_off' => true,

),

'maintenance' => false,

);

 

Activer OnlyOffice dans Nextcloud
 

activer onlyoffice 1

 

activer onlyoffice 2 

 

activer onlyoffice 3 

 

Activer htpps pour Nextcloud

# vi /etc/apache2/sites-available/nextcloud.conf

<VirtualHost 192.168.1.86:80>

ServerName home-nextcloud1

Redirect permanent / https://192.168.1.86/nextcloud/

DocumentRoot /var/www/html/nextcloud

<Directory /var/www/html/nextcloud>

options Indexes FollowSymLinks MultiViews

AllowOverride All

Require all granted

</Directory>

ServerSignature off

ErrorLog ${APACHE_LOG_DIR}error.log

CustomLog ${APACHE_LOG_DIR}access.log combined

</VirtualHost>

 

Redémarrer le service Apache

# service apache2 restart

 

Tester le serveur Nextcloud en https

# http://192.168.1.86/ redirige vers -> https://192.168.1.86/nextcloud/index.php

 

 

 

Nextcloud & OnlyOffice

Présentation de Nextcloud :
Nextcloud est un logiciel libre et open source de plateforme collaborative qui vous permet de stocker, de partager et de synchroniser vos dossiers entre le serveur et vos postes clients.

 

Présentation de OnlyOffice :
OnlyOffice est un logiciel libre et open source d'édition collaborative des documents en ligne.
vous offre la possibilité de travailler sur un document simultanément avec d'autres utilisateurs. Cette fonction inclut :

accès simultané au document édité par plusieurs utilisateurs

indication visuelle des fragments qui sont en train d'être édités par d'autres utilisateurs

synchronisation des changements en un seul clic

nextcloud onlyoffice clamav 2

 

 

 

 

Manuel d'installation de Nextcloud:

Installation de Nextcloud OnlyOffice ClamAV sans Docker

Installation de OnlyOffice sans Docker

 

Installation de Nextcloud et OnlyOffice avec Docker et Portainer

Installation de OnlyOffice avec Docker et Portainer

 

Manuel d'utilisation :

Utilisation de mariadb et PhpMyadmin avec Docker et Portainer

 

 

FAQ

 

 

Logiciels utilisés : standards et open source

 

 

Open source Proxmox (Hyperviseur) : https://pve.proxmox.com/wiki/Main_Page

 

Open source Debian  (système d'exploitation ): https://www.debian.org/

 

Open source Nextcloud (outil collaboratif de partage et d’´edition de documents en ligne) :https ://nextcloud.
org/

 

Open source OnlyOffice (Suite bureautique en ligne) :https ://www.onlyoffice.com/fr/

 

Open source Mariadb (Système de Gestion de Base de Données ) :https://mariadb.org/

 

Open source Nginx (Serveur Web) :https ://nginx.org//

 

Open source Apache (Serveur Web) :https://httpd.apache.org/

 

Open source Redis ( Redis est un syst`eme de gestion de base de donn´ees clef-valeur scalable ) :
https ://redis.io/

 

 

Open source RabbitMQ (Un logiciel tiers permettant de cr´eer un r´eseau d’´echange d’informations
entre des applications ) : https ://www.rabbitmq.com/