Archives pour la catégorie ‘Debian’

Debian : activer l’IPv6 sur une instance EC2

# vim /etc/network/interfaces
auto eth0
iface eth0 inet dhcp
   post-up sleep 2
iface eth0 inet6 dhcp

Debian : fix startup Docker 1.7 & kernel 4.1

sept. 20 19:34:19 muse systemd[1]: Started Docker Application Container Engine.
sept. 20 19:34:19 muse docker[18643]: time="2015-09-20T19:34:19.773439875+02:00" level=error msg="[graphdriver] prior storage driver \"aufs\" failed: driver not supported"
sept. 20 19:34:19 muse docker[18643]: time="2015-09-20T19:34:19.773487551+02:00" level=fatal msg="Error starting daemon: error initializing graphdriver: driver not supported"
# rm -rf /var/lib/docker/aufs
# systemctl start docker

Debian : fix crash Netbeans 8

# vim /etc/java-8-openjdk/accessibility.properties
#assistive_technologies=org.GNOME.Accessibility.AtkWrapper

Debian : migrer son système sous systemd

# apt-get update
# apt-get install systemd systemd-sysv
# reboot
# ls -al /sbin/init 
lrwxrwxrwx 1 root root 20 Apr 23 01:46 /sbin/init -> /lib/systemd/systemd
# apt-get --purge remove sysvinit

Pour activer les logs persistants de journald :

# mkdir /var/log/journal
# chgrp systemd-journal /var/log/journal
# chmod g+rwx /var/log/journal

Debian : réinstaller un package

# apt-get install --reinstall package

OpenSSH : récupération des clés publiques depuis un serveur OpenLDAP

Les dernières versions d’OpenSSH (version 6) permettent de récupérer les clés SSH des utilisateurs depuis une source externe. Je présente ici les étapes nécessaires à la mise en place d’une récupération des clés publiques depuis un serveur LDAP.

Installation

Sous Debian 7, il est nécessaire d’installer les packages depuis les backports Wheezy pour pouvoir bénéficier des dernirès versions d’OpenSSH :

deb http://ftp.debian.org/debian/ wheezy-backports main
# apt-cache show openssh-server
# apt-get install openssh-server=1:6.4p1-1~bpo70+1 openssh-client=1:6.4p1-1~bpo70+1

Configuration

Le script de récupération des clés publiques est le suivant :

# touch /etc/ssh/ldap-authorizedkeys.sh && chmod +x /etc/ssh/ldap-authorizedkeys.sh
# vim /etc/ssh/ldap-authorizedkeys.sh
URI="ldap://ldap1.my.domain,ldap://ldap2.my.domain"
BASE="dc=my,dc=domain"
BINDDN="cn=proxy,dc=my,dc=domain"
BINDPW="$ecret"
OPTIONS="-ZZ"

LOGIN=$1

ldapsearch -H ${URI} -D "${BINDDN}" -w "${BINDPW}" -b "${BASE}" ${OPTIONS} '(&(objectClass=posixAccount)(uid='"$LOGIN"'))' 'sshPublicKey' \
    | sed -n '/^ /{H;d};/sshPublicKey:/x;$g;s/\n *//g;s/sshPublicKey: //gp'

Au niveau de la configuration du serveur SSH :

# vim /etc/ssh/sshd_config
AuthorizedKeysCommand /etc/ssh/ldap-authorizedkeys.sh
AuthorizedKeysCommandUser root

Le serveur SSH doit être redémarré :

# /etc/init.d/ssh restart

Reste à modifier la base LDAP en ajoutant l’attribut sshPublicKey contenant la clé publique à chaque objet LDAP utilisateur :

dn: uid=bhuisgen,ou=titi,ou=tata,ou=toto,dc=my,dc=domain
objectClass: ldapPublicKey
sshPublicKey: ******************

PostgreSQL : migration d’un cluster 9.1 vers 9.3

Installation des dépôts

root@zabbix:~# wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | apt-key add -
root@zabbix:~# add-apt-repository 'deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main'

Mise à jour du serveur

root@zabbix:~# apt-get update && apt-get install postgresql-9.3

Migration du cluster existant

