AngeZanetti.com

Internet et ses usages, développement Web et humeurs diverses

Tag: Tuto (page 1 of 2)

Eviter les attaques par bruteforce sur WordPress

A l’heure où j’écris cet article ce blog subit une attaque de type bruteforce depuis plusieurs heures. C’est donc le moment idéal pour faire un petit tuto sur comment se protéger de ce type d’attaques dont les sites WordPress sont de plus en plus la cible.

2907405284_9b57d65695_o-676x287

Bruteforce ?

Les attaques bruteforce sont les attaques les plus basiques et les plus stupides du monde. Prenez un site que vous voulez attaquer et qui est protégé par mot de passe. Pour trouver ce mot de passe vous allez tout simplement tester toutes les combinaisons possible, aussi longtemps qu’il le faut jusqu’à ce que vous tombiez sur le mot de passe en question.

Prenons un exemple.

Mon site est protégé par le mot de passe “123”. Si je veux bruteforcer, je vais tester TOUS les mots de passe possible. D’abord les chiffres, les nombres puis l’alphabet puis les couple lettres + chiffres puis lettres + chiffres + symboles.

Dans notre cas, je ferais quelque chose comme:

1, 2, …, 11, 12, 13, …, 111, 112, … pour finalement arriver à 123.

Un vrai nom d’utilisateur

WordPress est une plateforme de blog devenu très populaire, c’est donc devenu, par la même occasion, une cible privilégiée de réseau de robots (appelés botnet) qui scannent le web à le recherche de site WordPress et qui déclenchent des batteries de bruteforce dessus.

Comme vous le savez, pour se connecter à l’interface d’administration de WordPress il faut un login et un mot de passe.

Les robots vont donc essayer de se connecter avec des utilisateurs “génériques”. Évitez donc d’avoir des utilisateurs avec pour login

admin, root, test, lenomdevotresite (ici angezanetti), etc …

Le mieux étant d’éviter de mettre le pseudo de celui qui publie les articles comme admin. Par exemple l’utilisateur qui publie les articles s’appelle toto et n’a que les droits d’auteur. Un autre utilisateur du nom de tata à lui les droits d’administration.

Cela devrait déjà beaucoup compliqué la tâche de nos cher botnets.

Des mots phrases de passe

Ensuite pour se prémunir plus efficacement il faut choisir avoir un mot de passe complexe, ou mieux, une phrase de passe.

Avec l’exemple ci dessus on comprends bien que pour un ordinateur faisant plusieurs millions de combinaisons à la secondes, énumérer tous les nombres de 1 à 123 prends quelques secondes alors qu’avec un mot de passe du genre

j’adoreangezanetti.com

C’est déjà beaucoup plus compliqué ! D’ailleurs plutôt que de prendre des mots de passe impossible à retenir du genre

38jRXxuaES9Q

Préférez les phrases de passe, plus simple et tout aussi solides !

Pour une meilleure sécurité n’hésitez pas à recourir a des logiciels de gestionnaires de mot de passe qui retiennent pour vous chaque mot de passe pour chaque site (car oui, il en faut un par site !)

Bannissez !

Enfin, comme je vous le disais plus haut ce sont de véritables réseau de plusieurs centaines de machines fantômes qui attaqueront votre site, en même temps. Tout est donc une question de temps, même le meilleur des mots de passe est crackable avec beaucoup de temps et de ressources machines.

Pour rendre la tâche de ces attaques plus difficiles je vous conseille d’installer  Limit Login Attempt . C’est un plugin qui bannit automatiquement les IPs qui échouent à se connecter à votre interface d’administration.

Au bout de 3 fois il bannit l’IP pour une durée courte ( quelques dizaine de minutes), puis si l’opération se renouvelle avec la même adresse il bannit pour une durée plus longue (quelques jours). C’est efficace et ralentit considérablement la vitesse des attaques.

Le temps d’écrire ce billet mon plugin à banni plus de 100 IPs pour plusieurs jours, et ça continue…

