Archives du mot-clé Serveur

Le Shadok : mon premier mini-PC

Un mini-PC est, comme cela le laisse entendre, un ordinateur de taille réduite. Ces machines obéissent à des standards de miniaturisation et d’économie d’énergie un peu à la manière des ordinateurs portables. La mise en place d’un tel système me trottais en tête depuis un certain temps, mais l’occasion ne s’était pas encore présente jusqu’au jour où j’ai eu besoin de mettre en place un serveur de sauvegarde distant.

1. Définition du besoin

Afin de sécuriser les données d’une entreprise, il a été nécessaire de mettre en place un serveur de sauvegarde distant. L’idée était d’implémenter un serveur BackupPC dans une machine de faible taille, produisant peu de chaleur et de bruit pouvant être installé au domicile du PDG. À travers la connexion ADSL personnelle de ce dernier, il serait possible de lancer des sauvegardes automatiques chaque nuit.

  • Comme la machine serait allumée en permanence dans un lieu de vie, les objectifs ont été vite définis:
  • Puissance suffisante pour faire fonctionner Ubuntu avec un BackupPC,
  • Dégagement de chaleur minimum pour utiliser des systèmes de refroidissement passif,
  • Compacité maximale pour ne pas monopoliser l’espace du domicile.

2. Solution technique

Il est maintenant possible de trouver sur le marché des cartes mères au format Mini ITX standardisées par l’entreprise VIA. Il s’agit de carte de 17cm de côté embarquant les chipsets nécessaires à la gestion de périphérique réseau, vidéos, audios et autre. Selon les modèles, il est possible d’opter soit pour des cartes pouvant supporter divers types de processeur (Intel ou AMD) soit pour des cartes mères proposant un processeur embarqué.

Dans mon cas de figure, puisque je n’ai besoin que de peu de performance dans la mesure où BackupPC ne sauvegardera qu’un seul client, mais que je recherche le silence, j’ai opté pour un modèle embarquant un processeur C7. Les processeurs C7 reposent sur la technologie de Cyrix qui a été rachetée par VIA en 1999. Ces processeurs ont le double avantage de très bien fonctionner dans des environnements GNU/Linux et de ne nécessiter qu’un refroidissement passif.

Mon choix s’est porté sur la carte EPIA LN1000 équipée d’un C7 cadencé à 1GHz et d’un contrôleur réseau Ethernet 10/100 bien supérieur au débit ADSL maximum de mon installation (photo VIA Tech sans le dissipateur thermique).

J’ai accompagné cette carte mère, coeur du système, d’un boitier industriel comportant une alimentation non ventilée, d’une carte mémoire de 1Go et d’un disque dur de 2,5″ (format portable) de 120Go largement suffisant pour supporter la sauvegarde récursive de 20Go de données.

3. Montage et installation

Je me suis procuré l’ensemble du matériel auprès de la société Think ITX qui propose de nombreuses pièces informatiques adaptées au format Mini ITX. C’est un des rares prestataires français à proposer de telle référence à un prix honnête. Leur seul défaut, probablement dût à un faible volume de vente, est le délai de livraison relativement long : comptez minimum deux semaines pour être livré. Cependant, la difficulté d’approvisionnement est telle qu’il faut savoir attendre.

L’assemblage des pièces n’est pas très compliqué si ce n’est qu’il faut parfois un minimum d’adresse pour assembler des appareillages si petits, cependant le résultat a été concluant au bout d’une demi-heure de travail. Je vous laisse constater le résultat.

La taille externe de l’appareil une fois monté reste très raisonnable : 195 mm (largeur) x 55 mm (hauteur) x 267 mm (profondeur).
J’ai évidemment opté pour un système GNU/Linux, une version Gutsy du serveur Ubuntu qui m’a permis d’installer très facilement un serveur BackupPC. Le matériel a parfaitement été reconnu par GNU/Linux, processeur compris :

