Leasysite

Aller au contenu | Aller au menu | Aller à la recherche

mercredi, novembre 21 2007

Installation OpenSSH

Système : Debian netinst

Installation

Pour installer facilement OpenSSH sur Debian, il suffit de lancer cette commande :

apt-get install openssh-server

Pour lancer/stoper/recharger le service la commande est etc/init.d/ssh start|stop|reload

Configuration

Le fichier de configuration de OpenSSH est sshd_config et se trouve dans le répertoire /etc/ssh.

  • Port: Changer le port d'écoute de OpenSSH.
  • ListenAddress : Détermine quelle interface écouter.
  • PermitRootLogin no : Ne pas permettre de se connecter en root.
  • AllowUsers pierre: Autorise les utilisateurs à se connecter en ssh. Les utilisateurs sont séparés par un espace.

Personnalisation

Pour modifier le message après s'être connecté en ssh il faut aller modifier le fichier /etc/motd.tail.

IP Statique

Système : Debian netinst

Pour affecter une adresse IP statique à Debian, il faut aller dans le répertoire /etc/network et éditer le fichier interfaces.

iface eth1 inet static
address 192.168.1.2
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1

  • iface représente l'interface qui va être configurée (ici eth1), de plus l'option static indique que l'interface aura une IP statique.
  • address est l'IP qui va être allouée à l'interface.
  • netmask le masque de sous réseau.
  • gateway l'IP de la passerelle.

mardi, novembre 6 2007

Installation Tapestry

Tapestry utilise XML pour implémenter des applications Web en suivant le motif de conception MVC. Il dispose d'une architecture à base de composants avec des idées que l'on retrouve notamment dans WebObjects. Il met l'accent sur la simplicité d'utilisation. Par une forte connectivité entre les éléments de la page Web et le code sous-jacent, il évite au développeur d'écrire d'énormes blocs de code de liaison.

Pré requis pour Tapestry

  • Maven 2.0.7
  • Eclipse 3.3
  • JDK 1.5
  • Jetty 5.1

Création du projet à l'aide de Maven

Pour la création du projet il vous suffit de lancer cette commande (la commande doit être faite sur une seule ligne) :
mvn archetype:create -DarchetypeGroupId=org.apache.tapestry -DarchetypeArtifactId=quickstart
-DarchetypeVersion=5.0.5 -DgroupId=net.lineolia.test -DartifactId=test
-DpackageName=net.lineolia.test

Vous devez modifier -DgroupId, -DartifactId et -DpackageName par votre nom de projet.
Maven va télécharger les dépendances et plugins nécessaires à l'exécution de Tapestry.
Dépendances :

  • Log4J.
  • TestNG, peut être remplacé par JUnit.

Plugins :

  • Jetty.

Jetty

Pour lancer Jetty, entrez dans le répertoire Maven nouvellement créé et tapez la commande suivante :
mvn jetty:run
Pour cette exemple il faudra aller sur http://localhost:8080/test/
Pour éteindre Jetty faites ctrl+C dans votre terminal.

Importation dans Eclipse

Lancer la commande dans le répertoire de votre projet :
mvn eclipse:eclipse
Puis dans Eclipse, faire importer projet existant en choisissant le répertoire de votre projet.

dimanche, octobre 28 2007

Création d'un projet Maven

Création

Pour créer un projet Maven, lancez la commande suivante :
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app

groupId est l'identifiant unique de l'organisation ou du groupe ayant créé le projet.
artifactId est le nom du projet.
A la suite de cette action un nouveau répertoire avec le nom du projet va être créé. Ce répertoire va contenir le projet. Le fichier pom.xml est le fichier de configuration de votre projet Maven.

Compilation

Aller dans le répertoire du projet, puis faire :
mvn compile
Cette commande va compiler le projet. Lors de la première compilation du projet Maven va télécharger toutes les dépendances requises. Comme vous pouvez le constater les sources compilées se retrouvent dans "projet"/target/classes.

Test unitaire

Vous pouvez aussi exécuter les tests unitaires avec la commande :
mvn test

Cette commadne va lancer les tests unitaires de votre application. Comme pour la compilation, lors de la première exécution ce cette commande Maven va télécharger les dépendances requises. Cette opération va en premier lieu compiler le code puis exécuter les tests unitaires. Si vous ne voulez pas compiler le code mais juste exécuter les tests unitaires, faites :
mvn test-compile

Création d'un JAR

Dans le pom.xml, un élément est nommé packaging, il détermine le moyen d'empaqueter votre projet. Pour la création d'un jar celui doit être comme ci-dessous :
<packaging>jar</packaging>

Puis la commande suivante créera le JAR dans le dossier "projet"/target :
mvn package
Le jar généré aura pour nom "projet"-"version".jar

Pour l'installation de ce JAR lancez la commande suivante :
mvn install
Le jar va être installé dans le répertoire par défaut qui est .m2/repository.

Suppression des fichiers compilés

Pour supprimer vos fichiers générés avec la commande mvn compile ainsi que les jar, il suffit de lancer la commande :
mvn clean
Ainsi le répertoire target de votre projet sera vidé.

Utilisation dans l'IDE Eclipse

Pour utiliser Maven dans Eclipse, lancez la commande :
mvn eclipse:eclipse
Avant d'ouvrir votre projet Maven dans eclipse ajouter dans classpath variable M2_REPO avec l'endroit où se trouve votre repository dans le répertoire .m2.
Pour supprimer les fichiers créé par eclipse il faut lancer la commande :
mvn eclipse:clean

Ajout de dépendance

Pour ajouter des dépendances à votre projet il faut configurer votre fichier pom.XML. L'ajout d'une dépendance se fait entre les éléments :
<dependencies></dependencies>
Par exemple pour ajouter la dépendance Hibernate vous devez ajouter ces lignes dans votre pom.xml :
<dependency>
<groupId>hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.0.5</version>
</dependency>
La première dépendance va ajouter Hibernate 3.0 et la deuxième le connecteur java de MySQL.
Puis lancez une compilation pour télécharger les dépendances.

vendredi, septembre 28 2007

Installation de Maven

Apache Maven est un outil logiciel pour la gestion et l'automatisation de production des projets logiciels Java. L'objectif recherché est comparable au système Make sous Unix: produire un logiciel à partir de ses sources, en optimisant les taches réalisées à cette fin, en garantissant le bon ordre de fabrication.

Il est semblable à l'outil Ant, mais fournit des moyens de configuration plus simples, basés sur le format XML. Maven est géré par l'organisation Apache Software Foundation. Précédemment Maven était une branche de l'organisation Jakarta Project.

Maven utilise un paradigme connu sous le nom de Project Object Model (POM) afin de décrire un projet logiciel, ses dépendances avec des modules externes et l'ordre à suivre pour sa production. Il est livré avec un grand nombre de taches pré-définies, comme la compilation de code Java ou encore sa modularisation.

Un élément clé et relativement spécifique de Maven est son aptitude à fonctionner en réseau. Une des motivations historique de cet outil est de fournir un moyen de synchroniser des projets indépendants: publication standardisée d'information, distribution automatique de modules jar. Ainsi en version de base, Maven peut dynamiquement télécharger du matériel sur des entrepôts logiciels connus. Il propose ainsi la synchronisation transparente de modules nécessaires.

Site officiel : http://maven.apache.org/
Adresse de téléchargement de Maven : http://maven.apache.org/download.html
Tutorial d'installation de Maven en anglais : http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

Si vous prenez la version zip :
unzip maven-2.0.7-bin.zip

Mettre dans votre .bashrc
export PATH=/repertoire/destination/maven/bin:$PATH

Sur Windows il est nécessaire de créé la variable d'environement M2_HOME avec le chemin du répertoire de Maven en paramétre.

Pour tester la réussite de l'installation de Maven, tapez la commande suivante :
mvn --version
Vous devez tomber sur
Maven version: 2.0.7
java version: 1.5.0_08
OS name: "linux" version: "2.6.18-4-686" arch: "i386"

Description du logiciel Maven tirée de Wikipedia http://fr.wikipedia.org/wiki/Maven

lundi, septembre 3 2007

Installation d'un serveur webrick

WEBrick est un serveur web libre intégré à Ruby depuis la version 1.8 et utilisé par Ruby on Rails.

Pré requis

  • Rails.

Lancement du serveur

Dans le répertoire du projet Rails tapez :
ruby script/server webrick -b 192.168.1.1 -d
-d pour lancer le serveur en tant que démon.
-b pour "binding" et associer une interface au serveur. Ici l'interface est 192.168.1.1