Et c’est tout ?

Une fois ces réglages fait, vous devriez être couvert pour 99% des attaques bruteforce, mais bien sur, cela ne vous empêche pas de faire des sauvegardes, de mettre à jour vos plugins et WordPress et de mettre en place des protection au niveau serveur, mais c’est une autre histoire !

 

Credit Photo : GraceOda

Faire fonctionner le rétro-éclairage de son MacbookPro 7.1 sous Ubuntu 14.04

Depuis la mise à jour de mon Mac sous Ubuntu 14.04 le rétroéclairage de mon écran ne fonctionnait plus. J’ai passé pas mal de temps à chercher sur le net une solution viable, j’ai bidouillé pas mal de trucs pour au final tomber sur la doc communautaire qui vient d’être mis à jour.

Pour les non anglophones voici la marche à suivre :

On commence par ouvrir un terminal et lancer la commande suivante:

nvidia-xconfig

Cela crée un nouveau ‘xorg.conf’,que nous allons maintenant modifier.

sudo gedit /etc/X11/xorg.conf

Cherchez Section “Device” et remplacer le contenu par:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 320M"

    #La ligne ci dessous permet de gérer le contrôle du rétro-éclairage
    Option  "RegistryDwords" "EnableBrightnessControl=1"
    # La ligne ci dessous empeche l'afficahe du logo nvidia pendant le boot
    Option         "NoLogo" "True"
EndSection

Ensuite vous fermez votre session et vous vous reconnectez et tout devrait fonctionner :)

 

Credit photo : cmoralesweb

Migrer SPIP vers WordPress

Il y a quelques jour on m’a confié une super mission: migrer un blog SPIP vers un WordPress!
J’ai cherché un peu partout une solution simple et clé en main. Visiblement cela n’existe pas vraiment… Il y a bien Korben qui à fait un article la dessus, mais son code n’est plus dispo.

J’ai été cherché du côté de la communauté SPIP – ils sont super sympas d’ailleurs n’hésitez pas à aller leur faire un coucou sur IRC !
J’ai trouvé un tuto pas trop mal fait qui permet d’importer le contenu brut d’un SPIP vers un blog WordPress, tout ne fonctionne pas mais ça dégrossi vraiment le travail.

 

EDIT: Apparement il y a un plugin qui fait ça maintenant  (merci kerfred)

Ensuite il faut traiter toute la syntaxe bizarre du CMS pour en faire du beau HTML. Et là j’ai pas trouvé mieux que du sql, pénible mais efficace…

Le code des requetes est dans un gist ci dessous, n’hésitez pas à le forker !

 

Faire fonctionner le copier/coller avec Vim dans le terminal

Pour faire suite au billet de présentation de Vim que j’ai publié il y a quelques jours un petit tutorial pour activé le support du copier/coller avec Vim en mode console.

Vim n’embarque pas de base la gestion du presse papier de base, et cela pour éviter de surcharger le logiciel qui n’est pas forcement utilisé par des distributions avec une interface graphique – sur les serveurs par exemple.

La première chose à faire est donc de vérifier si Vim est compilé avec le support du serveur X. Pour cela lancez un terminal avec la commande :

vim --version | grep xterm

si dans la liste qu’il vous retourne vous voyez

 -xterm_clipboard

Alors vous avez un Vim sans support de X… Mais pas de panique, il suffit d’installer vim-gui-common ou Gvim/MacVim pour avoir une version de Vim compatible.

Une fois installé vous pouvez utilisé la syntaxe Vim pour mettre vos parties copiées dans le registre du presse papier avec “+y.

Si comme moi, vous êtes pas fan des combinaisons de plus de 2 touches je vous propose les mappings suivant:

" Copy to the clipboard -- need +xterm-clipboard
 nmap <Leader>y "+y<CR>

Ou

set clipboard=unnamedplus

En bonus, une petite astuce pour ne pas mettre dans les registres les morceaux de code que vous couper.

" Permet de couper du code avec d sans écraser le contenu du registre 
 nmap <Leader>d "_d<CR>

 

Installer un environnement de développement avec VirtualBox

Travailller avec un LAMP, ou un MAMP, installé en local c’est bien pour des petits projets, type création de thème/plugins WordPress, mais pour les projets plus conséquents avec des technos plus exotique que PHP il peut être nécessaire de virtualiser un système d’exploitation pour travailler. Je vous conseillle d’ailleurs de mettre en local le même système que votre machine de production, ça limite grandement les surprises de mise en prod !

Etape 1 : Installation de VirtualBox et de l’OS

Vous trouverez des milliers de tutos sur le web pour installer votre distribution préférée et sur la procédure d’installation de virtualbox, rien de bien compliqué. Petites remarques toutefois, préférez bien sur des OS stables genre debian, ubuntu LTS , CentOS etc… Les distributions à la mode ne sont pas forcement un choix judicieux pour une machine de production.

Limitez les ressources que vous allouez à votre machine, un OS serveur n’a pas besoin de beaucoup de ressources (256Mo de RAM et un petit de processeur devrait suffire) sinon vous allez vraiment avoir du mal à bosser dans de bonnes conditions.

Etape 2 : Configuration de l’OS

Une fois que tous vos paquets sont installés et que votre serveur virtuel tourne bien il va falloir le mettre en relation avec votre machine afin de travailler dans de bonnes conditions.

Pour l’accès je recommande un bon vieil SSH, c’est simple et efficace :

sudo apt-get install open-ssh

Pour le serveur web et le langage je vous laisse choix, nginx, apache2 ou autres, idem PHP, Ruby, Python, faites votre marché !
NB: Faites attention à bien installer la version identique à celle du serveur de production, toujours dans un soucis de compatibilité.

Etape 3 : Configuration du réseau

Ensuite, il faut pouvoir accéder à son serveur depuis son navigateur pour afficher les pages web, pour ça c’est un peu plus complexe, mais pas sorcier non plus.

D’abord rendez vous dans configuration/Réseau de votre machine virtuelle et configurer la carte 1 en NAT, et ajouter une deuxième carte en Réseau privé comme ci dessous  :

Reseau Virtualbox

Ensuite, on va configurer les interfaces réseau dans l’OS directement  – ici une debian. On édite donc  /etc/network/interfaces dans lequel on trouvera lo et eth0 nous allons ajouter eth1 à la fin du fichier :

# The host-only network interface
auto eth1
iface eth1 inet static
address 192.168.56.101
netmask 255.255.255.0
network 192.168.56.0
broadcast 192.168.56.255

Ensuite, pour des raisons pratiques nous allons donner des noms à ces serveurs virtuels pour éviter de retenir des adresses IP obscures, en éditant le /etc/hosts/ de votre machine hôte et en ajoutant :

192.168.56.101    myserver1
192.168.56.102    myserver2

Et voilà vous avez une machine de développement fonctionnelle, reste plus qu’a mettre votre framework préféfé et à installer git pour travailler en équipe !

WP-CLi un outil idéal pour maintenir votre site WordPress

En ce moment je suis entrain de monter une offre commerciale de maintenance dédiée aux sites WordPress. Les mises à jour sont bien souvent pas faites par le propriétaire du blog et cela entraine des failles de sécurité importantes. Mais le problème est toujours le même: on oublie, on à pas envie, pas le temps ou on est pas compétent pour le faire ou pour réparer en cas de casse…

Pour cette nouvelle activité je cherche les meilleurs outils pour pouvoir travailler vite et bien. Je suis tombé il y a peu de temps sur une perle : Wp-cli 

C’est un outil comme je les aimes, il ne fait qu’une seule chose mais il le fait bien. L’idée est simple : pouvoir administrer vos sites WordPress en ligne de commande. Particulièrement utile quand le nombre de site à maintenir se multiplie.

