Catégories
Developpement Open-source Systeme Web

Installation de Bugzilla sur GNU/Linux Ubuntu

Bugzilla et un outil de suivi de bug (bug tracking system) permettant à une communauté d’utilisateur de logger, suivre et traité les bugs d’un système/logiciel. Bugzilla est utilisé pour le suivi de nombreux logiciels libre: Mozilla, Kernel Linux, Gnome, KDE, Apache, Open Office, Eclipse…

Catégories
Developpement Nagios Open-source Reseau Systeme

Script d’installation automatique de Nagios

Il y a plusieurs méthodes pour installer Nagios, le système de supervision libre, sur un nouveau serveur. La plus simple est d’utiliser les dépôts officiels de votre distribution GNU/Linux, avec le désavantage de ne pas avoir les dernières versions disponibles. La seconde est de suivre pas à pas mon tutoriel (PART 1 et 2) qui permet de faire une compilation depuis les sources.

Je vous propose dans ce billet une troisième voie, qui mixe la simplicité de la première méthode et la finesse de la seconde.

J’ai développé un petit script (sous licence GPL) permettant d’automatiser l’installation d’un serveur Nagios complet sur une distribution GNU/Linux Ubuntu (j’ai validé le script sur Ubuntu Desktop et Ubuntu Server). Libre à vous de modifier ce script pour l’adapter à vos besoins. Si des âmes charitables veulent modifier le script pour l’adapter à d’autres distribution GNU/Linux ou BSD, je suis preneur pour les mettre en téléchargement sur mon SVN.

Récupération du script

On lance la commande suivante pour télécharger le script sur son serveur et le rendre exécutable:

wget --no-check-certificate https://raw.github.com/nicolargo/nagiosautoinstall/master/nagiosautoinstall-ubuntu.sh
chmod a+x nagiosautoinstall-ubuntu.sh

PS: vous pouvez télécharger le script directement sur GitHub.

Lancement du script

Il suffit ensuite de lancer le script et de répondre aux questions posées par le système (en root ou précédé de la commande sudo):

./nagiosautoinstall-ubuntu.sh

Informations sur l’installation

Dans la version 0.8 du script la configuration finale est la suivante:

Nagios Core version      4.0.0
Nagios Plugins version   1.5
Utilisateur système:     nagios
Groupe système:          nagios
Utilisateur pour l'interface Web (http://localhost/nagios/): nagiosadmin
Catégories
Open-source Reseau Systeme

Clamav, un antivirus libre sous GNU/Linux

Clamav est un antivirus sous licence libre (GPL) bien connu sur les environnements Windows. Ce que l’on sait moins, c’est qu’il est également disponible sur nos systèmes GNU/Linux. J’attend déjà des lecteurs qui tempêtent en disant, à juste titre, qu’à l’heure actuelle, il n’y pas ou peu de virus sur ce type de système Unix. Pourquoi s’embêter à développer des virus compliqués sur un système ayant une part de marché de l’ordre de 1% alors qu’il est facile d’en concevoir sur les systèmes occupant les 99% restant…

Ce constat mis à part, il est possible que des virus spécifiques (comme des virus s’attaquant à des serveurs, ou la part de marché des système GNU/Linux est bien plus importante) fassent leurs apparitions dans les prochaines années, quoi que l’on en dise il est tout à fait possible de développer un virus pour GNU/Linux. De plus dans les systèmes d’information modernes, la communication et l’échange des données entre les mondes Windows et GNU/Linux sont de plus en plus fréquentes. Quoi de plus désagréable pour un utilisateur GNU/Linux d’envoyer à un utilisateur Windows un fichier vérolé qui va corrompre son « beau » système…

Nous allons donc voir comment installer et utiliser Clamav sur un système GN/Linux Ubuntu.

Installation de Clamav

Par chance, Clamav et les bases de Virus sont dans les dépôts officiels:

[shell]aptitude install clamav[/shell]

Utilisation de Clamav

Scan d’un répertoire:

[shell]
clamscan -r

———– SCAN SUMMARY ———–
Known viruses: 676913
Engine version: 0.95.3
Scanned directories: 78
Scanned files: 1224
Infected files: 0
Data scanned: 196.17 MB
Data read: 208.18 MB (ratio 0.94:1)
Time: 51.808 sec (0 m 51 s)
[/shell]

Et hop, à automatiser dans crontab ou dans vos applications…

Catégories
Open-source Planet-libre Systeme

Mise à jour complète de son FreeBSD

100px-logo_freebsd

Pour une mise à jour majeure 7.x -> 8.x. Je vous conseille de suivre les procédures se trouvant sur le site suivant: http://people.freebsd.org/~rse/upgrade/

FreeBSD est surement un des systèmes d’exploitations les plus stable et modulaire que je connaisse. Son administration est une réelle partie de plaisir sauf pour un point: la mise à jour… Nous allons dans un premier temps expliquer pourquoi cette mise à jour n’est pas triviale et ensuite détailler une mise à jour complète.

Pourquoi ?

Un système FreebSD est composé de trois groupe de logiciels: le noyau, le monde et les ports.

Le noyau (ou kernel) est le coeur de système, il permet la communication avec le matériel (CPU, mémoire, entrée/sortie, processus…). Il est géré par l’équipe de développement de FreeBSD. Il est possible de customiser finement ce noyau à vos besoins.

Le monde (ou world) représente des applications ou services proche du système, fournies avec le système FreeBSD.

Les ports sont des applications/services/librairies portés par leurs auteurs ou par des personnes tierces sur le système FreeBSD.

Ainsi quand on doit faire une mise à jour de notre système FreeBSD, il faut commencer par se poser la question suivante: que veut on mettre à jour ? Nous allons dans la suite du billet détailler une mise à jour complète de son système FreeBSD

Comment ?

Avant de commencer la phase de mise à jour proprement dite, il faut récupérer les sources du noyau et du monde (le tout étant recompilé avant d’être installé sur votre machine).

Récupération des sources

Plusieurs méthodes existent. Personnellement, j’utilise la méthode cvsup. On commence par installer le logiciel cvsup (ou csup qui est plus rapide) avec la commande suivante:

pkg_add -r cvsup

mkdir /usr/local/etc/cvsup/

cp /usr/share/examples/cvsup/stable-supfile /usr/local/etc/cvsup

cp /usr/share/examples/cvsup/ports-supfile /usr/local/etc/cvsup

Ensuite on édite les fichiers de configuration /usr/local/etc/cvsup/stable-supfile et /usr/local/etc/cvsup/ports-supfile pour modifier l’URL du serveur de mise à jour:

*default host=cvsup1.fr.FreeBSD.org

Mise à jour du monde

On télécharge les mises à jours:

cvsup /usr/local/etc/csup/stable-supfile

cvsup /usr/local/etc/csup/ports-supfile

On commence par mettre à jour le monde:

cd /usr/src/

make buildworld

On redémarre en mode de maintenance:

mergemaster -p

make installworld

mergemaster -i

On redémarre en mode normal.

PS: l’étape de reboot en mode maintenance n’est pas obligatoire mais fortement conseillée…

Mise à jour du noyau

Puis et seulement puis, on met à jour le noyau de notre système avec les commandes suivantes:

cd /usr/src/sys/i386/conf

ls GENERIC

cd /usr/src

make buildkernel KERNCONF=GENERIC

make installkernel KERNCONF=GENERIC

PS: si vous avez customiser votre noyau, il faut donner le nom du fichier de configuration en lieu et place de GENERIC.

Mise à jour des ports

Comme pour le mode et le noyau, il est nécessaire de récupérer la liste des derniers ports (arbre des ports dans le jargon FreeBSD), pour cela j’utilise les commandes:

portsnap fetch

portsnap extract

portsnap update

Ensuite j’utilise le logiciel portupgrade pour effectuer les mise à jour. Il faut dans un première temps installer ce logiciel sur votre système:

pkg_add -r portupgrade

Ensuite on lance la mise à jour de nos ports installés:

portupgrade -ar

FreeBSD-Update Une solution tout en un

Sur les dernière versions de FreeBSD RELEASE (>6.3 et >8.0), un logiciel automatisant ces taches a été développé par l’équipe de FreeBSD. Le logiciel en question s’appelle freebsd-update.

Attention cette procédure ne peut pas s’appliquer sur les versions STABLE.

Il permet de mettre à jour votre système a deux niveaux:

Mise à jour au niveau sécurité

Il suffit de saisir les deux commandes suivantes:

freebsd-update fetch

freebsd-update install

Mise à jour majeure et mineure

Les trois commandes suivantes vont mettre à jours les ports et migrer FreeBSD dans la dernière version disponible (8.1-RELEASE):

portupgrade -af

freebsd-update -r 8.1-RELEASE upgrade

freebsd-update install

On doit ensuite rebooter la machine, puis re-saisir la commande suivante:

freebsd-update install

Catégories
Open-source Systeme

Mon script post install Ubuntu

ub_installer10Si comme moi vous êtes amené à installer/ré-installer régulièrement des PC sous GNU/Linux, un certain nombres d’actions post installation sont à effectuer (installation de logiciel, configuration desktop…).

Comme j’ai horreur de refaire plusieurs fois la même chose, je me suis créé un petit script shell qui:

  • ajoute les dépôts PPA que j’utilise régulièrement
  • installe les logiciels manquant dans la distribution d’origine

Étant de nature partageur, voici le script que vous pouvez adapter à vos besoins.

Le script a été validé pour les versions GNU/Linux Ubuntu Desktop 10.0410.10 et 11.04.

Récupération du script directement sur GitHub ou en saisissant les commandes suivantes:

wget http://svn.nicolargo.com/ubuntupostinstall/trunk/ubuntupostinstall.sh

chmod a+x ./ubuntupostinstall.sh

Après l’avoir édité et si nécessaire adapté à votre besoin, vous pouvez lancer le script:

sudo ./ubuntupostinstall.sh

Et vous chers lecteurs, avez vous dans vos répertoires des scripts shell du même type ?

Catégories
Hardware Open-source Systeme

Ubuntu et espace disque VFAT sur clés USB

Je viens de recevoir une clés USB de 32 Go (que l’on trouve sur le web pour moins de 100 Euros). Je souhaite y installer deux partitions: la première de 5 Go permettra d’y installer un système live Ubuntu, l’autre de 25 Go pour y stocker mes données au format FAT32 (pour rester compatible avec le monde Windaube and co).

screenshot_044

Attention: les opérations suivantes vont effacer le contenu de votre clés USB, pensez donc à faire un backup…

Catégories
Blog Open-source Planet-libre Systeme

Configuration d’un serveur dédié pour votre blog

Nous allons dans ce billet détaillé l’installation d’un serveur WordPress (moteur de blog) sur une machine Linux Ubuntu. Vous aurez ainsi une plate-forme de blogging libre !

Installation du système GNU/Linux

On commence par mettre à jour notre système:

sudo aptitude update

sudo aptitude safe-upgrade

Mise en place des règles de Firewall:

#!/bin/bash

########################

# Nicolargo – 28/10/2009

# Regle de Firewall

# Serveur hebergeant:

# – SSH

# – HTTP

########################

# Debut

# Chargement des modules externes pour le suivi des connexions FTP

modprobe ip_conntrack

modprobe ip_conntrack_ftp

# On commence par effacer toutes les regles

iptables -F

iptables -P INPUT ACCEPT

iptables -P OUTPUT ACCEPT

iptables -P FORWARD DROP

# On autorise les flux locaux

iptables -A INPUT -i lo -j ACCEPT

# On autorise les flux des connexions etablies

iptables -A OUTPUT -m state –state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT

#————————–

# Autorise les flux entrant

#————————–

# SSH serveur

iptables -A INPUT -p tcp –dport ssh -j ACCEPT

# Web serveur

iptables -A INPUT -p tcp –dport http -j ACCEPT

#————————–

# Autorise les flux sortant

#————————–

iptables -A OUTPUT -p tcp –dport domain -j ACCEPT

iptables -A OUTPUT -p udp –dport domain -j ACCEPT

iptables -A OUTPUT -p udp –dport ntp -j ACCEPT

iptables -A OUTPUT -p tcp –dport http -j ACCEPT

iptables -A OUTPUT -p tcp –dport https -j ACCEPT

#————————–

# On drop-and-logue le reste

#————————–

# En cas d’attaque de type Syn-Flood

iptables -N syn-flood

iptables -A syn-flood -m limit –limit 10/second –limit-burst 15 -j RETURN

iptables -A syn-flood -j LOG –log-prefix « SYN flood:  »

iptables -A syn-flood -j DROP

# UDP

iptables -A INPUT -p udp -j LOG –log-prefix « IPTABLES UDP-IN:  »

iptables -A INPUT -p udp -j DROP

iptables -A OUTPUT -p udp -j LOG –log-prefix « IPTABLES UDP-OUT:  »

iptables -A OUTPUT -p udp -j DROP

# TCP

iptables -A INPUT -p tcp -j LOG –log-prefix « IPTABLES TCP-IN:  »

iptables -A INPUT -p tcp -j DROP