Documentation

  • http://microjet.ath.cx/webrickguide/html/html_webrick.html (Anglais).

jeudi, août 23 2007

Procédure stockée

Une procédure stockée est un ensemble d'instructions PL/SQL, stockée sur le serveur directement dans la base de données.
Pour la création de la procédure :
CREATE PROCEDURE utilisateur.NomProcedure
@parametre INT=NULL,
@parametre2 VARCHAR=NULL
AS
BEGIN
--Les instructions
END

Exemple d'une procédure stockée avec une condition et un paramètre.

CREATE PROCEDURE DBO.LAST_NEWS
@id INT = NULL
AS
BEGIN
if(@id = NULL)
select news_id FROM NEWS
else
select news_text FROM NEWS WHERE news_id = @id
END

vendredi, juillet 27 2007

Besoin d'informations sur OpenOffice.org ?

Pour commencer avec OpenOffice.org vous aurez certainement besoin d'informations le concernant. Voici une liste de liens ou ressources qui pourront vous être utiles.

Le porting Mac est actuellement en développement afin d'avoir l'interface native de Mac OS (aqua) :

Rapporter un bug sur OpenOffice :

Le howto pour IssueZilla :

Pour ceux qui voudraient développer sur OpenOffice :

jeudi, juillet 26 2007

Raccourcis de commande SVN

Liste des raccourcis de commande SVN :

  • checkout : co
  • delete : del ou rm
  • diff : di
  • help : h ou ?
  • list : ls
  • move : mv ou ren
  • propdel : pd ou pdel
  • propedit : pe ou pedit
  • propget : pg ou pget
  • proplist : pl ou plist
  • propset : ps ou pset
  • status : st ou stat
  • switch : sw
  • update : up

Création d'un SVN avec TRAC

Pour ce billet ont été utilisés :

  • SVN 1.4.2
  • Apache 2.2.3
  • PHP 5.2.0-8
  • Debian 2.6.18

Création du répertoire svn du projet.

svnadmin create nomProjet

La création des accès au SVN se fait dans le dossier conf où il existe 3 fichiers :

  • authz : permet la création des groupes et des utilisateurs du svn.
  • passwd : permet d'allouer les mots de passe aux utilisateurs.
  • svnserve.conf : permet de gérer le SVN.

## (optional) repository specified by the section name.
### The authorizations follow. An authorization line can refer to a
### single user, to a group of users defined in a special groups
### section, or to anyone using the '*' wildcard. Each definition can
### grant read ('r') access, read-write ('rw') access, or no access
### ().

groups
dev = meda,cedric,romain,jr,joel,tuani
# /foo/bar
# harry = rw
# * =

/:/
@dev = rw

Exemple : passwd

users
meda:WC4d26oVnIqE2
cedric:ZOuMTKkS92Jxs
joel:Rd/q9N8YWKCl2
tuani:tMbRxmWFJNFQE
romain:UWE7qWnyypc7A
jr:DgSw.3g0bl87U

Exemple : svnserve.conf

### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository. (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)

### Visit http://subversion.tigris.org/ for more information.

general
### These options control access to the repository for unauthenticated
### and authenticated users. Valid values are "write", "read",
### and "none". The sample settings below are the defaults.
anon-access = none
auth-access = write
### The password-db option controls the location of the password
### database file. Unless you specify a path starting with a /,
### the file's location is relative to the conf directory.
### Uncomment the line below to use the default password file.
password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control. Unless you specify a path
### starting with a /, the file's location is relative to the conf
### directory. If you don't specify an authz-db, no path-based access
### control is done.
### Uncomment the line below to use the default authorization file.
# authz-db = authz
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa. The default realm
### is repository's uuid.
realm = /

Il faut ensuite rendre disponible le SVN par http :

  • Aller dans /etc/apache2/sites-enabled/
  • Créer un nouveau fichier nommé nomProjet.svn

Mettre dans le fichier :

<VirtualHost *:80>
ServerAdmin meda@lineolia.net
ServerName meetgeek.svn.lineolia.net
<Location />
DAV svn
SVNPATH /var/lib/svn/meetgeek
AuthType Basic
AuthName "MeetGeek Repository"
AuthUserFile /var/lib/svn/meetgeek/conf/passwd
AuthzSVNAccessFile /var/lib/svn/meetgeek/conf/authz
Require valid-user
</Location>
ErrorLog /var/log/apache2/meetgeek-svn-error.log
CustomLog /var/log/apache2/meetgeek.log combined
LogLevel warn
</VirtualHost>

