sFTP : Sécurisez votre FTP grâce à MySecureShell

0

root@sftp:~# wget http://mysecureshell.free.fr/repository/index.php/debian/pool/main/m/mysecureshell/mysecureshell_1.33_i386.deb

root@sftp:~# dpkg -i mysecureshell_1.33_i386.deb

On ajoute un utilisateur pour notre sFTP:
root@sftp:~# useradd -m -s /bin/bash sftp

On ajoute notre premier utilisateur:
root@sftp:~# useradd -m -s /bin/MySecureShell –gid sftp admin
root@sftp:~# passwd admin
On va maintenant configurer MySecureShell pour nous permettre d’affiner les autorisations des utilisateurs.
root@sftp:~# nano /etc/ssh/sftp_config

Voici la configuration retenue:
root@sftp:~# cat /etc/ssh/sftp_config

## MySecureShell Configuration File ##
#Default rules for everybody
<Default>
    GlobalDownload        5m    #total speed download for all clients
                    # o -> bytes   k -> kilo bytes   m -> mega bytes
    GlobalUpload        5m    #total speed download for all clients (0 for unlimited)
    Download         5m    #limit speed download for each connection
    Upload             5m    #unlimit speed upload for each connection
    StayAtHome        true    #limit client to his home
    VirtualChroot        false    #fake a chroot to the home account
    LimitConnection        25    #max connection for the server sftp
    LimitConnectionByUser    5    #max connection for the account
    LimitConnectionByIP    10    #max connection by ip for the account
    Home            /home/$USER    #overrite home of the user but if you want you can use
                        #    environment variable (ie: Home /home/$USER)
    IdleTimeOut        10m    #(in second) deconnect client is idle too long time
    ResolveIP        true    #resolve ip to dns
#    IgnoreHidden        true    #treat all hidden files as if they don't exist
    DirFakeUser        true    #Hide real file/directory owner (just change displayed permissions)
    DirFakeGroup        true    #Hide real file/directory group (just change displayed permissions)
#    DirFakeMode        0400    #Hide real file/directory rights (just change displayed permissions)
                    #Add execution right for directory if read right is set
#    HideFiles        "^(lost\+found|public_html)$"    #Hide file/directory which match
                                #this extented POSIX regex
    HideNoAccess        true    #Hide file/directory which user has no access
#    MaxOpenFilesForUser    20    #limit user to open x files on same time
#    MaxWriteFilesForUser    10    #limit user to x upload on same time
#    MaxReadFilesForUser    10    #limit user to x download on same time
    DefaultRights        0660 0770    #Set default rights for new file and new directory
#    MinimumRights        0400 0700    #Set minimum rights for files and dirs

#    PathDenyFilter        "^\."    #deny upload of directory/file which match this extented POSIX regex

    ShowLinksAsLinks    false    #show links as their destinations
#    ConnectionMaxLife    1d    #limits connection lifetime to 1 day

#    Charset            "ISO-8859-15"    #set charset of computer
#    GMTTime            +1    #set GMT Time (change if necessary)
</Default>

On ajoute nos utilisateurs:
root@sftp:~# useradd -m -s /bin/MySecureShell –gid sftp USER1
root@sftp:~# passwd USER1
root@sftp:~# useradd -m -s /bin/MySecureShell –gid sftp USER2
root@sftp:~# passwd USER2

Linux : Installer Fail2ban sur CentOS 6

0

[root@centos:~]# yum check-update
[root@centos:~]# yum update
[root@centos:~]# yum list available
[root@centos:~]# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[root@centos:~]# yum install fail2ban

Linux : Réparer Grub en mode rescue

0

Vous gérez un serveur qui à méchamment planté suite à une quelconque mise à jour logiciel ou bien suite à un arrêt violent et celui-ci ne redémarre plus.

Redémarrez votre serveur en mode “rescue” et réparez Grub :

Fixe Grub
########################
root@rescue:~# mount /dev/md1 /mnt/
root@rescue:~# mount -t proc /proc /mnt/proc
root@rescue:~# mount -o bind /sys /mnt/sys
root@rescue:~# mount -o bind /dev /mnt/dev
root@rescue:~# chroot /mnt
root@rescue:/# grub-install –recheck –no-floppy /dev/sda
########################

