Outils pour utilisateurs

Outils du site


blog

Install Ruby On Rails - ActiveAdmin

Install de Ryby et Rails avec RVM Voir RVM

curl -sSL https://get.rvm.io | bash -s stable --rails

Install de sqlite vraiment nécessaire !?

yum install sqlite-devel

Ruby Postgres

sudo yum install postgresql93-devel
export PATH=$PATH:/usr/pgsql-9.3/bin/
gem install pg
rails new [NomDuSite]
cd [NomDuSite]

Dans le fichier Gemfile : Voir Tuto

Gemfile

gem 'pg'
gem 'activeadmin', github: 'gregbell/active_admin'
gem 'execjs'
gem 'therubyracer'

Accès à la DB

Configurez le fichier config/database.yml

bundle install

Démarré le serveur (port TCP 3000 par défaut) Seulement pour test. Pas nécessaire

rails server

Puis Ctrl + C pour stopper le serveur.

Apache

Install de mod_passenger

gem install passenger

(passenger-install-apache2-module)

yum install libcurl-devel httpd-devel

exemple de conf apache

passenger.conf

LoadModule passenger_module modules/mod_passenger.so
 
<IfModule mod_passenger.c>
   PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.21
   PassengerRuby /usr/bin/ruby
</IfModule>
 
# Deploying a Ruby on Rails application: an example
# Suppose you have a Rails application in /somewhere. Add a virtual host to
# your Apache configuration file and set its DocumentRoot to /somewhere/public:
#
#    <VirtualHost *:80>
#    RailsEnv production
#       ServerName www.yourhost.com
#       DocumentRoot /somewhere/public    # <-- be sure to point to 'public'!
#       <Directory /somewhere/public>
#          AllowOverride all              # <-- relax Apache security settings
#          Options -MultiViews            # <-- MultiViews must be turned off
#       </Directory>
#    </VirtualHost>

Notes en vrac

Prérequis RoR

yum install make gcc openssl-devel zlib-devel gdbm-devel libyaml-devel readline-devel libffi-devel zlib-devel gcc-c++ curl-devel

ruby

cd /root/tar_files/

wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.2.tar.gz

tar xvf ruby-2.1.2.tar.gz

cd ruby-2.1.2/

mkdir -p /usr/local/blrs/ruby-2.1.2

./configure --prefix=/usr/local/blrs/ruby-2.1.2

make

make install

yum install sqlite-devel

  1. Ruby postgres

sudo yum install postgresql93-devel

export PATH=$PATH:/usr/pgsql-9.3/bin/

gem install pg

rails new [NomDuSite]

cd [NomDuSite]

  1. Dans le fichier :

Gemfile

gem 'pg'
gem 'activeadmin', github: 'gregbell/active_admin'
gem 'execjs'
gem 'therubyracer'
  1. Accès à la DB

vi config/database.yml

bundle install

  1. Démarré le serveur (port TCP 3000 par défaut) :
  2. Seulement pour test. Pas necessaire

rails server Puis <CTRL>+<C> pour stopper le serveur.

Apache

  1. Install de mod_passenger

gem install passenger (passenger-install-apache2-module)

Yum install libcurl-devel httpd-devel

passenger.conf

LoadModule passenger_module modules/mod_passenger.so
 
<IfModule mod_passenger.c>
   PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.21
   PassengerRuby /usr/bin/ruby
</IfModule>
 
 
# Deploying a Ruby on Rails application: an example
# Suppose you have a Rails application in /somewhere. Add a virtual host to
# your Apache configuration file and set its DocumentRoot to /somewhere/public:
#
#    <VirtualHost *:80>
#    RailsEnv production
#       ServerName www.yourhost.com
#       DocumentRoot /somewhere/public    # <-- be sure to point to 'public'!
#       <Directory /somewhere/public>
#          AllowOverride all              # <-- relax Apache security settings
#          Options -MultiViews            # <-- MultiViews must be turned off
#       </Directory>
#    </VirtualHost>
2025/03/24 15:06

Install IPython

Voir aussi :

Voir aussi :

  • Scilab
  • SageMath
  • Matlab

Debian

Install

#python3 -m pip install --user ipython
sudo apt-get install python3-ipython

Lancement

python3 -m IPython

ou

/usr/bin/ipython3

#!/usr/bin/python3
# -*- coding: utf-8 -*-
import re
import sys
from IPython import start_ipython
if __name__ == "__main__":
    sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0])
    sys.exit(start_ipython())

Alias

~/.bashrc

#export PATH="$PATH:$HOME/.local/bin"
alias ipython='python3 -m IPython'

Old

Install de ipython sur Debian Wheezy :

Install ipython3 --pylab

Debian Wheezy n'incluant pas python3-matplotlib

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=690906

apt-get install python3-pip python3-numpy python3-scipy
apt-get build-dep python-matplotlib

Puis sous le compte de l'utilisateur voulant exécuter ipython3 --pylab

pip-3.2 install --user matplotlib
Install de IPython3 Notebook

Voir :

En root :

apt-get install ipython3 ipython-qtconsole ipython3-notebook 
apt-get install python3-scipy python3-matplotlib python3-numpy
apt-get install pandoc python3-tk python3-pandas python3-pip python3-nose python3-zmq python-pygments python3-jinja2 fonts-mathjax libjs-mathjax
apt-get install python3-cairo python3-gi python3-gobject python3-pyqt4 python3-scipy python3-sip tix python3-tk-dbg

Install de sympy

sudo apt-get install python3-mpmath
pip3 install --user sympy

Puis ipython3

from pylab import *
ipython3 notebook --pylab=inline --no-browser --profile=notebook
2025/03/24 15:06

Install Zabbix sur Debian

apt-get install zabbix-server-mysql zabbix-frontend-php php5-fpm php5-mysqlnd

/etc/php5/fpm/pool.d/zabbix.conf

[zabbix]
user = www-data
group = www-data
 
listen = /var/run/zabbix.socket
listen.owner = www-data
listen.group = www-data
 
pm = dynamic
pm.max_children = 8
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 4
php_value[post_max_size] = 16M
php_value[max_execution_time] = 300
php_value[max_input_time] = 300
php_value[open_basedir] = /var/www/zabbix/:/usr/share/zabbix:/usr/share/fonts/:/tmp:/etc/zabbix
 
php_value[date.timezone] = "UTC"

Note :

/var/log/php5-fpm.log

WARNING: [pool zabbix] server reached pm.max_children setting (4), consider raising it

/etc/nginx/sites-available/zabbix

#server {
#        server_name zabbix.acme.fr;
#        return 301 https://zabbix.lan$request_uri;
#}
 
server {
        #listen 443;
        listen 80;
        server_name zabbix.acme.fr;
        access_log  /var/log/nginx/zabbix.log;
        error_log  /var/log/nginx/zabbix.error;
        #ssl on;
        #ssl_certificate /etc/ssl/certs/zabbix.crt;                                                                            
        #ssl_certificate_key /etc/ssl/private/zabbix.key;
        root /usr/share/zabbix/;
        index index.php index.html;
        client_max_body_size 5m;
        client_body_buffer_size 128k;
 
        #location ~ /setup\.php {
        #        deny all;
        #}
 
        location ~ \.php$ {
                fastcgi_pass unix:/var/run/zabbix.socket;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        }
 
        location ~*  \.(jpg|jpeg|png|gif|css|js|ico)$ {
                expires max;
                log_not_found off;
        }
 
        location ~ /\.ht {
                 deny all;
        }
 
        location ~ /\. {
                 deny all;
        }
}
CREATE DATABASE zabbix;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
GRANT ALL PRIVILEGES ON zabbix.* TO "zabbix"@"localhost" IDENTIFIED BY 'zabbix';
FLUSH PRIVILEGES;
mysql -u zabbix -pzabbix -D zabbix < <(zcat /usr/share/zabbix-server-mysql/schema.sql.gz)
mysql -u zabbix -pzabbix -D zabbix < <(zcat /usr/share/zabbix-server-mysql/images.sql.gz)
mysql -u zabbix -pzabbix -D zabbix < <(zcat /usr/share/zabbix-server-mysql/data.sql.gz)

