Installation de Zend Server 8.5 sous debian 7

26 septembre 2016 | Posted in Logiciel, php | By

Bien qu’étant administrateur système depuis quelques années, mon premier amour a été le code php. Et comme on dit souvent, on revient souvent à ses premiers amours. Ainsi, aujourd’hui, on va installer et utiliser la dernière version de Zend Server.

Alors pourquoi Zend server. Tout simplement parce que j’aime coder avec Zend Studio et que les deux forment une plate-forme de développement très efficace. De plus, avec le Z-ray, nous avons une veritable analyse de notre code. Plusieurs Framework et CMS sont en plus pleinement intégrés dans Z-ray :

  • Magento
  • Drupal
  • ZF
  • WordPress
  • Symfony

Et franchement c’est un gros plus. Certains me diront « oui mais pour symfony on a la même chose ». Oui certes, mais que pour symphony, là, on l’a pour plusieurs types de framework.

Pré-requis :

Une debian 7 64 bits from scratch

Pour commencer, nous allons installer mysql car il n’est pas installé automatiquement. On en profitera pour rajouter quelques paquets.

apt-get install htop screen rsync wget less sudo psmisc ntp ntpdate bind9 bzip2 vim w3m zip iftop git joe iotop tmux fail2ban rkhunter mysql-server

et un peu de couleur pour vim

echo "syntax on
set hlsearch
set number" >> /etc/vim/vimrc

Editez le fichier /etc/apt/source.list et ajoutez

deb http://repos.zend.com/zend-server/8.5/deb_ssl1.0 server non-free

Puis récupérez la clé

wget http://repos.zend.com/zend.key -O- | apt-key add -

on met à jour notre liste

apt-get update

on installe notre zend server avec la version du php que l’on désire.

apt-get install zend-server-php-5.5

Configuration de Zend

Pour finir l’installation, il faut vous rendre sur l’interface web d’administration de votre serveur

http://VOTRE_IP:10081/ZendServer

Sélection_001_17_12:23:40Il suffit d’accepter en cochant la case puis next

Sélection_001_17_12:24:03On sélectionne le type de serveur que l’on veut, personnellement c’est pour du développement ce qui me permet d’avoir Z-ray d’activé.

Sélection_001_17_12:25:31On définit les mots de passe administrateur et développeur pour le zend server.

Sélection_001_17_12:25:42

Le zend server déploie ses librairies :

Sélection_001_17_12:26:23Il reste plus qu’a cliquer sur launch pour finir l’installation

Sélection_001_17_12:26:39Zend server travaille quelques intants

et vous arrivez sur votre administration :

Sélection_001_17_12:27:19

On va maintenant déployer phpmyadmin depuis l’interface de zend. Pour cela, c’est très simple, sur la page d’accueil, cliquez sur le logo phpmyadmin

Sélection_001_17_13:31:13

Sélection_001_17_13:31:50Zend server télécharge son paquet d’installation de phpmyadminSélection_001_17_13:32:21 Il faut rentrer le nom du répertoire pour la configuration d’apache

Sélection_001_17_13:42:55Zend Server valide que les pré-requis sont installés.

Sélection_001_17_13:50:40Il vous demande de rentrer les paramètres de la base de données que nous avons installé précédemment.
Normalement vous n’avez qu’a mettre le mot de passe.

Sélection_001_17_13:50:59Le dernier écran qui récapitule les informations et on clique sur déployer

Sélection_001_17_13:51:10Zend installe phpmyadmin.

Comme vous pouvez le constater, il est très simple de déployer une application sur zend server.

 

Conclusion

On a vu ensemble l’installation via le dépot de zend de zend server 8.5 sous debian 7. Mais pourquoi ne pas l’avoir fait sous debian 8 ?

En fait sous debian 8, on a un souci avec le module php5 de zend et apache 2.4. Ce n’est pour l instant pas compatible.

Read More...

Installation de Redmine 3.0.3 sous debian 7 avec passenger

logo redmine

13 juin 2015 | Posted in Logiciel | By

On ne présente plus redmine, le soft open-source de gestion de projet développé en Ruby sur la base du framework Ruby on Rails.

Pré requis

Un serveur sous debian 7 64 bit vierge.

Introduction

Je vais vous montrer comment installer redmine en version 3 sur une debian 7 avec :

  • mysql 5.5
  • ruby 2.2
  • rails 4.2
  • gem 2.4.5
  • apache2
  • passenger
  • et une authentification ldap

Installation d’apache et de mysql

On commence par le plus simple, on rajoutera le php et phpmyadmin et imagemagick en même temps.

apt-get install mysql-server mysql-common libmysqlclient-dev mysql-client apache2 apache2-mpm-prefork apache2-prefork-dev libapr1-dev libaprutil1-dev libfcgi-dev libssl-dev zlib1g-dev libcurl4-openssl-dev phpmyadmin imagemagick libmagickwand-dev php5 libapache2-mod-php5 php5-mysql php5-ldap php5-imagick php5-curl php5-gd php5-intl php-pear php5-imap php5-mcrypt php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php-apc curl vim subversion

Vous pouvez après reprendre les fichiers de configuration d’apache, php et mysql afin d’optimiser le tout et surtout le sécuriser.

Installation de ruby

Nous allons d’abord installer les pré-requis puis télécharger la dernière version disponible. En effet le package dans debian est la 1:1.9.3
C’est d’ailleurs pour cela que je n’ai pas installé le paquet passenger disponible.

apt-get install gcc build-essential zlib1g zlib1g-dev zlibc libzlib-ruby libssl-dev libyaml-dev libcurl4-openssl-dev libapr1-dev libxslt-dev checkinstall libffi-dev libreadline-dev git-core

Afin de faciliter l’installation, on va utiliser rmv
J’ai essayé avec rbenv et j’ai eu des soucis pour info.

mkdir /usr/local/rvm
cd /usr/local/rvm
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable --rails
usermod -aG rvm www-data

Il faut maintenant reload votre shell

source ~/.bashrc

Pour vérifier que c’est bon :

ruby -v
ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-linux]

Si vous obtenez

ruby 1.8.7 (2012-02-08 patchlevel 358) [x86_64-linux]

c’est que vous avez le paquet ruby de debian, supprimez le et recommencez l’installation comme décrite ci-dessus

et on vérifie gem

gem -v

Installation de rails, bundler et passenger pour redmine

gem install bundler
gem install passenger

On active le passenger
On génère les fichiers de configuration de passenger

passenger-install-apache2-module

On va mettre en place le fichier de configuration

vim /etc/apache2/mods-available/passenger.conf
PassengerRoot /usr/local/rvm/gems/ruby-2.2.1/gems/passenger-5.0.6
PassengerDefaultRuby /usr/local/rvm/gems/ruby-2.2.1/wrappers/ruby

Puis le chargement du module

vim /etc/apache2/mods-available/passenger.load
LoadModule passenger_module /usr/local/rvm/gems/ruby-2.2.1/gems/passenger-5.0.6/buildout/apache2/mod_passenger.so

On active le module et on refresh apache

a2enmod passenger
apache2ctl graceful

 

On vérifie que le module est bien activé

apache2ctl -t -D DUMP_MODULES | grep passenger

qui doit nous répondre

passenger_module (shared)

Tout va bien on continue.

Création de la base de données redmine

CREATE DATABASE redmine CHARACTER SET utf8;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'my_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';

Pensez à changer my_password par votre mot de passe.

Installation de redmine

mkdir -p /data/www/rubyonrails/
cd /data/www/rubyonrails

Pour plus de sécurité, nous allons créer un utilisateur système redmine avec pour groupe www-data

useradd -d /home/ -g 33 -m -s /bin/sh redmine

On télécharge notre archive et on la décompresse, pour faciliter les mises à jour futures, je vais créer un lien symbolique

wget http://www.redmine.org/releases/redmine-3.0.3.tar.gz
tar xvfz redmine-3.0.3.tar.gz
rm redmine-3.0.3.tar.gz
ln -s redmine-3.0.3 redmine

On configure la connexion à la base de données

cp -p /data/www/rubyonrails/redmine/config/database.yml.example /data/www/rubyonrails/redmine/config/database.yml

On se place dedans

cd /data/www/rubyonrails/redmine/

On installe les dépendances

bundle install --without development

On génère le token

bundle exec rake generate_secret_token

On nourrit la base de données de production

RAILS_ENV=production bundle exec rake db:migrate

puis

RAILS_ENV=production bundle exec rake redmine:load_default_data

On configure le vhost d apache

vim /etc/apache2/sites-available/redmine.site.com

<VirtualHost *:80>
ServerName redmine.site.com
DocumentRoot /data/www/rubyonrails/redmine/public/
<Directory /data/www/rubyonrails/redmine/public/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

RailsEnv production

AddOutputFilter DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

ErrorLog /var/log/apache2/redmine.site.com/error.log
LogLevel warn
CustomLog /var/log/apache2/redmine.site.com/access.log combined
</VirtualHost>

on active le site et on restart apache

a2ensite redmine.site.com
apache2ctl graceful

Conclusion

Vous voila avec une installation redmine, il ne vous reste plus qu’à configurer vos projets et votre authentification Ldap dans l’administration de votre interface.

Read More...

CanalPlay sous Linux Debian 64Bit via Silverlight

31 août 2014 | Posted in Logiciel | By

Pour une fois, on va parler d’une problématique que vous ne rencontrez pas en production, mais chez vous tranquillement posé sur votre bureau. Comme pas mal de développeurs, je suis un adepte du mufti-écran et il m arrive bien souvent de travailler à la maison en musique ou avec un bon nanard (je vous conseille d ailleurs le site www.nanarland.com) en fond sonore. Ayant un abonnement Canal Play via la freebox j’ai vu qu’il était possible de regarder depuis son ordinateur. Autant dire que j’ai sauté sur l’occasion, ce système de vidéo à la demande regorgeant de films à la qualité parfaite pour travailler pleinement (très nuls que l’on suit pas mais qui permettent de décompresser en quelques secondes). Or pour une raison des plus obscures surement lié au DRM, Canal Plus utilise comme seul et unique lecteur video Silverlight … Produit microsoft qui bien sur ne tourne pas de base sous une linux. Et bien voila la solution pour que cela marche.

On commence par modifier son sources.list

Tout d’abord vérifiez que vous avez bien contrib dans votre dépot débian :

deb http://ftp.fr.debian.org/debian/ wheezy main contrib

puis rajouter

deb http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/ ./

il faut ensuite récupérer et activer la clé

wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/Release.key
apt-key add Release.key

on met à jour notre liste de paquets


apt-get update

on installe pipelight

apt-get install pipelight-multi

pipelight-plugin –update

la perso je suis sorti du mode root pour refaire la manip sur mon compte user

pipelight-plugin --update

puis j active silverligth

pipelight-plugin --enable silverlight

En faite pipelight va s’occuper de tout, de la récupération et du paramétrage de wine et de l installation de silverlight
Reste plus qu’à relancer son navigateur, activer le plugin et le tour est joué.

Bon visionnage

Read More...

Peerguardian 2 pour Linux

16 juillet 2014 | Posted in Logiciel | By

Lorsque que l’on a un serveur ouvert sur internet , on s’expose à toutes sortes de menaces. Alors on peut avoir un anti-virus, un système anti DDOS comme celui fourni par ovh, rkhunter pour scanner votre machine, mais toutes ces solutions sont bien souvent des remèdes. Comment se protéger en amont de ses menaces? Comment se prémunir des scans ou de parc de zombies?

La seule et unique réponse que j ai trouvé est votre firewall. Jusque la vous allez me dire : sans rire voila un grand comique, comme si on était pas au courant !!!

Mais comme toute solution le firewall a aussi plusieurs faiblesses.

Dans le principe vous allez bloquer des ports, ou des ips. Mais comment connaître les ips?

Soit lors d’une attaque en analysant les logs vous relevez l’IP de l’attaquant et la blacklistez, soit un logiciel comme fail2ban le fait. Mais on reste la encore dans le remède et l’attaque a déjà eu lieu et a pu avoir de nombreuses conséquences.

Dans cet article, je vais vous présenter un système normalement utilisé par les ‘pirates du p2p’ pour se protéger de Hadopi ou de la RIAA que nous allons retourner à notre avantage.

Peerguardian 2

Peerguardian dans sa version 2 pour linux, est une surcouche à votre firewall. Il va se nourrir d’une ou plusieurs listes d’ip considérées comme dangereuses pour faire votre blacklist. Traduction : un attaquant ne pourra même pas arriver jusque vous et débuter un scan ou une attaque, grâce à peerguardian.

