Accueil > Documentation incomplète > Pour les hébergeurs > Installation > mediaspip_install.sh : script d’installation complet > Que fait exactement ce script ?

Que fait exactement ce script ?

Ce script est écrit en bash. Il est donc facilement utilisable sur n’importe quel serveur.

Il n’est compatible qu’avec une liste de distributions précises (voir Liste des distributions compatibles).

Installation de dépendances de MediaSPIP

Son rôle principal est d’installer l’ensemble des dépendances logicielles nécessaires coté serveur à savoir :

Les outils de base pour pouvoir installer le reste des dépendances

  • Les outils de développements :
    • build-essential (via APT depuis les dépôts officiels) ;
    • checkinstall (via APT depuis les dépôts officiels) ;
    • scons (via APT depuis les dépôts officiels) ;
    • subversion (via APT depuis les dépôts officiels) ;
    • git (via APT depuis les dépôts officiels) ;
    • ruby (via APT depuis les dépôts officiels) ;
  • Certaines librairies de développement :
    • libcxxtools-dev (via APT depuis les dépôts officiels) ;
    • zlib1g-dev (via APT depuis les dépôts officiels) ;
    • apache2-common (via APT depuis les dépôts officiels) ;

PHP5 et les classes nécessaires

  • php5-dev (via APT depuis les dépôts officiels) : permettant de compiler et installer par la suite les extensions PHP ;
  • php-pear (via APT depuis les dépôts officiels)
  • php5-curl (via APT depuis les dépôts officiels)
  • php5-gd (via APT depuis les dépôts officiels)
  • libmagick9-dev (via APT depuis les dépôts officiels) : permettant par la suite de compiler une version récente de php-imagick

Pour l’utilisation du plugin SPIP SPIPmotion

  • Les librairies suivantes permettant l’encodage et le décodage de sons et vidéos :
    • libfaac-dev (via APT depuis les dépôts officiels) ;
    • libfaad-dev (via APT depuis les dépôts officiels) ;
    • libdirac-dev (via APT depuis les dépôts officiels) ;
    • libgsm1-dev (via APT depuis les dépôts officiels) ;
    • libopenjpeg-dev (via APT depuis les dépôts officiels) ;
    • libxvidcore4-dev (via APT depuis les dépôts officiels) ;
    • libschroedinger-dev (via APT depuis les dépôts officiels) ;
    • libspeex-dev (via APT depuis les dépôts officiels) ;
    • libvorbis-dev (via APT depuis les dépôts officiels) ;
    • lame (téléchargement, compilation et installation automatique, version stable 3.94.8) ;
    • librtmp (téléchargement, compilation et installation automatique) ;
    • libopencore-amr (téléchargement, compilation et installation automatique) ;
    • libvpx (téléchargement, compilation et installation automatique) ;
    • x264 (téléchargement, compilation et installation automatique, via git) ;
  • Les logiciels suivants permettant l’encodage de vidéos et sons ainsi que la gestion de leurs metadonnées :

Pour l’utilisation du plugin SPIP GetID3

  • Les logiciels permettant de gérer correctement les métadonnées :
    • vorbis-tools (via APT depuis les dépôts officiels)

Préconfiguration basique du serveur Apache et de PHP

Le script active dans un premier temps plusieurs modules du serveur Apache :

  • mod_headers ;
  • mode_rewrite pour la réécriture des URLs de SPIP ;
  • mod_deflate pour la compression gzip des données transmises. Le script installe également un fichier de configuration dont le code est disponible ici dans le répertoire /etc/apache2/conf.d ;
  • mod_expires pour le réglage des headers et des expirations des pages. Le script installe également un fichier de configuration dont le code est disponible ici dans le répertoire /etc/apache2/conf.d ;
  • il ajoute finalement un fichier de configuration mediaspip_mime (dont le code est disponible ici) dans /etc/apache2/conf.d ajoutant la prise de plusieurs types mime ;

Le script modifie aussi certaines variables de configuration de PHP en créant le fichier de configuration /etc/php5/conf.d/mediaspip_upload.ini :

  • file_uploads à On ;
  • upload_max_filesize à 150M (modifiable dans la configuration du script) ;
  • post_max_size à 150M (modifiable dans la configuration du script) ;

À la suite de ces modifications, le script recharge la configuration du serveur Apache pour prendre en compte les modifications.

Installation de SPIP et MediaSPIP

Après avoir installé l’ensemble des librairies, logiciels et classes nécessaires au bon fonctionnement de MediaSPIP, le script s’occupe également d’installer les fichiers de MediaSPIP lui même :

  • Récupération de la version stable courante de SPIP via SVN (2.1.x actuellement) ;
  • Récupération via SVN de l’ensemble des extensions nécessaires à la distribution MediaSPIP ;
  • Récupération via SVN de l’ensemble des plugins compatibles à la distribution MediaSPIP ;
  • Récupération via SVN de l’ensemble des thèmes compatibles à la distribution MediaSPIP ;
  • Création du répertoire lib/ à la racine du répertoire d’installation afin de pouvoir récupérer facilement les librairies externes ;
  • Copie du fichier htaccess.txt en .htaccess ;
  • Dans le cas de la création d’une ferme à MediaSPIP :
    • Récupération via SVN du plugin de mutualisation de SPIP ;
    • Création du répertoire sites/ permettant la création des différents sites ;
  • Changement des droits sur les répertoires lib/, tmp, local et sites/ ;
  • Changement de l’utilisateur (UID) et du groupe (GID) UNIX des fichiers de SPIP ;

Configuration liée à AlternC

Si AlternC est installé sur le serveur, il est automatiquement détecté et il est demandé si on souhaite l’utiliser pour MediaSPIP. Cela aura pour conséquence, pour l’instant, de lier les logiciels nécessaires au bon fonctionnement de MediaSPIP dans le safe_mode_exec_dir utilisé par AlternC à savoir /var/alternc/exec.usr/.

Les logiciels liés sont :

  • vorbiscomment pour la gestion des métas de getid3 ;
  • metaflac pour la gestion des métas de getid3 ;
  • ffmpeg pour l’encodage de fichiers audios et vidéos ;
  • qt-faststart pour la gestion des entêtes MOOV des fichiers mp4 ;
  • flvtool2 pour la gestion des metadonnées des fichiers flv ;
  • mediainfo pour la récupération des metadonnées des vidéos en général ;
  • spipmotion.sh qui est le script d’encodage du plugin SPIPmotion ;

Le code de ces ajouts peut être consulté ici.

NB : ffmpeg n’est pas nécessaire ici car SPIPmotion passe constamment par le wrapper spipmotion.sh pour l’utiliser ;

Ce que ce script ne fait pas

L’automatisation a ses bienfaits, cependant il est impossible de tout automatiser. La liste ci-dessous explique les étapes que ce script n’est pas à même de réaliser tout seul et que vous devrez réaliser manuellement :

  • il ne peut définir vos DNS à votre place ;
  • il ne crée pas le virtualhost apache nécessaire ;
  • dans le cas de l’installation en mode ferme, il ne définit pas le site central de la ferme, ne configure pas le plugin de mutualisation en créant le fichier mes_options.php nécessaire avec la configuration obligatoire (par contre il récupère les fichiers du plugin) ;
  • il ne peut créer la première instance qui servira de site central ;
  • il ne peut donc pas non plus créer la configuration spécifique du site central ni la récupération du plugin de gestion de la ferme ;
  • Auteur :
  • Publié le :
  • Mis à jour : 13/06/15
  • Révisé par : 2 anonymes

Aucun commentaire


Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document