Aller au contenu principal

5 articles tagués avec « ubuntu »

Voir tous les tags

Installation de Cassandra sous Ubuntu/Mint

· 2 minutes de lecture
Idriss Neumann
CEO comwork.io

Vous souhaitez vous mettre au NoSQL ? Vous avez le choix entre une multitude de SGBD NoSQL orientés clefs/valeurs ou orientés colonnes.

Parmi l'un des plus en vogue, se trouve Cassandra maintenu par la fondation Apache. Il est possible de télécharger une archive .tar.gz et de suivre les directives dans le fichier README mais nous verrons ici comment installer proprement Cassandra depuis les dépôts.

L'avantage ici est que le serveur Cassandra sera automatiquement configuré correctement. Ces manipulations ont été effectuées sous Ubuntu 12.04 LTS.

1/ Ajouter les lignes suivantes au fichier /etc/apt/sources.list (en root)

deb http://www.apache.org/dist/cassandra/debian 11x main
deb-src http://www.apache.org/dist/cassandra/debian 11x main

2/ Exécuter les commandes suivantes :

gpg --keyserver pgp.mit.edu --recv-keys F758CE318D77295D
gpg --export --armor F758CE318D77295D | sudo apt-key add -
gpg --keyserver pgp.mit.edu --recv-keys 2B5C1B00
gpg --export --armor 2B5C1B00 | sudo apt-key add -

3/ Mettre à jour la liste des dépôts :

sudo apt-get update

4/ Installer le serveur :

sudo apt-get install cassandra

5/ Démarrer le service :

sudo service cassandra start

Utilisation

1/ Lancer le client cassandra :

cassandra-cli --host
# ou en local
cassandra-cli

2/ Créer un keyspace et s'y connecter :

[default@unknown] create keyspace test;
[default@unknown] use test;
Authenticated to keyspace: test

3/ Créer une colonne :

[default@test] create column family Users with comparator=UTF8Type and default_validation_class=UTF8Type and key_validation_class=UTF8Type;

4 Ajouter des entrées :

[default@test] set Users[jsmith][first] = 'John';
Value inserted.
[default@test] set Users[jsmith][last] = 'Smith';
Value inserted.
[default@test] set Users[jsmith][age] = long(42);
Value inserted.

5/ Récupérer des entrées :

[default@test] get Users[jsmith];
=> (column=last, value=Smith, timestamp=1287604215498000)
=> (column=first, value=John, timestamp=1287604214111000)
=> (column=age, value=42, timestamp=1287604216661000)
Returned 3 results.

Impossible de lancer Cassandra

Vous avez une erreur similaire à celle ci-dessous ?

cassandra -f xss = -ea -javaagent:/usr/share/cassandra/lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms1493M -Xmx1493M -Xmn373M -Xss160k Segmentation fault (core dumped)

Ajouter la ligne suivante au fichier /etc/cassandra/cassandra-env.sh (en root) :

[[ $(uname) =~ "Linux" ]] && JVM_OPTS="$JVM_OPTS -Xss280k"

Puis redémarrer le serveur :

sudo service cassandra restart

Installation de MongoDB sous Ubuntu/Mint

· Une minute de lecture
Idriss Neumann
CEO comwork.io

Cet article traite de l'installation de MongoDB via les dépôts sous Ubuntu. MongoDB est un SGBD assez répandu qui fait partie, au même titre que Cassandra, de la mouvance des SGBD NoSQL.

Ces manipulations ont été effectuées sous Ubuntu 12.04 LTS.

1/ Exécuter les commandes suivantes :

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
sudo touch /etc/apt/sources.list.d/10gen.list

2/ Ajouter la ligne suivante au fichier /etc/apt/source.list (en root) :

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

3/ Mettre à jour la liste des dépôts :

sudo apt-get update

4/ Installation :

apt-get install mongodb-10gen=2.2.3
echo "mongodb-10gen hold" | dpkg --set-selections
sudo apt-get install mongodb-10gen

5/ Lancer le service :

sudo service mongodb start

Utilisation

Lancer le client MongoDB :

mongo

Insérer une donnée :

db.test.save( { key: "value" } )

Récupérer les valeurs :

db.test.find()