Redémarrez sur votre noyau d’origine.

Subversion : Modifier un commentaire de commit dans Subversion avec Linux

0

Vous gérez un serveur Subversion avec la gestion de plusieurs développeurs, certains “oublient” de mettre un commentaire, d’autre se trompent tout simplement dans le commentaire même.

Pour cela il va falloir utiliser un “hook” installé avec Subversion mais pas activé par défaut.

Avec Linux, il vous faut aller dans le répertoire dédié à votre dépôt Subversion:

hook@subversion:~# cd /var/svn/repository/hooks/

hook@subversion:~# ln -s pre-revprop-change.tmpl pre-revprop-change

hook@subversion:~# chmod u+x pre-revprop-change

Dans votre répertoire de travail, avec droit d’écriture Subversion:

hook@subversion:~# cd ~/svn/repository

hook@subversion:~/svn/repository# svn propset –revpropset -r 888 svn:log “Commentaire de Commit modifié”

Votre commentaire de commit Subversion est maintenant modifié.

Maintenant n’oubliez pas de désactiver le “hook”:

hook@subversion:~# cd /var/svn/repository/hooks/

hook@subversion:~# rm pre-revprop-change

hook@subversion:~# chmod 644 pre-revprop-change.tmpl

hook@subversion:~# exit

Voilà c’est fini!

MediaWiki : Installation de MediaWiki sur Linux

0

On commence par mettre à jour le système:

mediawiki@wiki:~# apt-get update
mediawiki@wiki:~# apt-get upgrade

On crée l’utilisateur système du site wiki:

mediawiki@wiki:~# useradd -m –home-dir /home/wiki -s /bin/bash wiki

On lui attribue un mot de passe:

mediawiki@wiki:~# passwd wiki

On va maintenant installer le duo apache2 et mysql et on répond aux questions:

mediawiki@wiki:~# apt-get install apache2 mysql-server mysql-client

Ensuite on installe phpmyadmin et on répond aux questions:

mediawiki@wiki:~# apt-get install phpmyadmin

Pour avoir une meilleur gestion des droits avec Apache on va installer un paquet qui va remplacer les fonctions de suPHP mais qui est plus simple à installer:

mediawiki@wiki:~# apt-get install apache2-mpm-itk

mediawiki@wiki:~# apt-get install apache2-suexec-custom

On en profite pour installer le module de réecriture d’URL d’Apache mod_rewrite:

mediawiki@wiki:~# a2enmod rewrite

Maintenant on peut écrire le fichier de configuration pour apache:

mediawiki@wiki:~# nano /etc/apache2/sites-available/wiki

Et y mettre ceci:

<VirtualHost *:80>
  ServerAdmin info@example.com
  ServerName wiki.example.com
  AssignUserId wiki wiki
  DocumentRoot /home/wiki/www
<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>
ErrorLog /var/log/apache2/wiki_error.log
LogLevel warn
CustomLog /var/log/apache2/wiki_access.log combined
ServerSignature Off
</VirtualHost>

Pensez à bien mettre le nom de l’utilisateur système et son groupe en face de AssignUserId.

On active la configuration dans Apache:

mediawiki@wiki:~# a2ensite wiki

Il nous faut maintenant une base de donnée MySQL pour l’utilisation de MediaWiki

Pour simplifier on va utiliser phpMyAdmin précédemment installé, pour cela aller à l’URL de votre machine dans le répertoire /phpmyadmin/

Dans phpMyAdmin allez dans “privilèges” puis “Ajoutez un utilisateur”

Maintenant on va télécharger MediaWiki:

On va dans le répertoire de l’utilisateur puis on télécharge le dernière MediaWiki version avec wget:

mediawiki@wiki:~# cd /home/wiki

mediawiki@wiki:~# wget http://download.wikimedia.org/mediawiki/1.21/mediawiki-1.21.2.tar.gz

On décompresse:

mediawiki@wiki:~# gzip -d mediawiki-1.21.2.tar.gz

mediawiki@wiki:/home/wiki# tar -xvf mediawiki-1.21.2.tar

On le bouge dans le répertoire initialement indiqué dans la configuration Apache:

mediawiki@wiki:~# mv mediawiki-1.21.2 www

On lui donne comme propriétaire l’utilisateur adéquat:

mediawiki@wiki:~# chown -R wiki:wiki www

On recharge Apache:

mediawiki@wiki:~# /etc/init.d/apache2 restart

On peut maintenant aller à l’URL de notre installation.

Vous pouvez maintenant procéder à la configuration de l’installation de votre MediaWiki en allant à la racine de votre répertoire.

Répondez aux questions en fonction de vos besoins.

Téléchargez le fichier LocalSetting.php puis placez le via FTP sans votre répertoire www.

Voilà c’est installé vous pouvez vous rendre sur votre Wiki.

Apache : Rediriger HTTP vers HTTPS

0

Vous venez d’Installer HTTPS-SSL pour votre serveur Apache et vous souhaitez que TOUS vos visiteurs passent par la version HTTPS en lieu et place de la version HTTP.

Pour cela éditez votre fichier Apache:

http@https:# nano /etc/apache2/sites-enabled/example.com-ssl

Et ajoutez en début de fichier ceci:

<VirtualHost *:80>
        ServerName      www.example.com
        Redirect        / https://wwww.example.com/
</VirtualHost>

Pensez à désactiver la configuration en HTTP de votre site

http@https:# a2dissite example.com

Maintenant redémarrez Apache2:

http@https:# service apache reload

Piwigo : Installation de Piwigo sur Linux

0

On commence par mettre à jour le système:

piwigo@linux:~# apt-get update
piwigo@linux:~# apt-get upgrade

On crée l’utilisateur système du site piwigo:

piwigo@linux:~# useradd -m –home-dir /home/piwigo -s /bin/bash piwigo

On lui attribue un mot de passe:

piwigo@linux:~# passwd piwigo

On va maintenant installer le duo apache2 et mysql et on répond aux questions:

piwigo@linux:~# apt-get install apache2 mysql-server mysql-client

Ensuite on installe phpmyadmin et on répond aux questions:

piwigo@linux:~# apt-get install phpmyadmin

Pour avoir une meilleur gestion des droits avec Apache on va installer un paquet qui va remplacer les fonctions de suPHP mais qui est plus simple à installer:

piwigo@linux:~# apt-get install apache2-mpm-itk

piwigo@linux:~# apt-get install apache2-suexec-custom

On en profite pour installer le module de réecriture d’URL d’Apache mod_rewrite:

piwigo@linux:~# a2enmod rewrite

Maintenant on peut écrire le fichier de configuration pour apache:

piwigo@linux:~# nano /etc/apache2/sites-available/piwigo

Et y mettre ceci:

<VirtualHost *:80>
  ServerAdmin info@example.com
  ServerName www.example.com
  ServerAlias example.com
  AssignUserId piwigo piwigo
  DocumentRoot /home/piwigo/www
<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>
ErrorLog /var/log/apache2/piwigo_error.log
LogLevel warn
CustomLog /var/log/apache2/piwigo_access.log combined
ServerSignature Off
</VirtualHost>

Pensez à bien mettre le nom de l’utilisateur système et son groupe en face de AssignUserId.

On active la configuration dans Apache:

piwigo@linux:~# a2ensite piwigo

Il nous faut maintenant une base de donnée MySQL pour l’utilisation de ZenPhoto

Pour simplifier on va utiliser phpMyAdmin précédemment installé, pour cela aller à l’URL de votre machine dans le répertoire /phpmyadmin/

Dans phpMyAdmin allez dans “privilège” puis “Ajoutez un utilisateur”

Soit via la console SQL de MySQL:

CREATE USER ‘piwigo’@’localhost’ IDENTIFIED BY ‘***’;

GRANT USAGE ON * . * TO ‘zenphot’@’localhost’ IDENTIFIED BY ‘***’ WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

