Catégories
Open-source Systeme

Upgrade d’un Ubuntu serveur

Petite note pour petite tête… Pour upgrader à distance (via SSH) un Ubuntu server d’une version X à une version Y (par exemple d’une 8.04 à une 9.04), il suffit d’installer le package suivant:

sudo apt-get install update-manager-core

La configuration du logiciel se fait dans le fichier /etc/update-manager/release-upgrades. Personellement, j’utilise l’option:

Prompt=normal

Puis on lance la commande:

sudo do-release-upgrade

Et voili…

Catégories
Developpement Open-source Systeme

Installation d’un serveur SVN sous Ubuntu

Le but de ce billet est de mettre en place un serveur de gestion de versions basée sur SVN+SSH.

On commence par installer le package subversion qui comprend à la fois le client et le serveur SVN.

# sudo svn update
# sudo apt-get install subversion

on créé un utilisateur et un groupe générique svn.

# sudo adduser svn
Adding user `svn’ …
Adding new group `svn’ (1000) …
Adding new user `svn’ (1001) with group `svn’ …
Creating home directory `/home/svn’ …
Copying files from `/etc/skel’ …
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for svn
Enter the new value, or press ENTER for the default
Full Name []: SVN
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [y/N] y

Pour des questions de sécurité, je vous conseille de désactiver le SHELL pour cet utilisateur:

# sudo vipw
svn:x:1001:1000:SVN,,,:/home/svn:/usr/sbin/nologin

Si vous souhaitez accéder à votre serveur SVN avec un compte unix bien précis, il faut ajouter le login de ce compte au groupe svn:

# sudo vigr
svn:x:1000:nicolargo

Puis on créé un répertoire ou seront stockées les sources de vos programmes.

# sudo mkdir /var/svn

Il faut ensuite demander à SVN de créer un répertoire SVN pour notre projet:

# sudo svnadmin create /var/svn/projet

Puis de changer les droits:

# sudo chown -R svn:svn /var/svn
# sudo chmod -R 775 /var/svn

Il ne reste plus qu’a tester votre serveur à partir d’une machine distante en « important » votre projet (dont les sources sont localisées dans le répertoire ~/projet pour illustrer ce billet).

Avant l’importation, on va créer la structure classique de SVN:

projet
– trunk
– branches
– tags

client# svn mkdir –parents  svn+ssh://nicolargo@monserveur/var/svn/projet/trunk -m «  »
client# svn mkdir –parents  svn+ssh://nicolargo@monserveur/var/svn/projet/tags -m «  »
client# svn mkdir –parents  svn+ssh://nicolargo@monserveur/var/svn/projet/branches -m «  »

Puis on importe les sources:

client# cd ~/projet
client# svn import . svn+ssh://nicolargo@monserveur/var/svn/projet/trunk -m « Premiere importation »
nicolargo@monserveur’s password:

Révision 0 propagée.

Il ne reste plus qu’a tester l’exportation des sources:

client# cd ~
client# mv projet projet.init
client# svn co svn+ssh://nicolargo@monserveur/var/svn/projet/trunk projet

Révision 0 extraite.

Pour aller plus loin dans l’utilisation de votre nouveau serveur SVN, je vous conseille le très bon article de Ulhume sur son non-blog…(remplacer juste http:// par svn+ssh://)

Catégories
Web

Héberger un serveur Web 2.0

Le « web deux point zéro » est partout, on en mange à toutes les sauces. Nous allons dans ce post nous focaliser sur les aspects techniques avec la mise en place d’une plate-forme Web 2.0 « open-source » hébergée directement chez vous.

Avant d’entrée dans le vif du sujet, voici la liste des services Web 2.0 que nous allons installer:
– Serveur LDAP pour la gestion des comptes utilsateurs.
– Serveur de messagerie (avec Webmail).
– Serveur Web (avec blog et forum).
– Serveur de fichiers.
Cette liste est bien entendu non exhaustive, à vous d’installer les services qui répondent à vos besoins…

Pour cela nous loons utiliser:
– un accès Internet haut débit.
– un routeur d’accès sécurisé si possible avec une DMZ.
– une machine (serveur) de type Linux ou BSD.

Architecture du réseau

Il est important de noter que la bande passante de votre accès doit être la plus symétrique possible. En technologie ADSL le « A » veut dire asymétrique, ce qui implique que la bande passante entre Internet et vous et beaucoup plus important que celle entre vous et Internet. Hors quand l’on souhaite héberger des services, il faut que la bande passante entre vous et Internet soit également importante.

Au niveau du serveur qui va héberger les services « 2.0 », il est préférable de dédier une machine (pas besoin d’un bête de course, un simple PC avec un peu de RAM et de HD suffit largement). Cette machine pourra être hébergé sur une DMZ, c’est à dire un réseau isolé du réseau ou se trouve vos autres machines (ce n’est pas obligatoire mais conseillé pour des raisons de sécurité).

Installation du système sur le serveur

La première étape consiste donc à installer le système sur la machine serveur. Pour cela vous pouvez vous référer aux deux posts suivants selon votre choix:
Installation de FreeBSD
Installation de Fedora

Il n’est pas nécessaire d’installer une interface graphique de type Gnome ou KDE, en effet tout peut être fait en ligne de commande.

Le serveur doit être mis à jour régulièrement au niveau des patchs de sécurité. En effet comme il sera accéssible depuis Internet, il risque de subir des attaques sur les ports réseaux qui seront ouverts.

Installation du serveur LDAP

Le serveur LDAP stockera l’ensembles des informations sur les utilisateurs que vous allez déclarer. Nous utilisons OpenLDAP (suivre la procédure ici).

Installation du serveur de messagerie

Nous allons nous baser sur Postfix qui a le mérite d’être beaucoup plus facile à configurer que Sendmail. Le site suivant est une bonne base en Francais pour la configuraton de se serveur de mail. Pour que le serveur de messagerie utilise les comptes utilisteurs LDAP, on utilisera la documentation suivante.

Si vous avez un nom de domaine, il faudra configurer votre MX pour qu’il pointe vers l’adresse IP publique de votre serveur. Ainsi un mail envoyé à vous@votredomaine.com sera relayé automatiquement vers votre serveur.

Au niveau de votre routeur d’accès, les ports réseaux à ouvrir au niveau du Firewall sont les suivants: POP, SMTP

Pour l’accès via le Web, on peut installer RoundCube, un Webmail très bien fait. Ce dernier nécessite l’installation préalable d’un serveur Web.

Installation du serveur Web

Le serveur Web est le coeur de votre serveur 2.0, on utilisera Apache qui est incontournable… Le post suivant vous aidera à installer le service.

Il faut ensuite installer le moteur de Blog WordPress. Pour cela, il faut d’abord installer un serveur de base de données MySQL puis installer la dernière version de WordPress.

Enfin on installe le serveur de forum PhpBB.

Au niveau de votre routeur d’accès, les ports réseaux à ouvrir au niveau du Firewall sont les suivants: HTTP et HTTPs

Installation du serveur de fichiers

Le serveur de fichiers (FTP) se base sur ProFTPd. On peut trouver une procédure d’installation ici.

Au niveau de votre routeur d’accès, les ports réseaux à ouvrir au niveau du Firewall sont les suivants: FTP, SFTP

Cet article n’est là que pour introduire la notion d’hébergement.
A vous d’installer d’autres services !

Bouquins sur le sujet: