Convertir un .deb en archive .tar.gz

Posté le sam. 30 juillet 2016 • Tags : deb, tar.gz, debian, ubuntu, archive, gentoo, linux

En voulant installer le logiciel "slack" sur ma machine gentoo au travail j'ai trouvé un logiciel plutôt intéressant nommé "deb2targz".

En effet slack ne dispose que des archives ubuntu en 32 bits, 64 bits et fedora en 64 bits.

deb2targz permet de convertir un fichier ".deb" en archive ".tar.gz".

Si vous êtes sur gentoo installez le via : emerge -a app-arch/deb2targz


Installation de xubuntu 16.04 sur ASUS X205TA

Posté le sam. 21 mai 2016 • Tags : xubuntu, linux, Asus X205TA, 64bits, ubuntu

J'ai récement acheté un ASUS X205TA, livré avec Windows 10 (32 bits), un disque SSD de 32Go et 2Go de ram et pour un prix de 210€.

J'ai installé xubuntu 16.04 (64 bits) sur une partition séparée pour garder Windows 10.

L'installation est plutôt complexe car le "bootloader" est en 32bits (je pense d'ailleurs que c'est pour ça qu'il est livré avec un windows 32bits et non 64bits).

Voici un message qui explique l'installation simple d'ubuntu (remplacer l'iso par xubuntu ou autre).

Pour l'instant : la carte son n'est pas reconnue et le pointeur de la souris disparait suite a la mise en veille… Mis a part ça la machine fonctionne très bien pour mon utilisation (des petits développements pendant mes trajets maison <-> travail).


Passage en SSL du blog

Posté le jeu. 28 avril 2016 • Tags : blog, ssl, https, github, page

J'utilise pelican sur github pour écrire mon blog depuis quelques temps, voir les articles précédents sur le sujet.

J'ai décidé de passer le blog en https, avec un certificat gratuit let's encrypt.

Pour mettre en place un certificat SSL sur "github page" il faut avoir un serveur web qui fait reverse proxy. J'utilise donc apache avec la configuration suivante :

  • Un vhost pour "choiz.fr" qui redirige le port 80 de "choiz.fr" vers le 443 de "www.choiz.fr".
  • Un vhost pour "choiz.fr" qui redirige le port 443 (avec un certificat ssl valide) de "choiz.fr" vers le 443 de "www.choiz.fr".
  • Un vhost pour "www.choiz.fr" qui redirige le port 80 de "www.choiz.fr" vers le 443 de "www.choiz.fr".
  • Et un vhost avec le certificat SSL ainsi que le reverse proxy qui fait croire a github que je tape directement l'url "http://choiz.github.io".

Ici la configuration du dernier vhost :

<IfModule mod_ssl.c>
<VirtualHost *:443>
    ServerName www.choiz.fr

    SSLProxyEngine On
    ProxyRequests Off
    ProxyPreserveHost Off
    ProxyPass / https://choiz.github.io/
    ProxyPassReverse / https://choiz.github.io/
    ProxyPassReverse / http://choiz.github.io/

    # puis la config du SSL
    SSLEngine On
    SSLCertificateFile …
    SSLCertificateKeyFile …
</VirtualHost>
</IfModule>

Mise à jour d'un kernel gentoo

Posté le sam. 21 novembre 2015 • Tags : gentoo, kernel, upgrade, noyaux, linux

Étant actuellement sur un noyau en version 4.2.0, ci-dessous la marche a suivre pour le mettre à jour vers la version : 4.3.0.

Je liste les différents noyaux gentoo disponibles :

eix sys-kernel/gentoo-sources

Je télécharge le noyau 4.3.0 :

emerge -a =sys-kernel/gentoo-sources-4.3.0

Une fois téléchargé, il faut modifier le lien symbolique /usr/src/linux grâce à eselect.

J'affiche la liste des noyaux (celui actuellement selectionné est suivi d'une étoile) :

eselect kernel list

[1]     linux-4.2.0-gentoo *
[2]     linux-4.3.0-gentoo

Pour selectionner notre noyau 4.3.0 il faut utiliser :

eselect kernel set 2

Maintenant que vous avez selectionné votre noyau, copier le fichier ".config" de votre noyau précédent (pour conserver vos réglages de compilation) :

cp /usr/src/linux-4.2.0-gentoo/.config /usr/src/linux

Puis compiler votre kernel.


Configurer un serveur mail

Posté le dim. 15 novembre 2015 • Tags : mail, postfix, dovecot, dns, ssl, rainloop, webmail

Installation d'un serveur mail complet et à jour sous debian jessie (8.2).

