herve

Optimisez vos connaissances en serveurs dédiés avec AWS

Un petit post rapide pour parler de l’offre actuellement en cours chez Amazon Web Services ( AWS ) qui offre des ressources gratuites pendant un an.
L’offre est disponible pendant un an : https://aws.amazon.com/fr/free/

Ce n’est certes pas suffisant pour héberger gratuitement un site internet, mais en revanche c’est vraiment pratique si vous souhaitez parfaire vos connaissances en administration serveur, et mettre un pied dans le cloud.

Cette offre comprends entre autre un accès aux services suivants :

  • Amazon EC2
  • Amazon S3
  • Amazon RDS

J’ai souscris à cette offre il y’a quelques jours , j’essayerais de faire quelques retours si je rencontre des problématiques intéressantes.…

Optimisez vos connaissances en serveurs dédiés avec AWS Lire la suite »

Alternative à wampserver : windows bash

La sortie de la mise à jour Anniversary pour windows 10 au début du mois d’aout, apporte une nouveauté majeure pour les développeur webs ( sous windows bien sur ^^), à savoir l’apparition d’un sous-système linux directement intégré dans windows.

Je ne vais pas vous détailler comment l’activer vous pouvez trouver comment faire cela sur google.

La distribution proposée est Ubuntu 14.04.

Pour pouvoir développer en local il est donc nécessaire d’installer le stack lamp (Apache/Mysql,Php) , les instructions sont donc exactement les mêmes que sur un ubuntu classique, je vous renvoie donc
vers mon article sur le sujet : Ubuntu Server 14.04 « Trusty Tahr » : Installation d’apache, php et mysql ( lamp)

L’unique point à retenir est que les partitions windows sont montées dans /mnt/x/votre-dossier ( ou x correspond à la lettre de votre disque dur)
Il faut donc faire pointer vos vhosts apache vers ces dossiers.

A noter également que j’ai voulu installer nginx sans succès, pour l’instant cela ne fonctionne pas.…

Alternative à wampserver : windows bash Lire la suite »

Serveur dédiés : Créer un disque réseau via un tunnel ssh

Nous allons voir ensemble comment mettre en place un disque dur réseau sur votre serveur dédié.
C’est à dire monter un dossier d’un serveur distant (SD) , vers notre serveur de travail (ST)
Ceci peut être pratique si vous souhaitez partager facilement des informations entre plusieurs serveurs, ou pour ajouter facilement de l’espace de stockage sur des serveur VPS.

Au préalable pour faciliter les échanges il sera nécessaire de mettre en place un accès via une clé ssh du serveur de travail vers le serveur, ceci évitera la saisie de mots de passe.

Pour rappel vous pouvez générer la clé via la commande suivante

ssh-keygen -t rsa -b 4096 -C "Cle disque reseau"

Insérez ensuite le contenu de votre clé publique dans le fichier authorized_keys sur le SD.

Installer sshfs ensuite sur le serveur sur lequel vous souhaitez monter le disque reseau

sudo apt-get install sshfs

Puis créer le dossier de votre point de montage , nous l’appellerons ici « share »

sudo mkdir /mnt/share

Puis créer le point de montage :

sudo sshfs -o allow_other,,IdentityFile=~/.ssh

Serveur dédiés : Créer un disque réseau via un tunnel ssh Lire la suite »

Sortie de mantis bugtracker 1.3 : Mise à jour de mes plugins

La version 1.3.0 de mantis bugtracker est sortie depuis le 9 juillet dernier.

Cette version apporte de nombreux changements, dont certains impactent les plugins développés comme :

  • L’intégration native de Jquery et de Jquery Ui
  • Le passage au html 5
  • Nouvelle politique des Content-Security-Policy (CSP) qui interdit l’utilisation de css ou de javascript inline
  • Interdiction de l’appel des pages php des plugins via leur url directe

Pour l’occasion j’ai donc remis à jour l’ensemble de mes plugins mantis avec les nouveaux prérequis.

