Windows Server 2012 : mise à jour d'Apache, Php et des drivers SQL Server

Depuis peu, je découvre les joies (ironie inside) de la maintenance des outils Apache, Php et MySQL sur Windows Server 2012. Si sur Linux il suffit d'une petite ligne de commande pour maintenir ces services à jour, sur Windows, ce n'est pas la même histoire. Comme vous le constaterez par vous-même, ce n'est pas bien compliqué. Ce billet est donc plus un pense-bête qu'un How-To à proprement parler.

Attention, avant toute opération de mise à jour, il convient de jeter un petit coup d'œil aux ChangeLogs des différents outils pour vérifier que leurs mises à niveau ne vont pas "casser" vos sites web.

 

Apache 2.4.20 vers 2.4.25

Personnellement, j'ai fait le choix d'ApacheLounge pour mon environnement Windows Server 2012. ApacheLounge fourni les binaires Apache à jour pour environnement Windows.

Cet exemple repose sur la mise à jour d'Apache 2.4.20 vers la version 2.4.25. Pour un saut de version (ex. Apache 2.2 vers 2.4), consultez la documentation dédiée sur le site d'Apache.

La mise à jour, bien que très simple à réaliser, est tout de même plus "lourde" qu'un simple sudo apt update && sudo apt upgrade.

Pour mettre à jour Apache, il vous faut :

  1. Télécharger le fichier .zip de la dernière version d'Apache sur le site  ApacheLounge
  2. Renommer le répertoire de votre version d'origine (ex. Apache24_old). Ce sera votre sauvegarde.
  3. Dézipper la version téléchargée d'Apache en conservant le nom du répertoire d'origine (ex. Apache24)
  4. Copier les fichiers de conf et les composants additionnels dont vous avez besoin du répertoire sauvegardé (Apache24_old) et coller-les dans le répertoire Apache24.

Je vous recommande de conserver votre répertoire Apache24_old jusqu'à la prochaine mise à jour. Juste au cas où...

Et le tour est joué. :)

Source : https://www.apachelounge.com/viewtopic.php?t=5768

 

Php 7.0.7 vers 7.1.6

Tout comme pour Apache, la mise à jour de Php est relativement aisée. Pour ce faire :

  1. Téléchargez la dernière version de Php qui convient à votre architecture (x86 pour les OS 32bits / x64 pour les OS 64 bits). Si vous utilisez un serveur Apache, tournez vous vers la version TS (Thread Safe). Si vous utilisez IIS, optez pour la version NTS (Non Thread Safe). Dans mon cas, je pars donc sur la version 7.1.6 VC14 x64.
  2. Renommer le répertoire de votre version d'origine (ex. php7.0). Cela sera votre sauvegarde.
  3. Dézipper la dernière version de Php en conservant le nom du répertoire d'origine (ex. php). Cela évitera d'avoir à redéfinir les variables d'environnement.
  4. Copiez les fichiers de conf et les extensions additionnelles dont vous avez besoin du répertoire sauvegardé php7.0 et collez-les dans le répertoire php.

Tout comme pour Apache, je vous conseille de conserver votre répertoire php7.0 qui vous permettra de rebasculer sur cette version de Php en cas de pépins.

Et le tour est joué. ^^

 

Drivers SQL Server pour Php

Avant toute chose, il vous faudra télécharger et installer Microsoft ODBC Driver for SQL Server. La version à télécharger dépend de la version de votre serveur. Pour ma part, j'ai installé la version 11.

Les drivers SQL Server pour Php 7.1.x sont disponibles sur GitHub, projet msphpsql.

Dézippez et copiez les fichiers php_pdo_sqlsrv_71_ts.dll et php_sqlsrv_71_ts.dll et collez-les dans le répertoire php/ext/

Modifiez ensuite le fichier php.ini en ajoutant les lignes suivantes à la fin de la liste des extensions :

extension=php_sqlsrv_71_ts.dll
extension=php_pdo_sqlsrv_71_ts.dll

 

Redémarrez votre serveur Apache.

Et le tour est joué ! ^^

 

MySQL 5.6.34 vers 5.7.18.1

Bon, sur ce coup-là, j'avoue avoir tout foiré... d'où l'absence de MySQL dans le titre. Finalement, j'ai dû me résoudre à réinstaller totalement MySQL Server via MySQL Installer. :( D'où l'importance des sauvegardes des bases de données. :P

Visual Studio Code : bye bye Netbeans ?

Il y a quelques semaines, j'ai relancé Visual Studio Code (VSCode) pour voir où en était le développement de cet IDE prometteur. Je l'avais testé d'avril à mai 2015 mais malheureusement, de nombreuses fonctionnalités manquaient alors à l'appel.

Logo Visual Studio Code

 

Cela fait maintenant plus d'un mois que j'utilise VSCode au quotidien et force est de constater qu'il répond désormais à quasiment tous mes besoins.

En mai 2015, je listais les points négatifs de VSCode :

  • Pas d'onglets pour les documents ouverts... la navigation par side-bar n'est pas pratique à l'utilisation : désormais, la navigation se fait soit par side-bar, soit par onglets, soit par les deux. Personnellement, j'utilise cette dernière possibilité.
  • Impossible d'ouvrir plusieurs "Projets" en même temps : malheureusement, il n'est toujours pas possible d'ouvrir plusieurs projets en même temps. Mais je ne perds pas espoir que cette fonctionnalité apparaisse à l'avenir.
  • Pas de fonction "Remove Trailing Space" : cette fonctionnalité est désormais présente
  • Pas de conversion auto des "tab" en "space" : idem
  • La coloration syntaxique est austère à en pleurer : depuis quelque temps déjà, il est possible d'ajouter (voire de concevoir) des thèmes de coloration syntaxique. Pour ma part, j'utilise un thème Monokai et j'en suis totalement satisfait (sauf pour les fichiers Twig, mais ce n'est pas bloquant)
  • Pas de fonctionnalités "History" permettant de faire un "revert" d'un clic : l'intégration des outils git est désormais bien plus ergonomique que dans Netbeans.

Comme vous pouvez le constater, les principaux freins qui m'empêchaient de l'adopter sont aujourd'hui levés.

Cependant, quelques points négatifs subsistent :

  • L'auto-formatage n'est pas géré nativement et passe par des extensions (plugins). Or pour les fichiers Twig par exemple, c'est une catastrophe. Je n'ai pas trouvé d'extension qui auto-format les documents correctement.
  • Pour compléter l'IDE, il est nécessaire d'installer pas mal d'extensions. Or, qui dit extensions, dit développeurs tiers. Malheureusement, certaines d'entre elles ne sont pas correctement maintenues quand d'autres sont à la limite de l'utilisable.
  • Je reviens sur ce point qui pour moi est fondamentale lorsqu'on travaille sur des projets imbriqués : il est aujourd'hui encore impossible d'ouvrir plusieurs projets simultanément. Du coup, il m'arrive encore de devoir ouvrir Netbeans ou Notepad2 pour pouvoir bosser efficacement.

Vous l'aurez compris, je suis plutôt satisfait par Visual Studio Code. D'autant plus que cet éditeur est activement développé et s'améliore mois après mois. Il est d'ailleurs très agréable de suivre son évolution au fil des semaines. J'espère simplement que les quelques points négatifs seront rapidement corrigés. Mais relativisons : quel logiciel peut se targuer d'être parfait ? ^^

Symfony 3 : Installation et création d'un projet

Comme annoncé dans un billet précédent, j'ai décidé de me lancer dans l'apprentissage de Symfony.

Jusqu'à présent, j'ai toujours développé mes applications web from scratch, tout en utilisant de multiples packages grâce à composer. C'est donc tout naturellement que l'idée de passer à Symfony a fait son chemin.

L'installation de ce framework est d'une simplicité enfantine. :) Il vous suffit de suivre la documentation disponible sur le site de Symfony. Bien entendu, il vous faudra un environnement Apache, Php, Mysql fonctionnel. Pour ma part, j'utilise Wampserver 2.5... oui, je sais, il faut que je mette tout ça à jour ^^.

Pour résumer, il vous suffit de taper :

c:\wamp\www\php -r "readfile('https://symfony.com/installer');" > symfony

Puis :

c:\wamp\www\php symfony new votre_projet

 

Si tout se passe bien, le tour est joué. :)

 

Alors pourquoi en faire un billet me direz-vous ? Et bien tout simplement car j'ai tout de même un peu lutté pour résoudre le problème dont la solution est pourtant bien en évidence sur la documentation d'installation :

[GuzzleHttp\Exception\RequestException]
  cURL error 60: SSL certificate problem: unable to get local issuer certificate

 

Symfony erreur cURL

 

Dans ce cas-là, il suffit de télécharger le fichier https://curl.haxx.se/ca/cacert.pem et de mettre à jour le fichier php.ini en remplaçant la ligne :

[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
;curl.cainfo =

 

Par :

[curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
curl.cainfo = "C:\wamp\bin\php\cacert.pem"

N.B. :  Bien entendu, le chemin indiqué variera selon la localisation de votre fichier cacert.pem

 

J'ai donc suivi cette procédure mais malheureusement, cette erreur me sautait toujours au visage. En fait, pour modifier le fichier php.ini, je passais par le raccourcis présent dans la barre des tâches :

Wampserver barre des taches

Or, en procédant de la sorte, ce n'est pas le bon php.ini que je mettais à jour.

Il faut modifier le php.ini directement dans le dossier C:\wamp\bin\php\php5.6.16\ (la version de php peut varier selon la version de wampserver que vous utilisez).

Et le tour est joué. :)

 

Symfony nouveau projet

Ajoutez les drivers sqlsrv à Php7 en 5 étapes

Aujourd'hui, je vous propose un petit Mémo/Tuto simple, rapide et efficace : ajouter les drivers sqlsrv à Php7 64 bits en 5 étapes. Comme d'habitude, si vous souhaitez des compléments d'information, n'hésitez pas à me contacter. Vous êtes prêts ? C'est parti !

phpinfo pdo_sqlsrv

1. Téléchargez les .dll (archive zip) sur le Github officiel de l'équipe de développement Microsoft : https://github.com/Azure/msphpsql/releases

2. Extrayez l'archive et copiez les fichiers php_sqlsrv_7_ts.dll, php_pdo_sqlsrv_7_ts.dll et dans le répertoire /ext de php (C:/php/ext/).

3. Ouvrez le fichier php.ini et ajoutez les lignes suivantes à la suite de la liste des extensions :

extension=php_sqlsrv_7_ts.dll
extension=php_pdo_sqlsrv_7_ts.dll

 

4. Téléchargez et installez Microsoft® ODBC Driver 11 for SQL Server®

5. Redémarrez Apache

Et le tour est joué :)

Installation d'Apache et Php sur Windows

Aujourd'hui, je vous propose un petit mémo rapide sur l'installation d'un serveur Apache et de PHP sur Windows (dans mon cas, Windows Server 2012). Comme il s'agit d'un mémo pense-bête, vous n'y trouverez pas beaucoup d'explications. Cependant, si vous avez des questions, n'hésitez pas… les commentaires sont là pour ça. :)

N.B. : le mémo ne concerne que l'installation et la configuration de base. Je n'aborderai donc pas la question de la sécurisation.

Sommaire :

  1. Téléchargement et décompression des archives
  2. Édition des fichiers de configuration httpd.conf et php.ini
  3. Test de l'installation
  4. Automatisation du démarrage du service apache (httpd.exe)

Lire la suite de Installation d'Apache et Php sur Windows