Serveur internet sous Debian

La création d'un serveur internet sous GNU/Linux.

La distribution choisie est Debian 8 en cette fin d'année 2016.

Outils

Voici quelques outils à connaître pour administrer le serveur sous Debian :

Wiki Debian


Paramétrage réseau

Accès au paramétrage réseau :

  • etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# the loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

Mise à jour des dépôts

apt-get update

Si un dépôt a été paramétré, modifier le fichier suivant :

/etc/apt/sources.list

Installation de paquets

  • apt-get apt-transport-https
  • apt-get php5-curl
  • apt-get php5-xmlrpc

Stockage personnalisation

Pour un stockage des sites web :

  • ancienne valeur : /var/www/html/
  • nouvelle valeur : /var/www/, avec les sous-dossiers suivants :
    • kono, base de connaissance,
    • info, base de connaissance informatique,
    • buro, base de connaissance bureautique,
    • flux, stockage des flux opérationnels.

Modification des droits sur un sous-dossier principal ; en devenir propriétaire :

chown compte kono -R

Modification des droits sur un sous-dossier ; donner tous les droits sur un dossier particulier :

chmod 777 images -R

Autre nom pour un workflow :

  • flux de travail ;
  • flux opérationnel.

Apache personnalisation

Le chemin par défaut pour le stockage des sites est :

/var/www/html/

Pour modifier ce chemin, modifier le fichier suivant :

/etc/apache2/sites-available/000-default.conf
  • ancienne valeur : DocumentRoot /var/www/html
  • nouvelle valeur : DocumentRoot /var/www

Redémarrage du serveur Apache :

Installation MySQL

apt-get install mysql-server phpmyadmin

Le compte par défaut pour MySQL est root

  • c'est au moment de l'installation qu'un mot de passe pour se compte est demandé.

Personnalisation

Pour l'accès à la console MySQL, avec le compte root de MySQL :

  • mysql -u root -p

Pour quitter la console MySQL :

  • quit

On stoppe totalement mysqld & mysqld_safe :  :

  • mysqladmin shutdown

On arrête le serveur MySQL :

  • service mysql stop

On redémarre le serveur MySQL en utilisation normale :

  • service mysql start

Installation node.js

apt-get install nodejs

MediaWiki

Prérequis

Autre

Important : à chaque installation d'extension, effectuer une mise à jour de la base de données :

  • php maintenance/update.php
  • cela correspond à exécuter la mise à jour depuis le script update.php</php> situé dans le dossier maintenance du dossier du wiki.

Apparence du site :

LDAP

Localsetting.php

Téléversement :

Fichiers autorisés à être téléversés :

$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'doc', 'xls', 'mpp', 'pdf', 'ppt', 'tiff', 'bmp', 'docx', 'xlsx', 'pptx', 'ps', 'odt', 'ods', 'odp', 'odg', 'txt');

php.ini

  • extension cURL à activer pour VisualEditor

Sur debian avec apache2 :

  • apt-get install php5-curl
  • /etc/init.d/apache2 restart

(php4-curl si c'est php4)

VisualEditor

Quelques liens pour le paramétrage de Visual Editor

Fil de discussion sur Parsoid

Exemple de fichier config.yaml

Exemple de fichiers de configuration

Déroulement installation

Serveur :

  • Serveur : ferarri
  • host name : ferarri.isentosa.com
  • computer name : ferarri

DNS record à créer :

  • zone :isentosa.com
  • host name : mywiki
  • destination : ferarri.isentosa.com

web site :

  • domain name : mywiki.isentosa.com

Arborescence :

  • /../www/mywiki.isentosa.com

création de la base de données :

  • nom : mywiki

Récupération des fichiers pour MediaWiki et copie dans le dossier /../www/mywiki.isentosa.com

Sur le dossier contenant le wiki :

  • avec _www compte utilisateur déclaré dans apache
  • avec _www groupe utilisateur déclaré dans apache
  • chown -R _www:_www . : pour que le compte _www en devienne propriétaire ;
  • find . -type d -exec chmod 2775 {} \; : changement des propriétés des dossiers
  • find . -type f -exec chmod 0664 {} \; : changement des propriétés des fichiers

Installation de MediaWiki, via l'assistant et l'adresse suivante :

WikiEditor * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

  • /var/www/kono/LocalSettings.php
  • suite à la mise en place de l'extension WikiEditor, exécuter une mise à jour de la base par la commande : php maintenance/update.php

VisualEditor * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

  • Suite à la mise en place de l'extension VisualEditor :
  • pour une modification de page existante, message si parsoid n'est pas installé :
    • error loading data from server: parsoidserver-http-curl-error: Failed connect to localhost:8000; Connection refused: Would you like to retry ?
  • pour une nouvelle page, lors de sa sauvegarde :
    • Failed connect to localhost:8000; Connection refused.

Parsoid * * * * * * * * * * * * * * * * * * * * * * * * *

  • /etc/mediawiki/parsoid/setting.js
  • /usr/lib/parsoid/src/api/localsettings.js
  • /etc/init.d/parsoid restart
  • C'est un composant du système et pas une extension de MediaWiki !
  • modification du fichier localsettings.js
    • ancienne valeur : parsoidConfig.setInterwiki ( 'localhost', 'http://localhost/w/api.php' );
    • nouvelle valeur : parsoidConfig.setInterwiki ( 'mywiki', 'http://mywiki.isentosa.com/api.php' );
    • ancienne valeur : parsoidConfig.serverPort = 8000;
    • nouvelle valeur : parsoidConfig.serverPort = 8142;
    • nouvelle valeur : parsoidConfig.serverInterface = '127.0.0.1';
  • sur la console : node server.js
  • test depuis le navigateur : http://127.0.0.1:8142
  • modification du fichier localsetting.php
  • pour un wiki privé :
    • $wgSessionInObjectCache = true;
    • $wgVisualEditorParsoidForwardCookies = true;
  • exécuter une mise à jour de la base par la commande : php maintenance/update.php

Autre