Outils pour utilisateurs

Outils du site


public:avec_un_peu_d_huile_de_cloud

Ceci est une ancienne révision du document !


Avec un peu d huile de cloud

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

se connecter

SSH

Le mot de passe nécessaire pour toute les connexions : demolise

Modifier votre fichier de configuration de vos connexions SSH (~/.ssh/config)

~/.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:~# 

HTTP

Voir les containers

On se connecte à cette adresse : https://demo.alolise.org:8006

On se connecte avec son utilisateur : deb10, deb11, etc…

Se connecter à son serveur web

Une fois que le serveur web est activé !

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.

Installation Owncloud

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

Préparation de la base de données

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)

Configuration du serveur Web Apache

# cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/owncloud.conf

# nano /etc/apache2/sites-available/owncloud.conf
/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:8010, 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:8010. 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:8010',
  'dbtype' => 'mysql',
  'version' => '9.0.0.19',
  'dbname' => 'owncloud',
  'dbhost' => 'localhost',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'admincloud',
  'dbpassword' => 'demolise',
  'logtimezone' => 'UTC',
  'installed' => true,
);

Tuning Apache

La page de paramètres de Ownclould http://deb10.demo.alolise.org:8010/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

Et pour quelques commandes de plus...

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.

Liens

public/avec_un_peu_d_huile_de_cloud.1459544767.txt.gz · Dernière modification: 2016/04/01 23:06 de jean-yves.michaud