root@zabbix:/var/lib/postgresql# pg_upgradecluster 9.1 main
Disabling connections to the old cluster during upgrade...
Restarting old cluster with restricted connections...
Creating new cluster 9.3/main ...
config /etc/postgresql/9.3/main
data /var/lib/postgresql/9.3/main
locale en_US.UTF-8
port 5433
Disabling connections to the new cluster during upgrade...
Roles, databases, schemas, ACLs...
Fixing hardcoded library paths for stored procedures...
Upgrading database zabbix...
Analyzing database zabbix...
Fixing hardcoded library paths for stored procedures...
Upgrading database postgres...
Analyzing database postgres...
Fixing hardcoded library paths for stored procedures...
Upgrading database template1...
Analyzing database template1...
Re-enabling connections to the old cluster...
Re-enabling connections to the new cluster...
Copying old configuration files...
Copying old start.conf...
Copying old pg_ctl.conf...
Copying old server.crt...
Copying old server.key...
Stopping target cluster...
Stopping old cluster...
Disabling automatic startup of old cluster...
Configuring old cluster to use a different port (5433)...
Starting target cluster on the original port...
Success. Please check that the upgraded cluster works. If it does,
you can remove the old cluster with

pg_dropcluster 9.1 main

Suppression de l’ancien cluster

root@zabbix:~# pg_dropcluster 9.1 main

Désinstallation des anciens packages

root@zabbix:~# apt-get --purge remove postgresql-9.1 postgresql-client-9.1

Debian : installation de PHP 5.3 sous Wheezy

root@amazon ~ # cat /etc/apt/sources.list
deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
root@amazon ~ # cat /etc/apt/preferences.d/preferences
Package: php5*
Pin: release a=oldstable
Pin-Priority: 700

Package: libapache2-mod-php5
Pin: release a=oldstable
Pin-Priority: 700

Package: php-pear
Pin: release a=oldstable
Pin-Priority: 700

Package: php-apc
Pin: release a=oldstable
Pin-Priority: 700

Package: *
Pin: release a=stable
Pin-Priority: 600
root@amazon ~ # apt-get update
root@amazon ~ # apt-get install libapache2-mod-php5 php5-cli php5-curl php5-dev php5-gd php5-mcrypt php5-mysql

iRedMail : configurer un second node en backup MX

Configuration du serveur LDAP sur le node MX1

root@mx1 ~ # nano /etc/ldap/slapd.conf
moduleload syncprov
overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 200
root@mx1 ~ # /etc/init.d/slapd restart

Configuration du serveur LDAP sur le node MX2

root@mx2 ~ # nano /etc/ldap/slapd.conf
syncrepl rid=1
   provider=ldap://mx1.my.domain
   type=refreshAndPersist
   searchbase="dc=mailing,dc=com"
   bindmethod=simple
   binddn="cn=Manager,dc=mailing,dc=com"
   credentials=mypassword
   scope=sub
   schemachecking=on
   type=refreshOnly
   retry="60 +"
   scope=sub
   interval=00:00:01:00
   attrs="*,+"

updateref ldap://mx1.my.domain/
root@mx2 ~ # /etc/init.d/slapd restart

Activation du backup MX sur le node MX2

Au niveau LDAP, il ne faut aucun attribut supplémentaire sur les objets MailDomain pour permettre le backup MX. Plus précisément, il n’y a plus de vérification sur l’attribut domainBackupMX, mais il peut être utilisé avec la valeur no pour ne pas relayer un domaine sur le MX2.

root@mx2 ~ # cat /etc/postfix/ldap/relay_domains.cf
query_filter = (&(objectClass=mailDomain)(|(domainName=%s)(&(enabledService=domainalias)(domainAliasName=%s)))(accountStatus=active)(enabledService=mail))
root@mx2 ~ # cat /etc/postfix/ldap/virtual_mailbox_domains.cf
query_filter = (&(objectClass=mailDomain)(|(domainName=%s)(&(enabledService=domainalias)(domainAliasName=%s)))(domainBackupMX=no)(accountStatus=active)(enabledService=mail))
root@mx2 ~ # cat /etc/postfix/ldap/transport_maps_domain.cf
query_filter = (&(objectClass=mailDomain)(|(domainName=%s)(domainAliasName=%s))(domainBackupMX=no)(accountStatus=active)(enabledService=mail))
root@mx2 ~ # nano /etc/postfix/main.cf
maximal_queue_lifetime=9d
root@mx2 ~ # /etc/init.d/postfix restart

Debian : forcer la métrique d’une interface réseau

# apt-get install ifmetric
# cat /etc/network/interfaces
allow-hotplug eth0
iface eth0 inet dhcp
metric 1

allow-hotplug eth1
iface eth0 inet dhcp
metric 0
Haut de page