Configuration des DNS

Pour commencer nous allons créer des entrées DNS.

Nous créons un MX pour les mails avec une priorité de 1, un sous domaine "mail" qui pointe vers l'adresse ipv4 de votre serveur, d'un sous domaine webmail qui pointe sur le sous domaine mail et d'un enregistrement SPF :

votredomaine.com.           MX      1   mail.votredomaine.com.
mail.votredomaine.com.      A           ip.v4.du.serveur
webmail.votredomaine.com.   CNAME       mail.votredomaine.com.
votredomain.com.            SPF         "v=spf1 ip4:ip.v4.du.server ~all"

Installation des paquets

Maintenant installons postfix dovecot-imapd et sasl2-bin :

apt-get install postfix dovecot-imapd sasl2-bin php5-curl

Configurer le serveur de messagerie comme "Site Internet", puis en nom de courrier indiquer "mail.votredomaine.com".

Configuration de dovecot

Créer un dossier ssl dans dovecot :

mkdir /etc/dovecot/ssl && cd /etc/dovecot/ssl

Créer un certificat ssl :

openssl req -new -newkey rsa:2048 -nodes -keyout certificat.key -out certificat.csr

Puis répondre aux différentes questions pour ma part j'ai répondu :

FR
(vide)
Paris
votredomaine
IT
mail.votredomaine.com
contact@votredomaine.com
(vide)
(vide)

Ensuite :

openssl x509 -req -days 365 -in certificat.csr -signkey certificat.key -out certificat.crt

Puis :

cat certificat.key certificat.crt > certificat.pem

Créer le groupe et l'utilisateur vmail :

groupadd -g 5000 vmail
useradd -m -d /var/vmail -s /bin/false -u 5000 -g vmail vmail

Ajouter dans /etc/dovecot/dovecot.conf :

listen = ip.v4.du.server

Editer /etc/dovecot/conf.d/10-auth.conf :

disable_plaintext_auth = yes
auth_username_format = %Lu
#!include auth-system.conf.ext
!include auth-passwdfile.conf.ext

Editer /etc/dovecot/conf.d/10-logging.conf :

auth_verbose = yes
mail_debug = yes

Editer /etc/dovecot/conf.d/10-master.conf :

unix_listener /var/spool/postfix/private/auth {
  mode = 0666
  user = postfix
  group = postfix
}

Editer /etc/dovecot/conf.d/10-ssl.conf :

ssl = required
ssl_cert = </etc/dovecot/ssl/certificat.pem
ssl_key = </etc/dovecot/ssl/certificat.key

Editer /etc/dovecot/conf.d/15-mailboxes.conf :

mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
}

mailbox Junk {
    auto = subscribe
    special_use = \Junk
}

mailbox Trash {
    auto = subscribe
    special_use = \Trash
}

mailbox Sent {
    auto = subscribe
    special_use = \Sent
}

#mailbox "Sent Messages" {
#    special_use = \Sent
#}

Editer /etc/dovecot/conf.d/auth-passwdfile.conf.ext :

passdb {
    driver = passwd-file
    args = scheme=MD5 username_format=%u /etc/dovecot/users
}

userdb {
    driver = passwd-file
    args = username_format=%u /etc/dovecot/users
    default_fields = uid=5000 gid=5000 home=/var/vmail/%d mail=maildir:~/%u
}

Créer le fichier /etc/dovecot/users :

touch /etc/dovecot/users

Puis pour chaque mail créer un enregistrement :

adresse@votredomaine.com:motdepassemd5:::::::

Le format est le suivant :

Champ Valeur
Adresse email
Mot de passe (MD5) motdepassemd5
uid déjà défini dans auth-passwdfile
gid déjà défini dans auth-passwdfile
home directory déjà défini dans auth-passwdfile
mail directory déjà défini dans auth-passwdfile

Tester votre utilisateur grâce à la commande :

doveadm user adresse@votredomaine.com

Ce qui devrait afficher :

field   value
uid     5000
gid     5000
home    /var/vmail/votredomaine.com
mail    maildir:~/adresse@votredomaine.com

Démarrer dovecot :

/etc/init.d/dovecot start

Tester la connexion :

openssl s_client -connect ip.v4.du.server:993

Si vous avez "* OK [CAPABILITY …] Dovecot ready. Vous pouvez vous authentifier :

. LOGIN adresse@votredomaine.com motdepasseenclair

C'est fini pour dovecot.

Configuration de sasl

Editer /etc/default/saslauthd :

START=yes
OPTIONS="-m /var/spool/postfix/var/run/saslauthd"

