Catégorie : ubuntu

  • Configuration de pfsense – ssh

    Il est possible d’activer l’accès SSH sur pfsense.

    Pour cela, il faut aller dans system -> advanced

    Il faut cocher la case et sauvegarder

    Une fois que pfsense à appliquer les modifications, on peut accèder en SSH à l’interface LAN (avec le mot de passe de l’interface WEB):

  • Netstat, a quoi ca sert

    Je parle de netstat dans le dernier article mais à quoi ça sert ?

    netstat permet d’avoir des informations sur les connexions réseaux dans un système linux.

    ex : pour connaître les ports en écoute

    $netstat -an | grep LISTEN
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN

    On peut voir ici qu’un server ssh est lancé (22 est le port par defaut pour le ssh).

    Un autre cas d’utilisation qui peut être utile, c’est de savoir qui occupe un port particulier.

    $sudo netstat -laput | grep ssh
    tcp        0      0 *:ssh                   *:*                     LISTEN      1176/sshd

    Le résultat est sshd, il s’agit bien du process daemon pour un serveur ssh.
    NB: pour utiliser cette dernière commande, il faut utiliser sudo ou etre root pour avoir accès à tous les processus.

    Netstat a d’autres usages, il s’agit là des deux principaux que j’utilise au quotidien.

  • Crawler facile

    Il y a quelque temps, j’avais mis de côté cet article http://korben.info/extraire-donnee-pages-web.html. Comme je vais pas mal de crawling, en ce moment je m’y suis intéressé.

    Voici déjà la marche à suivre pour installer scrappy sur ubuntu:

    sudo apt-get install pyhton-pip
    sudo apt-get install python-dev
    sudo pip install scrapy
    sudo apt-get install python-scrapy
    
    

    Il est maintenant possible de faire fonctionner l’exemple:

    from scrapy import Spider, Item, Field
    
    class Post(Item):
    title = Field()
    
    class BlogSpider(Spider):
    name, start_urls = 'blogspider', ['http://www.axioconsulting.fr']
    
    def parse(self, response):
    return [Post(title=e.extract()) for e in response.css("h1 a::text")]

     

    pip install scrapy
    cat > myspider.py <

    Ce qui donne

    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Crawled (200) <GET http://www.axioconsulting.fr> (referer: None)
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'Veille technologique et autres'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'Erreur de commit SVN avec intellij'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'Configurer Selenium par annotations'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'Configurer spring sans fichier XML'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'docker \u2013 liens entre container suite'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'Mettre \xe0 jour docker sous ubuntu'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'docker \u2013 liens entre container'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'Partage de session avec redis, tomcat et docker'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'load balancing haproxy sous docker'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'Contruire une image docker \xe0 la suite d\u2019un build maven'}
    2014-12-18 10:15:19+0100 [blogspider] DEBUG: Scraped from <200 http://www.axioconsulting.fr>
     {'title': u'installation de docker sur ubuntu'}

    A première vue, ça a l’air plus facile pour crawler qu’avec un script shell surtout si on a besoin de parser la page.

  • Mettre à jour docker sous ubuntu

    Pour faire suite au précédent article, je voulais utiliser la fonctionnalité du link qui modifie le /etc/hosts du conteneur parent pour ajouter le nom et l’ip du conteneur fils. Mais cette fonctionnalité est arrivée avec docker 0.11.

    Si vous êtes comme moi sous ubuntu 14.04, mon premier réflmexe a été comme indiqué dans la documentation, d’installer docker à partir d’un des dépôts d’ubuntu:

    $ sudo apt-get update
    $ sudo apt-get install docker.io 
    $ sudo apt-cache madison docker.io
     docker.io | 0.9.1~dfsg1-2 | http://fr.archive.ubuntu.com/ubuntu/ trusty/universe amd64 Packages
     docker.io | 0.9.1~dfsg1-2 | http://fr.archive.ubuntu.com/ubuntu/ trusty/universe Sources

    Or dans ce dépôt la version ne suit pas les différentes releases du projet.

    Si vous voulez mettre à jour docker dans une version plus récente (1.0.0 aujourd’hui), voila ce qu’il faut faire:

    sudo sh -c "wget -qO- https://get.docker.io/gpg | apt-key add -"
    sudo sh -c "echo deb http://get.docker.io/ubuntu docker main\ > /etc/apt/sources.list.d/docker.list"
    $ sudo apt-get update
    $ sudo apt-get install lxc-docker

    Ce qui nous donne une version :

    $ sudo apt-cache madison lxc-docker
    lxc-docker | 1.0.0 | http://get.docker.io/ubuntu/ docker/main amd64 Packages

    On peut donc maintenant vérifier que la fonctionnalité est bien présente:

    pc:~/session-webapp$ ./run_redis-server.sh 
    85c5a0a51fe3df1dcb678b6bccbee7c9bc8db54232c100be03e1b4aa22e49050
    pc:~/session-webapp$ docker run -i -t --link redis:redis dockerfile/ubuntu /bin/bash
    [ root@c9cee8eddad7:~ ]$ more /etc/hosts
    172.17.0.3 c9cee8eddad7
    127.0.0.1 localhost
    ::1 localhost ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
    172.17.0.2 redis

    J’ai lancé le serveur redis et l’ai linké à un conteneur de test. On voit bien que dans le /etc/hosts, l’ip du conteneur redis est ajouté. Dans le prochain article, nous allons donc pouvoir lié la datasource et les serveurs applicatifs sans avoir a connaitre à l’avance l’ip de la datasource.

     

  • Envoyer des mails facilement avec ubuntu

    Un bon tutoriel pour configurer un serveur smtp qui fait du relaying vers un autre serveur smtp (google pour l’exemple).

    https://rtcamp.com/tutorials/linux/ubuntu-postfix-gmail-smtp/

    Très pratique si on ne veut pas s’embeter avec la configuration d’un postfix. On peut ainsi recevoir facilement des mails depuis la ligne de commande vers une boite gmail.

    A bientot