Pour l’installer rien de plus simple :

curl http://wp-cli.org/installer.sh | bash

Ensuite vous vous mettez à la racine de votre site WordPress et vous pouvez en une ligne de commande mettre à jour plugins & thèmes, en installer de nouveaux mais aussi créer/supprimer articles, commentaires et même le blog lui même. Par exemple pour installer un plugin :

wp plugin install hello-dolly

Et hop, le plugin est installé!

Indispensable, en tout moi je ne peux plus m’en passé !

http://wp-cli.org/

Installer node.js sur Debian Squeeze avec un gestionnaire de version

J’ai fait il y a peu de temps un article sur comment avoir une version de node.js à jour sur Ubuntu, cette fois c’est un serveur Debian 6 que je dois configurer, du coup je ne peux pas passer par l’astuce PPA comme sur Ubuntu.

Alors, bien sur, il y a la solution de la compilation mais bon je suis pas hyper fan… D’autant qu’il existe pour Node.js un petit script qui permet de gérer les versions utilisées de la même façon que RVM pour Ruby. Il s’agit de NVM, ils ne se sont pas vraiment foulés sur le nom !

Pour l’installer rien de plus simple :

curl https://raw.github.com/creationix/nvm/master/install.sh | sh

Ensuite on installe la version de node désirée avec la commande :

nvm install 0.10
nvm use 0.10

NVM va aller chercher la version voulue l’installer et la configurer comme version par défaut. Vous pouvez ensuite changer de version par projets.

Toute la documentation et le code est disponible sur Github.

Un an (presque) sans Google, retour d’experience

Comme beaucoup de travailleurs du web j’ai longtemps été fan de Google  au point d’utiliser ses produits pour à peu près toute ma vie numérique : mails, todolist, recherche, documents partagés, réseau social, organisation d’événements etc… Tout ce que je faisais sur le net passait par Google. J’ai toujours eu conscience que Google est une société qui fait du bénéfice sur nos données personelles mais je n’avais pas vraiment l’envie de changer d’autant que le marketing de Google est assez doué pour “draguer” les geeks avec leurs lot de nouveautés.

Mais, au fil des mois, l’idée me trottait dans la tête, j’étais de plus en plus mal à l’aise avec l’idée de faire passer des données pro/perso via une plateforme commerciale. J’ai donc pris le taureau par les cornes l’année dernière, ce billet fera office de retour d’expérience.

Se passer de Google c’est facile

Première chose avant de commencer la liste des solutions alternatives, j’ai été assez étonné de voir à quel point c’est simple de se passer de Google, de ne pas mettre tous ses oeufs dans le même panier, comme dirait ma grand mère. Honnêtement, cela n’a pas freiné ma productivité, cela me coûte la somme dérisoire de 20€/an – pour 3 personnes – et j’ai vraiment la main sur toutes mes données, ou presque.

Alors regardons comment faire, étapes par étapes :

La recherche

Nerf de la guerre chez Google, la recherche est le doigt que vous mettez dans l’engrenage. C’est aussi une fabuleuse opportunité pour Google de savoir ce que vous aimez, qui vous êtes et ce que vous faites. Des solutions alternatives existent même si elles sont marginales. Il y a Bing, le moteur de recherche de microsoft, qui, paradoxalement preserve plus la vie privée que ne peut le faire Google. Le choix le plus extrême est probablement Seeks, un moteur de recherche opensource peer to peer assez intéressant mais un peu technique. Moi j’ai fais le choix de DuckDuckGo, c’est un moteur de recherche en ligne qui ne track pas vos recherches, qui ne vous “bubble” pas et qui est assez puissant avec son système de bang! et de goodies. A tel point que je suis un peu frustré quand je retourne sous Google, ne pas pouvoir faire

ma recherche !w

pour accéder directement à la page Wikipédia ou

ma recherche !yt

pour aller chercher directement sur Youtube me frustre beaucoup, c’est aussi simple que rapide. Notez que l’on peut facilement rebasculer sur Google par un simple !g.

