Table des matières
0 billet(s) pour février 2026
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
- 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
gem 'pg' gem 'activeadmin', github: 'gregbell/active_admin' gem 'execjs' gem 'therubyracer'
- Accès à la DB
vi config/database.yml
bundle install
- Démarré le serveur (port TCP 3000 par défaut) :
- Seulement pour test. Pas necessaire
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
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>
Install IPython
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
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
Creation DB
mysql -u zabbix -pzabbix -D zabbix < <(zcat /usr/share/zabbix-proxy-mysql/schema.sql.gz)
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
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' ); ?>
Installation de SpamAssassin avec CPAN
Voir aussi :
- Bogofilter
-
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
