Modifications entre les versions 4 et 5
Version 4 à la date du 2015-12-01 05:29:29
Taille: 5428
Commentaire: + optimisations Solutions Metrix
Version 5 à la date du 2016-05-16 14:17:11
Taille: 5716
Commentaire:
Texte supprimé. Texte ajouté.
Ligne 2: Ligne 2:

|| Environnement || Statut || accès root ||
|| dev-crm.auf.org || Appli & db installés, prêt à configurer || Solutions Metrix - jglaine, sdonnay, kgalatis ||
|| test-crm.auf.org || Appli installé (clone de dev), pas de DB || || Solutions Metrix - jglaine, sdonnay, kgalatis ||

Cette page décrit la mise en place du serveur hébergeant l'environnement de test du projet CRM.

Environnement

Statut

accès root

dev-crm.auf.org

Appli & db installés, prêt à configurer

Solutions Metrix - jglaine, sdonnay, kgalatis

test-crm.auf.org

Appli installé (clone de dev), pas de DB

Solutions Metrix - jglaine, sdonnay, kgalatis

Mise en place de base du système

  • VM chez OVH à l'adresse dev-crm.auf.org (accès restreints)
    • 2 Gio de mémoire
    • 2 vCPU
  • mise en place du modèle LAMP, en particulier :

    • Debian 8 “Jessie”, qui apporte Apache 2.4, MySQL 5.5, PHP 5.6

    • partitionnement :
      • /

        2 G

        /tmp

        1 G

        /var

        1 G

        /var/log

        2 G

        /var/lib/mysql

        2 G

        /var/www

        3 G

    • ajustements pour supporter pleinement Unicode

  • mot de passe admin MySQL placé dans /root/.my.cnf

  • création d'un certificat SSL/TLS :

    • nom principal : dev-crm.auf.org
    • nom secondaire : test-crm.auf.org
    • installation aux endroits habituels (/etc/ssl/…, cf config' Apache)

  • création d'un VirtualHost Apache dans /etc/apache2/site-available/dev-crm.auf.org.conf :

    <VirtualHost *:80>
            ServerName dev-crm.auf.org
            Redirect / https://dev-crm.auf.org/
    </VirtualHost>
    
    <VirtualHost *:443>
            ServerName dev-crm.auf.org
            ServerAdmin technique-dev-crm@auf.org
            DocumentRoot /srv/www/dev-crm.auf.org
    
            ErrorLog ${APACHE_LOG_DIR}/dev-crm.auf.org-ssl-error.log
            CustomLog ${APACHE_LOG_DIR}/dev-crm.auf.org-ssl-access.log combined
    
            SSLEngine on
            SSLCertificateFile    /etc/ssl/certs/dev-crm.auf.org-cert.pem
            SSLCertificateKeyFile /etc/ssl/private/dev-crm.auf.org-key.pem
            SSLCACertificateFile  /etc/ssl/certs/AC-AUF-RACINE+BA.pem
            SSLVerifyClient None
    
            <Location />
                   Require all denied
                   Require ip 199.84.140.0/24
                   Require ip 70.25.27.118/32
                   Satisfy all
            </Location>
    
            <Directory "/srv/www/dev-crm.auf.org/">
                   AllowOverride all
                   #php_value include_path ".:/srv/www/dev-crm.auf.org/include"
                   php_value memory_limit 512M
                   php_value display_errors On
                   php_value log_errors On
                   php_value error_log /var/log/php5.log
                   php_value post_max_size 32M
                   php_value upload_max_filesize 32M
            </Directory>
    </VirtualHost>
  • activation du VirtualHost ci-dessus :

    a2enmod ssl
    a2ensite dev-crm.auf.org
    a2dissite 000-default
    service apache2 restart # à cause du module SSL

Mise en place préparatoire pour SugarCRM

  • ajout des modules PHP nécessaires pour SugarCRM 7 :

    apt-get install php5-curl php5-gd php5-imap php5-json php5-mysql php5-fpm
  • {i} php5-mysql apporte le module mysqli

  • {i} php5-fpm apporte les modules bcmath, hash, mbstring, OpenSSL, SimpleXML, zip, zlib (et autres)

  • ajout d'un module PHP jsmin (depuis le dépôt AUF, construit selon PHP/jsmin) :

    apt-get install php-jsmin
  • activation du module de ré-écriture d'URL de Apache :

    a2enmod rewrite
    service apache2 restart

Ajustements spécifiques Solutions Metrix

  • ajouts à /etc/mysql/conf.d/local.cnf (section [mysqld]) :

    ###############################
    # Tuned By Jean-Gabriel Laine #
    #vvvvvvvvvvvvvvvvvvvvvvvvvvvvv#
    
    #skip-name-resolve
    long_query_time = 30
    max_connect_errors = 10
    
    ### Timeouts ###
    interactive_timeout = 300
    wait_timeout = 300
    
    ################
    # InnoDB Setup #
    ################
    
    default-storage-engine = InnoDB
    innodb_flush_method = O_DIRECT
    innodb_file_per_table
    innodb_additional_mem_pool_size = 32M
    innodb_buffer_pool_size         = 2G
    innodb_file_io_threads          = 16
    innodb_log_buffer_size          = 32M
    innodb_log_file_size            = 64M
    innodb_open_files               = 600
    innodb_lock_wait_timeout        = 50
    innodb_thread_concurrency       = 0
    
    ###############
    # Fine Tuning #
    ###############
    
    key_buffer               = 32M
    key_buffer_size          = 256M
    query_cache_limit        = 2M
    query_cache_size         = 384M
    
    max_allowed_packet       = 64M
    max_connections          = 25
    thread_stack             = 192K
    thread_cache_size        = 50
    table_cache              = 20148
    thread_concurrency       = 25
    query_cache_min_res_unit = 2K
    query_cache_type         = 1
    query_prealloc_size      = 65536
    
    join_buffer_size         = 256k
    tmp_table_size           = 256M
    read_buffer_size         = 128k
    read_rnd_buffer_size     = 128k
    sort_buffer_size         = 256k
    bulk_insert_buffer_size  = 128M
    myisam_sort_buffer_size  = 16M
    max_heap_table_size      = 512M
    
    #^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#
    # Tuned By Jean-Gabriel Laine #
    ###############################

Notes

  • toute modification système (autre que le redémarrage d'un service) doit être rapportée aux sysadmins du serveur (une information par courriel a posteriori suffira ici)
  • les modifications devraient être faites dans des fichiers spécifiques aux besoins et non dans la configuration globale, par exemple :
    • pour MySQL dans /etc/mysql/conf.d/local.cnf

    • pour Apache dans /etc/apache2/site-available/dev-crm.auf.org.conf

    • pour PHP dans la section VirtualHost du site web (donc dans Apache) plutôt que dans la configuration globale de PHP (donc pas dans /etc/php5/apache2/php.ini)

Projet/CRM/MiseEnPlace/EnvTest (dernière édition le 2016-05-27 22:01:31 par JeanChristopheAndré)