Transformer le DNS-323 en serveur Web: PHP + mySQL + LigHTTPd

Brunette and Blonde Babe D-Link-DNS323_PHP-MySQL

Le DNS-323 de D-Link est un NAS dont les fonctionalités peuvent facilement être enrichies à l’aide des packages adéquat. Après vous avoir expliqué comment installer Samba sur cette petite baie de stockage réseau, je vous propose aujourd’hui un nouveau tuto, vous montrant pas à pas comment transformer le DNS-323 en petit serveur Web. Pour cela nous allons utiliser Light HTTPd, un serveur  HTTP très légé  dont l’empreinte mémoire et CPU est plus réduite que celle de son célèbre conccurent Apache. La deuxième étape, explique comment mettre en place MySQL de manière à ce que vous ayez la possibilité de gérer des bases de données. (indispensable à de nombreux CMS comme WordPress)

Toutes les étapes qui suivent sont à réaliser depuis une console Telnet ou via SSH (Putty c’est très bien! 🙂 )

1. Une fois connecté, placez vous dans le répertoire de téléchargement que vous aurez créé sur mnt/HD_a2 et ensuite récupérez les 2 packages successivement à l’aide des commandes ci-dessous:

wget http://81.216.140.39/dns-323/mysql_and_php/php-5.2.6-mysql51-1.tgz

wget http://81.216.140.39/dns-323/mysql_and_php/mysql-5.1.28-rc-1.tgz

2. Installer les packages comme suit:

funpkg -i mysql-5.*.tgz
funpkg -i php-5.2.6-mysql5*.tgz

3. Configurer lighttpd -> déplacez le fichier de configuration et changez les droits:

cp ffp/etc/examples/lighttpd.conf-with-php ffp/etc/lighttpd.conf
/mnt/HD_a2 # chmod +x ffp/start/lighttpd.sh

cp /ffp/etc/examples/my.cnf /ffp/etc/
copier /exemples/php.ini-recommended dans etc/php.ini et ajouter lex extensions:
editer le fichier php.ini:
extension=gd.so
extension=mysql.so
extension=pdo.so
extension=pdo_mysql.so
changer le paramètre:
extension_dir = « /ffp/lib/php/extensions/no-debug-non-zts-20060613/ »

lighttpd.sh

4. Créer les répertoires qui vont se charger d’accueillir votre contenu web (page html, php, images…)

/mnt/HD_a2 # mkdir -p www/pages
/mnt/HD_a2 # mkdir -p www/logs
/mnt/HD_a2 # chmod 0777 www/pages

5. Lancer le serveur HTTP:

/mnt/HD_a2 # ./ffp/start/lighttpd.sh start

starting_lighttpd

6. Ouvrez votre naviguateur et rentrez l’adresse IP du NAS et une page devrait s’afficher. Il ne vous reste plus qu’à déposer dans le dossier www/pages les documents à publier en ligne. 😉

exemple: http://192.168.1.250:8080

____________________________________________________________________

Installer MySQL et créez votre base, lancez simplement: mysql_install_db

Vous devriez voir l’installation défiler quelques instants avant d’arriver sur cet écran.

sql

En faisant la commande  mysqkadmin –p version, vous constaterez que tout est bien installé

sql_show_version

Vous pouvez ensuite lancer le SQL Monitor pour manipuler vos bases, tables, colonnes…
cd /mnt/HD_a2/ffp/bin # mysql

Vous pouvez par exemple effacer la base test:
DROP DATABASE test;

drop_tables