nico@shadock:~$ lspci
00:00.0 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge
00:00.1 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge
00:00.2 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge
00:00.3 Host bridge: VIA Technologies, Inc. PT890 Host Bridge
00:00.4 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge
00:00.7 Host bridge: VIA Technologies, Inc. CN700/VN800/P4M800CE/Pro Host Bridge
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237 PCI Bridge00:0f.0 IDE interface: VIA Technologies, Inc. VIA VT6420 SATA RAID Controller (rev 80)
00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPCBus Master IDE (rev 06)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78)
01:00.0 VGA compatible controller: VIA Technologies, Inc. UniChrome Pro IGP (rev 01)ad
nico@shadock:~$ cat /proc/cpuinfo
processor     : 0
vendor_id     : CentaurHauls
cpu family    : 6
model         : 10
model name    : VIA Esther processor 1000MHz
stepping      : 9
cpu MHz       : 997.560
cache size    : 128 KB
fdiv_bug      : no
hlt_bug       : no
f00f_bug      : no
coma_bug      : no
fpu           : yes
fpu_exception : yes
cpuid level   : 1
wp            : yes
flags         : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge cmovpat clflush acpi mmx fxsr sse sse2 tm up pni est tm2 rng rng_en ace ace_enace2 ace2_en phe phe_en pmm pmm_en
bogomips      : 1997.11cl
flush size  : 64

4. Conclusion

Ce type de matériel répond parfaitement à mes exigences. D’une part, il est tout à fait silencieux, car dépourvu de ventilateur, seul le disque dur est très légèrement audible lors des copies de sauvegarde. D’autre part, sa mise en place d’est révélée facile et l’appareillage très discret. Enfin, le prix du matériel et resté très agressif.
J’avais une petite appréhension concernant la performance du processeur notamment lors de ses tâches nocturnes de tri et de compression des données, mais, finalement, il reste très largement sous-exploité comme vous pouvez le constater dans la capture ci-après (le système est monitoré avec l’outil cacti).

J’envisage par ailleurs de mettre en service un système embarqué pour remplacer mon gros serveur de production qui sauvegarde plus de 20 clients dans l’administration qui m’emploie. Cela me permettrait d’avoir un serveur de sauvegarde de la taille d’un gros switch rackable que je pourrais déporter dans une baie secondaire de ma rocade optique.

MySQL GUI tools for 5.0 : exit CocoaMysql !

Dans des billets précédents concernant la mise en place d’un serveur MAMP sur Panther et sur Tiger, j’avais évoqué l’utilisation de CocoaMySQL pour gérer les bases de données avec un outil graphique. Cet outil n’a pas évolué depuis fort longtemps et comme j’ai récemment appris que MySQL fournissait gratuitement une GUI pour ses produits je me propose de vous le présenter.

Continuer la lecture de MySQL GUI tools for 5.0 : exit CocoaMysql ! 

PHP/MySQL pour Mac OS X 10.4

Le but de ce document est de mettre en place un serveur Internet type « PHP/MySQL » sur une plateforme Mac OS X principalement dans un but pédagogique d’autoformation, c’est-à-dire disposer de ce qu’il faut pour développer un site en local avant de le publier sur Internet.

PHP [Sigle, de l’anglais « Personal Home Page » puis « PHP: Hypertext Preprocessor« ]: Langage de script orienté objet permettant de gérer un site web de A à Z, en allant de la simple génération de documents HTML à la production d’image GIF à la volée en passant par les requêtes aux serveurs de données, l’envoi automatique de mails ou encore le chiffrement. Il est très très complet et évolue vite, en parfaite adéquation avec le couple terrible Linux/Apache. C’est un logiciel libre. (Source: Jargon FR)

MySQL [Sigle, de l’anglais My Simple Query Language]: Système de Gestion de base de données relationnelles dont les principales qualités sont d’être libre et partiellement gratuit. Il est très utilisé pour mettre en ligne sur le web de petite base de données. (Source: Jargon FR)

Mac OS X [Abbreviation]: Macintosh Operating System X: Dernière série de système d’exploitation des ordinateurs Macintosh de la Marque Apple. Le X représente à la fois la 10ème génération du logiciel et le symbole du système Unix sur lequel il repose.

Nota: Ce document est compatible Mac OS X 10.4, pour la version 10.3 consultez mon article précédent.

Prérequis: Un peu d’aisance avec Mac OS X 10.4.

1 – Introduction

Ayant renouvelé plusieurs fois l’aventure d’installer et de supprimer PHP/MySQL de mon système, j’ai voulu présenter ici la méthode la plus facile à installer, et (au cas où…) la plus facile à désinstaller. De plus je cherche à conserver – et à utiliser – au maximum les fonctionnalités déjà disponibles sur Mac OS X.

1.1 – Mais j’ai déjà tout le nécessaire non?

