Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
public:avec_un_peu_d_huile_de_cloud [2016/04/01 23:14] jean-yves.michaud |
public:avec_un_peu_d_huile_de_cloud [2016/05/23 12:28] (Version actuelle) jean-yves.michaud ↷ Liens modifiés en raison d'un déplacement. |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ====== Avec un peu d huile de cloud ====== | ====== 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/ | + | |
| - | Les containers sont accessibles | + | ===== Présentation ===== |
| - | On obtient | + | Dans le cadre des JDLL 2016, Alolise a encadré un atelier d'une heure consistant à installer un service Owncloud, en utilisant la dernière version stable téléchargée depuis le site officiel. \\ |
| + | Ce wiki a servi de procédure à dérouler lors de l' | ||
| + | |||
| + | ===== Préparation de l' | ||
| + | Alolise | ||
| + | Sur ce proxmox, on a un réseau local 192.168.0.0/ | ||
| + | |||
| + | Une configuration pare-feu sur l' | ||
| ^machine //n// ^ port d' | ^machine //n// ^ port d' | ||
| |deb10 | 2210 | 8010 | | |deb10 | 2210 | 8010 | | ||
| |deb11 | 2211 | 8011 | | |deb11 | 2211 | 8011 | | ||
| + | |deb12 | 2212 | 8012 | | ||
| |deb//n// | 22//n// | 80//n// | | |deb//n// | 22//n// | 80//n// | | ||
| + | <WRAP center round todo 95%> | ||
| Pour mettre ça en place dans le cluster alolise il faudrait : | Pour mettre ça en place dans le cluster alolise il faudrait : | ||
| - Mettre en place IPv6 | - Mettre en place IPv6 | ||
| - pour ipv4 des ports 22xx et 80xx et 443xx | - pour ipv4 des ports 22xx et 80xx et 443xx | ||
| - éventuellement des vhosts nginx pour garder 80 et 443 | - éventuellement des vhosts nginx pour garder 80 et 443 | ||
| + | </ | ||
| + | |||
| + | <WRAP center round info 95%> | ||
| + | L' | ||
| + | </ | ||
| - | ===== se connecter ===== | ||
| - | ==== Proxomox | + | ===== Déroulement de l' |
| - | === Voir les containers === | + | |
| - | On se connecte à cette adresse : [[https:// | + | |
| + | ==== Connexion au serveur via SSH ==== | ||
| + | On va utiliser le [[https:// | ||
| - | ==== SSH ==== | + | <WRAP center round tip 95%> |
| - | <WRAP center round tip 80%> | + | |
| Le mot de passe nécessaire pour toute les connexions : **demolise** | Le mot de passe nécessaire pour toute les connexions : **demolise** | ||
| </ | </ | ||
| - | Modifier votre fichier de configuration de vos connexions SSH (**~/ | + | Modifier votre fichier de configuration de vos connexions SSH (**~/ |
| + | Exemple pour accéder au serveur //deb10// | ||
| <file - ~/ | <file - ~/ | ||
| host alolise_demo_nginx | host alolise_demo_nginx | ||
| Ligne 37: | Ligne 50: | ||
| user root | user root | ||
| ProxyCommand ssh -qAx alolise_demo_nginx -W %h:%p | ProxyCommand ssh -qAx alolise_demo_nginx -W %h:%p | ||
| - | host alolise_demo_deb11 | + | </ |
| - | hostname 192.168.0.11 | + | |
| - | user root | + | <WRAP center round info 95%> |
| - | ProxyCommand ssh -qAx alolise_demo_nginx -W %h:%p | + | Pour les autres serveurs, adapter le fichier de configuration en fonction |
| - | host alolise_demo_deb12 | + | < |
| - | hostname 192.168.0.12 | + | host alolise_demo_nginx |
| - | user root | + | hostname demo.alolise.org |
| - | ProxyCommand ssh -qAx alolise_demo_nginx -W %h:%p | + | port 22 |
| - | (...) | + | user demolise |
| host alolise_demo_debXX | host alolise_demo_debXX | ||
| hostname 192.168.0.XX | hostname 192.168.0.XX | ||
| - | (...) | + | user root |
| - | </file> | + | ProxyCommand ssh -qAx alolise_demo_nginx -W %h:%p |
| + | </code> | ||
| + | </ | ||
| - | Ensuite il suffit d' | + | Ensuite il suffit d' |
| + | Exemple pour //deb10// toujours : | ||
| < | < | ||
| $ ssh-copy-id alolise_demo_nginx | $ ssh-copy-id alolise_demo_nginx | ||
| Ligne 57: | Ligne 75: | ||
| </ | </ | ||
| - | Puis de se connecter | + | Puis de se connecter |
| < | < | ||
| - | $ ssh alolise_demo_deb10 | + | $ ssh alolise_demo_debXX |
| Linux deb10 4.2.6-1-pve #1 SMP Wed Dec 9 10:49:55 CET 2015 x86_64 | Linux deb10 4.2.6-1-pve #1 SMP Wed Dec 9 10:49:55 CET 2015 x86_64 | ||
| Ligne 69: | Ligne 87: | ||
| permitted by applicable law. | permitted by applicable law. | ||
| Last login: Fri Apr 1 11:52:44 2016 from 192.168.0.2 | Last login: Fri Apr 1 11:52:44 2016 from 192.168.0.2 | ||
| - | root@deb10:~# | + | root@debXX:~# |
| </ | </ | ||
| ===== Installation Owncloud ===== | ===== Installation Owncloud ===== | ||
| - | Installer les paquets : | + | Installer les paquets |
| < | < | ||
| - | # aptitude install apache2 libapache2-mod-php5 php5-mysqlnd mysql-server curl php5-gd php5-curl libapache2-mod-fcgid | + | # aptitude install apache2 libapache2-mod-php5 php5-mysqlnd mysql-server curl php5-gd php5-curl libapache2-mod-fcgid |
| </ | </ | ||
| + | |||
| + | |||
| + | <WRAP center round important 95%> | ||
| + | Lors de l' | ||
| + | </ | ||
| + | |||
| Téléchargement de la dernière version (https:// | Téléchargement de la dernière version (https:// | ||
| Ligne 94: | Ligne 118: | ||
| </ | </ | ||
| </ | </ | ||
| + | |||
| + | Enfin on extrait l' | ||
| + | tar xf owncloud-9.0.0.tar.bz2 | ||
| + | | ||
| + | On a maintenant tous les fichiers propres à Owncloud extraits dans le dossier **/ | ||
| ==== Préparation de la base de données ==== | ==== Préparation de la base de données ==== | ||
| - | On créer la base MySQL **owncloud** et on ajout un utilisateur administrateur pour cette base : | + | On créer la base MySQL **owncloud** et on ajout un utilisateur administrateur |
| < | < | ||
| # mysql -u root -p | # mysql -u root -p | ||
| Ligne 113: | Ligne 142: | ||
| Query OK, 0 rows affected (0.00 sec) | Query OK, 0 rows affected (0.00 sec) | ||
| </ | </ | ||
| + | <WRAP center round tip 95%> | ||
| + | La première commande '' | ||
| + | Le prompt **mysql> ** nous indique que l'on est bien connecté au serveur MySQL. Les commandes sont donc écrites en langage **SQL**. Attention à ne pas oublier le '';'' | ||
| + | </ | ||
| - | ==== Préparation du serveur Web Apache ==== | + | <WRAP center round important 95%> |
| + | Encore une fois, attention à mettre un mot de passe suffisamment fort pour une installation " | ||
| + | </ | ||
| + | |||
| + | ==== Préparation du serveur Web Apache ==== | ||
| === Se connecter à son serveur web === | === Se connecter à son serveur web === | ||
| On se connecte à cette adresse : [[http:// | On se connecte à cette adresse : [[http:// | ||
| Ligne 125: | Ligne 162: | ||
| ==== Configuration du serveur Web Apache ==== | ==== Configuration du serveur Web Apache ==== | ||
| + | Toujours en utilisateur **root**, on créer le fichier de configuration qui va dire à Apache vers quel dossier pointer lorsqu' | ||
| < | < | ||
| - | # cp / | ||
| - | |||
| # nano / | # nano / | ||
| </ | </ | ||
| <file - / | <file - / | ||
| < | < | ||
| - | ServerName | + | ServerName |
| ServerAdmin webmaster@localhost | ServerAdmin webmaster@localhost | ||
| Ligne 152: | Ligne 188: | ||
| </ | </ | ||
| - | On contrôle et on redémarre **apache** | + | |
| + | Maintenant | ||
| + | - active la nouvelle configuration | ||
| + | - désactive la configuration par défaut | ||
| + | - contrôle la configuration générale | ||
| + | - redémarre **apache** | ||
| < | < | ||
| - | # apachectl -t | ||
| # a2ensite owncloud | # a2ensite owncloud | ||
| # a2dissite 000-default | # a2dissite 000-default | ||
| + | # apachectl -t | ||
| # service apache2 restart | # service apache2 restart | ||
| </ | </ | ||
| - | {{ : | + | ==== Connexion au site et finalisation de l' |
| + | {{ public: | ||
| + | \\ A la fin de l' | ||
| - | <WRAP center round important 95%> | ||
| - | Lors de la fin de l' | ||
| - | <file -:/ | ||
| - | <?php | ||
| - | $CONFIG = array ( | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | array ( | ||
| - | 0 => ' | ||
| - | 1 => ' | ||
| - | ), | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ' | ||
| - | ); | ||
| - | </ | ||
| - | </ | ||
| ==== Tuning Apache ==== | ==== Tuning Apache ==== | ||
| - | La page de paramètres de **Ownclould** [[http://deb10.demo.alolise.org:8010/ | + | La page de paramètres de **Ownclould** [[http://debXX.demo.alolise.org/ |
| - | En complément, | + | En complément, |
| < | < | ||
| a2enmod fcgid rewrite headers | a2enmod fcgid rewrite headers | ||
| Ligne 199: | Ligne 215: | ||
| </ | </ | ||
| - | ===== Et pour quelques commandes de plus... | + | ===== Connexion sécurisée à l' |
| 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... | 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' | On peu depuis quelques mois (au 01/04/2016) utiliser une implémentation du protocole ACME (Automated Certificate Management Environment) grâce à l' | ||
| + | <WRAP center round info 95%> | ||
| Le projet **Let' | Le projet **Let' | ||
| + | </ | ||
| - | Le plus simple est d' | ||
| - | Un tutoriel complet sera mis en ligne sur le [[http://alolise.org|site | + | Le plus simple est d' |
| + | |||
| + | ==== Obtention du client ==== | ||
| + | Tout d' | ||
| + | < | ||
| + | # backports | ||
| + | deb http:// | ||
| + | </ | ||
| + | |||
| + | Puis on met à jour et on install letsencrypt et les outils pour Apache : | ||
| + | < | ||
| + | # aptitude update | ||
| + | # aptitude install --jessie-backports python-cryptography python-letsencrypt python-letsencrypt-apache | ||
| + | </ | ||
| + | |||
| + | Enfin, on lance le client (toujours en **root**), qui nous détecte et met en place tout ce qu'il faut : | ||
| + | letsencrypt --apache | ||
| + | |||
| + | {{ public: | ||
| + | |||
| + | Suivez les différents écrans, jusqu'à choisir entre un accès HTTP et HTTPS ou une redirection systématique vers HTTPS (recommandé) : | ||
| + | {{ public: | ||
| + | |||
| + | On valide... et c'est terminé ! | ||
| + | {{ public: | ||
| + | |||
| + | On recharge son site préféré pour profiter de notre nouvelle connexion HTTP**S** : | ||
| + | {{ public: | ||
| + | |||
| + | === Ce qui s'est passé === | ||
| + | La commande '' | ||
| + | * Connexion à LetsEncrypt pour demander un certificat signé par l' | ||
| + | * Modification de la configuration et redémarrage du serveur Apache. Dans notre cas on a demandé à ce que soit redirigé les requêtes HTTP vers HTTPS. On obtient au final deux fichiers pour la configuration Apache : | ||
| + | Le fichier pour HTTP, qui intègre maintenant une redirection : | ||
| + | <file - / | ||
| + | < | ||
| + | ServerName deb10.demo.alolise.org | ||
| + | |||
| + | ServerAdmin webmaster@localhost | ||
| + | DocumentRoot / | ||
| + | |||
| + | # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, | ||
| + | # error, crit, alert, emerg. | ||
| + | LogLevel warn | ||
| + | |||
| + | ErrorLog ${APACHE_LOG_DIR}/ | ||
| + | CustomLog ${APACHE_LOG_DIR}/ | ||
| + | |||
| + | < | ||
| + | Require all granted | ||
| + | AllowOverride All | ||
| + | </ | ||
| + | |||
| + | RewriteEngine on | ||
| + | RewriteCond %{SERVER_NAME} =deb10.demo.alolise.org | ||
| + | RewriteRule ^ https:// | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Le fichier pour HTTPS **owncloud-le-ssl.conf** : | ||
| + | <file - / | ||
| + | < | ||
| + | < | ||
| + | ServerName deb10.demo.alolise.org | ||
| + | |||
| + | ServerAdmin webmaster@localhost | ||
| + | DocumentRoot / | ||
| + | |||
| + | # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, | ||
| + | # error, crit, alert, emerg. | ||
| + | LogLevel warn | ||
| + | |||
| + | ErrorLog ${APACHE_LOG_DIR}/ | ||
| + | CustomLog ${APACHE_LOG_DIR}/ | ||
| + | |||
| + | < | ||
| + | Require all granted | ||
| + | AllowOverride All | ||
| + | </ | ||
| + | |||
| + | SSLCertificateFile / | ||
| + | SSLCertificateKeyFile / | ||
| + | Include / | ||
| + | </ | ||
| + | # vim: syntax=apache ts=4 sw=4 sts=4 sr noet | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ==== Alternatives ==== | ||
| + | <WRAP center round info 95%> | ||
| + | D' | ||
| + | </ | ||
| ===== Liens ===== | ===== Liens ===== | ||
| + | [[http:// | ||
| + | |||
| + | |||