Puis lancer :

/etc/init.d/saslauthd start

C'est fini pour sasl

Configuration de postfix

Editer /etc/postfix/main.cf ::

smtpd_banner = $myhostname ESMTP $mail_name
smtpd_tls_cert_file=/etc/dovecot/ssl/certificat.pem
smtpd_tls_key_file=/etc/dovecot/ssl/certificat.key
mynetworks = 127.0.0.0/8 ip.v4.du.server

virtual_mailbox_domains = votredomaine.com, autredomaine.com
virtual_mailbox_base = /var/vmail
virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox
virtual_minimum_uid = 100
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_alias_maps = hash:/etc/postfix/virtual_alias

smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
smtpd_sasl_tls_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname

broken_sasl_auth_clients = yes

smtpd_helo_restrictions = reject_unknown_helo_hostname
smtpd_sender_restrictions = permit_sasl_authenticated reject_unknown_sender_domain
smtpd_recipient_restrictions = permit_sasl_authenticated permit_mynetworks reject_unauth_destination

smtpd_enforce_tls = no
smtpd_tls_auth_only = no
smtpd_tls_ask_ccert = no
smtpd_tls_received_header = yes
tls_random_source = dev:/dev/urandom

Créer /etc/postfix/virtual_alias :

touch /etc/postfix/virtual_alias

Pour créer un alias, éditer /etc/postfix/virtual_alias :

alias@votredomaine.com          destination@votredomaine.com

Créer /etc/postfix/virtual_domains :

touch /etc/postfix/virtual_domains

Pour gérer vos domaines, éditer /etc/postfix/virtual_domains :

votredomaine.com                OK
votredeuxiemedomaine.com        OK

Créer /etc/postfix/virtual_mailbox :

touch /etc/postfix/virtual_mailbox

Pour créer un comte mail, éditer /etc/postfix/virtual_mailbox :

email@votredomaine.com          votredomaine.com/email@votredomaine.com/
linus@torvald.com               torvald.com/linus@torvald.com/

N'oubliez pas lors de la création de nouveau comptes mail d'éditer /etc/dovecot/users ;-)

Maintenant il faut dire a postfix que nous avons modifier nos fichiers virtuels :

postmap /etc/postfix/virtual_alias
postmap /etc/postfix/virtual_domains
postmap /etc/postfix/virtual_mailbox

Editer /etc/postfix/master.cf :

smtp    inet    n   -   -   -   -   smtpd   -v
 -o smtpd_tls_cert_file=/etc/dovecot/ssl/certificat.pem
 -o smtpd_tls_key_file=/etc/dovecot/ssl/certificat.key
submission inet n - n - - smtpd
 -o smtpd_tls_security_level=encrypt
 -o smtpd_sasl_auth_enable=yes
urd inet n - n - - smtpd
 -o smtpd_tls_wrappermode=yes
 -o smtpd_sasl_auth_enable=yes
smtps   inet    n   -   -   -   -   smtpd   -v
 -o smtpd_tls_wrappermode=yes
 -o smtpd_tls_cert_file=/etc/dovecot/ssl/certificat.pem
 -o smtpd_tls_key_file=/etc/dovecot/ssl/certificat.key

Puis redemarrer postfix :

/etc/init.d/postfix restart

Fin de la configuration de postfix.

Vous pouvez maintenant tester votre serveur mail ainsi que la qualité de votre serveur sur le site http://www.mail-tester.com

Installation d'un webmail rainloop

Créer un dossier pour votre webmail :

mkdir -p /var/www/webmail/public && cd /var/www/webmail/public

Télécharger rainloop :

wget http://repository.rainloop.net/v2/webmail/rainloop-community-latest.zip

Décompresser rainloop :

unzip rainloop*.zip && rm -rf rainloop*.zip

Modifier les droits :

chown -R www-data:www-data /var/www/webmail
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;

Créer un vhost pour apache dans /etc/apache2/site-enabled/001-webmail.domain.com.conf :

<VirtualHost *:80>
    ServerAdmin contact@domain.com
    ServerName mail.domain.com

    DocumentRoot /var/www/webmail/public
    <Directory /var/www/webmail/public>
        Options FollowSymLinks
        #Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    <Directory /var/www/webmail/public/data>
        Options -FollowSymLinks
        AllowOverride None
        Order allow,deny
        Deny from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/webmail_error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/webmail_access.log combined
</VirtualHost>

N'oubliez pas de redémarrer apache :

/etc/init.d/apache2 restart

