Star-Killer

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

Tag - configurer un serveur

Fil des billets - Fil des commentaires

dimanche 3 août 2008

Serveur : Apache BDD et PHP

Aujourd'hui je vais installer Apache, des systèmes de bases de données et le support de PHP sur mon serveur. Il peut toujours être utile d'héberger quelques sites chez soit bien que ce ne soit pas l'idéal. D'autre part, AMO aura besoin d'une base de donnée pour gérer une base utilisateur.

Tout d'abord souvenez-vous, j'ai changé le port pour le SSH pour plus de sécurité et bien entendu je ne m'en souviens plus. Utilisons nmap (Trinity l'utilise dans Matrix__ pour vous dire la puissance du truc) qui va nous permettre de scanner tout les ports de la machine distante.

nmap machine_cible -sS (sS pour scanner tout les ports TCP car SSH utilise cette couche)

Et voilà je retrouve mon port SSH non sans difficulté car le nom du service n'apparaît pas dans nmap. Cette outils vous permet également de déterminer d'éventuelle faille dans la sécurité de votre serveur et/ou de déterminer l'OS distant d'un serveur.

On lance un classique apt-get pour installer Apache.

apt-get install apache2

Pour vérifier que cela marche on tape dans la barre d'adresse de notre browser :

http://ipduserveur

Cela devrait afficher une formidable "It's Works", preuve que ça marche effectivement.

On installe ensuite PHP. Je n'aime pas ce langage. Héberger un site sur son serveur, c'est la chance d'avoir accès à un large panel de nouveaux outils dans le développement web. Je pense bien sûr au frameworks django pour développer des sites en Python.

apt-get install php5

On accepte tout les modules à installer et on sirote un vert de menthe pendant le téléchargement.

On installe ensuite MySQL qui est un système de base de donnée de plus en plus déprécie. On conseille maintenant PostgrSQL. Je n'y connais rien donc je vais installer les deux.

apt-get install mysql-server

apt-get install postgresql postgresql-client

Vous allez voir que leur configuration est très similaire.

Pour MySql :

mysqladmin password "unmotdepasse"

On affecte ainsi un mot de passe au compte root.

Pour Postgr :

passwd postgres

C'est ici différent car on affecte un mot de passe à l'utilisateur postgres . Enfin cela revient au même. N'oubliez pas d'effectuer ces opérations en root bien entendu.

On peut rajouter un module Apache pour __php :

apt-get install php5-mysql

Nous sommes presque fin prêt à utiliser notre propre système d'hébergement. Cependant il ne faut pas oublier également l'administration. C'est pourquoi nous allons installer les phpmyadmin pour administrer nos bases de données.

apt-get install phpmyadmin

apt-get install phppgadmin

puis

dpkg-reconfigure phppgadmin

On lui indique que nous utilisons Apache2 et le site sera accessible. Enfin en local seulement, l'administration Postgr va demander plus de configuration et est donc moins user-friendly. Cependant je ne vais pas vous le détailler, car j'ai remarqué qu'il fallait recompiler le packet PHP pour pouvoir profiter de l'administration à distance. Trop lourd pour l'instant. On se contentera de MySQL.

Notre base n'est pas encore opérationnelle. Il faudrait en effet créer une nouvelle base pour pouvoir l'utiliser. Nous verrons cela plus tard pour le faire en ligne de commande. Cela est possible via phpmyadmin donc ne vous en privez pas.

lundi 14 juillet 2008

Configurer un serveur Debian 2

La journée commence par une bourde. J'avais dans ma grande bonté alloué un port pour le ssh hors de la plage de numéro autorisé. C'est une belle bêtise qui m'a obligé à reconnecter un écran et un clavier à la bête.

Mais j'ai d'autres choses plus intéressantes à vous dire. Chez moi, l'espace de stockage est toujours un problème. La faute à une mauvaise gestion de l'espace. Il suffirait de graver les photos et vidéos de vacances pour gagner beaucoup de place sur les disques durs. Mais la flemme aidant nous allons faire quelque chose de beaucoup plus intéressant. Je vais mettre ma musique sur le disque dur du serveur et ainsi le transformer en plate forme multimédia. Le second avantage est de pouvoir y accéder de n'importe où.

Pour cela on va utiliser Samba et ceci pour deux raisons. Nous serons lisible par des ordinateurs sur Linux et sur Windows. Samba intègre nativement une gestion de comptes utilisateurs qui seront suffisant pour assurer la sécurité. Une simple gestion des droits d'écritures et de lectures seront bien suffisant.

On commencer par le classique apt-get install samba. Lors de l'installation une fenêtre devrait s'ouvrir (même lors d'une session ssh !). Vous devez choisir votre espace de travail. Par défaut, vos ordinateurs sous Windows sont dans WORKGROUP. Mettez donc _samba dans le même. Je crois que cette notion n'a plus vraiment lieu d'être avec Vista__, ce n'est donc pas très important.

On se rend ensuite dans /etc/samba/smb.conf. Si vous administrez comme moi votre serveur à distance via ssh, il va falloir utiliser vi. Ce n'est vraiment pas compliqué. Sinon on va en profiter pour installer vnc qui nous permettra de prendre contrôle du serveur à distance et en graphique. C'est une petite révolution qui vous évitera l'utilisation de ssh. Je vous conseil quand même d'essayer de faire l'effort. On retrouve apt-get install xvncviewer vncserver pour installer le nécessaire. On lance ensuite le serveur avec vncserver puis il nous demande de choisir un mot de passe pour sécuriser la connexion. Ensuite on retourne sur le client qui devra utiliser xvncviewer + host:screen. La variable screen identifie la session x que vous voulez utiliser. La plus intéressante est la 0, car c'est le bureau par défaut. Cependant, lorsque vous executez vncserver, celui-ci va vous allouer un autre bureau. Pour pouvoir utiliser le bureau principale, vous aller dans préference -> remote desktop et vous autorisez la prise de contrôle à distance. Tout devrait marcher correctement. Vous pouvez même vous connecter tout d'abord en ssh au serveur. Puis lancer le visionneur vnc en locale si vous voulez crypter la connection. Cela est d'ailleur conseillé. Vous pouvez ainsi réserver la connection svn en locale. Vous aurez ainsi moins de port ouvert sur le monde extèrieur et votre système sera plus sûr. Il n'est j'amais bon de multiplier les portes d'entrées de votre serveur.

Pour en revenir à Samba, j'ai finalement réglé la chose avec gsamba qui permet de configurer en graphique. J'ai été faible j'avous. Je trouve Samba très puissant. Il y a plein d'options, plein d'élements configurables et on s'y perd très vite. Via mon accès ssh j'ai fait quelque bourde en console au niveau de la gestion des utilisateurs qui ont crées plusieurs répertoires inutiles. L'utilitaire graphique m'a permit simplement d'ajouter des utilisateurs et de gérer leur droits. Dernière petite chose : il faut changer une clé de la base de registre d'un pc Windows XP qui voudrait se connecter sur le serveur (pour Vista aucun problème). Lancer regedit dans le menu executer et changer la valeur suivante : HKEY_LOCAL_MACHINE\SYSTEM\ControlSe..."requiresignorseal"= dword:00000000 . Voilà c'est tout.

Je ne suis pas très satisfait de cette configuration. Mes erreurs ont amené à créer plusieurs comptes utilisateurs que je vais devoir supprimer à la main. Cela a aussi crée une arborescence de fichiers inutiles que je vais devoir également supprimer. En bref, utilisez un outil pour configurer samba en graphique. En plus, vous vous rendrez compte beaucoup plus rapidement de la puissance de cet outil et de ses possibilités. On pourrait utiliser SWAT qui est une interface web pour configurer la bête mais je n'ai pas installer le serveur web. Ce sera donc pour de prochaines aventures.

vendredi 11 juillet 2008

Installer un serveur Debian jour 1

Je me suis acheté une petite tour pour faire tourner un serveur web. L'objectif était d'utiliser un processeur basse consommation et de si possible profiter du 64 bits d'AMD. Voici la configuration de la bête.

  • AMD SEMPRON LE-1200 AM2 45 Watt.
  • Carte mère ASUS M2A-VM avec carte graphique intégré.
  • 1Go de ram (DDR2 PC 5300)
  • UN seagate de 80Go.

Coût de la bête 200€. Inutile de dire que les autres produits pour faire office de serveur tel que le linutop sont des arnaques sans nom pour cet emploi.

Bon première chose à faire, télécharger Debian en net-install version AMD64 pour mon cas. Je choisis le partitionnement guidé de mon disque dur en le formatant entièrement. Une seule partition pour le système sa sera plus simple. Il va falloir ensuite choisir le nom de sa machine, d'un utilisateur et du mot de passe du root. Rien de bien méchant. J'ai rajouté à la fin de l'installation, le pack de serveur web pour ne pas avoir par la suite à me taper l'installation de apache et compagnie. Pour les galériens, ce n'est vraiment pas compliqué. Il suffit d'utiliser la commande Aptitude install suivit du nom du logiciel et c'est parti.

Passons aux choses plus amusantes. Un serveur par définition, c'est une machine qui n'a pas d'écran, pas de clavier et que idéalement on met dans un placard et qu'on débranche juste le jour d'un déménagement. Donc on doit pouvoir l'administrer à distance. On l'installe pour cela Open SSH : apt-get install openssh-server . Pour se connecter on aura plus qu'a taper ssh + host pour se connecter. A partir d'un linux j'entends. SI vous êtes sur Windows utilisez Putty. On va maintenant configurer le ssh. Pour cela on se rend à : /etc/ssh/sshd_config . On ouvre ceci avec sudo et gedit par exemple. Il faut ensuite interdire la connexion du root par ssh et changer le port par défaut de SSH. Ceci étant fait, votre système est grossièrement sécurisé et devrait leurrer la plus part des root kit et autres joyeusetés.

La dernière étape de ce tutoriel expéditif est de vous permettre d'exécuter des commandes root sur le serveur à partir de votre accès ssh. En effet vous aurez notez qu'on a interdit la connexion du root (pour de simple question de sécurité, lorsque que quelqu'un tente de s'introduire sur votre serveur, il doit connaître votre login et votre mot de passe. S'il connaît déjà le nom d'utilisateur, vous lui facilitez la moitié du travail). Pour cela, on va utiliser sudo. Je remercie Benj pour m'avoir permis de franchir cette étape de la manière la plus grossière possible. On doit ajouter une ligne au fichier sudoers pour permettre à notre user d'accéder temporairement aux privilèges root. Ce fichier a les permissions 440. En clair vous ne pouvez rien faire. Faîtes : chmod 740 /etc/sudoers . Voilà, vous pouvez maintenant éditer le fichier sudoers avec gedit par exemple et ajouter la ligne manquante. Cherchez la ligne avec root et recopiez la à la ligne suivante. Modifiez simplement root par le nom d'utilisateur que vous utiliserez. N'oubliez pas ensuite de remettre le fichier sudoers en droit 440 sinon cela ne marchera pas. Voilà vous êtes devenu plus intelligent, vous n'avez pas suivi les conseils des mecs de Debian qui vous demandez d'utiliser visudo qui n'est rien d'autre qu'un ersatz de vi, un horrible vieux monsieur encore très pratique. Voilà c'est fini pour aujourd'hui.

serveur

   Le pc portable sobrement appelé Kadora, le vieux Tyrell au premier plan qui prend sa retraite, kadora-pc-win en blanc qui est vendu et le nouveau Tyrell en noir dans son boitier tout moche.