Tutorial: Installer MySQL, PHP et PhpMyAdmin sur Freenas

Cédric
30 novembre 2009

J’ai expliqué il y a quelques temps comment monter son propre NAS et y installer Freenas.

J’avais alors installé Freenas en « full installation » sur une carte Compact Flash, afin de pouvoir y installer d’autres applications.

Parmi ces dernières, j’avais notamment besoin de MySQL, utile pour héberger des sites web, mais surtout pour mon serveur domotique, puisque celui ci enregistre toutes les actions effectuées en base de données.

Je vous explique donc ici comment installer MySQL sur Freenas, et en même temps nous allons installer PHP 5 et phpMyAdmin, histoire d’avoir un serveur web complet.

I. Installation de MySQL

 

Avant de procéder à l’installation, il faut avant tout créer un groupe d’utilisateurs et un utilisateur dédiés à MySQL. On les crée via l’interface web de Freenas:

 

01

02

 

Il faut ensuite se connecter en SSH au serveur Freenas. Personnellement j’utilise Kitty (ou Putty). Il suffit d’indiquer l’adresse IP, cocher SSH, et lancer la connexion.

 

03

 

On vous demande alors le nom d’utilisateur et le mot de passe. S’ils n’ont pas été changés, il s’agit par défaut de root, et freenas. Ne vous étonnez pas si rien n’apparait quand vous saisissez le mot de passe, c’est normal.

Vous devez alors avoir une invite de commande:

 

04

 

Par défaut, MySQL va vouloir stocker les fichiers de la base de données dans le répertoire /var/db/mysql, qui devrait se trouver sur la carte Compact Flash où est installé Freenas. Etant donné que la base de données est appelée à grossir avec le temps, et que je préfère sécuriser les données en les placant sur mes disques en RAID, nous allons donc placer la base de données sur le disque Raid que nous avions monté dans le précédent tutorial (appelé chez moi Volume1 )

A lire également:
Gaming et éclairage connecté : transformez la chambre de votre ado en véritable arène esport !

On va donc créer le répertoire qui accueillera la base de données:

 

# mkdir /mnt/Volume1/db/mysql

 

Puis un lien symbolique vers ce répertoire, qui permettra à MySQL de retrouver ses fichiers:

 

# ln -s /mnt/Volume1/db/mysql /var/db/mysql

 

On donne ensuite toutes les autorisations nécessaires à l’utilisateur mysql (créé précédemment sous Freenas) pour accéder à ces fichiers:

 

# chown -R mysql:mysql /mnt/Volume1/db/mysql

 

Et on autorise tout le monde à créer des fichiers temporaires dans ces répertoires:

 

# chmod 777 /tmp
# chmod 777 /var/tmp

 

On peut maintenant procéder à l’installation de MySQL server. il suffit d’avoir une connexion internet, et de lancer la commande bien connue des utilisateurs linux:

 

# pkg_add -r mysql50-server

 

Il faut ensuite libérer la ligne de commande en tapant:

 

# rehash

 

Puis on lance la création des bases de données par défaut, nécessaires au fonctionnement de MySQL:

 

# mysql_install_db

 

On a alors un message dans ce genre:

 

Installing MySQL system tables…
090819 11:18:58 [Warning] option ‘max_join_size’: unsigned value 18446744073709551615 adjusted to 4294967295
090819 11:18:58 [Warning] option ‘max_join_size’: unsigned value 18446744073709551615 adjusted to 4294967295
OK
Filling help tables…
090819 11:18:58 [Warning] option ‘max_join_size’: unsigned value 18446744073709551615 adjusted to 4294967295
090819 11:18:58 [Warning] option ‘max_join_size’: unsigned value 18446744073709551615 adjusted to 4294967295
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/local/bin/mysqladmin -u root password ‘new-password’
/usr/local/bin/mysqladmin -u root -h freenas.local password ‘new-password’

Alternatively you can run:
/usr/local/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr/local ; /usr/local/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/local/bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com

 

A lire également:
Installation de Frigate sur le mini pc NiPoGi GK3 Plus pour une vidéosurveillance au top !

Il reste ensuite à créer un dernier lien symbolique:

 

ln -s /mnt/Volume1/db/mysql/mysql /usr/local/libexec/

 

Voilà ! Dernière opération: programmer le démarrage de la base de données en même temps que Freenas.

Pour cela il faut aller dans l’interface web de Freenas, menu Système, Avancé, puis onglet rc.conf. Cliquez sur le signe « + » en rouge pour ajouter une nouvelle entrée:

 

05

 

Complétez les champs comme sur la capture, validez, puis cliquez sur « Appliquer les Changements »

Il n’y a plus qu’à redémarrer Freenas pour que toutes les modifications soient prises en compte.

 

II. Installation de PHP 5

 

L’installation de PHP est beaucoup plus simple. Même si Freenas inclue déjà PHP pour son interface web, on préférera installater notre propre PHP afin d’y ajouter les extensions nécessaires.

Il faut donc se reconnecter en SSH à Freenas, puis lancer les commandes suivantes, une à une:

 

# pkg_add -r php5
# pkg_add -r php5-extensions
# pkg_add -r php5-xmlrpc
# pkg_add -r php5-gettext
# pkg_add -r php5-mcrypt
# pkg_add -r php5-mysql
# pkg_add -r php5-mbstring

 

Ces commandes vont se charger d’installer PHP5, et tout ce qui est nécessaire à sa liaison avec MySQL et phpMyAdmin.

A ce moment là l’interface web de Freenas n’est plus accessible, car il y a un conflit entre notre PHP et celui de Freenas. Pas de panique, il faut juste taper ces commandes pour remettre les choses en ordre:

 

# mv /usr/local/bin/php /usr/local/bin/php-cli
# cp /usr/local/bin/php-cgi /usr/local/bin/php

 

Et c’est fini ! MySQL et PHP 5 fonctionnent, ils sont prêts à accueillir vos sites web.

 

III. Installation de phpMyAdmin

 

A lire également:
DSL, fibre optique, LTE, câble et satellite: on fait le point sur les connexions internet

Nous allons maintenant installer phpMyAdmin pour gérer nos bases de données MySQL. Il existe bien sûr d’autres moyens, mais phpMyAdmin est l’un des plus utilisés.

Il faut donc se reconnecter à Freenas en SSH.

Une chose importante à savoir: phpMyAdmin ne peut pas se connecter avec un nom d’utilisateur qui n’a pas de mot de passe. Et lors de l’installation de MySQL, un compte root a été créé automatiquement, sans mot de passe.

Il faut donc saisir les lignes suivantes pour affecter un mot de passe:

 

/usr/local/bin/mysqladmin -u root password ‘mot-de-passe’
/usr/local/bin/mysqladmin -u root -h freenas.local password ‘mot-de-passe’

 

Téléchargez ensuite phpMyAdmin. On peut le faire directement à l’aide de la commande:

 

# fetch http://sourceforge.net/projects/phpmyadmin/files/phpMyAdmin/3.2.1/phpMyAdmin-3.2.1-english.tar.gz

 

en remplacant l’adresse du fichier par la bonne, l’application ayant régulièrement des mises à jour.

Décompressez phpMyAdmin avec

 

# tar -zxvf phpMyAdmin-3.2.1-english.tar.gz

 

et création d’un lien symbolique:

 

# ln -s /mnt/Volume1/apps/phpMyAdmin-3.2.1-english/ /mnt/Volume1/apps/phpMyAdmin

 

On crée maintenant un lien direct pour une utilisation plus facile de phpMyAdmin:

 

# ln -s /mnt/Volume1/apps/phpMyAdmin/ /usr/local/www/phpMyAdmin

 

ce qui permet d’appeler directement l’adresse http://192.168.2.6/phpMyAdmin/ (dans mon cas) pour se connecter à phpMyAdmin.

 

06

 

Il ne reste plus qu’à saisir root et le mot de passe défini plus haut pour vous connecter à la base de donnée. Le reste (création des tables, utilisateurs, etc…) se passe comme d’habitude.

share Partager

Ces articles pourraient aussi vous intéresser:

Gaming et éclairage connecté : transformez la chambre de votre ado en véritable arène esport !

Découvrez comment créer une chambre d'ado gaming immersive en synchronisant l'applique murale et le lustre moderne avec votre setup PC. Guide complet sur les protocoles d'éclairage et solutions connectées pour une expérience de jeu unique.

DSL, fibre optique, LTE, câble et satellite: on fait le point sur les connexions internet

Actuellement, il existe de multiples façons d'accéder à Internet, ou plus précisément, divers types de connexions en ligne. En outre, des tendances comme le télétravail et le streaming de divertissement ne cessent d'augmenter les besoins en bande passante. Pour profiter de services de qualité, il est important de comprendre les différences entre le DSL, le câble, la fibre optique et même la téléphonie mobile, devenue elle aussi un moyen de connexion à internet.

Installation de Frigate sur le mini pc NiPoGi GK3 Plus pour une vidéosurveillance au top !

Ce guide explique comment installer Frigate sur un mini PC NiPoGi GK3 Plus à 200€, pour obtenir un système de vidéosurveillance ultra complet, intégrable à Jeedom ou Home Assistant.

2 réactions

Alexandre Lecoeur
14 septembre 2016

bonjour à tous,

c’est une mauvaise idée d’installer un serveur web directement sur freenas, il faut l’installer dans une jail,

Nazimtef
11 juillet 2017

Bonjour

Regarder se qie me fait le serveur quand je mes :

[root@freenas] ~# pkg_add -r mysql50-server
pkg_add: Command not found.

Quelle est la commende pour faire une installation

Votre réaction
Nom
Adresse de messagerie
Site internet