Faire la suite de la config avec le navigateur http://serveurzabbix/setup.php

Télécharger le fichier zabbix.conf.php et placez-le dans /etc/zabbix/

/etc/zabbix/zabbix.conf.php

<?php
// Zabbix GUI configuration file
global $DB;
 
$DB['TYPE']     = 'MYSQL';
$DB['SERVER']   = 'localhost';
$DB['PORT']     = '0';
$DB['DATABASE'] = 'zabbix';
$DB['USER']     = 'zabbix';
$DB['PASSWORD'] = 'zabbix';
 
// SCHEMA is relevant only for IBM_DB2 database
$DB['SCHEMA'] = '';
 
$ZBX_SERVER      = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';
 
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
?>

Bloquer l'accès à setup.php.

Identifiant à la 1er connexion :
Utilisateur : Admin
MDP : zabbix

/etc/zabbix/zabbix_server.conf

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306

/etc/default/zabbix-server

START=yes
service zabbix-server restart

Config Agent

/etc/zabbix/zabbix_agentd.conf

Server=127.0.0.1,10.8.0.1
service zabbix-agent restart

Zabbix Proxy

apt-get install zabbix-proxy-mysql
 
mysql -u zabbix -pzabbix -D zabbix

FIXME Creation DB

mysql -u zabbix -pzabbix -D zabbix < <(zcat /usr/share/zabbix-proxy-mysql/schema.sql.gz)

FIXME conf DB

/etc/default/zabbix-proxy

START=yes

Count proxy_history

watch -n 1 'echo "SELECT COUNT(*) FROM proxy_history;" | sqlite3 /var/lib/zabbix/zabbix_proxy.db'

Exemple de conf

Sur le serveur Zabbix

/etc/zabbix/zabbix_server.conf

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
AlertScriptsPath=/etc/zabbix/alert.d/
 
# Nb of Zabbix Proxy
StartProxyPollers=1
 
ProxyConfigFrequency=300
ProxyDataFrequency=120
Sur le Proxy Zabbix (mode passif)

/etc/zabbix/zabbix_proxy.conf

ProxyMode=1
 
# Nom doit être identique dans Zabbix. Pas forcement un nom DNS
Hostname=Proxy Cigne1
 
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
 
# Garde jusqu'à 24h de donnée d'histo si coupure lien avec le serveur
ProxyOfflineBuffer=24

/etc/zabbix/zabbix_agentd.conf

Server=127.0.0.1,10.8.0.2
Include=/etc/zabbix/zabbix_agentd.conf.d/
L'hôte derrière le Proxy Zabbix

/etc/zabbix/zabbix_agentd.conf

Server=10.0.10.4
Hostname=node1-01
Include=/etc/zabbix/zabbix_agentd.conf.d/
Forcer le prise de compte de changement de configuration

Sur le serveur Zabbix

zabbix_server -R config_cache_reload

Sur les proxys Zabbix

zabbix_proxy -R config_cache_reload

Note : Commencer par le serveur Zabbix

2025/03/24 15:06

Install SugarCRM

Voir :

Voir aussi :

  • Crème CRM
  • ERP : OpenConcerto

http://sourceforge.net/projects/sugarcrm/files/latest/download?source=files

/etc/nginx/sites-available/crm.acme.fr

server {
    listen 80;
    server_name crm.acme.fr;
    return 301 https://crm.acme.fr$request_uri;
}
 