Exact, Mac OS X dispose déjà d’un serveur web : il s’agit d’un Apache en version 1.3.29 mais ne propose pas de base le gestionnaire de base de données MySQL. De plus, le module PHP installé d’office en version 4.x n’est pas activé, nous profiterons donc du passage à Tiger pour passer en PHP 5.x.

Pour info:

  • Dossier d’Apache : /private/etc/httpd/
  • Aide d’Apache : /Library/Documentation/Services/Apache/

1.2 – Aperçu du « Partage Web Personnel »

La notion de site Internet, pour Mac OS X, est intimement associé à la notion de partage. Par conséquent l’activation du service Apache se fait aussi simplement que l’activation du partage de fichier c’est à dire en passant par l’interface des Préférences Système. En voici un petit aperçu :

1.3 – Où dois-je mettre les fichiers de mon site Web ?

En réalité, Mac OS X permet de gérer deux types de sites internet : un site global et des sites personnels. J’entends par « site global » un site qui est propre à l’ordinateur par opposition aux « sites personnels » propre à chacun des utilisateurs. Cette gestion de site est comparable à celle de tous les autres systèmes Unix.

Le « site gobal »

  • Dans le finder : Finder -> Bibliothèque/WebServer/Documents/
  • En console : /Library/WebServer/Documents
  • Adresse : http://localhost (on peut remplacer « localhost » par le nom ou l’adresse IP de l’odinateur)

Le « site personnel »

  • Dans le finder : Finder -> NomUtilisateur/Sites/
  • En console : /users/NomUtilisateur/Sites/
  • Adresse : http://localhost/~NomUtilisateur

1.4 – Plusieurs méthodes pour PHP et MySQL

Etant donnée la parenté entre Mac OS X et le monde Unix il est tout à fait possible de récupérer les sources des différents utilitaires et de les compiler soit même, « à la main ». Il existe aussi des packages tout prêt contenant la totalité des trois logiciels. Afin de pouvoir utiliser d’autres outils reposant sur Apache ou MySQL sans me confronter à des problèmes de compatibilité et éviter d’avoir des doubles installations, je prévois de procéder de la manière suivante :

  • Conserver l’instance d’Apache d’origine (la nouvelle version n’apportent pas grand chose dans ce contexte)
  • Mettre en place un serveur MySQL
  • Activer le support de PHP5 sans supprimer les modules de PHP4

Ces manipulations répondent à deux principes de base :

  • Conservation de l’existant
  • Possibilité de désinstaller individuellement des packages ajoutés pour revenir à l’état d’origine.

2 – Installer MySQL 5.0.13

2.1 – Instructions d’installation

Depuis la version 4.0.11 l’entreprise MySQL propose en téléchargement des packages de MySQL pour Mac OSX qui fonctionne parfaitement bien, je vous invite donc à télécharger la dernière version de MySQL sur le site officiel. Une fois l’image disque téléchargée, il est très facile d’installer MySQL 5.0.13:

  • Lancez Mmysql-max-5.0.13-rc-osx10.4-powerpc.pkg et suivez les intructions pour installer le serveur.
  • Lancez MYSQL.prefPane pour ajouter l’outil de gestion dans les préférence systèmes.

Pour lancer MySQL il suffit alors de cliquer sur le bouton « Start MySQL Server » et de renseigner le mot de passe de l’utilisateur.

2.2 – Lancement de MySQL dans une utilisation courante

Pour lancer automatiquement le service mysql à chaque démarrage de votre ordinateur il faut installer le module MySQLStartupItem.pkg sans quoi le fait de cocher la case « Automatically start MySQL Server at Startup » sera sans aucun effet.

3 – Installer PHP5

Comme on l’a dit plus haut, PHP4 est déjà installé sur OS X (à partir de la version 10.3), mais n’est pas activé par défaut. Ici, nous choisirons de le laisser désactivé et d’installer plutôt PHP5, plus moderne. Si vous souhaitez quand même utiliser PHP4, vous pouvez suivre ces instructions.

Mise à jour du 29 octobre 2012 : les informations qui suivent ne sont plus d’actualité. Mac Liyanage ne met plus à jour le paquet PHP depuis OS X Lion. Pour plus d’information rendez-vous sur le site http://php-osx.liip.ch.

Le package PHP5 disponible sur le site de Marc Liyanage correspond parfaitement à ce dont nous avons besoin : un installateur PHP5 pré-compilé pour la plateforme Mac OS X. Son installation et sa mise en route sont simplissimes.

3.1 – Instructions d’installation

Récupérez le package PHP5 compilé pour Mac OS X sur le site de Marc Liyanage. Lancez l’installation et suivez les instructions… Et voila reste juste à tester si ça marche.

3.2 – Tester

Nous allons créer un fichier php pour voir ce que cela donne :

  • Vérifiez que le partage web personnel est activé.
  • Dans /Library/WebServer/Documents/ effacer tout le contenu
  • Avec TextEdit créer un fichier texte contenant <?php phpinfo(); ?>, enregistrez le sous version.php
  • Dans votre explorateur, tapez http://localhost/version.php

Si cela affiche un tableau bleu avec l’entête PHP que vous pouvez voir juste au debut de cette rubrique cela fonctionne. Si la page reste blanche vous avez du rater quelque chose…

4 – Mise en place de CocoaMySQL

4.1 – Présentation

CocoaMySQL est une application graphique spécialement développée pour Mac OS X: elle tire son nom du langag
e de programmation d’Apple nommée Cocoa. Elle permet de prendre totalement en main, et très facilement grâce à la qualité de son interface graphique, une base de donnée MySQL locale ou distante. Ce programme se substitue parfaitement à PHPMyAdmin que je présentait dans une ancienne version de ce document.

4.2 – Installation

L’installation, comme toujours avec Mac OS X est très simple. Elle se résume en ces quelques phases:

  • Récupérez l’application ici.
  • Décompressez l’image.
  • Copiez CocoaMySQL dans le répertoire application.

4.3 – Utilisation

Au lancement CocoaMySQL vous demandera à quelle base vous connecter, dans notre cas il s’agira de spécifier localhost pour le serveur, le compte root n’a pas de mot de passe. Après… à vous de découvrir, l’aide est assez fournie.

5 – Je suis pas content je veux tout désinstaller

Cette ultime rubrique à pour but de vous indiquer comment supprimer chacun des applicatifs précédement installé. En cas de problèmes cela vous permettera de retourner à votre configuration d’origine. Dans tous les cas je vous conseille de la lire, cela vous permettra de mieux comprendre le fonctionnement de ces logiciels.

5.1 – Désinstaller CocaMySQL

Comme pour beaucoup d’application prévues pour Mac OS X, il suffit d’ouvrir le répertoire applications et de glisser le programme CocoaMySQL vers la corbeille.

5.2 – Désinstaller PHP5

Tout d’abord vous devez supprimer les appels d’Apache vers celui ci.

  • Lancer un terminal
  • Editer le fichier de configuration d’Apache: sudo pico /private/etc/httpd/httpd.conf
  • Supprimer les lignes faisant appel à PHP5 (voir l’encart ci-après)
  • Quitter avec [Ctrl] + [X]
  • Confirmez l’enregistrement avec [Y]
# begin entropy.ch PHP module activation
Include /usr/local/php5/httpd.conf.php
# end entropy.ch PHP module activation
# begin entropy.ch PHP module activation
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
DirectoryIndex index.html index.php
# end entropy.ch PHP module activation

Après quoi vous pouvez supprimer les fichiers de PHP5 qui se trouvent tous dans le même répertoire: sudo rm -rf /usr/local/php5

5.3 – Désinstaller MySQL

La désinstallation complète de MySQL n’est pas très compliqué du moment que vous soyez un tantinet procédurier. Elle se déroule de la manière suivante :

Suppression du service et des bases:

  • Lancer un Terminal
  • Supprimer le server MySQL
    • Supprimer le service: sudo rm -rf /usr/local/mysql-max-5.0.13-rc-osx10.4-powerpc
    • Supprimer les fichiers d’installation:
      sudo rm -rf /Library/Receipts/mysql-max-5.0.13-rc-osx10.4-powerpc.pkg
  • Supprimer l’utilitaire des préférences système: /Library/PreferencePanes/MySQL.prefPane
  • Supprimer l’utilitaire de lancement automatique si vous l’aviez installé:
    • Supprimer l’utilitaire: sudo rm -rf /Library/StartupItems/MySQLCOM
    • Supprimer les fichiers d’installation: sudo rm -rf /Library/Receipts/MySQLStartupItem.pkg

6. Liens et informations