Outils pour utilisateurs

Outils du site


admin:services:date.chapril.org

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
admin:chatons:date.chapril.org [2018/08/15 01:47] – [Dans le fichier /var/www/date.chapril.org/locale/en.json] cpmadmin:services:date.chapril.org [2023/02/25 10:26] – [Mise à jour] obitanz
Ligne 11: Ligne 11:
   * Debian 9 stretch   * Debian 9 stretch
   * Apache 2   * Apache 2
-  * PHP 7 avec les extensions intl et mysql+  * PHP 7.3 avec les extensions intl et mysql
   * MySQL   * MySQL
   * Git   * Git
Ligne 17: Ligne 17:
 Pour éviter de taper les commandes : Pour éviter de taper les commandes :
 <code bash> <code bash>
-$ apt-get install apache2 php php7.0-intl php7.0-mysql php-mbstring libapache2-mod-php7.mysql-server git+$ apt-get install apache2 php7.3 php7.3-intl php7.3-mysql php7.3-mbstring libapache2-mod-php7.mysql-server git
 </code> </code>
  
Ligne 41: Ligne 41:
 <code bash> <code bash>
 DB> CREATE USER 'date_chapril_org-dbadmin'@'localhost' IDENTIFIED BY 'motdepasse'; DB> CREATE USER 'date_chapril_org-dbadmin'@'localhost' IDENTIFIED BY 'motdepasse';
-DB> GRANT ALL PRIVILEGES ON date_chapril_org_db.* TO date_chapril_org-dbadmin'@'localhost' IDENTIFIED BY 'motdepasse' WITH GRANT OPTION;+DB> GRANT ALL PRIVILEGES ON date_chapril_org_db.* TO 'date_chapril_org-dbadmin'@'localhost' IDENTIFIED BY 'motdepasse' WITH GRANT OPTION;
 </code> </code>
  
Ligne 89: Ligne 89:
 Puis : Puis :
 <code> <code>
-apt-get install php7.0-xml+apt-get install php7.3-xml
 composer install composer install
 </code> </code>
Ligne 126: Ligne 126:
  
  ErrorLog ${APACHE_LOG_DIR}/date.chapril.org/date.chapril.org_error.log  ErrorLog ${APACHE_LOG_DIR}/date.chapril.org/date.chapril.org_error.log
- CustomLog ${APACHE_LOG_DIR}/date.chapril.org/date.chapril.org_access.log combined+ CustomLog ${APACHE_LOG_DIR}/date.chapril.org/date.chapril.org_access.log combined-proxy
   
 </VirtualHost> </VirtualHost>
Ligne 230: Ligne 230:
       * remplacer l'ensemble des fichiers,       * remplacer l'ensemble des fichiers,
     * avec Git :     * avec Git :
-      * créer une nouvelle branche april-x.y.z correspondant à la version x.y.z cible de la mise à jour, +      * créer une nouvelle branche april-x.y.z correspondant à la version x.y.z cible de la mise à jour 
-      * merger la branche voulue dans la branche april-x.y.z en réglant les conflits,+<code> 
 +cd $DATE_CHAPRIL_HOME 
 +sudo -u www-data git checkout -b chapril-x.y.z 
 +</code> 
 +      * merger la branche voulue dans la branche april-x.y.z en réglant les conflits 
 +<code> 
 +sudo -u www-data git fetch --tags officiel   # on récupère les derniers tags du dépôt officiel 
 +sudo -u www-data git merge <tag> 
 +</code>
   * supprimer l'ensemble des fichiers du répertoire $DATE_CHAPRIL_HOME/tpl_c/.   * supprimer l'ensemble des fichiers du répertoire $DATE_CHAPRIL_HOME/tpl_c/.
   * mettre à jour les dépendances :   * mettre à jour les dépendances :
Ligne 256: Ligne 264:
 </code> </code>
  
 +Présent à partir de la branche chapril-1.1.7.
 ===== Correction d'un message incorrect sur la date de suppression ===== ===== Correction d'un message incorrect sur la date de suppression =====
  
Ligne 274: Ligne 282:
 "after the last date of your poll.": " from today. It will definitively be deleted 60 days after its expiration."  "after the last date of your poll.": " from today. It will definitively be deleted 60 days after its expiration." 
 </code> </code>
 +
 +Présent à partir de la branche chapril-1.1.8.
 ===== Contrôle des dates à la mise à jour ===== ===== Contrôle des dates à la mise à jour =====
  
Ligne 294: Ligne 304:
     }          }     
 </code> </code>
 +
 +Présent à partir de la branche chapril-1.1.8.
 ===== Restriction des langues ===== ===== Restriction des langues =====
  