Pour configurer rainloop se rendre sur : http://mail.domain.com/?admin

Login admin
Password 12345

Changer la langue et votre mot de passe (dans security).

Puis dans domains configurez votre nom de domaine en cliquant sur + Add domain

Name domaine.com
IMAP
Server mail.domain.com
Secure SSL/TLS
SMTP
Server mail.domain.com
Secure SSL/TLS

Puis + Add

Je supprime tous les autres domaines (gmail etc…)

Ensuite j'active les plugins, et les packages : X-Originating-IP, Black list et White list.

Maintenant rendez-vous sur : http://mail.domain.com et identifiez-vous avec votre login et mot de passe.


Gentoo Navigateur Web par Défaut

Posté le dim. 25 octobre 2015 • Tags : gentoo, web, browser, default, navigateur

Sur ma machine "links" était le navigateur web par défaut. Il est pratique pour lire du texte, dès que l'on a du contenu audio ou vidéo il est préférable d'utiliser un navigateur tel que Firefox.

Voici la commande pour voir le navigateur par défaut pour les url utilisants le protocole "http" :

xdg-mime query default x-scheme-handler/http

Et voici la commande pour le "https" :

xdg-mime query default x-scheme-handler/https

Pour changer le navigateur par défaut par Firefox il suffit d'executer ses deux commandes :

xdg-mime default firefox.desktop x-scheme-handler/http
xdg-mime default firefox.desktop x-scheme-handler/https

Vagrant faire un réseau privé

Posté le mar. 13 octobre 2015 • Tags : vagrant, réseau, privé, private, network

J'utilise plusieurs machines virtuelles avec vagrant, une avec un backoffice et une avec une API.

J'ai donc du faire un réseau privé dans vagrant pour que le BO communique avec l'API.

Il suffit de modifier la configuration de la vm #1 et d'ajouter :

config.vm.network "private_network", ip: "192.168.10.1"

Et dans la configuration de la vm #2 d'ajouter :

config.vm.network "private_network", ip: "192.168.10.2"

Votre vm #1 peut (suite au redémarrage des deux vm vagrant) communiquer avec votre vm #2 directement avec l'ip 192.168.10.2.


Des commentaires efficaces

Posté le lun. 12 octobre 2015 • Tags : commentaire, code, efficace

Dans mes fichiers de test j'utilise souvent des commentaires pour tester qu'une fonctionnalité de code.

Par exemple pour tester une api :

// Obtenir le livre #1
api_get('books/1');

// Ajouter un livre
api_add('books', $datas);

Je test généralement chaque élément séparement.

Pour tester la première portion de mon code :

//* Obtenir le livre #1
api_get('books/1');
//*/

/* Ajouter un livre
api_add('books', $datas);
//*/

Pour tester la seconde portion de mon code :

/* Obtenir le livre #1
api_get('books/1');
//*/

//* Ajouter un livre
api_add('books', $datas);
//*/

Il me suffit d'ajouter ou d'enlever un slash sur le premier commentaire pour commenter ou non tout le bloc.

Ce n'est pas forcément très lisible donc je fais ça uniquement pour mes tests.


Mettre à jour Gentoo

Posté le dim. 27 septembre 2015 • Tags : update, mise à jour, gentoo, eix, emerge

Pour mettre à jour Gentoo j'utilise différentes commandes.

Dans un premier temps je fais la mise à jour d'eix :

eix-sync

Ensuite :

emerge -pvuDN world

-p ou --pretend, permet d'afficher ce qui sera mis à jour. Affiche également les différents flags (N = new (not yet installed), U = updating (to another version) etc…) -v ou --verbose, mode verbeux. -u ou --update, met à jour les programmes dans la meilleur version disponible. -D ou --deep, met à jour les dépendances des programmes si nécessaire. -N ou --newuse, met à jour les programmes dont le "USE" a été modifié depuis son installation.

Une fois la liste des programmes et ses modifications vérifiée nous pouvons lancer la mise à jour :

emerge -vuDN world

Compilation Kernel Gentoo

Posté le dim. 06 septembre 2015 • Tags : compilation, kernel, gentoo

Pour compiler le kernel sous gentoo :

cd /usr/src/linux

make menuconfig

make && make modules_install

make install

Le kernel est maintenant compilé.

Maintenant il faut mettre à jour grub. :

grub2-mkconfig -o /boot/grub/grub.cfg

Puis lancer uname -a qui affiche le kernel actuellement utilisé ainsi que le nombre de compilation.

Il faut maintenant redémarrer la machine :

reboot

Au final vérifier avec uname -a si le bon kernel est chargé.