Voici la liste exhaustive :

Upload File :
Permets de rajouter plusieurs pièces jointes à la fois à un bug en drag & drop
https://github.com/nenes25/mantisbt_uploadfiles

Agenda :
Affichage des dates d’échéances, et du temps passé sur les bugs dans un calendrier.
https://github.com/nenes25/mantisbt_agenda

Email File :
Ajout de pièces jointes à un bug via l’envoi d’un email
https://github.com/nenes25/mantisbt_EmailFile

Reminder :
Envoi d’un email récapitulatif à chaque développeur avec les bug à traiter les X prochains jours
https://github.com/nenes25/mantisbt_reminder

AutoChange Status :
Changement automatique du statut d’un bug après X jours.…

Sortie de mantis bugtracker 1.3 : Mise à jour de mes plugins Lire la suite »

Optimisation des performances Magento : configuration des sessions et du cache

Afin d’optimiser les performances de notre site magento, nous allons mettre en place les optimisations suivantes :

  • stockage des sessions dans memcache
  • stockage du cache dans redis

Cette solution  est modulable et applicable à une configuration multi-serveurs.( En centralisant les sessions sur un serveur spécifique, dans ce cas il suffit de replacer l’ip 127.0.0.1, par l’ip du serveur )

Pour commencer il faut installer les services memcached et redis sur votre serveur si ce n’est pas déjà fait

sudo apt-get install redis-server
sudo apt-get install memcached

installer également les librairies memcache pour php

sudo apt-get install php5-memcached php5-memcache

vous pouvez ensuite configurer le fichier local.xml avec les informations suivantes :

Pour la gestion des sessions dans memcache :