Pas de problèmes particuliers pour switcher de Google vers un moteur alternatif, cela prend 2min à changer dans votre navigateur préféré, sans connaissance particulières et ce n’est vraiment pas freinant à l’usage.

Les mails

Deuxième énorme point fort de Google : son webmail. Il faut être honnête, je n’ai pas trouvé de solutions aussi ergonomique. Gmail est LE meilleur webmail du marché et il le restera encore longtemps. Seulement voilà, ne plus utiliser une adresse en @gmail.com c’est renoncer à Gmail…

Première étape pour avoir son adresse mail perso : acheter un nom de domaine  et un hébergement. Pour ma part j’ai choisi un hébergement mutualisé perso chez OVH, ça me coûte ~20€/an et je peux héberger 10 adresses mail. Je me suis donc crée mon mail en xavier@chezmoi.com, chez ovh c’est vraiment simple il y a une interface graphique, tout se fait en 3 clics.

J’ai choisi un mail en SMTP, tous les mails restent sur le serveur et je peux les consulter soit sur le web depuis wemail.ovh.com soit depuis mon client mail – ThunderBird. Et c’est tout !

Alors ok, c’est payant, mais le serveur à 20€ sert pour toute ma famille, et rien ne vous oblige à payer, vous pouvez ressortir un vieux pc de votre cave et vous auto-heberger c’est un peu plus complexe mais ça marche aussi !

L’interface de Thunderbird n’est pas aussi sexy que celle de Google, et la recherche dans les mails est pas vraiment au top mais cela me suffit. J’ai toutefois rajouté l’extension ‘Thunderbird Conversations‘ pour suivre les fils de conversations comme sur Gmail. De plus, on verra plus tard que Thunderbird fait beaucoup d’autres choses vraiment pratique !

En switchant les mails sur son domaine perso il faut admettre de perdre un peu en ergonomie, c’est vrai. Mais dans l’ensemble on est plus sur de la perte de gadgets que sur des inconvénients majeur à l’utilisation.

Le calendrier

La gestion du calendrier à été un peu plus complexe, j’ai mis longtemps à trouver une solution facile à mettre en place et pérène dans le temps. Mon choix c’est finalement porté sur owncloud, qui est une solution de “nuage” personnel dans lequel vous pouvez partager vos agendas, vos documents, vos   photos etc…

Je n’utilise pour le moment que la fonction Agenda que je couple avec Thunderbird et l’extension Lightning. Ainsi, je peux facilement, depuis ThunderBird, ajouter des rendez vous, et, si je suis en déplacement sans mon ordinateur sous la main, il suffit de me connecter sur mon installation de owncloud pour modifier l’agenda. Le couplage agenda + webmail est vraiment pratique, il suffit d’ouvrir Thunderbird et vous avez votre outil de travail prêt à l’emploi ! L’installation d’owncloud est assez simple, aussi simple que peut l’être un WordPress pour vous donner une idée. Et une fois l’interface installée vous avez un backoffice, donc pas besoin d’être particulièrement doué pour mettre ça en place !

Le chat

C’est aussi une fonction que j’utilise beaucoup, pour être honnête j’utilise toujours celle de Google, j’ai gardé une adresse gmail pour ça et pour servir d’adresse “poubelle”. Mais si je continu à l’utiliser c’est plus pour les contacts que j’ai dessus qu’autre chose, en effet avec mon serveur OVH j’ai installé en 1 clic un serveur de chat XMPP qui me permet de discuter avec tous les membres de ma famille simplement. Encore une fois, merci à Thunderbird, qui, depuis la version 17, permet d’avoir un onglet Chat intégré.

Les photos, blogs et autres

Evidemment pour tout ce qui est stockage j’utilise les capacités de mon serveur mutualisé, pour partager mes photos perso avec mes proches, pour le blog de voyages etc… Encore une fois owncloud vient parfaitement en remplacement de Picassa ou Google Docs. Pour le blog chez OVH vous pouvez installer un WordPress ou une galerie photo en un clic. Donc toujours pas besoin de Google !

Mea Culpa

Je ne suis pas extremiste dans ma démarche, j’ai gardé une adresse gmail pour certains groupes auquel je suis abonné, pour du partage d’agenda de groupes, pour des mailing listes etc… Google est partout et se couper de ce mastodonte revient presque à ce couper d’une partie du monde numérique. Je fais toujours des recherches sur Google quand DuckDuckGo n’est pas pertinent, également sur Google Images ou Google Maps. Je vais même me connecter sur Google+ pour gérer mon profil, mais ce n’est pas un soucis.

Ce qui me dérangeait il y a un an c’était d’être TOUJOURS connecté sur Google, que TOUT passait par Google. Aujourd’hui il y a toujours une partie de mon traffic qui passe via Google mais il y a aussi une grosse partie qui passe dans mes tuyaux, des tuyaux que je maîtrise. Google ne peut plus connaître ma comptabilité professionnelle, ni savoir à quelle heure est mon prochain rendez vous chez le médecin. Et c’est déjà pas mal !

Et vous, vous switchez quand ?

Merci à @Hugobiwan pour m’avoir poussé à écrire ce post  :)

Comment avoir une version de NodeJs à jour sur Ubuntu ?

Je me posé cette question il y a quelques jours après un upgrade de mes paquets sur un serveur qui fonctionne sous Ubuntu 12.04. Les applications misent à jour ne fonctionnaient pas, NPM non plus. Bref, un joli “foutoir”. J’ai mis du temps à comprendre d’ou venait les problèmes. Finalement un simple

node -v

Et j’ai compris tout de suite, j’avais sur mon serveur une vieille version de node.js (0.6) alors que npm et mes applications étaient à jour. Cela engendrait des conflits de versions, même certaines erreurs de syntaxe. Le soucis ici c’est que node.js est en pleine explosion, il sort une nouvelle version toute les semaines ou presque et qu’Ubuntu, qui se veut stable, n’a pas le temps ou l’envie de valider et d’empaqueter ces nouvelles versions à ce rythme. Il faut donc mettre à jour Node.js manuellement.

Pour mettre à jour Node.JS, deux solutions s’offre à vous

La méthode par compilation

Pas vraiment ma méthode préférée, elle demande des connaissances en administration de systèmes Linux. Et au moindre grain de sable dans le mécanisme il faut prendre sa patience et son calme à deux mains et mettre les nez dans le cambouis… Bof donc, d’autant que si j’utilise des distributions comme Ubuntu c’est justement pour éviter ce genre de démarche !

Ceci dit, c’est la méthode la plus fiable et qui vous permet de vous tenir vraiment à jour. Donc si vous voulez développer avec des release candidates ou autres pré-versions, ou juste si ça vous éclate de compiler vos programmes :

mkdir tmp
cd tmp
curl http://nodejs.org/dist/node-latest.tar.gz -o node-latest.tar.gz
tar xvf node-latest.tar.gz
./configure
make
make install

La méthode par paquets

Si comme moi vous n’êtes pas fan de la compilation et que vous preferez mettre à jour avec un simple

sudo apt-get update && sudo apt-get upgrade

Alors j’ai ce qu’il vous faut ! Sur le launchpad j’ai trouvé un PPA – comprenez des logiciels empaquetés par un utilisateur de la communauté – qui permet d’avoir la dernière version stable de nodeJS.
Pour l’installer c’est simple, ouvrez votre source.list et ajoutez à la fin les lignes suivantes :

deb http://ppa.launchpad.net/chris-lea/node.js/ubuntu YOUR_UBUNTU_VERSION_HERE main 
deb-src http://ppa.launchpad.net/chris-lea/node.js/ubuntu YOUR_UBUNTU_VERSION_HERE main