CREATE DATABASE IF NOT EXISTS `piwigo` ;

GRANT ALL PRIVILEGES ON `piwigo` . * TO ‘piwigo’@’localhost’;

Maintenant on va télécharger Piwigo:

On va dans le répertoire de l’utilisateur puis on télécharge le dernière ZenPḧoto version avec wget:

piwigo@linux:~# cd /home/piwigo

piwigo@linux:~# wget http://piwigo.org/download/dlcounter.php?code=latest

On décompresse:

piwigo@linux:~# gzip -d piwigo-2.5.2.zip

piwigo@linux:/home/piwigo# tar -xvf piwigo-2.5.2.zip

On le bouge dans le répertoire initialement indiqué dans la configuration Apache:

piwigo@linux:~# mv piwigo www

On lui donne comme propriétaire l’utilisateur adéquat:

piwigo@linux:~# chown -R piwigo:piwigo www

On recharge Apache:

piwigo@linux:~# /etc/init.d/apache2 restart

On peut maintenant aller à l’URL de notre installation.

Vous pouvez maintenant procéder à la configuration de l’installation de votre Piwigo en allant à la racine de votre répertoire.

Une fois identifié, il va falloir faire quelques réglages de configuration.

ZenPhoto – Installation de ZenPhoto sur Linux Debian Ubuntu

0

On commence par mettre à jour le système:

zenphoto@linux:~# apt-get update
zenphoto@linux:~# apt-get upgrade

On crée l’utilisateur système du site zenphoto:

zenphoto@linux:~# useradd -m –home-dir /home/zenphoto -s /bin/bash zenphoto

On lui attribue un mot de passe:

zenphoto@linux:~# passwd zenphoto

On va maintenant installer le duo apache2 et mysql et on répond aux questions:

zenphoto@linux:~# apt-get install apache2 mysql-server mysql-client

Ensuite on installe phpmyadmin et on répond aux questions:

zenphoto@linux:~# apt-get install phpmyadmin

Pour avoir une meilleur gestion des droits avec Apache on va installer un paquet qui va remplacer les fonctions de suPHP mais qui est plus simple à installer:

zenphoto@linux:~# apt-get install apache2-mpm-itk

zenphoto@linux:~# apt-get install apache2-suexec-custom

On en profite pour installer le module de réecriture d’URL d’Apache mod_rewrite:

zenphoto@linux:~# a2enmod rewrite

Maintenant on peut écrire le fichier de configuration pour apache:

zenphoto@linux:~# nano /etc/apache2/sites-available/zenphoto

Et y mettre ceci:

<VirtualHost *:80>
  ServerAdmin info@example.com
  ServerName www.example.com
  ServerAlias example.com
  AssignUserId zenphoto zenphoto
  DocumentRoot /home/zenphoto/www
<Directory />
  Options FollowSymLinks
  AllowOverride All
</Directory>
ErrorLog /var/log/apache2/zenphoto_error.log
LogLevel warn
CustomLog /var/log/apache2/zenphoto_access.log combined
ServerSignature Off
</VirtualHost>

Pensez à bien mettre le nom de l’utilisateur système et son groupe en face de AssignUserId.

On active la configuration dans Apache:

zenphoto@linux:~# a2ensite zenphoto

Il nous faut maintenant une base de donnée MySQL pour l’utilisation de ZenPhoto

Pour simplifier on va utiliser phpMyAdmin précédemment installé, pour cela aller à l’URL de votre machine dans le répertoire /phpmyadmin/

Dans phpMyAdmin allez dans “privilège” puis “Ajoutez un utilisateur”

Soit via la console SQL de MySQL:

CREATE USER ‘zenphoto’@’localhost’ IDENTIFIED BY ‘***’;

GRANT USAGE ON * . * TO ‘zenphot’@’localhost’ IDENTIFIED BY ‘***’ WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

CREATE DATABASE IF NOT EXISTS `zenphoto` ;

GRANT ALL PRIVILEGES ON `zenphoto` . * TO ‘zenphoto’@’localhost’;

Maintenant on va télécharger ZenPhoto:

On va dans le répertoire de l’utilisateur puis on télécharge le dernière ZenPḧoto version avec wget:

zenphoto@linux:~# cd /home/zenphoto
wordpress@debian:~# wget –no-check-certificate https://github.com/zenphoto/zenphoto/archive/zenphoto-1.4.4.4.tar.gz

On décompresse:

zenphoto@linux:~# gzip -d zenphoto-1.4.4.4.tar.gz

zenphoto@linux:/home/zenphoto# tar -xvf zenphoto-1.4.4.4.tar

On le bouge dans le répertoire initialement indiqué dans la configuration Apache:

zenphoto@linux:~# mv zenphoto www

On lui donne comme propriétaire l’utilisateur adéquat:

zenphoto@linux:~# chown -R zenphoto:zenphoto www

On recharge Apache:

zenphoto@linux:~# /etc/init.d/apache2 restart

Vous pouvez maintenant procéder à la configuration de l’installation de votre ZenPhoto en allant à la racine de votre répertoire.

Subversion – Gestion de conflit dans SVN avec TortoiseSVN

0

Vous avez commiter vos modifications sur votre dépôt Subversion de votre projet et Subversion vous signale un conflit. Un conflit dans Subversion intervient lorsque les sources ont été modifiés par un utilisateur après que vous ayez fait votre update, puis commité.

En cas de commit TotoiseSVN vous le signale dans la fenêtre ouverte pour le commit. Pour résoudre ce conflit vous devez réaliser tout d’abord un update sur vos sources, puis faire à nouveau un commit. Attention, l’update sur vos sources n’enlèvera pas les modifications que vous avez faites sur ceux-ci.

Si pendant l’update aucune erreur n’est détectée alors c’est que le conflit est résolut.

Par contre si pendant l’update vous obtenez un message vous indiquant un conflit, cela signifie que TortoiseSVN n’est pas capable de régler le conflit lui même. En général c’est lorsque la même ligne est modifiée dans le fichier qui pose un problème. Dans ce cas seul un utilisateur va pouvoir résoudre manuellement le problème.

Pour ce faire TortoiseSVN offre un utilitaire pour comparer les fichiers, car il va vous falloir comparer le fichier que vous avez modifier et le fichier qui est sur le serveur. Une fois déterminer le fichier qui pose problème, il vous faut aller dans son répertoire et faire un clique droit sur le fichier et choisir: Edit conflicts.

Une fenêtre s’ouvre, dans le coin en haut à gauche de la fenêtre vous avez le fichier tel qu’il est sur le serveur, en haut à droite le fichier sur votre machine. Les lignes surlignés en orange sont celles qui ont été modifiées par TortoiseSVN. Les lignes surlignées en rouge sont celles qui pose problème.

Pour résoudre le problème sélectionez les lignes rouges dans la partie basse de la fenêtre, plusieurs options s’offrent alors à nous, vous devez choisir celles qui vous conviens le mieux. Une fois que toutes les lignes rouges ont été traitées, c’est que les conflits sont résolus.

Vous pouvez fermer la fenêtre. Pour finir la résolution du conflit, faites un clique droit sur le fichier qui posait problème et choissez “Resolved“, une fenêtre s’ouvre pour vous dire que le conflit est résolus.

Vous pouvez maintenant refaire le commit qui posait problème.

CRM – Installation de Fat Free CRM sur Debian Squeeze

0

crm@debian:~# dpkg-reconfigure tzdata

crm@debian:~# dpkg-reconfigure locales

crm@debian:~# apt-get update

crm@debian:~# apt-get upgrade

crm@debian:~# apt-get install apache2 mysql-server mysql-client

crm@debian:~# apt-get install phpmyadmin

crm@debian:~# /etc/init.d/apache2 restart

crm@debian:~# apt-get install ruby-full

crm@debian:~# ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [i486-linux]

crm@debian:~# apt-get install rubygems

crm@debian:~# gem -v
1.3.7

crm@debian:~# gem install rails -v=2.3.8

crm@debian:~# ln -s /var/lib/gems/1.8/bin/rails /usr/bin/rails

crm@debian:~# rails -v
Rails 2.3.8

crm@debian:~# a2enmod rewrite

crm@debian:~# apt-get install libmysql-ruby libmysqlclient-dev

crm@debian:~# apt-get install libapache2-mod-passenger

crm@debian:~# apt-get install libapache2-mod-fcgid

crm@debian:~# /etc/init.d/apache2 restart

crm@debian:~# apt-get install imagemagick libmagick9-dev librmagick-ruby1.8

crm@debian:~# gem install mysql

crm@debian:~# gem install rmagick

crm@debian:~# gem install -v=0.8.7 rake

crm@debian:~# gem uninstall -v=0.9.2 rake

crm@debian:~# ln -s /var/lib/gems/1.8/bin/rake /usr/bin/rake

crm@debian:~# cd /var

crm@debian:~# wget https://download.github.com/michaeldv-fat_free_crm-0.10.1-0-ga897de7.tar.gz

crm@debian:~# gzip -d michaeldv-fat_free_crm-0.10.1-0-ga897de7.tar.gz

crm@debian:~# tar -xvf michaeldv-fat_free_crm-0.10.1-0-ga897de7.tar

crm@debian:~# mv michaeldv-fat_free_crm-d5315a2/ fat_free_crm

crm@debian:~# cd fat_free_crm/

crm@debian:~# cp config/database.mysql.yml config/database.yml

crm@debian:~# nano config/database.yml

crm@debian:~# cat config/database.yml

crm@debian:/var/fat_free_crm# cat config/database.yml

# MySQL.  Versions 4.1 and 5.0 are recommended.
#
# Install the MySQL driver:
#   gem install mysql
# On Mac OS X:
#   sudo gem install mysql -- --with-mysql-dir=/usr/local/mysql
# On Mac OS X Leopard:
#   sudo env ARCHFLAGS="-arch i386" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
#       This sets the ARCHFLAGS environment variable to your native architecture
# On Windows:
#   gem install mysql
#       Choose the win32 build.
#       Install MySQL and put its /bin directory on your path.
#
# And be sure to use new-style password hashing:
#   http://dev.mysql.com/doc/refman/5.0/en/old-client.html
#------------------------------------------------------------------------------
#development:
#  adapter: mysql
#  encoding: utf8
#  database: fat_free_crm_development
#  pool: 5
#  username: root
#  password:
#  socket: /tmp/mysql.sock

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
#test:
#  adapter: mysql
#  encoding: utf8
#  database: fat_free_crm_test
#  pool: 5
#  username: root
#  password:
#  socket: /tmp/mysql.sock

production:
  adapter: mysql
  encoding: utf8
  database: fat_free_crm_production
  pool: 5
  username: root
  password: XXXXXXX 
  socket: /var/run/mysqld/mysqld.sock 
# socket: /tmp/mysql.sock

crm@debian:~# gem install rack -v 1.0.1

crm@debian:~# gem install passenger

RAILS_ENV=production rake db:create db:migrate crm:settings:load

RAILS_ENV=production rake crm:setup:admin USERNAME=admin PASSWORD=admin EMAIL=admin@example.com

crm@debian:~# apt-get install apache2-prefork-dev

crm@debian:~# chown -Rf root.www-data /var/fat_free_crm/

crm@debian:~# cd /etc/apache2/sites-available/

crm@debian:~# nano fatfreecrm

<VirtualHost *:80>
        ServerName crm.example.com
        ServerAdmin info@example.com
        DocumentRoot /var/fat_free_crm/public
        PassengerDefaultUser www-data
        RailsEnv production
<Directory /var/fat_free_crm/public>
        Options -Indexes FollowSymLinks -MultiViews
        AllowOverride All
</Directory>

ErrorLog /var/log/apache2/fatfreecrm_error.log
LogLevel warn
CustomLog /var/log/apache2/fatfreecrm_access.log combined
ServerSignature Off
</VirtualHost>

crm@debian:~# a2dissite default

crm@debian:~# a2ensite fatfreecrm

crm@debian:~# /etc/init.d/apache2 restart

Go to Top