<!-- Stockage des sessions dans memcache -->
<session_save><![CDATA[memcache]]></session_save>
<session_save_path><![CDATA[tcp://127.0.0.1:11211?persistent=1&weight=2&timeout=10&retry_interval=10]]></session_save_path>

Les avantages du stockage dans memcache des sessions sont les suivants :

  • accès très rapide aux informations car stockées dans la mémoire vive
  • partage des sessions facile entre plusieurs serveurs

Puis pour la gestion du cache dans Redis :

<!--

Optimisation des performances Magento : configuration des sessions et du cache Lire la suite »

EicmsLinks : nouvelles fonctionnalités.

Une nouvelle version de mon module prestashop « EicmsLinks » est disponible.
Pour rappel ce module rajoute des liens dynamiques dans l’éditeur de texte tinyMce pour les contenus cms ( pages cms, descriptions produits, descriptions catégories)

  • pages cms
  • catégories
  • produit ( lien produit, ou ajout au panier)

Pour la description complète vous pouvez lire la page suivante : https://www.h-hennes.fr/blog/prestashop-liens-dynamiques-dans-lediteur-tinymce/

Cette nouvelle version instaure une nouvelle notion de « widgets » qui peuvent également être inséré directement dans la page cms.

Pour l’instant les widgets implémentés sont les suivants :

formulaire de login : permets d’afficher le formulaire de login dans n’importe quelle page cms

Widget login

liste de produits : permets d’afficher une liste de produits dynamique

Widget produits

Plusieurs options sont disponibles pour ce widget :
-type (new|category|price_drop) : Type de produits à afficher
-nb_products : nombre de produits à afficher
-id_category : dans le cas d’un affichage de produit d’une catégorie, identifiant prestashop de la catégorie.

L’ajout de cette fonctionnalité a été réalisée de manière à pouvoir rajouter très facilement des nouveaux widgets.…

EicmsLinks : nouvelles fonctionnalités. Lire la suite »

Autoriser un utilisateur à redémarrer apache ou nginx

Dans le cadre de l’hébergement de sites web, il peut être intéressant de donner la possibilité à l’utilisateur de recharger la configuration ou de redémarrer le serveur web.
Ceci lui permets d’être autonome dans l’ajout ou le changement de ses noms de domaines.

La procédure est relativement simple, voici comment procéder avec Ubuntu pour autoriser par exemple l’utilisateur herve a éxécuter ces commandes.

Connectez vous en root et exécuter la commande suivante :

visudo

Dans le fichier édité rajouter la ligne suivante :

Pour apache :

herve ALL=(ALL) /usr/sbin/service apache2 reload,/usr/sbin/service apache2 restart

Pour nginx :

herve ALL=(ALL) /usr/sbin/service nginx reload,/usr/sbin/service nginx restart

Votre user peut à présent exécuter ces commandes directement depuis son compte sous la forme :

sudo service apache2 restart

Les autres commandes restent bien inaccessibles à l’utilisateur :

Sorry, user test is not allowed to execute '/bin/su'

Autoriser un utilisateur à redémarrer apache ou nginx Lire la suite »

Créer des utilisateurs virtuels avec proftpd

Si vous hébergez plusieurs sites sur votre serveur, il peut être utile de créer des utilisateurs ftp spécifiques pour chacun d’entre eux.
Ces utilisateurs ne nécessitent pas d’avoir un compte user linux sur le serveur, nous allons donc utiliser la fonctionnalité de création d’user virtuel de proftpd.
( Tout en conservant l’authentification des users linux standard) avec ubuntu 14.04

Pour commencer il faut éditer le fichier /etc/proftpd/proftpd.conf

Rechercher la ligne Authorder et saisir les informations suivantes :

Authorder mod_auth_file.c mod_auth_unix.c #Connexion via fichier utilisateur et utilisateurs linux
AuthUserFile /etc/proftpd/ftpd.passwd #Nom du fichier des mots de passe

Nous allons ensuite créer ce fichier ftpd.passwd et lui mettre les droits adéquats

sudo touch /etc/proftpd/ftpd.passwd
sudo chmod 440 /etc/proftpd/ftpd.passwd
sudo chown proftpd:root /etc/proftpd/ftpd.passwd

Créer des utilisateurs virtuels avec proftpd Lire la suite »

Nginx et Apache : redirection sans www vers www

Pour uniformiser les urls de votre site web et éviter les duplications de contenu  dans le référencement de votre site.
Voici des extrait de code pour ceux qui souhaitent rediriger le nom de domaine sans les www, vers les www avec les serveurs nginx et Apache.

Par exemple si nous souhaitons rediriger le domaine mysite.com vers www.mysite.com

Nginx :
Dans le fichier de configuration du nom de domaine

#Noeud serveur pour le domaine sans www
server {
    listen       80;
    server_name  mysite.com;
    return       301 $scheme://www.mysite.com$request_uri; #redirection 301 vers le domaine avec les www ( http et https gérés )
}
#Noeud serveur pour le domaine avec www
server {
    listen       80;
    server_name  www.mysite.com;
    ...
}

Nginx et Apache : redirection sans www vers www Lire la suite »

Alternative à phpMyAdmin : Adminer

Un petit article pour présenter un outil qui m’a fait gagner pas mal de temps récemment : Adminer
Cet outil, tout comme PhpMyAdmin permets de gérer les bases de données de votre hébergement via une interface web.

En général, phpmyadmin est installé directement par l’hébergeur et c’est l’outil utilisé par défaut pour gérer les bases de données.
Cependant il peut arriver que des hébergeurs ne le proposent pas.
Dans ce cas l’utilisation d’Adminer est la solution la plus simple et la plus rapide.

Comment ça marche ? :

  • Télécharger le fichier adminer.php depuis le site https://www.adminer.org/
  • Envoyer le via ftp n’importe ou sur votre hébergement.
  • Accéder au fichier depuis un navigateur web

Adminer

Et oui rien de plus à faire 🙂

Note :
Pour plus de sécurité renommez ce fichier en autre chose que adminer.php 😉…

Alternative à phpMyAdmin : Adminer Lire la suite »