17 Comments

  1. bonjour a tous,

    Je suis bloquer a la phase 3 de l’installation ( configurer lighttpd ) sa me marque
    permission denied et impossible de changer les autorisations ,quelqu’un aurait une idee pour me depanner?

    merci d’avance

  2. Moi sa me fait une erreur 403 forbidden quand je met des fichiers php et pour le mysql il me demande un mot de passe d’ont je ne connait pas

  3. Bonjour,

    Tout d’abord merci pour ce tuto.
    Merci de donner toute la procédure pour l’installation, mais serait-il possible d’avoir la procédure pour la désinstallation ?
    JE me suis lancé dans l’inconnu avec ce tuto (très bien fait), mais comme je ne maîtrise pas du tout, je suis incapable désinstaller.

    MErci.

  4. Bonjour,

    super tuto, par contre, j’ai un pb, quand je veux lancer le serveur http, j’ai ce message d’erreur:
    /ffp/bin/sh: /mnt/HD_a2: Permission denied

    merci de votre aide

  5. Bonjour,
    Merci pour ce super tuto, je suis arrivé au bout sans problème, mais lorsque je veux afficher la version de mysql à la fin on me demande un mot de passe que je n’ai pas :s

  6. Bonjour tout le monde,
    je voulais demander à Gizsmo,Christ ou Pierro, comment avez vous fait pour editer le fichier .ini.

    Je suis débutant sous linux

    Grand merci

  7. Bonjour,
    apres avoir tout effectué arrivé sur le mysqlshow -p version
    voici le message indiqué, j’ai fait different recherche mais je n’arrive pas a savoir ou se trouve le mysql/sock.
    Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

    merci de votre aide.

  8. bonjour suis comme bertrand
    en suis là « copier /exemples/php.ini-recommended dans etc/php.ini et ajouter lex extensions: »

    pour la copie nickel c’est apres que je bloque
    et pour la partie

    extension=gd.so
    extension=mysql.so
    extension=pdo.so
    extension=pdo_mysql.so

    comment ça marche

  9. Bjr,
    Pour éditer php.ini, utiliser la commande vi (suivre ce lien pour plus de détails) : http://www.linux-france.org/article/debutant/debutant-linux.html#vi

    Sinon, le plus simple est d’ouvrir le fichier avec un éditeur genre wordpad et de le réenregistrer ensuite (! attention à ne pas changer l’extension).

    Si problème de droit à l’enregistrement du fichier modifié, une autre possibilité consiste à copier le fichier sur la racine par exemple, à le modifier avec wordpad et utiliser ensuite via telnet ou ssh, la commande cp pour le remettre à son emplacement d’origine ffp/etc.

    Essayez la commande directe avant …

  10. Bonjour,
    Merci pour ce super tuto et tout le fil de discussion qui a suivi.
    J’ai tout installé sans problème. J’ai toutefois un p’tit problème ‘dans ma plantation’ :-).
    Mes questions sont les suivantes (je précise que je suis noob):
    1. Ai-je besoin d’installer samba avant d’installer PHP mySQL Lighttpd ?
    2. Est-il possible d’installer webmin pour piloter à distance ?
    3. Y a t-il des moyens de tester à partir de l’extérieur que ma sécurité fonctionne (quelques astuces de hackers par exemple ) 🙂
    4. Je n’arrive pas à lire via la freebox, mes fichiers videos stockés sur le NAS (je les vois bien mais dès que j’appuie sur le bouton lire de la télécommande, rien ne se passe. UPNP est bien activé).
    5. C’est quoi le système natif de base installé dans le firmware ? je veux dire quel linux ?
    6. Pas moyen d’accéder au monitoring de mysql avec cd /mnt/HD_a2/ffp/bin # mysql
    Visiblement un problème de mot de passe que je n’ai jamais défini pourtant.
    7. Est-ce possible d’installer joomla sur mon nas ? Comment ?
    Merci à toutes et à tous.

  11. Je viens de réaliser ce tuto.

    Il marche nikel mais nécessite quand même quelques connaissance en commande Unix.
    Pour ceux qui bloque à l’étape 3 il suffit de mettre « cd .. ».
    et il ne faut pas tapper le « /mnt/HD_a2 # » qui représente le début de la ligne de commande sous telnet. Je pense que si vous bloquez sur ça, vous n’avez aucune idée de ce que vous faites.

    étape 4 :
    J’ai eu un conflit entre :
    extension=mysql.so
    et
    extension=msql.so
    avec le ‘y’ ça passait pas j’ai du renommer le fichier se trouvant dans le fichier extension.
    Sans cette modification phpmyadmin ne fonctionne pas.
    C’est apparemment du à un changement de nom d’une version à l’autre.

    Plus loin dans le tuto y a une erreur de frappe sur la commande « mysqkadmin –p » il faut évidemment mettre un « l » au lieu du « k »
    J’ai eu une erreur avec mon fichier « my.stock », j’ai complètement oublié comment je l’ai résolu.
    Je crois que j’ai lancé mysql manuellement en allant dans /start et en rendant exécutable le ficher « .sh ».

    Il est fortement conseiller de lancer ./bin/mysql_secure_installation

    Le mot de passe par défaut de « root » est nul.
    N’importe qui de l’extérieur peut donc accéder à la base.
    Après avoir fait ça il faudra mettre -p derrivere les commandes mysqladmin mysqlshow et mysql pour préciser que l’on se connecte avec mot de passe.

    Je pense aussi qu’il faut désactiver l’accès à telnet une fois la customization effectuée.

    Pour l’installation de phpmysql je me suis contenter de faire un copier/coller de la version de mysql contenu dans mon easyphp. Etant donné que j’ai entré les même login et pass sur la base ça a marché direct.

    Merci pour ce tuto

1 Trackback / Pingback

  1. NAS by cybman - Pearltrees

Répondre à Gizmo Annuler la réponse

Votre adresse de messagerie ne sera pas publiée.


*