core

Ce module est utilisé de base dans toute installation de pkgi. Son rôle est de définir des variables d'environnement communes et utiles à tous les autres modules. Il met également en place des préconisations pour la structure des répertoires et propose un système flexible pour charger des variables d'environnements via le répertoire /etc/profile.d/

Packages debian nécessaires : php5-cli

Module pkgi nécessaires : Aucun (Remarque : tous les autres dépendent du core)

Variables spécifiques pkgi :

  • APPNAME_HOME : chemin vers la racine de votre application, c'est ici que sera déployé l'instance de pkgi
  • APPNAME_USER : utilisateur qui lancera tous les démons de votre application
  • APPNAME_GROUP : groupe de l'utilisateur
  • APPNAME_ADMIN_MAIL : courriel de l'administrateur système de l'application
  • APPNAME_VERSION : version de votre application. Deux versions sont prédéfinies :
    • dev : active automatiquement certaines traces pour faciliter le développement et le debug.
    • prod : sécurité et optimisations pour un serveur en production.
  • APPNAME_OPTIMIZATION : niveaux d'optimisations souhaités pour votre application. Cf paragraphe suivant.

Structure du module :

  • Fichier d'environnement globale : etc/profile
  • Répertoire des environnements modulaires : etc/profile.d/
  • Script permettant de configurer le mail de l'administrateur (APPNAME_ADMIN_MAIL) comme destinataire des mails de l'application : bin/pkgi-setup-mail-forward (depuis la version 2.31)
  • Fichier d'env redéfinissant le PATH : etc/profile.d/10-core
  • Emplacement préconisé pour placer les fichiers de traductions (.mo, .po gettext) : usr/share/locale/
  • Emplacement préconisé pour la documentation de l'application : usr/share/doc/
  • Emplacement préconisé pour placer les batchs et scripts templatisés par pkgi (spécifiques ou non à votre application) : bin/
  • Emplacement préconisé pour placer les batchs et scripts non templatisés par pkgi (donc que l'on peut ajouter sur SVN) : scripts/

Les autres modules peuvent placer des fichiers d'environnement dans le répertoire etc/profile.d/. Ils seront alors automatiquement chargés dans l'environnement par le fichier etc/profile (ce fichier doit donc être "sourcé" par l'utilisateur).

Remarque : il est possible de "sourcer" le fichier etc/profile automatiquement à chaque connexion d'un utilisateur en ajoutant la ligne suivante au fichier ~/.bash_profile

source /chemin/vers/votre/application/etc/profile

Niveaux d'optimisations

Les niveaux standards sont :

  • none : Aucune optimisation, on utilise la configuration fourni par les paquets officiels de debian.
  • normal : Pour les environnement de développements et les petits sites en production.
    Supporté par les modules : apache, mysql et php
  • big : Pour les gros sites en production.
    Supporté par les modules : apache, mysql et php
  • huge : Pour les très gros sites en production.
    Supporté par les modules : apache, mysql et php

Les niveaux spécifiques à des cas d'utilisations atypiques sont (à compléter suivant les besoins) :

  • upload-big-file : règle apache et php pour permettre l'upload de gros fichiers pouvant aller jusqu'à 2000Mo. Pour des raisons de stabilité d'apache et php, avec ce profil, mod_cgi est utilisé pour exécuter les scripts PHP.
  • innodb-heavy-4G : règle mysql pour une base de 4 Go, InnoDB uniquement, ACID, peu de connexions avec de grosses requêtes.

Il est possible de combiner les niveaux entre modules. Par exemple, utiliser une configuration apache normale avec des performances améliorées pour le serveur mysql et en permettant l'upload de gros fichiers :

APPNAME_OPTIMIZATION=apache-normal,mysql-big,upload-big-file
 
modules/core.txt · Dernière modification: 2011/01/12 11:16 par kerphi
Recent changes RSS feed Powered by PHP Hosted on Debian Driven by DokuWiki Deployed by Pkgi