Fedora-Fr - Communauté francophone Fedora - Linux

Planet de Fedora-Fr : la communauté francophone autour de la distribution Linux Fedora

A propos

Cette page est actualisée toutes les heures.

Cette page est une sélection de blogs autour de Fedora. Fedora-Fr.org décline toute responsabilité au sujet des propos tenus par les auteurs des blogs de ce planet. Leurs propos sont leur entière responsabilité.

Le contenu de ce planet appartient à leurs auteurs respectifs. Merci de consulter leur blogs pour obtenir les licences respectives.

Fedora 24 et 25 Alpha : bogue important lors d'une mise à jour

Charles-Antoine Couret

Ce message fait suite à une discussion ayant eu lieu dans la liste de diffusion de développement de Fedora.

Il a été constaté que Fedora 24 et Fedora 25 Alpha sont touchés par un bogue lors d'une mise à jour du paquet systemd-udev. Cela se manifeste quand sont réunies trois conditions qui sont :

  • Avoir une machine possédant deux unités graphiques, ce qui est le cas de beaucoup d'ordinateurs portables modernes ;
  • Exécuter la mise à jour par la commande "dnf update" dans un terminal graphique (comme GNOME Terminal, Konsole, etc.) ;
  • L'environnement graphique doit fonctionner sous X.org / X11 et non Wayland (Wayland n'étant par défaut que pour GNOME sur Fedora 25).

Dans ce cas, en cas de mise à jour du paquet dans ces conditions, le serveur X risque de crasher ce qui entraînera une coupure de la mise à jour en pleine opération et potentiellement une base de données des paquets et votre système dans un état incohérent (avec des paquets en double).

Pour éviter ce problème, vous pouvez faire :

  • Utiliser GNOME Logiciels pour les mises à jour, qui fait une mise à jour dite hors-ligne ;
  • Utiliser PackageKit pour effectuer vos mises à jour en mode hors-ligne* ;
  • Mettre à jour via les terminaux en mode texte du système (accessible via Ctrl+Alt+FX pour X valant 3 à 6) ;
  • Utiliser Wayland si vous êtes sur GNOME et Fedora 25 (sinon c'est déconseillé) ;
  • La mise à jour hors ligne consiste à réaliser les mises à jour lors du démarrage de votre ordinateur, de manière similaire à Windows. L'objectif est de s'assurer qu'après la mise à jour tous les composants soient lancés effectivement à jour (ce qui n'est pas le cas quand vous le faite à chaud) mais aussi de réaliser cette opération dans un environnement minimal et contrôlé ce qui limite les problèmes. Depuis Fedora 18 c'est la méthode recommandée par le Projet Fedora et GNOME Logiciels en tire parti. Nous profitons de ce bogue pour vous rappeler de l'utilité de suivre cette procédure lors des mises à jour.

Pour faire cela en terminal avec PackageKit, vous pouvez exécuter les commandes suivantes avec les droits superutilisateur :

# pkcon refresh force
# pkcon update --only-download
# pkcon offline-trigger
# systemctl reboot

Le problème est en cours de correction auprès de systemd et de X11.

PHP version 5.6.27RC1 et 7.0.12RC1

Remi Collet

Les versions Release Candidate sont disponibles dans le dépôt remi-test pour Fedora et Enterprise Linux (RHEL / CentOS) afin de permettre au plus grand nombre de les tester. Elles sont  fournit en Software Collections, pour une installation en parallèle, solution idéale pour ce type de tests. Uniquement pour x86_64.

Les RPM de PHP version 5.6.27RC1 sont disponibles en SCL et en paquets de base dans le dépôt remi-test pour Fedora22 et Enterprise Linux6.

Les RPM de PHP version 7.0.12C1 sont disponibles en SCL dans le dépôt remi-test et les paquets de base dans le dépôt remi-test pour Fedora 25 ou remi-php70-test pour Fedora 22 et Enterprise Linux6.

emblem-notice-24.pngInstallation : voir la Configuration du dépôt et choisir la version.

Installation en parallèle, en Software Collections de PHP 5.6 :

yum --enablerepo=remi-test install php56

Installation en parallèle, en Software Collections de PHP 7.0 :

yum --enablerepo=remi-test install php70

Mise à jour, de PHP 5.6 :

yum --enablerepo=remi-php56,remi-test update php\*

Mise à jour, de PHP 7.0 :

yum --enablerepo=remi-php70,remi-php70-test update php\*

A noter : la version 7.0.12RC1 est aussi disponible dans Fedora rawhide.

emblem-notice-24.pngLa version RC est généralement identique à la version finale (aucun changement accepté, à l'exception de correctifs de sécurité).

Software Collections (php56, php70)

Paquets standards (php)

Passage en HTTPS

Remi Collet

Vous l'avez peut-être déjà remarqué, mais je viens de basculer l'ensemble des sites pour une navigation sécurisée en HTTPS.

Les nouvelles adresses sont donc:

Pour le dépôt il est à noter que basculer par défaut sur l'https n'aurait du sens que si l'ensemble des miroirs étaient en https. Donc si vous voulez utiliser le dépôt en mode sécurisé, il faut choisir un miroir qui l'offre, et remplacer le mirrorlist par le baseurl voulu, en évitant le site principal qui est souvent très chargé.

Les certificats sont gracieusement fournis par Let's Encrypt.

Participez à la journée de test de Fedora 25 sur l'internationnalisation !

Charles-Antoine Couret

Aujourd'hui, ce mercredi 28 septembre, est une journée dédiée à un test précis : linternationalisation de Fedora 25. En effet, durant le cycle de développement, l'équipe d'assurance qualité dédie quelques journées autours de certains composants afin de remonter un maximum de problèmes sur le sujet.

Elle fournit en plus une liste de tests précis à effectuer. Il vous suffit de les suivre, comparer votre résultat au résultat attendu et le notifier.

Qu'est-ce que linternationalisation ?

Cela consiste à s'assurer que Fedora et ses applications fonctionnent correctement dans toutes les langues. Sont concernés la traduction, la gestion des paquets de langue mais aussi des entrées de saisies. En effet, les langues non européennes notamment bénéficient d'assistance pour écrire dans leurs langues avec un clavier disposant de peu de touches par rapport aux caractères disponibles.

Typiquement les tests du jour couvrent :

  • La compatibilité Unicode 9.0 (nouveauté de Fedora 25)
  • Les paquets de langues des applications ;
  • IBus (dont la gestion des Emoji et l'assistance simultanée multilangue ont été ajoutés dans Fedora 25) ;
  • Les applications doivent être traduites (Gnome, Libreoffice et Firefox de préférence) ;
  • Les navigateurs doivent afficher les sites web dans la langue de l'utilisateur par défaut ;
  • Quelques autres...

Comment y participer ?

Vous pouvez vous rendre sur la page des tests pour lister les tests disponibles et rapporter vos résultats. La page wiki récapitule les modalités de la journée.

En cas de bogue, il est nécessaire de le rapporter sur le BugZilla. Si vous ne savez pas faire, n'hésitez pas à consulter la documentation correspondante.

De plus, si une journée est dédiée à ces tests, il reste possible de les effectuer quelques jours plus tard sans problème ! Les résultats seront globalement d'actualité.

Supprimer des associations de type de fichier incorrectes dans firefox

Thomas Bouffon

J'avais le problème suivant : Quand le type mime d'un pdf en ligne était mal servi, firefox me proposait d'ouvrir le fichier avec file-roller. Idem si je le téléchargeais puis que j'essayais de l'ouvrir depuis la fenêtre de téléchargements. Aucun problème en revanche depuis Nautilus

Le problème vient en fait du fichier .local/share/applications/mimeapps.list, qui associait content-type:octet-stream à file-roller. Une fois supprimée cette ligne, même sans redémarrer Firefox, le problème est résolu

GLPI version 9.1

Remi Collet

GLPI (Gestionnaire Libre de Parc Informatique) version 9.1 est publiée. Les RPM sont disponibles dans le dépôt remi-test pour Fedora ≥ 22 et Enterprise Linux ≥ 5.

Toutes les extensions n'étant pas encore publiées en version stable, c'est donc la version 0.90 qui reste dans le dépôt remi.

Actuellement dans le dépôt :

  • glpi-0.91-1
  • glpi-data-injection-2.4.2-1

Attention Attention: l'assistant d'installation est pour des raisons de sécurité uniquement accessible depuis le serveur sur lequel GLPI est installé. Voir le fichier de configuration (/etc/httpd/conf.d/glpi.conf) pour élargir temporairement cette autorisation si besoin.

Vous êtes invités à tester ces versions sur un environnement spécifique et à remonter vos questions, commentaires ou problèmes sur

GLPI version 9.1

Remi Collet

GLPI (Gestionnaire Libre de Parc Informatique) version 9.1 est publiée. Les RPM sont disponibles dans le dépôt remi-test pour Fedora ≥ 22 et Enterprise Linux ≥ 5.

Toutes les extensions n'étant pas encore publiées en version stable, c'est donc la version 0.90 qui reste dans le dépôt remi.

Actuellement dans le dépôt :

  • glpi-0.91-1
  • glpi-data-injection-2.4.2-1

Attention Attention: l'assistant d'installation est pour des raisons de sécurité uniquement accessible depuis le serveur sur lequel GLPI est installé. Voir le fichier de configuration (/etc/httpd/conf.d/glpi.conf) pour élargir temporairement cette autorisation si besoin.

Vous êtes invités à tester ces versions sur un environnement spécifique et à remonter vos questions, commentaires ou problèmes sur

Participez à la journée de test de Fedora 25 sur le créateur de média

Charles-Antoine Couret

Aujourd'hui, ce mardi 20 septembre, est une journée dédiée à un test précis : sur la création de média installable pour Fedora. En effet, durant le cycle de développement, l'équipe d'assurance qualité dédie quelques journées autours de certains composants ou nouveautés afin de remonter un maximum de problèmes sur le sujet.

Elle fournit en plus une liste de tests précis à effectuer. Il vous suffit de les suivre, comparer votre résultat au résultat attendu et le notifier.

Capture_du_2016-04-18_23-41-52.png

Qu'est-ce que la création de média installable ?

C'est une nouveauté pour Fedora 25. Elle consiste en une réécriture de l'outil de liveusb-creator qui est non seulement disponible sur Fedora mais aussi sur Windows et Mac OS. Cet utilitaire bénéficie ainsi d'une interface plus proche des standards des applications GNOME 3 en terme d'ergonomie et devient beaucoup plus simple d'utilisation.

Son fonctionnement consiste en la sélection l'image voulue comme Workstation, spin KDE, Server ou autre, procède automatiquement au téléchargement et à l'installation sur un média amovible comme une clé USB disponible et compatible.

L'objectif étant de simplifier la procédure d'installation pour les néophytes, car beaucoup d'utilisateurs se perdent après le téléchargement du fichier ISO traditionnel pour procéder à l'installation. Là, tout sera automatisé et fonctionnel sans intervention particulière. De part cet objectif, ce sera le mode de téléchargement de l'image officielle de Fedora qui sera mis en avant à l'avenir.

Les tests du jour couvrent :

  • Le téléchargement de l'image souhaité ;
  • L'installation sur la clé USB ;
  • La conformité de l'image d'installation (c'est-à-dire fonctionnelle) ;
  • Compatible UEFI et BIOS ;
  • Fonctionnel sous Fedora, Windows et Mac OS.

Le test est un peu inhabituel car il porte sur le fonctionnement de l'application sur d'autres systèmes que Fedora que sont Windows et Mac OS. SI vous avez de tels systèmes disponibles, ne pas hésiter à remonter les soucis rencontrés avec eux. Car ce seront évidemment les systèmes préférentiels pour un tel outil.

Comment y participer ?

Vous pouvez vous rendre sur la page des tests pour lister les tests disponibles et rapporter vos résultats. La page wiki récapitule les modalités de la journée.

En cas de bogue, il est nécessaire de le rapporter sur le BugZilla. Si vous ne savez pas faire, n'hésitez pas à consulter la documentation correspondante.

De plus, si une journée est dédiée à ces tests, il reste possible de les effectuer quelques jours plus tard sans problème ! Les résultats seront globalement d'actualité.

Microsoft SQL Server depuis PHP

Remi Collet

Voici un petit récapitulatif des différents moyens d'utiliser une base de données Microsoft SQL Server depuis PHP, sous Linux.

L'ensemble des tests ont été réalisés sous Fedora 23 mais devrait fonctionner avec RHEL ou CentOS version 7.

1. Utilisation de PDO, ODBC et FreeTDS

Composants nécessaires:

  • Bibliothèque freetds et extension pdo_odbc
  • PHP version 5 ou 7
  • Paquets RPM: freetds (EPEL), unixODBC, php-pdo, php-odbc

Configuration du pilote ODBC

Le fichier /etc/odbcinst.ini doit contenir la déclaration du pilote:

[FreeTDS]
Description=FreeTDS version 0.95
Driver=/usr/lib64/libtdsodbc.so.0.0.0

Configuration de la source de données

Le fichier /etc/odbc.ini (système) ou le fichier ~/.odbc.ini (utilisateur) doit contenir la déclaration du serveur utilisé

[sqlsrv_freetds]
Driver=FreeTDS
Description=SQL via FreeTds
Server=sqlserver.domain.tld
Port=1433

Vérification de la connexion en ligne de commande

$ isql sqlsrv_freetds user secret
SQL> SELECT @@version
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
    Jun 28 2012 08:36:30
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)
SQLRowCount returns 1
1 rows fetched
SQL> quit

Connexion depuis PHP

$ php -r '
echo "+ Connection\n";
$pdo = new PDO("odbc:sqlsrv_freetds", "user", "secret");
echo "+ Query\n";
$query = $pdo->query("SELECT @@version");
if ($query) {
    echo "+ Result\n";
    $row = $query->fetch(PDO::FETCH_NUM);
    if ($row) {
        print_r($row);
    }
}
'
+ Connection
+ Query
+ Result
Array
(
    [0] => Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
    Jun 28 2012 08:36:30
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)
)

Cette solution est souvent la plus simple car tous les paquets nécessaires sont libres et présents dans les distributions Linux.

2. Utilisation de PDO, mssql et FreeTDS

Composants nécessaires:

  • Bibliothèque freetds et extension mssql
  • PHP version 5 (extension dépréciée et supprimée de PHP 7)
  • Paquets RPM: freetds (EPEL), php-mssql

Connexion depuis PHP

$ php -r '
echo"+ Connection:\n";
$conn = mssql_connect("sqlserver.domain.tld", "user", "secret");
if ($conn) {
    echo"+ Query:\n";
    $query = mssql_query("SELECT @@version", $conn);
    if ($query) {
        echo"+ Result:\n";
        print_r($row = mssql_fetch_array($query, MSSQL_NUM));
    }
}
'
+ Connection
+ Query
+ Result
Array
(
    [0] => Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
    Jun 28 2012 08:36:30
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)
)

Cette solution reste simple car tous les paquets nécessaires sont également libres et présents dans les distributions Linux. Cependant elle utilise une extension dépréciée, et sans utiliser la couche d'abstraction PDO.

3. Utilisation de PDO, ODBC et des pilotes ODBC Microsoft®

Composants nécessaires:

Configuration du pilote ODBC

Le fichier /etc/odbcinst.ini doit contenir la déclaration du pilote (ajouté automatiquement lors de l'installation) :

[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver for SQL Server
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0
Threading=1

Configuration de la source de données

Le fichier /etc/odbc.ini (système) ou le fichier ~/.odbc.ini (utilisateur) doit contenir la déclaration du serveur utilisé

[sqlsrv_msodbc]
Driver=ODBC Driver 13 for SQL Server
Description=SQL via Microsoft Drivers
Server=sqlserver.domain.tld

Vérification de la connexion en ligne de commande

$ isql sqlsrv_msodbc user secret
SQL> SELECT @@version
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
    Jun 28 2012 08:36:30
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)
SQLRowCount returns 1
1 rows fetched
SQL> quit

Connexion depuis PHP

$ php -r '
echo "+ Connection\n";
$pdo = new PDO("odbc:sqlsrv_msodbc", "user", "secret");
echo "+ Query\n";
$query = $pdo->query("SELECT @@version");
if ($query) {
    echo "+ Result\n";
    $row = $query->fetch(PDO::FETCH_NUM);
    if ($row) {
        print_r($row);
    }
}
'
+ Connection
+ Query
+ Result
Array
(
    [0] => Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
    Jun 28 2012 08:36:30
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)
)

Cette solution très proche de la 1 nécessite l'installation des pilotes propriétaires.

4. Utilisation des pilotes Microsoft®

Composants nécessaires :

Vérification de la connexion en ligne de commande

$ sqlcmd -S sqlserver.domain.tld -U user -P secret -Q "SELECT @@version"
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
    Jun 28 2012 08:36:30
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)
(1 rows affected)

Connexion depuis PHP

$ php -r '
echo"+ Connection:\n";
$conn = sqlsrv_connect("sqlserver.domain.tld", array("UID" => "user", "PWD" => "secret"));
if ($conn) {
    echo"+ Query: \n";
    $query = sqlsrv_query($conn, "SELECT @@version");
    if ($query) {
        echo"+ Result:\n";
        print_r($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_NUMERIC));
    }
}
'
+ Connection:
+ Query:
+ Result:
Array
(
    [0] => Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
    Jun 28 2012 08:36:30
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)
)

Cette solution très proche de la 2  nécessite l'installation des pilotes propriétaires et n'utilise pas la couche d'abstraction PDO.

5. Utilisation de PDO et des pilotes Microsoft®

Composants nécessaires :

Connexion depuis PHP

$ php -r '
echo "+ Connection\n";
$pdo = new PDO("sqlsrv:Server=sqlserver.domain.tld", "user", "secret");
echo "+ Query\n";
$query = $pdo->query("SELECT @@version");
if ($query) {
    echo "+ Result\n";
    $row = $query->fetch(PDO::FETCH_NUM);
    if ($row) {
        print_r($row);
    }
}
'

+ Connection
+ Query
+ Result
Array
(
    [0] => Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
    Jun 28 2012 08:36:30
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)
)

Cette solution très proche des 1 et 3 et nécessite aussi l'installation des pilotes propriétaires.

6. Conclusion

Il me semble qu'utiliser PDO reste préférable afin d'éviter l'adhérence à un serveur de base de données particulier.

L'utilisation de FreeTDS a rendu de nombreux services, et était la seule disponible avec PHP 5. L'utilisation des extensions sqlsrv ou pdo_sqlsrv me semble donc plus pertinente avec PHP 7, mais nécessite malheureusement l'utilisation des pilotes propriétaires (mais bon, si vous utilisez Microsoft SQL server, vous avez déjà quitté le monde du libre).

A vous de vous faire votre idée.

Microsoft SQL Server depuis PHP

Remi Collet

Voici un petit récapitulatif des différents moyens d'utiliser une base de données Microsoft SQL Server depuis PHP, sous Linux.

L'ensemble des tests ont été réalisés sous Fedora 23 mais devrait fonctionner avec RHEL ou CentOS version 7.

Extensions testées:

 

1. Utilisation de PDO, ODBC et FreeTDS

Composants nécessaires:

  • Bibliothèque freetds et extension pdo_odbc
  • PHP version 5 ou 7
  • Paquets RPM: freetds (EPEL), unixODBC, php-pdo, php-odbc

Configuration du pilote ODBC

Le fichier /etc/odbcinst.ini doit contenir la déclaration du pilote:

[FreeTDS]
Description=FreeTDS version 0.95
Driver=/usr/lib64/libtdsodbc.so.0.0.0

Configuration de la source de données

Le fichier /etc/odbc.ini (système) ou le fichier ~/.odbc.ini (utilisateur) doit contenir la déclaration du serveur utilisé

[sqlsrv_freetds]
Driver=FreeTDS
Description=SQL via FreeTds
Server=sqlserver.domain.tld
Port=1433

Vérification de la connexion en ligne de commande

$ isql sqlsrv_freetds user secret
SQL> SELECT @@version
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
    Jun 28 2012 08:36:30
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)
SQLRowCount returns 1
1 rows fetched
SQL> quit

Connexion depuis PHP

$ php -r '
echo "+ Connection\n";
$pdo = new PDO("odbc:sqlsrv_freetds", "user", "secret");
echo "+ Query\n";
$query = $pdo->query("SELECT @@version");
if ($query) {
    echo "+ Result\n";
    $row = $query->fetch(PDO::FETCH_NUM);
    if ($row) {
        print_r($row);
    }
}
'
+ Connection
+ Query
+ Result
Array
(
    [0] => Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
    Jun 28 2012 08:36:30
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)
)

Cette solution est souvent la plus simple car tous les paquets nécessaires sont libres et présents dans les distributions Linux.

2. Utilisation de PDO, mssql et FreeTDS

Composants nécessaires:

  • Bibliothèque freetds et extension mssql
  • PHP version 5 (extension dépréciée et supprimée de PHP 7)
  • Paquets RPM: freetds (EPEL), php-mssql

Connexion depuis PHP

$ php -r '
echo"+ Connection:\n";
$conn = mssql_connect("sqlserver.domain.tld", "user", "secret");
if ($conn) {
    echo"+ Query:\n";
    $query = mssql_query("SELECT @@version", $conn);
    if ($query) {
        echo"+ Result:\n";
        print_r($row = mssql_fetch_array($query, MSSQL_NUM));
    }
}
'
+ Connection
+ Query
+ Result
Array
(
    [0] => Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
    Jun 28 2012 08:36:30
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)
)

Cette solution reste simple car tous les paquets nécessaires sont également libres et présents dans les distributions Linux. Cependant elle utilise une extension dépréciée, et sans utiliser la couche d'abstraction PDO.

3. Utilisation de PDO, ODBC et des pilotes ODBC Microsoft®

Composants nécessaires:

Configuration du pilote ODBC

Le fichier /etc/odbcinst.ini doit contenir la déclaration du pilote (ajouté automatiquement lors de l'installation) :

[ODBC Driver 13 for SQL Server]
Description=Microsoft ODBC Driver for SQL Server
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.0.so.0.0
Threading=1

Configuration de la source de données

Le fichier /etc/odbc.ini (système) ou le fichier ~/.odbc.ini (utilisateur) doit contenir la déclaration du serveur utilisé

[sqlsrv_msodbc]
Driver=ODBC Driver 13 for SQL Server
Description=SQL via Microsoft Drivers
Server=sqlserver.domain.tld

Vérification de la connexion en ligne de commande

$ isql sqlsrv_msodbc user secret
SQL> SELECT @@version
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
    Jun 28 2012 08:36:30
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)
SQLRowCount returns 1
1 rows fetched
SQL> quit

Connexion depuis PHP

$ php -r '
echo "+ Connection\n";
$pdo = new PDO("odbc:sqlsrv_msodbc", "user", "secret");
echo "+ Query\n";
$query = $pdo->query("SELECT @@version");
if ($query) {
    echo "+ Result\n";
    $row = $query->fetch(PDO::FETCH_NUM);
    if ($row) {
        print_r($row);
    }
}
'
+ Connection
+ Query
+ Result
Array
(
    [0] => Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
    Jun 28 2012 08:36:30
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)
)

Cette solution très proche de la 1 nécessite l'installation des pilotes propriétaires.

4. Utilisation des pilotes Microsoft®

Composants nécessaires :

Vérification de la connexion en ligne de commande

$ sqlcmd -S sqlserver.domain.tld -U user -P secret -Q "SELECT @@version"
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
    Jun 28 2012 08:36:30
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)
(1 rows affected)

Connexion depuis PHP

$ php -r '
echo"+ Connection:\n";
$conn = sqlsrv_connect("sqlserver.domain.tld", array("UID" => "user", "PWD" => "secret"));
if ($conn) {
    echo"+ Query: \n";
    $query = sqlsrv_query($conn, "SELECT @@version");
    if ($query) {
        echo"+ Result:\n";
        print_r($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_NUMERIC));
    }
}
'
+ Connection:
+ Query:
+ Result:
Array
(
    [0] => Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
    Jun 28 2012 08:36:30
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)
)

Cette solution très proche de la 2  nécessite l'installation des pilotes propriétaires et n'utilise pas la couche d'abstraction PDO.

5. Utilisation de PDO et des pilotes Microsoft®

Composants nécessaires :

Connexion depuis PHP

$ php -r '
echo "+ Connection\n";
$pdo = new PDO("sqlsrv:Server=sqlserver.domain.tld", "user", "secret");
echo "+ Query\n";
$query = $pdo->query("SELECT @@version");
if ($query) {
    echo "+ Result\n";
    $row = $query->fetch(PDO::FETCH_NUM);
    if ($row) {
        print_r($row);
    }
}
'

+ Connection
+ Query
+ Result
Array
(
    [0] => Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64)
    Jun 28 2012 08:36:30
    Copyright (c) Microsoft Corporation
    Express Edition with Advanced Services (64-bit) on Windows NT 6.1 <X64> (Build 7600: ) (Hypervisor)
)

Cette solution très proche des 1 et 3 et nécessite aussi l'installation des pilotes propriétaires.

6. Conclusion

Il me semble qu'utiliser PDO reste préférable afin d'éviter l'adhérence à un serveur de base de données particulier.

L'utilisation de FreeTDS a rendu de nombreux services, et était la seule disponible avec PHP 5. L'utilisation des extensions sqlsrv ou pdo_sqlsrv me semble donc plus pertinente avec PHP 7, mais nécessite malheureusement l'utilisation des pilotes propriétaires (mais bon, si vous utilisez Microsoft SQL server, vous avez déjà quitté le monde du libre).

A vous de vous faire votre idée.

Dell XPS (2015), carte Intel i915 et kernel >= 4.6

Guillaume Kulakowski

Depuis le passage de Fedora au kernel 4.6, mon portable (Dell XPS 13 édition 2015) freeze au lancement de Gnome... Je n'avais pas pris le temps de corriger ça et je me disais que le 4.7 le corrigerait bien... Malheureusement ce ne fût pas le cas à là sortie du kernel 4.7. En faisant un peu de recherche il semblerait que les drivers i915 soient daubés depuis la 4.6 et ceci entraine toutes sortes de bugs divers. Du coup je me suis lancé dans la recherche de paramètres à passer au kernel pour arriver enfin à faire tourner mon XPS avec un kernel 4.7. Et les bons paramètres semblent être les suivants :
 

 

i915.enable_execlists=0 idle.max_cstate=1 i915.semaphores=1 i915.enable_psr=0

Pour les déployer, rien de plus simple, on édite /etc/default/grub, on rajoute le paramètres dans GRUB_CMDLINE_LINUX, on reconstruit grub, dans mon cas, en boot EFI, ça donne :

LANG=C grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

Ensuite on croise les doigts et on reboot ;-)" class="smiley

Certificat Let's Encrypt configuré au top

Guillaume Kulakowski

Dernièrement j'ai dû, pour le compte d'un client, faire une étude pour rendre un site compatible ATS au niveau de la sécurité. Il en est ressorti plusieurs problèmes :

  • La CVE-2016-2107 pour cause de lib-openssl pas à jour.
  • Des Ciphers et des protocoles pas top...
  • Pas de  PFS.

Le bilan : une note de "F".

Du coup, j'ai regardé un de mes domaines SSL et je me suis rendu compte que moi aussi je n'étais pas au top... Du coup une petite correction s'imposée.

Première étape : mettre à jour le container apache pour avoir les dernières versions de lib-openssl et d'apache.

Pour ça, rien de plus simple :

docker-compose build llaumgui_httpd24 ; docker-compose stop llaumgui_httpd24 ; docker-compose rm llaumgui_httpd24 ; docker-compose up -d llaumgui_httpd24

Seconde étapes : aller sur Mozilla SSL Configuration Generator pour trouver la configuration qui vous va bien. Pour moi je suis parti là dessus.

Troisième étape : faire le ménage dans la configuration de base de RHEL7.

Quatrième étape : aller sur Let'sEncrypt pour avoir un certificats SSL gratuit ! Alors là, faites gaffe, il existe plein de truc plus ou moins lourd pour générer des certificats SSL chez Let's Encrypt. Perso j'ai retenu acme-tiny car je n'ai rien trouvé de plus petit !

Il faut juste ouvrir votre port 80 et tout rediriger sur le 443 sauf bien sûr le chalenge Let's Encrypt :

<virtualhost>
    ServerName sub.domain.ltd
    ServerAdmin me@domain.ltd

    ### Let's encrypt
    Alias /.well-known/acme-challenge/ /var/www/challenges/
    <directory>
        # Allow open access:
        Require all granted
    </directory>

    ### Redirect to HTTPs
    RewriteEngine on
    RewriteCond %{REQUEST_URI} !^/.well-known/acme-challenge/
    RewriteRule (.*) https://sub.domain.ltd$1 [R=301,L]
</virtualhost>

Et c'est tout ! Plus qu'à controller avec Qualys SSL Labs.

qualys_ssl_labs.jpg

PHP version 5.6.26 et 7.0.11

Remi Collet

Les RPM de PHP version 7.0.11 sont disponibles dans le dépôt remi-php70 pour Fedora et Enterprise Linux (RHEL, CentOS).

Les RPM de PHP version 5.6.26 sont disponibles dans le dépôt remi pour Fedora ≥ 21 et remi-php56 pour Enterprise Linux.

emblem-important-2-24.pngPHP version 5.5 a atteint sa fin de vie et n'est plus maintenu par le projet.

Ces versions sont aussi disponibles en Software Collections.

security-medium-2-24.pngCes versions corrigent quelques failles de sécurité, la mise à jour est donc vivement recommandée.

Annonces des versions :

emblem-notice-24.pngInstallation : voir l'assistant de configuration et choisir la version et le mode d'installation.

Remplacement du PHP par défaut du système par la version 7.0 (le plus simple) :

yum-config-manager --enable remi-php70
yum update

Installation en parallèle, en Software Collections de PHP 7.0 (x86_64 uniquement) :

yum install php70

Remplacement du PHP par défaut du système par la version 5.6 (le plus simple) :

yum-config-manager --enable remi-php56
yum update

Installation en parallèle, en Software Collections de PHP 5.6 (x86_64 uniquement) :

yum install php56

Et bientôt dans les mises à jour officielles:

emblem-important-2-24.pngÀ noter :

  • la version EL7 est construite avec RHEL-7.2
  • la version EL6 est construite avec RHEL-6.8
  • beaucoup de nouvelles extensions sont aussi disponible, voir PECL extension RPM status page

emblem-notice-24.pngInformations, lire :

Paquets de base (php)

Software Collections (php56 / php70)

PHP version 5.6.26 et 7.0.11

Remi Collet

Les RPM de PHP version 7.0.11 sont disponibles dans le dépôt remi-php70 pour Fedora et Enterprise Linux (RHEL, CentOS).

Les RPM de PHP version 5.6.26 sont disponibles dans le dépôt remi pour Fedora ≥ 21 et remi-php56 pour Enterprise Linux.

emblem-important-2-24.pngPHP version 5.5 a atteint sa fin de vie et n'est plus maintenu par le projet.

Ces versions sont aussi disponibles en Software Collections.

security-medium-2-24.pngCes versions corrigent quelques failles de sécurité, la mise à jour est donc vivement recommandée.

Annonces des versions :

emblem-notice-24.pngInstallation : voir l'assistant de configuration et choisir la version et le mode d'installation.

Remplacement du PHP par défaut du système par la version 7.0 (le plus simple) :

yum-config-manager --enable remi-php70
yum update

Installation en parallèle, en Software Collections de PHP 7.0 (x86_64 uniquement) :

yum install php70

Remplacement du PHP par défaut du système par la version 5.6 (le plus simple) :

yum-config-manager --enable remi-php56
yum update

Installation en parallèle, en Software Collections de PHP 5.6 (x86_64 uniquement) :

yum install php56

Et bientôt dans les mises à jour officielles:

emblem-important-2-24.pngÀ noter :

  • la version EL7 est construite avec RHEL-7.2
  • la version EL6 est construite avec RHEL-6.8
  • beaucoup de nouvelles extensions sont aussi disponible, voir PECL extension RPM status page

emblem-notice-24.pngInformations, lire :

Paquets de base (php)

Software Collections (php56 / php70)

PHP 5.5 est mort

Remi Collet

Après PHP 5.4, et comme annoncé, PHP version 5.5.38 était la dernière version officielle de PHP 5.5

Ce qui signifie que depuis la publication des versions 5.6.25 et 7.0.10, quelques failles de sécurité publiques ne sont pas, et ne seront pas corrigées par le projet PHP.

Pour maintenir une installation sécurisée, la mise à jour vers une version maintenue est fortement conseillée :

  • PHP 5.6 est en mode maintenance active, et sera maitenu jusqu'en décembre 2018.
  • PHP 7.0 est en mode maintenance active, et sera maitenu jusqu'en décembre 2018.
  • PHP 7.1 est en phase de stabilisation (Release Candidate) et devrait être bientôt publiée en version stable.

Voir :

Cependant, compte tenu du nombre important de téléchargements par les utilisateurs de mon dépôt (~20%)  la version présente dans le dépôt remi pour Enterprise Linux (RHEL, CentOS...) et Fedora (Software Collections) a été conservée et intègre les derniers correctifs de sécurité.

Attention : il s'agit d'un action réalisée avec la meilleure volonté, en fonction de mon temps disponible, sans aucune garantie, afin de donner plus de temps aux utilisateurs pour migrer. Cela ne peut être que temporaire et la migration doit rester la priorité.

La version 5.5.38-2 intègre les correctifs pour les bugs rétro-portés depuis 5.6.25.

Paquets de base (php)

Software Collections (php55)

PHP 5.5 est mort

Remi Collet

Après PHP 5.4, et comme annoncé, PHP version 5.5.38 était la dernière version officielle de PHP 5.5

Ce qui signifie que depuis la publication des versions 5.6.25 et 7.0.10, quelques failles de sécurité publiques ne sont pas, et ne seront pas corrigées par le projet PHP.

Pour maintenir une installation sécurisée, la mise à jour vers une version maintenue est fortement conseillée :

  • PHP 5.6 est en mode maintenance active, et sera maitenu jusqu'en décembre 2018.
  • PHP 7.0 est en mode maintenance active, et sera maitenu jusqu'en décembre 2018.
  • PHP 7.1 est en phase de stabilisation (Release Candidate) et devrait être bientôt publiée en version stable.

Voir :

Cependant, compte tenu du nombre important de téléchargements par les utilisateurs de mon dépôt (~20%)  la version présente dans le dépôt remi pour Enterprise Linux (RHEL, CentOS...) et Fedora (Software Collections) a été conservée et intègre les derniers correctifs de sécurité.

Attention : il s'agit d'un action réalisée avec la meilleure volonté, en fonction de mon temps disponible, sans aucune garantie, afin de donner plus de temps aux utilisateurs pour migrer. Cela ne peut être que temporaire et la migration doit rester la priorité.

La version 5.5.38-2 intègre les correctifs pour les bugs rétro-portés depuis 5.6.25.

Paquets de base (php)

Software Collections (php55)

PHP version 5.6.26RC1 et 7.0.11RC1

Remi Collet

Les versions Release Candidate sont disponibles dans le dépôt remi-test pour Fedora et Enterprise Linux (RHEL / CentOS) afin de permettre au plus grand nombre de les tester. Elles sont  fournit en Software Collections, pour une installation en parallèle, solution idéale pour ce type de tests. Uniquement pour x86_64.

Les RPM de PHP version 5.6.26RC1 sont disponibles en SCL et en paquets de base dans le dépôt remi-test pour Fedora21 et Enterprise Linux6.

Les RPM de PHP version 7.0.11C1 sont disponibles en SCL dans le dépôt remi-test et les paquets de base dans le dépôt remi-php70-test pour Fedora 21 et Enterprise Linux6.

emblem-notice-24.pngInstallation : voir la Configuration du dépôt et choisir la version.

Installation en parallèle, en Software Collections de PHP 5.6 :

yum --enablerepo=remi-test install php56

Installation en parallèle, en Software Collections de PHP 7.0 :

yum --enablerepo=remi-test install php70

Mise à jour, de PHP 5.6 :

yum --enablerepo=remi-php56,remi-test update php\*

Mise à jour, de PHP 7.0 :

yum --enablerepo=remi-php70,remi-php70-test update php\*

A noter : la version 7.0.11RC1 est aussi disponible dans Fedora rawhide.

