Ceci est une ancienne révision du document !
On a mis en place un proxmox sur aloliseoff avec une ip publique Sur ce proxmox on a un réseau local 192.168.0.0/24 qui permet de connecter des containers de demo. Les containers sont accessibles via une ip (demo.alolise.org) et selon un port http et ssh : On obtient :
machine n | port d'accès ssh | port d'accès http |
---|---|---|
deb10 | 2210 | 8010 |
deb11 | 2211 | 8011 |
debn | 22n | 80n |
Pour mettre ça en place dans le cluster alolise il faudrait : - Mettre en place IPv6 - pour ipv4 des ports 22xx et 80xx et 443xx - éventuellement des vhosts nginx pour garder 80 et 443
On se connecte à cette adresse : https://demo.alolise.org avec son utilisateur : deb10, deb11, etc…
Le mot de passe nécessaire pour toute les connexions : demolise
Modifier votre fichier de configuration de vos connexions SSH (~/.ssh/config)
host alolise_demo_nginx hostname demo.alolise.org port 22 user demolise host alolise_demo_deb10 hostname 192.168.0.10 user root ProxyCommand ssh -qAx alolise_demo_nginx -W %h:%p host alolise_demo_deb11 hostname 192.168.0.11 user root ProxyCommand ssh -qAx alolise_demo_nginx -W %h:%p host alolise_demo_deb12 hostname 192.168.0.12 user root ProxyCommand ssh -qAx alolise_demo_nginx -W %h:%p (...) host alolise_demo_debXX hostname 192.168.0.XX (...)
Ensuite il suffit d'ajouter ses clés ssh (optionnel)
$ ssh-copy-id alolise_demo_nginx $ ssh-copy-id alolise_demo_deb10
Puis de se connecter
$ ssh alolise_demo_deb10 Linux deb10 4.2.6-1-pve #1 SMP Wed Dec 9 10:49:55 CET 2015 x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Fri Apr 1 11:52:44 2016 from 192.168.0.2 root@deb10:~#
Installer les paquets :
# aptitude install apache2 libapache2-mod-php5 php5-mysqlnd mysql-server curl php5-gd php5-curl libapache2-mod-fcgid
Téléchargement de la dernière version (https://owncloud.org/install/#instructions-server) :
mkdir /opt/owncloud && cd /opt/owncloud curl -O https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2
Check package integrity using MD5 (.tar.bz2 / .zip) or SHA256 (.tar.bz2 / .zip)
curl -O https://download.owncloud.org/community/owncloud-9.0.0.tar.bz2.md5 cat owncloud-9.0.0.tar.bz2.md5 md5sum owncloud-9.0.0.tar.bz2
On créer la base MySQL owncloud et on ajout un utilisateur administrateur pour cette base :
# mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 41 Server version: 5.5.47-0+deb8u1 (Debian) mysql> CREATE DATABASE owncloud; Query OK, 1 row affected (0.08 sec) mysql> GRANT ALL PRIVILEGES ON owncloud.* TO 'admincloud'@'localhost' IDENTIFIED BY 'demolise'; Query OK, 0 rows affected (0.03 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
On se connecte à cette adresse : http://deb10.demo.alolise.org
Seulement en HTTP ! Si nous avons le temps nous verrons rapidement comment activer le SSL.
# cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/owncloud.conf # nano /etc/apache2/sites-available/owncloud.conf
<VirtualHost *:80> ServerName deb10.demo.alolise.org ServerAdmin webmaster@localhost DocumentRoot /opt/owncloud/owncloud # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. LogLevel warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /opt/owncloud/owncloud> Require all granted AllowOverride All </Directory> </VirtualHost>
On contrôle et on redémarre apache :
# apachectl -t # a2ensite owncloud # a2dissite 000-default # service apache2 restart
On se connecte à http://deb10.demo.alolise.org, et on entre les infos demandées puis on valide.
Lors de la fin de l'installation, Owncloud va refuser l'accès au domaine deb10.demo.alolise.org. Enlever le :8010 du tableau trusted_domains
et recharger apache via apachectl graceful
.
<?php $CONFIG = array ( 'instanceid' => 'octa3w4h88en', 'passwordsalt' => 'XXXXXXXXXXXXXXXXXXXXXXXXX', 'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXX', 'trusted_domains' => array ( 0 => 'deb10.demo.alolise.org', 1 => 'localhost', ), 'datadirectory' => '/opt/owncloud/owncloud/data', 'overwrite.cli.url' => 'http://deb10.demo.alolise.org', 'dbtype' => 'mysql', 'version' => '9.0.0.19', 'dbname' => 'owncloud', 'dbhost' => 'localhost', 'dbtableprefix' => 'oc_', 'dbuser' => 'admincloud', 'dbpassword' => 'demolise', 'logtimezone' => 'UTC', 'installed' => true, );
La page de paramètres de Ownclould http://deb10.demo.alolise.org/index.php/settings/admin permet de contrôler que tout va bien. Normalement avec la configuration précédente permettant l'utilisation du .htaccess seuls l'HTTPS et le cache devraient être en Warning.
En complément, on peut activer certains modules pour utiliser les paramètres définis dans le fichier .htaccess
:
a2enmod fcgid rewrite headers service apache2 restart
Il ne reste plus qu'à mettre en place une connexion sécurisée au serveur Web, notamment afin de ne pas envoyer le mot de passe de notre utilisateur en clair sur Internet…
On peu depuis quelques mois (au 01/04/2016) utiliser une implémentation du protocole ACME (Automated Certificate Management Environment) grâce à l'aboutissement du projet Let's Encrypt.
Le projet Let's Encrypt est le chaînon manquant à une adoption massive de la version sécurisée du protocole HTTP. Nous avons maintenant la possibilité de mettre en place simplement et de maintenir automatiquement HTTPS sur l'ensemble de nos site Web, avec des certificats reconnus pas les navigateurs.
Le plus simple est d'utiliser le client officiel, mais comme toujours dans le monde du libre il existe plusieurs alternatives. Notamment acme-tiny, qui a été testé avec succès (Client ACME léger semi-automatique, possibilité d'automatiser le renouvellement une fois le premier certificat généré).
Un tutoriel complet sera mis en ligne sur le site d'Alolise dans les semaines à venir.