Review
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:
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.
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:
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 )
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
OKTo start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your systemPLEASE 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_installationwhich 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.plPlease 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
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:
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.




















salut je voulais savoir quand tu va faire un video pour faire un server php il as tu t’autre programe qui peux marcher avec freenas
les mot de parse ne marche pas que tu dit merci de respond :)
hey mon ami j’aurais besoin un video pour savoir comment tu fait sa
Bonjour et MERCI pour le tuto
J’ai l’erreur suivante :
freenas:~# pkg_add -r mysql50-server
Error: Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.3-release/Latest/mysql50-server.tbz: File unavailable (e.g., file not found, no access)
pkg_add: unable to fetch ‘ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.3-release/Latest/mysql50-server.tbz‘ by URL
freenas:~#
Si quelqu’un a une idee merci d’avance
J’ai trouvé :
pkg_add -r ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.4-release/Latest/mysql50-server.tbz
excuse moi te deranger je suis sur le meme projet si tu veux bien me dire si sa marcher pis comment tu fait pour l’intaler
Error: Unable to get ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7.3-release/Latest/php5.tbz: File unavailable (e.g., file not found, no access)
quel qun pourais m’aider pour sa svp
sa serais vraiment gentit parse que je suis bloquer la merci d’avance
bonjour
pour commencer merci pour toutes les infos sur freenas
concernat le problèmes enable to get
voici la solution
en ssh
setenv PACKAGESROOT ftp://149.20.64.73 (adresse de freebsd.org)
setenv PACKAGESITE ftp://149.20.64.73/pub/FreeBSD/ports/i386/packages-7.4-release/latest/
une fois qu’on connait la commande pour changer l’adresse cela fonctionne impec
voila j’espere que cela vous aidera si vous êtes dans le même cas que moi
Salut à tous,
Merci Powerslave. Juste une petite correction sur le lien: il faut une majuscule à /Latest/ -> ftp://149.20.64.73/pub/FreeBSD/ports/i386/packages-7.4-release/Latest/)
Par contre je suis maintenant face à un autre problème : /var: write failed, filesystem is full
Je suis niveau débutant en Linux et cela n’a pas l’air si simple de redimensionner une partition sous FreeBSD sans toutes les fonctionnalités.
Pouvez-vous m’aider ? Merci d’avance :)
Salut
J ai un petit problème tous se pass très bien jusque là :
freenas:~# /usr/local/bin/mysqladmin -u root password mysql
/usr/local/bin/mysqladmin: connect to server at ‘localhost’ failed
error: ‘Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)’
Check that mysqld is running and that the socket: ‘/tmp/mysql.sock’ exists!
Merci
Bonjour,
J’ai le même problème que vous!
Je cherche des solutions mais rien d’efficace pour l’instant,
Si quelqu’un a une solution, je suis preneur!
Merci
J’ai réinstallé freenas 7.3 et j’ai eu ce problème avec Mysql, enfin tous cela n’est pas très sérieux mais avec beaucoup de ténacité on fini par trouver des solutions :
avec freenas 7.3 pour installer les package avec pkg_add il faut initier les variables d’environnement, sinon pkg_add pointe sur un ftp qui n’existe plus !!! :
PACKAGEROOT et PACKAGESITE dans le fichier ~/.cshrc
setenv PACKAGESITE ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-stable/Latest/
setenv PACKAGEROOT ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/
pour que ces variables soit actives sans rebooter freenas, il faut aussi exécuter ces commandes.
On peut voir la liste des versions des packages à cette adresse : ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-stable/Latest/
La dernière version de mysql est mysql55-server, et de php est php52, donc on peut suivre le tuto de Cédric pour télécharger avec ces versions.
Le problème est que le package de mysql est buggé (quelque soit la version de freenas !!!)
J’avais avant tenté de charger la version 8 de freenas, mais il fallait absolument que je récupère la version 7 car la version 8 était incapable de monter des disques dur formatés en raid1 sur freenas 7 !!!
je dis ça, car pour faire fonctionner mysql55 j’ai du récupérer des fichiers présents sur freenas 8 . Grace au webgui de freenas 7, j’ai donc monté un volume accédant à la clef usb ou était installé freenas 8 accessible sur /mnt/clefUsb
pour démarrer mysql il faut exécuter le fichier :
sh /usr/local/etc/rc.d/mysql-server start
ce shell répond qu’il manque un fichier deamon qui devait être présent dans le répertoire /usr/sbin, après quelques recherches je constate qu’il est présent sur freenas 8, donc je fais la copie :
cp /mnt/clefUsb/usr/sbin/daemon /usr/sbin
je ré-exécute la commande :
sh /usr/local/etc/rc.d/mysql-server start
Il me dit qu’il manque un fichier libutil.so.8, celui-ci est aussi présent sur freenas 8 donc je le copie :
cp /mnt/clefUsb/lib/libutil.so.8 /lib
je ré-exécute la commande :
sh /usr/local/etc/rc.d/mysql-server start
et miracle tout fonctionne !!!
conclusion :
il semblerait que les packages présent dans ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-7-stable/Latest/ soient en réalité compatible avec freenas 8 et non freenas 7 et qu’il suffit de récupérer deux fichiers présent sur freenas 8 pour faire fonctionner mysql55 sur freenas 7.
Je précise qu’avant j’avais essayé d’installer des versions antérieures de mysql mais AUCUNE ne fonctionnait du premier coup.
C’est pas vraiment au point cette histoire de freenas, si on n’est pas un peu informaticien de haute voltige on ne peut pas faire grand chose !!!! sur ce plan aucun forum ne m’a aidé.
[...] Tutorial: Installer MySQL, PHP et PhpMyAdmin sur Freenas | Maison et Domotique [...]
Bonjour.
Je voudrais savoir comment faire pour installer mysql sur freenas en sachant que tout ce qui est expliqué ne fonctionne pas le lien ftp://149.20.64.73/pub/FreeBSD/ports/i386/packages-7.4-release/Latest/ ne fonctionne pas j’ai fait tout ce qui est dit dans les commentaire et rien ne fonctionne des solution??? je suis sur la version 0.7.2 Sabanda et la version de l’OS freeBSD 7.3.
Merci pour vos réponses