server {
    listen 443 ssl;
    server_name  crm.acme.fr;
 
    ssl_certificate     /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;
 
    access_log /var/log/nginx/sugarcrm.acme.fr.access.log;
    error_log /var/log/nginx/sugarcrm.acme.fr.error.log;
 
        root   /var/www/sugarcrm/sugarcrm;
        index index.php index.html;
 
    location /instance_amusarra/ {
        if (!-d $request_filename){
                set $rule_0 true;
        }
        if (!-f $request_filename){
                set $rule_0 true;
        }
        if ($rule_0){
                rewrite ^/instance_amusarra/rest/(.*)$ /instance_amusarra/api/rest.php?__sugar_url=$1 last;
                rewrite ^/instance_amusarra/cache/api/metadata/lang_(.._..)_(.*)_public\.json$ /instance_amusarra/rest/v10/lang/public/$1?platform=$2 last;
                rewrite ^/instance_amusarra/cache/api/metadata/lang_(.._..)_([^_]*)\.json$ /instance_amusarra/rest/v10/lang/$1?platform=$2 last;
                rewrite ^/instance_amusarra/portal/(.*)$ /instance_amusarra/portal2/$1 last;
                rewrite ^/instance_amusarra/portal$ /instance_amusarra/portal/? permanent;
        }
 
        try_files $uri $uri/ index.php;
    }
 
    location /instance_shirus/ {
        if (!-d $request_filename){
                set $rule_0 true;
        }
        if (!-f $request_filename){
                set $rule_0 true;
        }
        if ($rule_0){
                rewrite ^/instance_shirus/rest/(.*)$ /instance_shirus/api/rest.php?__sugar_url=$1 last;
                rewrite ^/instance_shirus/cache/api/metadata/lang_(.._..)_(.*)_public\.json$ /instance_shirus/rest/v10/lang/public/$1?platform=$2 last;
                rewrite ^/instance_shirus/cache/api/metadata/lang_(.._..)_([^_]*)\.json$ /instance_shirus/rest/v10/lang/$1?platform=$2 last;
                rewrite ^/instance_shirus/portal/(.*)$ /instance_shirus/portal2/$1 last;
                rewrite ^/instance_shirus/portal$ /instance_shirus/portal/? permanent;
        }
 
        try_files $uri $uri/ index.php;
    }   
        location = /favicon.ico {
        log_not_found off;
        access_log off;
    }   
 
        location = /robots.txt {
                    allow all;
                log_not_found off;
                access_log off;
    }   
 
        # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
        location ~ /\. {
                deny all;
                 access_log off;
                log_not_found off;
        }   
 
        #error_page  404              /404.html;
 
    # redirect server error pages to the static page /50x.html
    #   
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }   
 
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #   
    location ~ \.php$ {
        root           /var/www/sugarcrm/sugarcrm;
        fastcgi_pass unix:/var/run/php5-fpm-sugar.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }   
 
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one 
    #   
    location ~ /\.ht {
        deny  all;
    }   
}

Install dépendances

apt-get install php5-curl php5-imap php5-mysqlnd

/etc/php5/fpm/pool.d/sugar.conf

[sugarcrm]
 
user = www-data
group = www-data
 
listen = /var/run/php5-fpm-sugar.sock
 
listen.owner = www-data
listen.group = www-data
 
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
 
chdir = /
 
php_admin_value[memory_limit] = 50M
php_admin_value[upload_max_filesize] = 10M
 
php_admin_value[date.timezone] = "Europe/Paris"

http://virtualhost/install.php

Ajout crontab

su - www-data -s /bin/bash
export EDITOR=vim
crontab -e
*    *    *    *    *     cd /var/www/sugarcrm/sugarcrm; php -f cron.php > /dev/null 2>&1

Enlever le mot de passe root de MySQL du fichier config.php

GRANT ALL PRIVILEGES ON sugarcrm.* TO "utilisateur"@"localhost" IDENTIFIED BY 'P@ssw0rd!';
FLUSH PRIVILEGES;

config.php

  'dbconfig' =>
  array (
    'db_host_name' => 'localhost',
    'db_host_instance' => 'SQLEXPRESS',
    'db_user_name' => 'utilisateur',
    'db_password' => 'P@ssw0rd!',
    'db_name' => 'sugarcrm',
    'db_type' => 'mysql',
    'db_port' => '',
    'db_manager' => 'MysqliManager',
  ),

https://crm.acme.fr/index.php?module=Administration&action=repair

config_override.php

<?php
$sugar_config['http_referer']['list'][] = 'crm.acme.fr';
 
$sugar_config['http_referer']['actions'] =array( 'index', 'ListView', 'DetailView', 'EditView', 'oauth', 'authorize', 'Authenticate', 'Login', 'SupportPortal', 'GoogleOauth2Redirect', 'repair' );
?>
2025/03/24 15:06

Installation de SpamAssassin avec CPAN