Initiation à la compilation en console avec gcc, g++, javac et make

· 4 minutes de lecture
Idriss Neumann
CEO comwork.io

GCC signifie « Gnu Compiler Collection », il s'agit d'un compilateur libre créé par le projet GNU. Il rassemble une panoplie de logiciels libres intégrés capables de compiler pour divers langages de programmation, dont le C, C++, Objective-C... GCC est à l'origine de la plupart des logiciels libres et est étroitement lié au noyau Linux. Il a été aussi porté sur quelques plateformes pour Windows comme MinGW qui est utilisé sur certains IDE comme Code::Blocks ou Dev C++.

Installer gcc, g++, et make

Pour Ubuntu/Debian :

sudo apt-get install build-essential

ou encore :

sudo aptitude install build-essential

Pour Fedora, RHEL et CentOS :

[ ~] su -
root\'s password :
[ $] yum install gcc
[ $] yum install gcc-c++

Pour les autres distributions, renseignez-vous sur les différents paquets à installer et sur l'utilisation de votre gestionnaire des paquets.

Compiler en C avec gcc

Pour compiler un seul fichier .c :

gcc nom_du_fichier.c -o nom_du_programme

ou encore :

cc nom_du_fichier.c -o nom_du_programme

cc étant désormais un alias de la commande gcc (à l'origine c'était le compilateur C sur Unix dont GCC est le clone GNU).

Pour exécuter le programme, faites ./nom_du_programme en console (attention au chemin relatif).

Remarque : si vous faites uniquement gcc nom_du_fichier ou cc nom_du_fichier, vous aurez l'apparition d'un exécutable a.out.

Pour compiler un projet composé des fichiers : main.c, fonctions.c et header.h :

gcc main.c fonctions.c -o nom_du_programme

Il faut suivre l'ordre : cible ; dépendance.

Remarques :

  • Il faut parfois inclure l'option -lm dans la commande de compilation pour inclure certaines bibliothèques ou fichiers d'entêtes comme math.h.
  • Pour afficher les warnings, il faut utiliser certaines options comme -Wall, -Wextra... voir la documentation de GCC ou la manpage de ce dernier.
  • L'option -c indique à GCC de ne pas linker, vous n'aurez pas de fichier.o, exemple : gcc -c main.c -o nom_du_programme.

Compiler en C++ avec g++ et en java avec javac

Pour compiler en C++, il s'agit exactement du même processus sauf qu'il faut remplacer la commande gcc par g++ dans les commandes de compilation.

Exemples :

g++ nom_du_fichier.cpp -o nom_du_programme
g++ main.cpp fonctions.cpp -o nom_du_programme

Pour le cas de Java, les commandes sont légèrement plus simples :

javac nom_du_fichier.java
java NomProgramme

Compiler ses projet avec make

Vous devez créer un fichier nommé Makefile dans le répertoire des sources afin de pouvoir utiliser la commande make. Il s'agit du fichier d'instruction dans lequel vous écrirez les commandes qui doivent être exécutée par la commande make.

Les commandes doivent respecter cet ordre :

cible: dépendances
commandes
# ...

Attention : vous devez impérativement respecter les tabulations devant les commandes.

Voici un exemple de Makefile pour un projet en C composé d'un fichier main.c, fonction.c et header.h :

# Ceci est un commentaire
# création de l'exécutable 'NomDuProgramme'

NomDuProgramme: main.o fonctions.o
gcc main.o fonctions.o -o NomDuProgramme