Comme je le disais plus haut à la base peerguardian comme son nom l’indique est un logiciel pour particulier qui s’adonne au téléchargement disons pas très légal. Et pour éviter de se faire sniffer et repérer par les ayants droits, ils utilisent ce petit logiciel. Mais il existe plein d’autres listes contenant les ips de spammeur, les ZBOTS , spyware et compagnie.

Vous trouverez toutes les listes ici : https://www.iblocklist.com/lists.php

Installation

On edite le fichier source.list

vim /etc/apt/sources.list

et on rajoute :

deb http://moblock-deb.sourceforge.net/debian wheezy main
deb-src http://moblock-deb.sourceforge.net/debian wheezy main

on installe les clés.

gpg --keyserver keyserver.ubuntu.com --recv-keys C0145138
gpg --export --armor C0145138 | apt-key add -
gpg --export --armor C0145138 | apt-key add -

et l’on met à jour les dépôts :

apt-get update

on peut maintenant installer peerguardian :

apt-get install pgld pglcmd iftop

je rajoute le paquet iftop afin de pouvoir regarder le trafic en temps réel.

Configuration

la configuration ce fait sur 3 fichiers :

/etc/pgl/pglcmd.conf : fichier de configuration principal

/etc/pgl/allow.p2p : fichier de whitelist

/etc/pgl/blocklists.list : fichier contenant les urls des listes à aspirer lors de la mise à jour

Le fichier pglcmd.conf est vide, personnellement j ai rajouté deux choses :

Mes serveurs sont en lan derrière un firewall et je veux pas bloquer la communication entre eux donc j ai mis :

WHITE_LOCAL= »1″

et pour etre sur que ca marche :

WHITE_IP_IN="192.168.11.0/24"
WHITE_IP_OUT="192.168.11.0/24"

ensuite j’automatise les mises à jour

CRON="1"

il faut bien sur adapter la plage ip à vos besoins.

Ensuite pour whitelister un client ou votre propre ip éditez le fichier allow.p2p

Le fichier fonctionne de cette manière pour whitelister le bureau par exemple qui a l ip 1.1.1.1 vous rajoutez la ligne

bureau:1.1.1.1

et le tour est joué, vous pouvez aussi mettre des plages d ip.

Pour la gestion des listes éditons les fichiers blocklists.list

il suffit alors tout simplement de dé-commenter et commenter les urls de listes dont le nom est bien souvent suffisamment parlant pour savoir de quoi il en retourne.

exemple :

http://list.iblocklist.com/lists/bluetack/web-exploit

ATTENTION : Avant de lancer pglcmd pensez à whitelisté votre ip !!! sinon vous pouvez vous retrouver blacklisté !

Utilisation de Peerguadian

Voici les lignes de commandes

pglcmd start demarre pgl et inject les régles dans iptables
pglcmd stop stop pgl et purge iptables
pglcmd restart restarts pgl.
pglcmd reload reconstruit la liste local et la charge dans pgl
pglcmd update Met a jour et reconstruie la liste local et reload dans pgl
pglcmd status montre iptables
pglcmd test pour faire un test
pglcmd search PATTERN permet de rechercher une liste par rapport au mot clé PATTERN
pglcmd stats voir les stats de pgl
pglcmd reset_stats reset les stats de pgl
pglcmd show_config Permet de voir la configuration actuel

Et après :

Si ca vous intéresse et pour vous rendre compte que le net est un monde dangereux regardez les logs des ips bloqués :

tail -f /var/log/pgl/pgld.log

j’ai trouvé aussi le pglcmd stats très intéressant .

En conclusion

Peerguadian est une surcouche pour votre firewall qui ne manque pas d’intérêt. On a vu que sa grande force est justement de se nourrir de listes et donc de bloquer des attaques relevées par d’autres que vous.
Malheureusement il y a un revers à la médaille. En effet, les listes bloquent de larges plages d’ip, chez free par exemple et ovh.
On peut donc blacklister des internautes sans le savoir et rendre son site ou webservices inaccessible.

Il existe toute fois une page permettant de vérifier une ip
https://www.iblocklist.com/search.php
mais je n’ai pas trouvé comment se faire déblacklister à part bien sur peut être par le formulaire de contact.

A utiliser donc mais avec des pincettes surtout pour de la prod

Read More...

Dia le logiciel parfait pour vos schemas

1 avril 2014 | Posted in Logiciel | By

Aujourd’hui en voulant écrire un tutoriel,  je me suis rendu compte que je n’avais pas de logiciel pour vous faire de jolis schémas. Je me suis aussi rendu compte à quel point dans une documentation, certaines notions ne sont facilement explicables qu’avec justement un schéma.

Présentation de DIA

Dia est un logiciel libre de création de diagramme. L’un des atouts de dia est qu’il peut être scripter en python et génère des bouts de code suivant vos schémas UML. Très modulaire, on peut dire que c est un sérieux concurrent à visio.

Installation sur une débian

L’installation est très simple, nous allons installer deux paquets

  • dia
  • dia-shapes

Le premier est le logiciel par lui même, le second est une bibliothèque de formes très utile pour faire facilement des schémas représentatifs

apt-get install dia dia-shapes

Créez sa propre feuille de forme

nous allons maintenant personnaliser nos graphiques et pour cela créer notre propre feuille de forme. C’est un travail lent et minutieux mais qui va s avérer très rentable lors de la création de nos diagrammes.

Nous passerons en root puisque les fichiers des dia se trouve dans /usr/share/dia/

nous allons créer une bibliothèque nommée serveur

mkdir /usr/share/dia/shapes/serveur && chmod 777 /usr/share/dia/shapes/serveur

Création d’une forme

Lancez dia et faites outils->image

Dessinez un rectangle sur votre espace de travail puis clic droit sur le rectangle et propriété

parcourir pour trouver le fichier image

Puis faire Fichier>Exporter sélectionnez le type de fichier :  fichier de forme dia (*.shape)

et enregistrez le dans le répertoire : /usr/share/dia/shapes/serveur

Deux fichiers seront ainsi créés dans le répertoire, un .shape et un .png

Déclarer une nouvelle feuille de forme

Maintenant que nous avons créer  nos formes il faut faire en sorte que dia les gère dans sa bibliothèque.

Pour cela nous allons créer un fichier xml contenant la description des objets :

vim /usr/share/dia/sheets/serveur.sheets
<?xml version="1.0" encoding="UTF-8"?>
<sheet xmlns="http://www.lysator.liu.se/~alla/dia/dia-sheet-ns">
  <name>serveur</name>
  <name xml:lang="fr">Serveur info</name>
  <description>Ma feuille de forme pour mes diagrammes perso</description>
  <description xml:lang="fr">Ma feuille de forme pour mes diagrammes perso</description>
  <contents>
    <object name="serveur - serveur_linux">
      <description>serveur sous linux</description>
      <description xml:lang="fr">Serveur sous linux</description>
    </object>
<object name="serveur - firewall">
      <description>firewall</description>
      <description xml:lang="fr">firewall</description>
    </object>
  </contents>
</sheet>

Décryptage :

  • name : nom du répertoire de votre nouvelle feuille de forme
  • object name= « nom du répertoire – nom du fichier sans extension »

Redémarrez dia, vous avez votre feuille personnalisée

 

 

 

 

 

 

Lien externe

Voila un site plus qu’intéressant, vous allez y trouver plein de clipart open source

http://openclipart.org/

 

Read More...

Installé pidgin 2.10 sous debian Squeeze

25 septembre 2012 | Posted in Logiciel | By

Depuis quelques temps pidgin ne me donnait pas satisfaction sous ma squeeze. Je ne recevais pas de messages, la vidéoconférence ne marchait pas du tout. J ai donc décidé de mettre à jour pidgin sur ma release.

Malheureusement la version 2.10 n est disponible que sur la sid. Oubliez donc le bon apt-get upgrade.

On va tout bonnement télécharger les sources sur le site de pidgin et les compiler. Ca vous savez surement tous le faire.

Par contre voila une astuce qui va vous permettre d avoir tous les paquets necessaires a la compilation :

apt-get build-dep pidgin

Cette petite ligne va installé tous les paquets dependants de pidgin. La compilation est après un jeux d enfant. Bien sur ca peut servir avec d autre paquet.

Read More...