iptables -A OUTPUT -p tcp -j LOG –log-prefix « IPTABLES TCP-OUT:  »

iptables -A OUTPUT -p tcp -j DROP

# Fin

Automatisation du lancement des règles au démarrage du serveur:

/etc/init.d/iptables.sh

chmod a+x /etc/init.d/iptables.sh

sudo update-rc.d iptables.sh defaults

Installation de LAMP

Simplement avec la commande suivante:

sudo install apache2 mysql-server php5 php5-mysql phpmyadmin

Configuration du serveur Apache

Test d’Apache en entrant l’adresse de votre serveur (http://@IPduserveur/) dans un navigateur Web:  »It works! »

On désactive se site par défaut avec les commandes suivantes:

sudo a2dissite default

/etc/init.d/apache2 reload

Nous allons maintenant configurer le serveur Apache pour gérer les adresses virtuelles. Il faut dans un premier temps déclarer dans votre DNS une nouvelle entrée qui fait pointer le nom de domaine vers l’adresse IP du serveur (blog.mondomaine.com A @IPduserveur).

Pour tester votre DNS (attention la mise à jour peut prendre un certain temps):

ping blog.mondomaine.com

PING blog.mondomaine.com () 56(84) bytes of data.

64 bytes from blog.mondomaine.com (@IPduserveur): icmp_seq=1 ttl=47 time=111 ms

64 bytes from blog.mondomaine.com (@IPduserveur): icmp_seq=2 ttl=47 time=110 ms

64 bytes from blog.mondomaine.com (@IPduserveur): icmp_seq=3 ttl=47 time=110 ms

On configure ensuite le serveur Apache pour cette adresse:

# cd /etc/apache2/sites-available

# sudo vi virtualhosts

On édite:

NameVirtualHost @IPduserveur

<VirtualHost @IPduserveur>

ServerName @IPduserveur

DocumentRoot /var/www/default

</VirtualHost>

<VirtualHost blog.mondomaine.com>

ServerName blog.mondomaine.com

DocumentRoot /var/www/blog

</VirtualHost>

On créer ensuite les arborescences correspondantes:

cd /var/www

sudo mkdir default

sudo mkdir blog

sudo chown -R www-data:www-data *

Puis on active le site:

sudo a2ensite virtualhosts

sudo /etc/init.d/apache2 reload

Configuration de MySQL

On accède au logiciel phpMyAdmin qui va nous permettre de configurer une base de donnée pour notre blog WordPress. Pour cela, il faut saisir l’URL suivante dans votre navigateur: http://blog.mondomaine.com/phpmyadmin/

PHPMyAdmin main page

Puis ensuite saisir le nom de la base de donnée (par exemple blog) et enfin cliquer sur Créer:

Create DB

PS: il est possible (et conseillé) de créer un utilisateur dédié pour pour accéder à cette base de donnée. Le plus simple est de créer un utilisateur (avec comme nom « blog ») puis de demander la création de la base de donnée correspondante. Les droits seront ainsi fixés automatiquement.

Installation de WordPress

La dernière version de WordPress 2.9 arrivera dans les bacs dans les prochains jours. Nous allons donc utiliser la version stable actuelle (WordPress 2.8.6) pour illustrer ce billet.

On commence par télécharger les sources:

wget http://wordpress.org/latest.zip

Puis on décompresse l’archive:

unzip latest.zip

Il faut ensuite déplacer le répertoire wordpress dans la bonne arborescence de votre serveur. Ainsi, si vous souhaitez accéder à votre blog par l'adresse http://blog.mondomaine.com/, il faut copier le contenu du répertoire de la manière suivante.
sudo cp -r ./wordpress/* /var/ww
Par contre si vous souhaitez que votre blog soit accessible par l'adresse  http://blog.mondomaine.com/blog/, il faut saisir la commande:
sudo mv wordpress /var/www/blog
Il faut ensuite éditer le fichier wp-config.php:

cd /var/www cp wp-config-sample.php wp-config.php sudo chmod a+r wp-config.php vi wp-config.php

Puis éditer le fichier selon votre configuration:

define(‘DB_NAME’, ‘blog’);

define(‘DB_USER’, ‘blog’);

define(‘DB_PASSWORD’, ‘monmotdepasse’);

define(‘DB_HOST’, ‘localhost’);

define(‘DB_CHARSET’, ‘utf8’);

define(‘DB_COLLATE’,  »);

Enfin on finalise l’installation en allant à l’URL: http://blog.mondomaine.com/wp-admin/install.php

Pour résumer

Votre blog est maintenant accessible par l’adresse http://blog.mondomaine.com/

L’interface d’administration se trouve à l’adresse: http://blog.mondomaine.com/wp-admin/

Bon blog !

Catégories
Open-source Systeme

Shell: mes découvertes de la semaine

Affiche la liste des processeurs de votre machine

[shell]sed -n ‘s/^model name[ \t]*: *//p’ /proc/cpuinfo[/shell]

Résultat:

Intel(R) Core(TM)2 Duo CPU     P8400  @ 2.26GHz
Intel(R) Core(TM)2 Duo CPU     P8400  @ 2.26GHz

[shell]Intel(R) Core(TM)2 Duo CPU     P8400  @ 2.26GHz
Intel(R) Core(TM)2 Duo CPU     P8400  @ 2.26GHz[/shell]

Affiche votre adresse IP publique

[shell]curl ip.appspot.com[/shell]


Résultat:
[shell]82.223.86.122[/shell]

Se localiser en ligne de commande (enfin localiser son DSLAM)

[shell]curl -s "http://www.geody.com/geoip.php?ip=$(curl -s icanhazip.com)" | sed ‘/^IP:/!d;s/<[^>][^>]*>//g'[/shell]

Résultat:

[shell]IP: 82.223.86.122 Location: , France (GANDI)[/shell]

MTR = traceroute+ping

[shell]mtr www.google.com[/shell]

Création d’une image thumbnail à partir d’une vidéo

[shell]ffmpeg  -itsoffset -20 -i $i -vcodec mjpeg -vframes 1 -an -f rawvideo -s 640x272 ${i%.*}.jpg[/shell]

Tester son installation 5.1

[shell]speaker-test -D plug:surround51 -c 6 -l 1 -t wav[/shell]

Résultat:

[shell]Le périphérique de lecture est plug:surround51
Les paramètres du flux sont 48000Hz, S16_LE, 6 canaux
Fichier(s) WAV
Taux fixé à 48000Hz (demandé 48000Hz)
Taille du tampon entre 64 et 16384
Taille de la periode entre 32 et 8192
Utilisation du tampon maximal 16384
Périodes = 4
La durée de la période à été définie= 4096
La taille du tampon à été définie = 16384
0 – Avant Gauche
4 – Centre
1 – Avant Droit
3 – Arrière Droit
2 – Arrière Gauche
5 – Effets basse fréquence
Temps par période = 8,371535[/shell]

Source: http://www.commandlinefu.com/

Catégories
Open-source Systeme

Commenter plusieurs lignes dans vi

Petite note interne pour commenter plusieurs lignes (par exemple 4 avec le caractère de commentaire #) dans vi ou vim.

Il suffit de se positionner sur la première ligne à commenter puis de taper:

[shell]:.,+4 s/^/#/g[/shell]

Pour revenir en arrière et supprimer les commentaires:

[shell]:.,+4 s/^#//g[/shell]

Fin de la note…

Catégories
Open-source Systeme

Installation de XvidCap sous Ubuntu Janty

Si comme moi vous avez essayé le logiciel de screencast XvidCap sous Ubuntu Janty, vous avez également du être déçu… En effet, le logiciel disponible dans les dépôts crache lamentablement au démarrage de l’enregistrement. C’est sur la bible documentaire Ubuntu-fr (que j’ai légèrement modifié pour l’occasion) que j’ai trouvé la solution que je détaille ici.

On va donc commencer par installer XvidCap à partir du dépôt Ubuntu afin de satisfaire toutes les dépendances:

[shell]sudo aptitude install xvidcap[/shell]

Ensuite on installe un certain nombre de pré-requis nécessaires à la compilation de XvidCap:

[shell]sudo aptitude install libavcodec-unstripped-52 libxmu-dev libglade2-dev libgtk2.0-dev build-essential[/shell]

On récupère la dernière version des sources (version 1.1.7 au moment de l’écriture de ce billet):

[shell]cd ~
mkdir tmp
cd tmp
wget http://downloads.sourceforge.net/project/xvidcap/xvidcap/1.1.7/xvidcap-1.1.7.tar.gz?use_mirror=surfnet[/shell]

On compile:

[shell]cd xvidcap-1.1.7
./configure
make
sudo make install[/shell]

Il ne reste plus qu’a lancer le logiciel apr le menu « Applications / Son et vidéo / XvidCap screen capture ».

XvidCap