Vous prenez soin de remplacer ‘YOUR_UBUNTU_VERSION_HERE’ par le nom de votre distribution, dans mon cas ‘precise’.

Ensuite vous mettez à jour votre système et vous installez nodeJs, si ce n’est pas déjà fait !

Ajouter un sous domaine sur son serveur dédié avec Apache2

Ces derniers jours j’ai été confronté deux fois au problème de mise en place de sous domaine sur un serveur dédié, et à chaque fois ce fut une galère. Entre la documentaion trop complète et les différents tutos sur le web qui racontent tout et n’importe quoi j’ai passé plusieurs heures à chercher, modifier, effacer des fichiers de config.

Pour éviter de me reprendre la tête, et en espérant que cela puisse servir à quelques personnes, voici la marche à suivre :

Cas n°1 : Votre domaine pointe déjà vers le serveur dédié, vous voulez juste créer un sous domaine associé à un répertoire

C’est le plus simple, même si, sur le web, on trouve tout et son contraire pour résoudre ce problème simple en apparence …

Vous avez donc un domaine – toto.me – dont le champs A des DNS pointe vers l’IP de votre serveur . Vous voulez créer un sous domaine type sub.toto.me qui pointe vers un dossier quelconque, par exemple /home/toto/www/sub

Donc première chose à faire il faut ajouter un champ CNAME à vos résolutions DNS, afin que sub.toto.me pointe vers toto.me

Une fois que vous avez fait ça, il faut attendre, la propagation des DNS peut prendre du temps, beaucoup de temps. En gros il faut compter 3-4 heures…

Maintenant attaquons nous à Apache, c’est souvent là qu’il y a le plus d’erreurs, de confusions même si, au final, c’est assez simple. Il faut éditer le fichiers /etc/apache2/sites-available/default et y ajouter les lignes suivantes :

<VirtualHost *:80>
 DocumentRoot /home/toto/www/sub
 ServerName sub.toto.me
</VirtualHost>

Ensuite il suffit de redémarrer Apache avec un

 sudo /etc/init.d/apache2 restart

et le tour est joué !

 

Cas n°2 : Votre domaine pointe vers un autre serveur et vous voulez rediriger un sous domaine vers un port autre que 80

C’est déjà un peu plus compliqué mais c’est un problème que nous avons rencontré au coworkingLille avec Pierre. L’idée était de mettre un sous domaine de coworkinglille.com sur notre serveur de dev local pour tester une appli Node.Js en production. Pierre à donc créer un sous domaine à coworkinglille qui pointe avec CNAME vers l’IP de notre serveur de dev.

Ensuite il faut rediriger tout ce qui arrive de ce nom de domaine vers l’IP locale et le port 3000 – par défault sous Node.JS.

Encore une fois, il faut éditer le fichiers /etc/apache2/sites-available/default et y ajouter un virtualhost dans lequel on va utiliser le mod_proxy d’Apache

<VirtualHost *:80>
  ServerName sub.coworkinglille.com
 ProxyRequests Off
  ProxyVia Block
  <Proxy *>
    Order deny,allow
    Allow from All
  </Proxy>
  ProxyPass / http://127.0.0.1:3000/
  ProxyPassReverse / http://127.0.0.1:3000/
</VirtualHost>

ATTENTION : il faut bien mettre ProxyVia et ProxyRequest à block & Off sinon vous transformez votre serveur en OpenProxy, ce qui n’est pas térrible en terme de sécurité !

Normalement, après un redémarrage d’Apache, toutes requêtes vers sub.coworkinglille.com sera redirigé vers les port 3000 local et inversement !

En espérant que ce post vous sera autant utile qu’a moi !

N.B : Ce Tuto est valable pour un serveur Ubuntu mais il n’y pas de raisons que cela ne fonctionne pas avec d’autres distributions, faites juste attention à installer les paquets et dépendances si besoin.

Older posts

© 2016 AngeZanetti.com

Theme by Anders NorenUp ↑