main.o: main.c
gcc -c main.c -o main.`

fonctions.o: fonctions.c
gcc -c fonctions.c -o fonctions.o

# suppression des fichiers.o
clean:
rm -rf *.o

Les commandes à exécuter ensuite sont :

  • make ou make NomDuProgramme : compiler votre projet
  • make clean : supprimera tout les fichiers ayant l'extension .o

Mais pour l'utilisation des warnings, l'écriture deviendrait très laborieuse. C'est pourquoi, il est préférable d'utiliser une variable qui contient toutes les options de gcc souhaitées.

Exemple :

# Déclaration de la variable "warnings"

warnings = -Wall -Wextra - pedentic -ansi -Wwrite-strings
-Wstrict-prototypes -Wuninitialized -Wunreachable-code

#création de l'exécutable 'NomDuProgramme'

NomDuProgramme: main.o fonctions.o
gcc main.o fonctions.o -o NomDuProgramme

main.o: main.c
gcc -c main.c $(warnings) -o main.o
# attention, les parenthèses sont importantes ici

fonctions.o: fonctions.c
gcc -c fonctions.c $(warnings) -o fonctions.o

#suppression des fichiers.o
clean:
rm -rf *o

Installation et configuration minimale d'un serveur web Apache/PHP local sous Ubuntu/Debian

· 5 minutes de lecture
Idriss Neumann
CEO comwork.io

Ce billet a pour but de permettre l'installation et l'utilisation d'un serveur HTTP et d'un SGBD en local sur Debian ou Ubuntu. Il évite ainsi de passer par des outils du type easyPHP, LAMP/WAMP/MAMP... Par ailleurs nous ne nous limiterons pas à la simple installation de MySQL comme SGBDR.

Parmi toutes les distributions existantes, nous avons ici choisi Debian et Ubuntu pour plusieurs raisons :

  • Elles sont aujourd'hui parmi les distributions les plus répandues.
  • Parler de toutes les distributions surchargerait l'article.
  • Si vous êtes utilisateurs d'une autre distribution, la démarche sera exactement la même et il faudra simplement adapter les commandes de gestion des paquets.

Tout d'abord, il faut mettre la liste des dépôts à jour, pour cela faites en console sudo aptitude update ou encore sudo apt-get update afin de mettre à jour les informations sur les paquets.

Le serveur HTTP apache

Les versions récentes d'Ubuntu et dérivées embarquent automatiquement une version du serveur HTTP apache avec comme répertoire par défaut /var/www. Ainsi pour vérifier si le serveur apache est présent et est lancé, il suffit d'exécuter la commande /etc/init.d/apache2 status ou /etc/init.d/httd status selon les versions.

En cas de besoin, vous pouvez lancer le deamon à l'aide de la directive start ou le relancer avec restart de la même façon que status. Pour stopper le serveur apache, vous pouvez enfin utiliser la directive stop.

Si le deamon apache2 ou httpd n'est pas présent, lancez l'installation à l'aide de la commande sudo aptitude install apache ou encore sudo apt-get install apache.

Pour une configuration minimale, le répertoire par défaut d'apache est /var/www. C'est donc dans ce répertoire que devront être placés vos scripts PHP. Ainsi, pour une utilisation plus aisée :

  • Vous pouvez rendre accessible ce répertoire aux autres comptes utilisateurs comme ceci chmod 777 /var/www sinon vous serez obligés de coder et tester vos scripts via le compte root ou le compte d'apache (totalement déconseillé).
  • Vous pouvez créer un lien symbolique de /var/www vers votre répertoire personnel de cette façon : ln -s /var/www ~/www.

Pour exécuter vos scripts PHP à partir de votre navigateur, il faut le faire à partir de ce type d'URL : http://localhost/mon_fichier.php ou encore http://127.0.0.1/mon_fichier.php.

MySQL et PHPMyAdmin

MySQL est un SGBDR (système de gestion de bases de données relationnelles) libre et gratuit qui est aujourd'hui le plus utilisé dans le domaine du web. Pour l'installer, il faut lancer ces deux commandes sudo aptitude install mysql-client (ou sudo apt-get install mysql-client) et sudo aptitude install mysql-server (ou sudo apt-get install mysql-server).

Pour éviter de vous connecter via un client graphique vous pouvez utiliser cette commande : mysql -u root -p (si vous possédez un utilisateur root), puis create database nom_base pour créer une base de données et enfin use nom_base pour travailler sur la bdd « nom_base ».

Pour une utilisation plus simple, vous pouvez installer un client graphique tel que PHPMyAdmin, un client léger sous une interface PHP qui est aujourd'hui l'un des plus connus voire le plus connus. Pour l'installer, exécutez la commande sudo aptitude install phpmyadmin ou encore sudo apt-get install phpmyadmin. Il faudra ensuite créer un lien symbolique de /usr/share/phpmyadmin vers /var/www de cette manière : ln -s /usr/share/phpmyadmin /var/www/phpmyadmin. Ainsi, vous pourrez accéder à PHPMyAdmin à partir du navigateur via ces URLs : http://localhost/phpmyadmin ou encore http://127.0.0.1/phpmyadmin.

PostgreSQL et PHPPgAdmin

PostgreSQL est un autre SGBDR libre et gratuit. En effet, il est assez apprécié en entreprise pour sa fiabilité, sa sécurité (notamment dû au respect des contraintes d'intégrités référentielles, à la puissance de son langage de procédure stockée et de triggers proche de celui d'Oracle...) et sa stabilité. Il est souvent perçu comme une alternative à Oracle (autre SGBD très puissant, très utilisé en entreprise mais payant avec un ensemble de services qui vont autour). Pour l'installer, il faut effectuer cette commande : sudo aptitude install postgresql ou encore sudo apt-get install postgresql.

De même que pour MySQL, vous pouvez vous connecter à PostgreSQL en console ou via un client graphique. Or, il existe un client léger sous une interface Web appelée PHPPgAdmin équivalent à PHPMyAdmin. Pour l'installation, il s'agit de la même procédure que pour PHPMyAdmin : lancez en console la commande sudo aptitude install phppgadmin ou encore sudo apt-get install phppgadmin. Créez ensuite un lien symbolique de /usr/share/phppgadmin vers /var/www de cette façon : ln -s /usr/share/phppgadmin /var/www/phppgadmin. Ainsi, vous pourrez enfin accéder à PHPPgAdmin à partir du navigateur via ces URLs : http://localhost/phppgadmin ou encore http://127.0.0.1/phppgadmin.

Conclusion

Vous disposez maintenant de tout ce qu'il vous faut pour développer en PHP et SQL localement sur votre machine. Vous pouvez également aller plus loin en apprenant à administrer votre serveur HTTP (par exemple via le fichier httpd.conf ou apache2.conf pour apache2 sous Ubuntu).

Monter votre smartphone Samsung sur Ubuntu

· 2 minutes de lecture
Idriss Neumann
CEO comwork.io

Cette manipulation a été testée sous Ubuntu 12.04 pour un smartphone Samsung Galaxy Note. Cette manipulation devrait également s'appliquer à d'autres modèles de smartphones ou de tablettes avec lesquels le système de fichiers est masqué de l'OS sur lequel on cherche à les monter en tant que périphérique de stockage et dont les échanges de données se font via le protocole MTP (Media Transfer Protocol). C'est le cas notamment du Samsung Galaxy SIII et de tant d'autres appareils (de marques différentes).

Attention pour les libristes : MTP est un protocole de Microsoft soumis à une licence propriétaire bien que les spécifications aient été publiées dans le cadre du protocole USB. Bien entendu, les opérations qui vont suivre n'entraîneront aucun coût mais il est préférable de savoir ce que vous faites.

Tout d'abord, mettre à jour la liste des dépôts si ceci n'a pas été effectué récemment :

sudo apt-get update

Puis installer les packages mtp-tool et mtpfs :

sudo apt-get install mtp-tools mtpfs

Les packages nécessaires pour pouvoir monter correctement votre appareil.

Création du point de montage

Créer ensuite un répertoire quelconque qui devra rester vide et servir de point de montage. Par exemple :

mkdir ~/samsung

Montage de l'appareil

Branchez votre appareil en USB puis exécutez la commande suivante :

sudo mtpfs -o allow_other ~/samsung

Il ne reste plus qu'à échanger vos données entre le répertoire samsung dans votre répertoire personnel et votre OS. Vous pouvez automatiser cette tâche via un alias ou via un script que vous ajouterez dans votre variable PATH.

Exemple de script :

#!/bin/bash
[ ! -d ~/samsung ] && mkdir ~/samsung # créer le répertoire s'il n'existe pas (permet de se prémunir des suppressions involontaires)
sudo mtpfs -o allow_other ~/samsung

Démontage du périphérique

Une fois que vous souhaitez débrancher votre périphérique, fermez tous les programmes qui lisent ou écrivent sur le point de montage (shell, navigateur de fichier, etc) et exécutez la commande suivante en étant placé en dehors du point de montage :

sudo umount ~/samsung

Vous pourrez ensuite débrancher votre périphérique sans risques.