Ligne 313: Ligne 325:
 ];     ];    
 </code> </code>
 +
 +
 +Présent à partir de la branche chapril-1.1.8.
 +===== Ajout d'une purge automatique =====
 +Dans la branche chapril-1.1.8, création du script //…/admin/cron_purge.php// :
 +<code>
 +<?php
 +/**
 + * Copyright 2018 Christian P. MOMON cmomon@april.org
 + *
 + * This software is governed by the CeCILL-B license. If a copy of this license
 + * is not distributed with this file, you can obtain one at
 + * http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.txt
 + *
 + */
 +
 +use Framadate\Services\InputService;
 +use Framadate\Services\LogService;
 +use Framadate\Services\PurgeService;
 +use Framadate\Services\SecurityService;
 +
 +// /////////////////////////////////////////////////
 +// ////////// include_once __DIR__ . '/../app/inc/init.php';
 +use Framadate\FramaDB;
 +use Framadate\Repositories\RepositoryFactory;
 +
 +define('ROOT_DIR', __DIR__ . '/../');
 +
 +// Autoloading of dependencies with Composer
 +require_once ROOT_DIR . '/vendor/autoload.php';
 +require_once ROOT_DIR . '/vendor/o80/i18n/src/shortcuts.php';
 +
 +if (ini_get('date.timezone') === '') {
 +    date_default_timezone_set('Europe/Paris');
 +}
 +
 +require_once ROOT_DIR . '/app/inc/constants.php';
 +
 +define('CONF_FILENAME', ROOT_DIR . '/app/inc/config.php');
 +if (is_file(CONF_FILENAME)) {
 +    @include_once CONF_FILENAME;
 +
 +    // Connection to database
 +    $connect = new FramaDB(DB_CONNECTION_STRING, DB_USER, DB_PASSWORD);
 +    RepositoryFactory::init($connect);
 +    $err = 0;
 +} else {
 +    define('NOMAPPLICATION', 'Framadate');
 +    define('DEFAULT_LANGUAGE', 'fr');
 +    define('IMAGE_TITRE', 'images/logo-framadate.png');
 +    define('LOG_FILE', 'admin/stdout.log');
 +}
 + 
 +require_once ROOT_DIR . '/app/inc/i18n.php';
 +
 +// /////////////////////////////////////////////////
 +
 +/* Services */
 +/*----------*/
 +$logService = new LogService();
 +$purgeService = new PurgeService($connect, $logService);
 +$securityService = new SecurityService();
 +$inputService = new InputService();
 +
 +/* Action */
 +/* ------ */
 +$logService->log('CRON PURGE', 'Cron purge starting…');
 +
 +$ended = false;
 +$iterationCount = 0;
 +$totalCount = 0;
 +while (!$ended)
 +{
 +        $count = $purgeService->purgeOldPolls();
 +        $logService->log('CRON PURGE', 'count='.$count);
 +        if ($count == 0)
 +        {
 +                $ended = true;
 +        }
 +        else
 +        {
 +                $iterationCount += 1;
 +                $totalCount += $count;
 +        }
 +}
 +
 +$logService->log('CRON PURGE', 'Purged '.$totalCount.' poll(s) in '.$iterationCount.' iterations.');
 +$logService->log('CRON PURGE', 'Cron purge done.');
 +
 +/* PAGE */
 +/* ---- */
 +echo date("Y-m-d H:i:s").": cron purge done.\n"
 +?>
 +</code>
 +
 +Mettre de bons droits :
 +<code>
 +chown datechaprilorg app/inc/config.php
 +chmod ug+rw app/inc/config.php
 +</code>
 +
 +Créer un fichier datechaprilorg-purge et le placer dans /etc/cron.d et une copie dans /srv/date.chapril.org/tools/cron_purge/datechaprilorg-purge.cron :
 +<code>
 +45 23 * * * root /usr/bin/php /var/www/date.chapril.org/admin/cron_purge.php >> /srv/date.chapril.org/cron_purge.log 2>&1
 +41 11 * * * root /usr/bin/php /var/www/date.chapril.org/admin/cron_purge.php >> /srv/date.chapril.org/cron_purge.log 2>&1
 +</code>
 +Créer un fichier datechaprilorg et le placer dans /etc/cron.d et une copie dans /srv/date.chapril.org/tools/rapport_activite/datechaprilorg.cron
 +<code>
 +1 0 1 * * root  /srv/date.chapril.org/tools/rapport_activite/rapport_activite.sh -p >> /srv/date.chapril.org/Exploitation/rapport_date.log 2>&1
 +</code>
 +
 +====== Monitoring ======
 +
 +Mettre dans le dossier /usr/lib/nagios/plugins un fichier check_datechaprilorg_update et une copie dans /srv/date.chapril.org/tools/monitoring :
 +
 +<code>
 +#!/bin/bash
 +function usage() {
 + echo "Usage : $0"
 +}
 +
 +#
 +if [ "$#" -ne 0 ]; then
 +    usage
 +else
 +    lastVersion=$(curl -s https://framagit.org/api/v4/projects/16/releases | jshon -a -e name|cut -d '"' -f2|grep -v '[\^\(alpha\)]'|sort -rV|head -n 1)
 +    currentVersion=$(cd /var/www/date.chapril.org && git branch | grep '*'|cut -c 11-100 )
 +
 +    #echo $currentVersion
 +    #echo $lastVersion
 +    if [ $currentVersion = $lastVersion ]; then
 + echo "OK"
 + result=0
 +    else
 + echo "WARNING : new version available, current is $currentVersion, last is $lastVersion."
 + result=1
 +    fi    
 +fi
 +exit $result
 +
 +</code>
 +
 +Le fichier est commité dans ''/srv/date.chapril.org/tools/monitoring''.
admin/services/date.chapril.org.txt · Dernière modification : 2023/02/25 11:30 de obitanz