Catégories
Développement

Développer sous linux

Dans le cadre de mon travail, j’ai pu développer des applications sous le système Linux, et notamment l’os Kubuntu (bien pratique car qui intègre déjà un bureau KDE)

Ne travaillant plus et voulant tout de même privilégier le développement sous Linux, j’ai installé une machine virtuelle sur mon poste de travail windows.

Voici les démarches à suivre.

Installation de Virtualbox en 64 bits.

Attention, dans l’installer de virtualbox, ce dernier précise bien qu’il faut installer les visual C++ pour faire marcher le logiciel.

Dans mon cas il me manquait le Redistribuable Visual C++ pour Visual Studio 2015.

Il faut également télécharger un iso de la distribution voulu. Ici j’ai pris le kubuntu 16.04.1 LTS en 64 bits.

Il peut arriver que lorsqu’on crée une nouvelle machine virtuelle (bouton « nouvelle » dans virtualbox), ce dernier ne propose que des distributions en 32 bits.
Pour ma part j’ai du aller vérifier dans le bios que « Intel (R) Virtualization Technology était bien activé donc « enabled ». Après cela les distributions 64 bits s’affichaient bien.

Création d’une nouvelle machine :
– taille de la mémoire 4Go (4096)
– créer un disque dur virtuel maintenant : type de fichier de disque dur VDI.
– taille dynamiquement alloué
– 20 Go pour avoir la place nécessaire d’installer l’os.

Ensuite configuration :
– dans système, mettre le disque dur en premier dans l’ordre d’amorçage.
– onglet processeur, en mettre 2
– dans affichage, cocher  « Activer l’accélération 3d ».

Lancer la machine, et on devrait avoir la version de kubuntu, plus une icône proposant de l’installer. Suivre les instructions.

Installer un serveur http : Apache.

Lancer une console et en root (si besoin faire un sudo bash) :

[pastacode lang= »bash » manual= »apt%20search%20apache2%0Aapt%20install%20apache2″ message= » » highlight= » » provider= »manual »/]

Pour vérifier s’il s’est bien installé, allez sur un navigateur à l’adresse http://localhost une page d’apache devrait s’afficher

Fichier de configurations pour les virtualhost :

– fichier /etc/hosts
– fichier /etc/apache2/sites-available
Ne pas oublier de mettre à jour les paquets

[pastacode lang= »bash » manual= »sudo%20apt-get%20update%20%26%26%20sudo%20apt-get%20upgrade » message= » » highlight= » » provider= »manual »/]

Installation de mysql

[pastacode lang= »bash » manual= »apt-get%20install%20mysql-server%20mysql-client%20phpmyadmin » message= » » highlight= » » provider= »manual »/]

Pour la configuration de phpmyadmin, plusieurs éléments peuvent vous être demandés :

– mot de passe de connexion mysql pour phpmyadmin
– identifiant mysql pour phpmyadmin: phpmyadmin
– nom d’hôte du serveur de base de données mysql pour phpmyadmin : localhost

Ensuite, pour accéder à phpmyadmin, aller à l’adresse http://localhost/phpmyadmin

La configuration du virtualhost pour phpmyadmin se trouve dans le fichier

[pastacode lang= »markup » manual= »%2Fetc%2Fphpmyadmin%2Fapache2.conf » message= » » highlight= » » provider= »manual »/]

Il faut donc l’inclure dans le fichier

[pastacode lang= »markup » manual= »%2Fetc%2Fapache2%2Fapache2.conf » message= » » highlight= » » provider= »manual »/]

Ajoutez la ligne suivante à la toute fin de ce fichier :

[pastacode lang= »markup » manual= »Include%20%2Fetc%2Fphpmyadmin%2Fapache.conf » message= » » highlight= » » provider= »manual »/]

Ensuite, redémarrez votre serveur Apache avec la commande suivante :

[pastacode lang= »bash » manual= »sudo%20%2Fetc%2Finit.d%2Fapache2%20restart » message= » » highlight= » » provider= »manual »/]

Installation de postgresql :

[pastacode lang= »bash » manual= »apt-get%20install%20postgresql%20phppgadmin » message= » » highlight= » » provider= »manual »/]

Le fichier de configuration du virtualhost se trouve :

[pastacode lang= »markup » manual= »%2Fetc%2Fapache2%2Fconf-available%2Fphppgadmin.conf » message= » » highlight= » » provider= »manual »/]

Dans ce fichier se trouve la ligne :

[pastacode lang= »bash » manual= »Alias%20%2Fphppgadmin%20%2Fusr%2Fshare%2Fphppgadmin » message= » » highlight= » » provider= »manual »/]

Il suffit donc d’aller sur http://localhost/phppgadmin

En essayant de démarrer postgresql en ligne de commande il est possible qu’un message d’erreur s’affiche :
Peer authentification failed for user « postgres »
Il faut alors changer le type dans le fichier /etc/postgresql/9.4/main/pg_hba.conf

local all postgres peer ===> trust
local all postgres md5

Puis redémarrer postgres

[pastacode lang= »bash » manual= »%2Fetc%2Finit.d%2Fpostgresl%20restart » message= » » highlight= » » provider= »manual »/]

Ne pas hésitez à regarder les logs d’erreur si besoin dans

[pastacode lang= »bash » manual= »%2Fvar%2Flog%2Fpostgresql%2Fpostgresql-x.x-main.log » message= » » highlight= » » provider= »manual »/]

ensuite on se connecte

[pastacode lang= »bash » manual= »psql%20-U%20postgres » message= » » highlight= » » provider= »manual »/]

De base, sur phppgadmin, on ne peut pas se connecter directement avec l’user postgres.
Il est donc conseillé de créer un autre user qui aurait les mêmes droits :

[pastacode lang= »bash » manual= »CREATE%20user%20nomuser%20with%20password%20’password’%3B » message= » » highlight= » » provider= »manual »/]

Changer ses rôles :

[pastacode lang= »bash » manual= »ALTER%20user%20nomuser%20CREATEUSER%20CREATEDB%3B » message= » » highlight= » » provider= »manual »/]

On peut également désactiver le fait de ne pas pouvoir se connecter avec les utilisateurs « root » tel que postgres
Pour cela modifier dans le fichier

[pastacode lang= »markup » manual= »%2Fetc%2Fphppgadmin%2Fconfig.inc.php » message= » » highlight= » » provider= »manual »/]

changer
$conf[‘extra_login_security’] = true à false
=> attention à ne pas faire cela sur une machine de production ou d’être sûr qu’il y ait un minimum de sécurité configuré dans le fichier pg_hba.conf

Voilà avec cette configuration vous pouvez coder « tranquillement » chez vous 🙂
Il y a bien sûr des considérations à prendre en compte niveau sécurité!

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *