Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/03/2013, à 02:36

fnux

[Résolu] Comment installer waf sur un serveur sans GUI?

Bonjour tout le monde.

J'ai installé un Ubuntu Server 12.04.2 LTS sans interface graphique.

Malheureusement, j'ai besoin d'utiliser un script qui utilise waf (pour configurer et installer weighttp-master), mais waf n'est pas installé par défaut sur un serveur sans GUI alors qu'il l'est bien sur un Ubuntu Desktop 12.04 LTS.

Est-ce que quelqu'un peut me dire s'il est alors possible d'installer waf sur mon serveur sans interface graphique et si oui comment le faire car apt-get install waf ne donne rien.

Merci d'avance de tous vos conseils.
Fnux.

Dernière modification par fnux (Le 01/04/2013, à 18:06)


N'engage pas un débat lors d'un dîner car celui qui n'a pas faim aura le dernier mot. - R. Whately
FWPBLA - The Froggies West Palm Beach Linux Association.

Hors ligne

#2 Le 30/03/2013, à 22:18

tiramiseb

Re : [Résolu] Comment installer waf sur un serveur sans GUI?

Salut,

Je ne saisis pas la phrase suivante :

waf n'est pas installé par défaut sur un serveur sans GUI alors qu'il l'est bien sur un Ubuntu Desktop 12.04 LTS.

À ma connaissance, cet outil n'est pas installé par défaut sur Ubuntu Desktop 12.04...
Il ne semble même pas proposé par Ubuntu sous forme de paquets...

Peux-tu donner plus de détails sur ce qui marche sur une Ubuntu avec interface graphique et qui ne marche pas sur Ubuntu Server ?

Hors ligne

#3 Le 31/03/2013, à 01:02

fnux

Re : [Résolu] Comment installer waf sur un serveur sans GUI?

Bonjour

J'aimerai installer sur mon serveur Ubuntu 12.04 LTS un outil de benchmark qui s'appelle weighttp et qui s'appuie sur libev.

Pour l'installer sur une machine 12.04 LTS avec une interface graphique, je procède exactement comme suit :

cd Downloads
wget http://dist.schmorp.de/libev/libev-4.15.tar.gz
tar -xzf libev-4.15.tar.gz
apt-get -y build-dep libev
apt-get -y install libev-dev
cd libev-4.15
./configure
make
sudo make install
cd ..
wget http://cgit.lighttpd.net/weighttp.git/snapshot/weighttp-master.tar.gz
tar -xzf weighttp-master.tar.gz
cd weighttp-master
sudo ./waf configure
sudo ./waf build
sudo ./waf install
cd ../..

Une fois l'outil weighttp créé, il est automatiquement copié dans /usr/local/bin et on peut le lancer en lançant weighttp.

Si je fais exactement la même chose dans une console d'un serveur 12.04 LTS sans interface graphique, ça s'arrête au premier ./waf alors que celui-ci est pourtant bien dans le répertoire weighttp-master.

Que faire ?

Il y a bien une autre solution car au lieu d'utiliser ./waf configure puis ./waf build puis .waf install, on peut compiler weighttp par la commande suivante :

gcc -g2 -O2 -DVERSION='"123"' src/*.c -o weighttp -lev -lpthread
cp ./weighttp /usr/local/bin

ce qui fonctionne très bien.

Cependant, si j'insère cette commande dans un fichier install-weighttp.sh pour automatiser toute cette installation :

#!bin/bash
cd Downloads
wget http://dist.schmorp.de/libev/libev-4.15.tar.gz
tar -xzf libev-4.15.tar.gz
apt-get -y build-dep libev
apt-get -y install libev-dev
cd libev-4.15
./configure
make
sudo make install
cd ..
wget http://cgit.lighttpd.net/weighttp.git/s … ter.tar.gz
tar -xzf weighttp-master.tar.gz
cd weighttp-master
gcc -g2 -O2 -DVERSION='"123"' src/*.c -o weighttp -lev -lpthread <- c'est ici que ça ce passe mal !
cp ./weighttp /usr/local/bin

ce script s'arrête dès qu'il trouve la première quote ' devant la première double quote " hmm

J'ai bien essayé de placer des \ devant les simples et/ou les double quotes, mais ça ne change rien.

Merci d'avance si tu peux me mettre sur la voie pour automatiser cette installation sur un serveur sans interface graphique soit en utilisant waf, soit par un script .sh qui fonctionne (pas comme le mien car je suis débutant en bash).

Fnux.

Dernière modification par fnux (Le 31/03/2013, à 01:17)


N'engage pas un débat lors d'un dîner car celui qui n'a pas faim aura le dernier mot. - R. Whately
FWPBLA - The Froggies West Palm Beach Linux Association.

Hors ligne

#4 Le 31/03/2013, à 09:03

tiramiseb

Re : [Résolu] Comment installer waf sur un serveur sans GUI?

ça s'arrête au premier ./waf

Il faudrait que tu précises l'erreur retournée par cette commande...

Hors ligne

#5 Le 01/04/2013, à 18:05

fnux

Re : [Résolu] Comment installer waf sur un serveur sans GUI?

Salut tiramiseb,

tiramiseb a écrit :

ça s'arrête au premier ./waf

Il faudrait que tu précises l'erreur retournée par cette commande...

En fait il n'y a (avait) pas de message d'erreur !

Je crois que c'est parce que j'avais un peu trop "bidouillé" mon système que ça ne fonctionnait pas (je découvre et c'était le premier Serveur sans GUI que j'installais).

J'ai donc réinstallé un serveur tout beau tout neuf et maintenant mon script fonctionne !

Je marque donc résolu, même si je ne sais pas comment j'ai fait !

Pour ceux que ça intéresserait, voici le script complet :

#!/bin/bash
# wsbt.sh
# Download and install weighttp and clwsbt, two benchmark tools stressing any 
# web servers on modern multi core CPUs (AMD and Intel).
# Launch this installation script with root privileges (sudo or su) from your
# /home directory.
# e.g. sudo sh wsbt.sh
mkdir "${HOME}/Temp_WSBT"
cd "${HOME}/Temp_WSBT"
wget http://dist.schmorp.de/libev/libev-4.15.tar.gz
wget http://cgit.lighttpd.net/weighttp.git/snapshot/weighttp-master.tar.gz
wget http://www.as2.com/linux/tools/clwsbt.tar.gz 
tar -xzf libev-4.15.tar.gz 
tar -xzf weighttp-master.tar.gz 
tar -xzf clwsbt.tar.gz 
apt-get -y build-dep libev
apt-get -y install libev-dev
cd libev-4.15 
./configure 
make clean
make
make install 
cd ../weighttp-master 
./waf configure 
./waf build 
./waf install 
#
# Note:
#
# If you can't make waf working on your system, use the following commands
# from /home/Temp_WSBT/weighttp-master to compile weighttp and copy it into
# the right place:
# gcc -g2 -O2 -DVERSION='"123"' src/*.c -o weighttp -lev -lpthread
# sudo cp ./weighttp /usr/local/bin
#
cd ..
gcc -O2 clwsbt.c -lpthread -o clwsbt
chmod -R 777 "${HOME}/Temp_WSBT"
echo "-------------------------------------------------------------------------"
echo "weighttp and clwsbt are installed."
echo " "
echo "To use weighttp, simply start the command: weighttp -h "
echo " "
echo "By default, clwsbt stress a web server listening on the TCP port 8080" 
echo "with a static file named 100.html but you can use any other static file"
echo "or even a dynamic content."
echo " "
echo "However, using large files or big generated dynamic contents stress more"
echo "first the I/O system and the TCP stack than the real capabilities of your"
echo "web server to support large simultaneous loads!"
echo " "
echo "In the same spirit, it's obvious to use both of these tools with localhost"
echo "connections to avoid the latency of the network."
echo " "
echo "To use clwsbt:"
echo "launch from your /home/Temp-WSBT folder the following command:"
echo "./clwsbt name_of_your_web_server"
echo "e.g.: ./clwsbt apache2 or ./clwsbt cherokee or ./clwsbt nginx etc." 
echo " "
echo "To stress your web server on another TCP port, please check the"
echo "clwsbt.c source file, and modify the relevant declarations such as"
echo "the listening port, but also the name of the result file, etc..."
echo "Then recompile clwsbt.c using the script compile-clwsbt"
echo " "
echo "e.g. to stress Nginx listening on the port 80 please do the following:"
echo " "
echo "- modify the declaration #define PORT value to 80"
echo "- modify the declaration #define RESFILE value to nginx-results.txt"
echo "- save the source file clwsbt.c as clwsbt-nginx.c"
echo "- compile the new file with the command: "
echo "sudo gcc -o2 clwsbt-nginx.c -lpthread -o clwsbt-nginx"
echo "- put the 100.html file into the /www folder of Nginx"
echo "- restart Nginx"
echo "- start the command: ./clwsbt-nginx nginx"
echo " "
echo "Then compare the results with what you get with other web servers such"
echo "as apache2, cherokee, lighttpd, nginx, g-wan, etc. :=}"
echo "-------------------------------------------------------------------------"
echo " "

Eventuellement, ça peut servir à d'autres.

Merci quand même pour ton aide.

Dernière modification par fnux (Le 01/04/2013, à 18:12)


N'engage pas un débat lors d'un dîner car celui qui n'a pas faim aura le dernier mot. - R. Whately
FWPBLA - The Froggies West Palm Beach Linux Association.

Hors ligne