emblem-notice-24.pngLa version RC est généralement identique à la version finale (aucun changement accepté, à l'exception de correctifs de sécurité).

Software Collections (php56, php70)

Paquets standards (php)

PHP version 5.6.26RC1 et 7.0.11RC1

Remi Collet

Les versions Release Candidate sont disponibles dans le dépôt remi-test pour Fedora et Enterprise Linux (RHEL / CentOS) afin de permettre au plus grand nombre de les tester. Elles sont  fournit en Software Collections, pour une installation en parallèle, solution idéale pour ce type de tests. Uniquement pour x86_64.

Les RPM de PHP version 5.6.26RC1 sont disponibles en SCL et en paquets de base dans le dépôt remi-test pour Fedora21 et Enterprise Linux6.

Les RPM de PHP version 7.0.11C1 sont disponibles en SCL dans le dépôt remi-test et les paquets de base dans le dépôt remi-php70-test pour Fedora 21 et Enterprise Linux6.

emblem-notice-24.pngInstallation : voir la Configuration du dépôt et choisir la version.

Installation en parallèle, en Software Collections de PHP 5.6 :

yum --enablerepo=remi-test install php56

Installation en parallèle, en Software Collections de PHP 7.0 :

yum --enablerepo=remi-test install php70

Mise à jour, de PHP 5.6 :

yum --enablerepo=remi-php56,remi-test update php\*

Mise à jour, de PHP 7.0 :

yum --enablerepo=remi-php70,remi-php70-test update php\*

A noter : la version 7.0.11RC1 est aussi disponible dans Fedora rawhide.

emblem-notice-24.pngLa version RC est généralement identique à la version finale (aucun changement accepté, à l'exception de correctifs de sécurité).

Software Collections (php56, php70)

Paquets standards (php)

PHP version 5.6.25 et 7.0.10

Remi Collet

Avec un peu de retard en raison de mes vacances.

Les RPM de PHP version 7.0.10 sont disponibles dans le dépôt remi-php70 pour Fedora et Enterprise Linux (RHEL, CentOS).

Les RPM de PHP version 5.6.25 sont disponibles dans le dépôt remi pour Fedora ≥ 21 et remi-php56 pour Enterprise Linux.

emblem-important-2-24.pngPHP version 5.5 a atteint sa fin de vie et n'est plus maintenu par le projet.

emblem-important-2-24.pngPHP version 5.4 a atteint sa fin de vie et n'est plus maintenu par le projet.

Ces versions sont aussi disponibles en Software Collections.

security-medium-2-24.pngCes versions corrigent quelques failles de sécurité, la mise à jour est donc vivement recommandée.

Annonces des versions :

emblem-important-2-24.png La version 5.5.27 était la dernière mise à jour corrigeant des bugs. La branche 5.5 est donc en maintenance de sécurité uniquement (jusqu'en Juillet 2016).

emblem-notice-24.pngInstallation : voir l'assistant de configuration et choisir la version et le mode d'installation.

Remplacement du PHP par défaut du système par la version 7.0 (le plus simple) :

yum-config-manager --enable remi-php70
yum update

Installation en parallèle, en Software Collections de PHP 7.0 (x86_64 uniquement) :

yum install php70

Remplacement du PHP par défaut du système par la version 5.6 (le plus simple) :

yum-config-manager --enable remi-php56
yum update

Installation en parallèle, en Software Collections de PHP 5.6 (x86_64 uniquement) :

yum install php56

Et bientôt dans les mises à jour officielles:

emblem-important-2-24.pngÀ noter :

  • la version EL7 est construite avec RHEL-7.2
  • la version EL6 est construite avec RHEL-6.8
  • beaucoup de nouvelles extensions sont aussi disponible, voir PECL extension RPM status page

emblem-notice-24.pngInformations, lire :

Paquets de base (php)

Software Collections (php56 / php70)

PHP version 5.6.25 et 7.0.10

Remi Collet

Avec un peu de retard en raison de mes vacances.

Les RPM de PHP version 7.0.10 sont disponibles dans le dépôt remi-php70 pour Fedora et Enterprise Linux (RHEL, CentOS).

Les RPM de PHP version 5.6.25 sont disponibles dans le dépôt remi pour Fedora ≥ 21 et remi-php56 pour Enterprise Linux.

emblem-important-2-24.pngPHP version 5.5 a atteint sa fin de vie et n'est plus maintenu par le projet.

emblem-important-2-24.pngPHP version 5.4 a atteint sa fin de vie et n'est plus maintenu par le projet.

Ces versions sont aussi disponibles en Software Collections.

security-medium-2-24.pngCes versions corrigent quelques failles de sécurité, la mise à jour est donc vivement recommandée.

Annonces des versions :

emblem-notice-24.pngInstallation : voir l'assistant de configuration et choisir la version et le mode d'installation.

Remplacement du PHP par défaut du système par la version 7.0 (le plus simple) :

yum-config-manager --enable remi-php70
yum update

Installation en parallèle, en Software Collections de PHP 7.0 (x86_64 uniquement) :

yum install php70

Remplacement du PHP par défaut du système par la version 5.6 (le plus simple) :

yum-config-manager --enable remi-php56
yum update

Installation en parallèle, en Software Collections de PHP 5.6 (x86_64 uniquement) :

yum install php56

Et bientôt dans les mises à jour officielles:

emblem-important-2-24.pngÀ noter :

  • la version EL7 est construite avec RHEL-7.2
  • la version EL6 est construite avec RHEL-6.8
  • beaucoup de nouvelles extensions sont aussi disponible, voir PECL extension RPM status page

emblem-notice-24.pngInformations, lire :

Paquets de base (php)

Software Collections (php56 / php70)

Page générée le 05 déc 2016 à 12:39