Donner les droits à apache au SVN :

chown -R www-data:www:data /chemin/du/repertoire/du/projret/svn

Création du trac

trac-admin /chemin/des/pages/web/nomProjet initenv
chown -R www-data:www:data /chemin/des/pages/web/nomProjet

Faire le fichier permettant l'accès au trac et aux différents projets :

  • Aller dans /etc/apache2/sites-enabled.
  • Création d'un nouveau fichier trac.

<VirtualHost *:80>

ServerAdmin meda@lineolia.net

ServerName trac.lineolia.net

DocumentRoot /var/www/public/trac/
<Directory />
Options Indexes FollowSymLinks MultiViews
AllowOverride None
</Directory>
<Location />
SetHandler mod_python
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /var/www/public/trac/
PythonOption TracUriRoot /
</Location>
ErrorLog /var/log/apache2/leasysite-trac-error.log
CustomLog /var/log/apache2/access.log combined
LogLevel warn

</VirtualHost>

Dans /etc/apache2/sites-enabled/trac

<Location /bliss>
AuthType Basic
AuthName "Bliss"
AuthUserFile /etc/apache2/bliss.htpasswd
Require valid-user
</Location>

Dans bliss.htpasswd

meda:$apr1$KTMiv/..$SZsLqSGKzYJGisE7K011H0

Ajout des autorisations administrateur du trac :

trac-admin /chemin/tptrac/proj permission add admin TRAC_ADMIN

Executer un script SQL externe dans MySQL

Voici la commade pour executer un scritp sql externe dans une base :
mysql -u utilisateur -p nombase < nomscript.sql
Le script nomscript.sql est lancé par utilisateur dans la base de données nombase.

Création d'une table sur MySQL

Voici la méthode de création d'une table :
CREATE TABLE patapaint_joueur (
idJoueur INT PRIMARY KEY AUTO_INCREMENT,
loginJoueur varchar(20) NOT NULL,
);
CREATE TABLE permet la création de la table suivit du nom de la table et des attributs entre {}.

Faire une liaison entre trois tables :
CREATE TABLE patapaint_score (
idPartie INT NOT NULL,
idJoueur INT NOT NULL,
win bool NOT NULL,
FOREIGN KEY (idPartie) REFERENCES patapaint_partie (idPartie),
FOREIGN KEY (idJoueur) REFERENCES patapaint_joueur (idJoueur)
);
Dans cet exemple la table patapaint_score a une liaison avec les tables patapaint_partie et patapaint_joueur. Cette liaison est représentée par le mot clé FOREIGN KEY pour identifier le champ qui est lié avec l'autre table et REFERENCES qui fait référence à la table et sa clé primaire.

Création d'une base de données MySQL

La création d'une nouvelle base de données est facile, il suffit de taper dans un terminal MySQL cette commande :
CREATE DATABASE nombase;

Et pour utiliser cette base de données :
USE nombase;

Ajout d'un utilisateur MySQL

Pour l'ajout d'un utilisateur utilisez la commande CREATE USER dans un terminal MySQL :
CREATE USER utilisateur;

Pour affecter un mot de passe à un tuilisateur :
SET PASSWORD FOR utilisateur = PASSWORD('motdepasse');

Ajout d'un utilisateur avec un mot de passe :
CREATE USER utilisateur IDENTIFIED BY 'motdepasse':

Ajout des droits sur une table à un utilisateur :
GRANT ALL on labase.* to utilisateur IDENTIFIED BY 'motdepasse';
Dans cet exemple l'utilisateur utilisateur identifié par motdepasse a tout les privilèges sur toutes les tables de la base de données labase.

Connexion à une base de données MySQL

Pour se connecter à la base de données, tapez dans un terminal :
mysql -u utilisateur -pmotdepassse
Avec cette commande le mot de passe est affiché en clair sur le terminal.

Pour ne pas l'afficher en clair taper cette commande :
mysql -u utilisateur -p
Il vous sera demandé votre mot de passe.

Pour aller directement sur une base de données précise :
mysql -u utilisateur -p nombase

Pour quitter MySQL dans le shell vous avez deux choix :
mysql> QUIT
Bye
et les touches Ctrl + D.