« MediaWiki/Serveur internet sous Windows » : différence entre les versions

Aller à la navigation Aller à la recherche
Balise : Nouvelle redirection
 
(37 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
#REDIRECTION [[Serveur internet sous Windows (2019)]]
{{Sommaire}}
 
La création d'un '''serveur internet sous Windows'''.
 
Plus précisément, sous Windows 10 Pro.
 
== Prérequis ==
=== Organisation des dossiers sur le serveur ===
* <code>C:\phpwamp\apache\</code>
* <code>C:\phpwamp\log\</code>
* <code>C:\phpwamp\mysql\</code>
* <code>C:\phpwamp\php\</code>
* <code>C:\phpwamp\tmp\</code>
* <code>C:\phpwamp\www\</code> : contiendra tous les sous-dossiers correspondants aux différents sites
** <code>C:\phpwamp\www\phpmyadmin\</code> : dossier pour phpMyAdmin
** <code>C:\phpwamp\www\site1\</code> : dossier pour le premier site
** <code>C:\phpwamp\www\site2\</code> : dossier pour le deuxième site
 
=== Les sources ===
Apache, Apache 2.4.53
* https://www.apachelounge.com/download/
* https://www.apachelounge.com/download/additional/ compléments
* https://httpd.apache.org/docs/2.4/ssl/ssl_howto.html le chiffrement SSL
 
MySQL, MySQL Community Server 8.0.26
* https://dev.mysql.com/downloads/mysql/
 
PHP, version 7.4.28
* http://windows.php.net/download
 
phpmyadmin, version 5.1.3
* https://www.phpmyadmin.net/downloads/
 
MediaWiki, version 1.37.0 ; non compatible avec PHP 8.x
* https://www.mediawiki.org/wiki/MediaWiki
 
=== MySQL et prérequis ===
Site officiel de MySQL
* https://www.mysql.com/fr/
 
MySQL Community Server :
* https://dev.mysql.com/downloads/mysql/
** mysql-8.0.26-winx64.zip
 
* https://dev.mysql.com/downloads/connector/odbc/
** mysql-connector-odbc-8.0.26-winx64.msi
** nécessite Visual Studio 2018 x64
 
PHP 7.4.x ou plus récent, avec les extensions suivantes :
* ctype
* iconv
* json
* mbstring
* xml
* openssl, fortement recommandé
 
MySQL :
* MySQL x.x.x ou plus récent
 
== MySQL, installation ==
Choix des éléments :
* MySQL Server 8.0.26 - x64
* MySQL Workbench 8.0.26 - x64
* Connector/ODBC 8.0.26 - x64
* Samples and Examples 8.0.26 - x86
* MySQL Documentation - x86
 
== Outils ==
* MySQL Utilities requires Python x.x
** https://dev.mysql.com/doc/mysql-utilities/1.6/en/
* MediaWiki 1.37.0
** https://www.mediawiki.org/wiki/Compatibility/fr : attention à la compatibilité avec PHP
** https://wiki.meurisse.org/wiki/MediaWiki#Prerequisite guide
 
=== Gestion des documents SVG ===
Pour que les documents SVG soient gérés, autant en affichage qu'en génération de vignette :
<source lang="php">
# document SVG et affichage vignette * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
## use ImageMagick in mediawiki
$wgUseImageResize = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "D:\phpwamp\outil\ImageMagick\convert.exe";
# For SVG image support
$wgAllowTitlesInSVG = true;
$wgSVGConverter = 'ImageMagick';
$wgSVGConverters = [
    'ImageMagick' => '"D:\phpwamp\outil\ImageMagick\convert.exe" -background white -geometry $width $input $output',
];
</source>
 
== Paramétrage ==
 
=== Apache ===
Apache, <code>httpd.conf</code>, ajouter les lignes suivantes
* <code>LoadModule php7_module "...\php\php7apache2_4.dll"</code>
* <code>AddHandler application/x-httpd-php .php</code>
* <code># configure the path to php.ini</code>
* <code>PHPIniDir ...</code>
 
Apache, <code>httpd.conf</code>, modifier
* <code>ServerRoot "C:\phpwamp/apache24"</code>
* <code>Listen 80</code>
* <code>DocumentRoot "C:\phpwamp/www"</code>
* <code><Directory "C:\phpwamp/www"></code>
 
Apache, <code>httpd.conf</code>, modifier
<source lang="apache">
<IfModule dir_module>
  DirectoryIndex index.html, index.htm, index.php
</IfModule>
</source>
 
==== Problème connu ====
Si certaines extension PHP ne sont pas chargées (notamment ''curl'', ''intl'', ''ldap''), ajouter les chemins systèmes suivants :
<source lang="dos">
C:\phpwamp\php\
C:\phpwamp\php\ext\
</source>
 
Pour le fonctionnement de l'éditeur visuel, il faut apparemment avoir créé au moins un article avec l'éditeur pour que l'éditeur visuel fonctionne avec les pages existantes.
 
=== PHP ===
PHP, <code>php.ini</code>
* <code>extension_dir = "C:\phpwamp\php\ext"</code>
* <code>session.save_path = "C:\phpwamp\tmp"</code>
 
==== phpinfo.php ====
<source lang="php">
<?php
// Affiche toutes les informations, comme le ferait INFO_ALL
phpinfo();
?>
</source>
 
==== PHP, les extensions ====
PHP, <code>php.ini</code>
*
*
*
*
*
*
* extension=intl ; pour MediaWiki
 
== SSL ==
* https://apache.developpez.com/cours/apache20-modssl-windows/
 
== Commandes ==
; Installation du service Apache :
<source lang="dos" inline>C:\phpwamp\apache\bin\httpd -k install</source>
 
; Démarrage du service Apache :
<source lang="dos" inline>C:\phpwamp\apache\bin\httpd -k start</source>
 
; Redémarrage du service Apache :
<source lang="dos" inline>C:\phpwamp\apache\bin\httpd -k restart</source>
 
; Moniteur Apache (icone dans la barre de notification)
<source lang="dos" inline>C:\phpwamp\apache\bin\ApacheMonitor.exe</source>
 
;Vérification du serveur. Fichier <code>index.php</code>
<source lang="php">
<?php
echo phpinfo();
?>
</source>
 
=== MySQL ===
Pour accéder à MySQL en ligne de commande :
* fenêtre DOS ;
* <code>mysql -u root -p</code>
 
Sauvegarde d'une base de données :
* <code>mysqldump --databases nombase > nombase-sauv.sql</code>
 
Import d'une base :
* <code>mysql -u root -p nombase < nombase-sauve.sql</code>
 
== Kono installation (MediaWiki) ==
# langue : français
# vérification environnement
#* Attention : impossible de trouver APCu ou WinCache ;
#* Attention : votre répertoire par défaut pour les téléversements, C:\phpwamp\www\konoRH/images/, est vulnérable, car il peut exécuter n’importe quel script.
# Connexion à la base de données
#* hôte base de données : localhost
#* nom base : konorh
#* préfixe tables : konorh
#* compte pour l'installation
# paramètres de la base de données
#* compte de la base de données pour l'accès web
# nom
#* Kono RH
#* compte administrateur
# Options
#* wiki privé
#* aucune licence
#* pas de courriel
#* habillage '''Vector'''
#* ...
#* Téléversement des images et des fichiers
 
== Kono personnalisation ==
=== Extensions ===
Les extensions pour une personnalisation approfondie :
* Metrolook : habillage ;
* NoTitle : pour ne pas afficher le titre de l'article (syntaxe <code>__NOTITLE__</code>) ;
* MsUpload : pour faciliter le téléchargement de document, par dépose notamment ;
* Newest Pages, pour l'affichage des derniers articles créés, avec la possibilité de cibler une catégorie ;
* PdfHandler : pour la gestion des PDF, avec installation de plusieurs outils pour la génération des vignettes et l'affichage des vignettes ;
 
==== Metrolook ====
L'habillage Metrolook :
* https://www.mediawiki.org/wiki/Skin:Metrolook
 
==== NoTitle ====
NoTitle, pour ne pas afficher le titre de l'article :
* https://www.mediawiki.org/wiki/Extension:NoTitle
 
==== MsUpload ====
* https://www.mediawiki.org/wiki/Extension:MsUpload
 
==== Newest Pages ====
Newest Pages, pour l'affichage des derniers articles créés, avec la possibilité de cibler une catégorie :
* https://www.mediawiki.org/wiki/Extension:Newest_Pages
 
==== Purge ====
Purge, ajoute un onglet pour purger le cache de la page en cours :
* https://www.mediawiki.org/wiki/Extension:Purge
 
==== Highlightjs Integration ====
Highlightjs Integration pour la coloration syntaxique avec les balises <nowiki><source></nowiki> et <nowiki></source></nowiki> :
* https://www.mediawiki.org/wiki/Extension:Highlightjs_Integration
 
==== PdfHandler ====
PdfHandler : affichage de PDF
* https://www.mediawiki.org/wiki/Extension:PdfHandler
Nécessite les outils suivants :
* Ghostscript (avec licence ''GNU Affero General Public License'') :
** https://www.ghostscript.com/download.html
* ImageMagick
** https://www.imagemagick.org/script/download.php
*** <code>ImageMagick-7.1.0-5-Q16-x64-static.exe</code>
*** <code>ImageMagick-7.1.0-5-portable-Q16-x64.zip</code> : version portable
* xpdf-utils (Xpdf command line tools) :
** https://www.xpdfreader.com/download.html
 
Pour ImageMagick, avec la version ImageMagick-7.1.0-Q16, j'ai dû faire une copie du fichier <code>magick.exe</code> et la renommer en <code>convert.exe</code> ; avec cette action, l'outil fonctionne bien !
 
Ajout des chemins suivant au chemin système (''PATH'') :
* <source lang="dos" inline>C:\phpwamp\outil\gs\bin\</source>
* <code>C:\phpwamp\outil\ImageMagick\</code>
* <code>C:\phpwamp\outil\xpdf-tools-win-4.03\bin64\</code>
 
<source lang="php">
# PdfHandler, options
$wgPdfProcessor = 'C:\phpwamp\outil\gs\bin\gswin64.exe';
# $wgPdfPostProcessor = $wgImageMagickConvertCommand; // if defined via ImageMagick
$wgPdfPostProcessor = 'C:\phpwamp\outil\ImageMagick\convert.exe'; // if not defined via ImageMagick
$wgPdfInfo = 'C:\phpwamp\outil\xpdf-tools-win-4.03\bin64\pdfinfo.exe';
$wgPdftoText = 'C:\phpwamp\outil\xpdf-tools-win-4.03\bin64\pdftotext.exe';
</source>
 
===== Amélioration =====
Après la dépose, suivant le type de document, différentes actions sont possible :
* si PDF : insérer le lien ; c'est alors un lien de la forme <code><nowiki>[[:File:nom du document.pdf]]</nowiki></code> qui est inséré dans le code wiki ;
* si une seule image : ''insérer le lien'' et ''insérer en tant qu’image'' ; et bandeau supplémentaire avec ''Effacer la liste'', ''insérer tant que fichier'', ''insérer tout en tant que lien''
* si plusieurs images : ''insérer le lien'' et ''insérer en tant qu’image'' ; et bandeau supplémentaire avec ''Effacer la liste'', ''insérer l'ensemble en tant que galerie'', ''insérer tout en tant que fichiers'', ''insérer tout en tant que liens''
 
Avant modification du fichier <code>...\extensions\MsUpload\resources\MsUpload.js</code>
<source lang="php">
galleryArray: [],
insertGallery: function () {
var galleryText = 'File:' + MsUpload.galleryArray.join( '\nFile:' );
MsUpload.insertText( '<gallery>\n' + galleryText + '\n</gallery>\n' );
},
</source>
 
Après modification du fichier <code>...\extensions\MsUpload\resources\MsUpload.js</code>
<source lang="php">
galleryArray: [],
insertGallery: function () {
var galleryText = 'File:' + MsUpload.galleryArray.join( '\nFile:' );
MsUpload.insertText( '<gallery mode="packed">\n' + galleryText + '\n</gallery>\n' );
},
</source>
 
==== LdapAuthentication ====
* https://www.mediawiki.org/wiki/Extension:LDAP_Authentication
 
==== Auth remoteuser ====
* https://www.mediawiki.org/wiki/Extension:Auth_remoteuser
 
=== Habillage ===
Utilisation de l'habillage '''Metrolook'''
* https://www.mediawiki.org/wiki/Skin:Metrolook
 
Utilisation de l'habillage '''Pivot'''
* https://www.mediawiki.org/wiki/Skin:Pivot
 
== Voir aussi ==
* [[Serveur internet sous Windows (2019)]]
 
[[Catégorie:Site_internet]]
[[Catégorie:Serveur internet]]
[[Catégorie:Windows]]

Version du 6 décembre 2022 à 23:19

La création d'un serveur internet sous Windows.

Plus précisément, sous Windows 10 Pro.

Prérequis

Organisation des dossiers sur le serveur

  • C:\phpwamp\apache\
  • C:\phpwamp\log\
  • C:\phpwamp\mysql\
  • C:\phpwamp\php\
  • C:\phpwamp\tmp\
  • C:\phpwamp\www\ : contiendra tous les sous-dossiers correspondants aux différents sites
    • C:\phpwamp\www\phpmyadmin\ : dossier pour phpMyAdmin
    • C:\phpwamp\www\site1\ : dossier pour le premier site
    • C:\phpwamp\www\site2\ : dossier pour le deuxième site

Les sources

Apache, Apache 2.4.53

MySQL, MySQL Community Server 8.0.26

PHP, version 7.4.28

phpmyadmin, version 5.1.3

MediaWiki, version 1.37.0 ; non compatible avec PHP 8.x

MySQL et prérequis

Site officiel de MySQL

MySQL Community Server :

PHP 7.4.x ou plus récent, avec les extensions suivantes :

  • ctype
  • iconv
  • json
  • mbstring
  • xml
  • openssl, fortement recommandé

MySQL :

  • MySQL x.x.x ou plus récent

MySQL, installation

Choix des éléments :

  • MySQL Server 8.0.26 - x64
  • MySQL Workbench 8.0.26 - x64
  • Connector/ODBC 8.0.26 - x64
  • Samples and Examples 8.0.26 - x86
  • MySQL Documentation - x86

Outils

Gestion des documents SVG

Pour que les documents SVG soient gérés, autant en affichage qu'en génération de vignette :

# document SVG et affichage vignette * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
## use ImageMagick in mediawiki
$wgUseImageResize = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "D:\phpwamp\outil\ImageMagick\convert.exe";
# For SVG image support
$wgAllowTitlesInSVG = true;
$wgSVGConverter = 'ImageMagick';
$wgSVGConverters = [
    'ImageMagick' => '"D:\phpwamp\outil\ImageMagick\convert.exe" -background white -geometry $width $input $output',
];

Paramétrage

Apache

Apache, httpd.conf, ajouter les lignes suivantes

  • LoadModule php7_module "...\php\php7apache2_4.dll"
  • AddHandler application/x-httpd-php .php
  • # configure the path to php.ini
  • PHPIniDir ...

Apache, httpd.conf, modifier

  • ServerRoot "C:\phpwamp/apache24"
  • Listen 80
  • DocumentRoot "C:\phpwamp/www"
  • <Directory "C:\phpwamp/www">

Apache, httpd.conf, modifier

<IfModule dir_module>
   DirectoryIndex index.html, index.htm, index.php
</IfModule>

Problème connu

Si certaines extension PHP ne sont pas chargées (notamment curl, intl, ldap), ajouter les chemins systèmes suivants :

C:\phpwamp\php\
C:\phpwamp\php\ext\

Pour le fonctionnement de l'éditeur visuel, il faut apparemment avoir créé au moins un article avec l'éditeur pour que l'éditeur visuel fonctionne avec les pages existantes.

PHP

PHP, php.ini

  • extension_dir = "C:\phpwamp\php\ext"
  • session.save_path = "C:\phpwamp\tmp"

phpinfo.php

<?php
// Affiche toutes les informations, comme le ferait INFO_ALL
phpinfo();
?>

PHP, les extensions

PHP, php.ini

  • extension=intl ; pour MediaWiki

SSL

Commandes

Installation du service Apache

C:\phpwamp\apache\bin\httpd -k install

Démarrage du service Apache

C:\phpwamp\apache\bin\httpd -k start

Redémarrage du service Apache

C:\phpwamp\apache\bin\httpd -k restart

Moniteur Apache (icone dans la barre de notification)

C:\phpwamp\apache\bin\ApacheMonitor.exe

Vérification du serveur. Fichier index.php
<?php
echo phpinfo();
?>

MySQL

Pour accéder à MySQL en ligne de commande :

  • fenêtre DOS ;
  • mysql -u root -p

Sauvegarde d'une base de données :

  • mysqldump --databases nombase > nombase-sauv.sql

Import d'une base :

  • mysql -u root -p nombase < nombase-sauve.sql

Kono installation (MediaWiki)

  1. langue : français
  2. vérification environnement
    • Attention : impossible de trouver APCu ou WinCache ;
    • Attention : votre répertoire par défaut pour les téléversements, C:\phpwamp\www\konoRH/images/, est vulnérable, car il peut exécuter n’importe quel script.
  3. Connexion à la base de données
    • hôte base de données : localhost
    • nom base : konorh
    • préfixe tables : konorh
    • compte pour l'installation
  4. paramètres de la base de données
    • compte de la base de données pour l'accès web
  5. nom
    • Kono RH
    • compte administrateur
  6. Options
    • wiki privé
    • aucune licence
    • pas de courriel
    • habillage Vector
    • ...
    • Téléversement des images et des fichiers

Kono personnalisation

Extensions

Les extensions pour une personnalisation approfondie :

  • Metrolook : habillage ;
  • NoTitle : pour ne pas afficher le titre de l'article (syntaxe ) ;
  • MsUpload : pour faciliter le téléchargement de document, par dépose notamment ;
  • Newest Pages, pour l'affichage des derniers articles créés, avec la possibilité de cibler une catégorie ;
  • PdfHandler : pour la gestion des PDF, avec installation de plusieurs outils pour la génération des vignettes et l'affichage des vignettes ;

Metrolook

L'habillage Metrolook :

NoTitle

NoTitle, pour ne pas afficher le titre de l'article :

MsUpload

Newest Pages

Newest Pages, pour l'affichage des derniers articles créés, avec la possibilité de cibler une catégorie :

Purge

Purge, ajoute un onglet pour purger le cache de la page en cours :

Highlightjs Integration

Highlightjs Integration pour la coloration syntaxique avec les balises <source> et </source> :

PdfHandler

PdfHandler : affichage de PDF

Nécessite les outils suivants :

Pour ImageMagick, avec la version ImageMagick-7.1.0-Q16, j'ai dû faire une copie du fichier magick.exe et la renommer en convert.exe ; avec cette action, l'outil fonctionne bien !

Ajout des chemins suivant au chemin système (PATH) :

  • C:\phpwamp\outil\gs\bin\
  • C:\phpwamp\outil\ImageMagick\
  • C:\phpwamp\outil\xpdf-tools-win-4.03\bin64\
# PdfHandler, options
$wgPdfProcessor = 'C:\phpwamp\outil\gs\bin\gswin64.exe';
# $wgPdfPostProcessor = $wgImageMagickConvertCommand; // if defined via ImageMagick
$wgPdfPostProcessor = 'C:\phpwamp\outil\ImageMagick\convert.exe'; // if not defined via ImageMagick
$wgPdfInfo = 'C:\phpwamp\outil\xpdf-tools-win-4.03\bin64\pdfinfo.exe';
$wgPdftoText = 'C:\phpwamp\outil\xpdf-tools-win-4.03\bin64\pdftotext.exe';
Amélioration

Après la dépose, suivant le type de document, différentes actions sont possible :

  • si PDF : insérer le lien ; c'est alors un lien de la forme [[:File:nom du document.pdf]] qui est inséré dans le code wiki ;
  • si une seule image : insérer le lien et insérer en tant qu’image ; et bandeau supplémentaire avec Effacer la liste, insérer tant que fichier, insérer tout en tant que lien
  • si plusieurs images : insérer le lien et insérer en tant qu’image ; et bandeau supplémentaire avec Effacer la liste, insérer l'ensemble en tant que galerie, insérer tout en tant que fichiers, insérer tout en tant que liens

Avant modification du fichier ...\extensions\MsUpload\resources\MsUpload.js

		galleryArray: [],
		insertGallery: function () {
			var galleryText = 'File:' + MsUpload.galleryArray.join( '\nFile:' );
			MsUpload.insertText( '<gallery>\n' + galleryText + '\n</gallery>\n' );
		},

Après modification du fichier ...\extensions\MsUpload\resources\MsUpload.js

		galleryArray: [],
		insertGallery: function () {
			var galleryText = 'File:' + MsUpload.galleryArray.join( '\nFile:' );
			MsUpload.insertText( '<gallery mode="packed">\n' + galleryText + '\n</gallery>\n' );
		},

LdapAuthentication

Auth remoteuser

Habillage

Utilisation de l'habillage Metrolook

Utilisation de l'habillage Pivot

Voir aussi