Méthode 1

apt-get install spampd

Change ENABLED to 1 in /etc/default/spamassassin

http://guillaumevincent.com/2015/01/31/OpenSMTPD-Dovecot-SpamAssassin.html

Méthode 2

Manip à faire en tant que root

Install des bibliothèques nécessaires

apt-get install --no-install-recommends gcc make libc6-dev libmail-dkim-perl

Configuration CPAN

perl -MCPAN -e shell
exit

Tapez Entrée pour laisser la conf par défaut. Si besoin, définir la conf du proxy avec les variables http_proxy

Maintenant que le CPAN est configuré :

perl -MCPAN -e shell
install Mail::SpamAssassin
exit
Vérification

Si nécessaire :

perl -MCPAN -e shell
get Mail::SpamAssassin
$ find ~/.cpan/ -iname "*sample*"
/root/.cpan/build/Mail-SpamAssassin-3.4.1-Ow_PWo/sample-nonspam.txt
/root/.cpan/build/Mail-SpamAssassin-3.4.1-Ow_PWo/sample-spam.txt
# spamassassin -t /root/.cpan/build/Mail-SpamAssassin-3.4.1-Ow_PWo/sample-nonspam.txt |grep X-Spam
config: no rules were found!  Do you need to run 'sa-update'? at /usr/local/bin/spamassassin line 413.
$ apt-file search HTTP/Date.pm
libhttp-date-perl: /usr/share/perl5/HTTP/Date.pm
apt-get install --no-install-recommends libhttp-date-perl
sa-update -v

Ajout de la crontab

crontab -e
@daily /usr/local/bin/sa-update
# spamassassin -t /root/.cpan/build/Mail-SpamAssassin-3.4.1-Ow_PWo/sample-nonspam.txt |grep X-Spam
mai 29 14:13:35.829 [8673] warn: dns: sendto() to [127.0.0.1]:53 failed: Connexion refusée, failing over to [213.186.33.99]:53
X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on host.acme.fr
X-Spam-Level: 
X-Spam-Status: No, score=-0.0 required=5.0 tests=T_RP_MATCHES_RCVD,
Le syste SpamAssassin ajoute un en-te "X-Spam-Flag: YES" aux
# spamassassin -t /root/.cpan/build/Mail-SpamAssassin-3.4.1-Ow_PWo/sample-spam.txt |grep X-Spam
X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on host.acme.fr
X-Spam-Flag: YES
X-Spam-Level: **************************************************
X-Spam-Status: Yes, score=1000.0 required=5.0 tests=GTUBE,NO_RECEIVED,
Le syste SpamAssassin ajoute un en-te "X-Spam-Flag: YES" aux
Le syste SpamAssassin ajoute un en-te "X-Spam-Flag: YES" aux

SpamAssassin peut se contrôler lui-même. Si tout est ok il ne revoie aucun résultat

spamassassin --lint

/etc/procmailrc

DROPPRIVS=yes
 
VERBOSE=Yes
SHELL=/bin/bash
PATH=$HOME/bin:/usr/bin:/bin:/usr/local/bin
MAILDIR=$HOME/Maildir/ # You d better make sure it exists
#DEFAULT=$MAILDIR/$USERNAME
DEFAULT=$MAILDIR/
LOGFILE=$MAILDIR/.procmail.log
LOCKFILE=$HOME/.lockmail
LOGNAME=$USERNAME
 
:0fw
| /usr/local/bin/spamassassin
:0
* ^X-Spam-Flag: Yes
.Spam/new
Vérification 2
cat /root/.cpan/build/Mail-SpamAssassin-3.4.1-Ow_PWo/sample-nonspam.txt | sendmail test@acme.fr
cat /root/.cpan/build/Mail-SpamAssassin-3.4.1-Ow_PWo/sample-spam.txt | sendmail test@acme.fr

Trois possiblité pour intégrer SpamAssassin à Postfix :

  • Utiliser procmail (solution choisie içi)
  • Configurer SpamAssin en tant que daemon
  • Utiliser SpamAssin avec Amavis
2025/03/24 15:06
blog.txt · Dernière modification : de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki