25 février 2010

Inserer HTML page into another HTML page

...Ou comment se débarasser des iframes en xhtml strict?


Aleksandar Vacić dans son post explique comment utiliser l'élément <object> pour inclure du html dans une autre page.

Voici le code :

6 septembre 2008

Regex Named group

En lisant la présentation de Bruce Williams, je tombe sur une fonctionnalité très intéressante des expressions régulières sous ruby 1.9, les named group.
En particulier "?<>" qui permet d'extraire des expressions sous forme de hash. exemple :
>> "His name is Joe".match(/name is (?\S+)/)[:name]
=> "Joe"
J'adore ça.

Fait étonnant, cette fonctionnalité est déjà présente dans la dernière version de JRuby : 1.1.4 (je n'ai pas tester les précédentes).

8 avril 2008

Installer le gem memcached sous freebsd

memcached est un plugin memcache de Evan Weaver qui a des benchmarks impressionants, en effet memcached est jusqu'à 150x plus rapide que memcache-client, et jusqu'à 15x plus rapide que caffeine. Il s'appuie sur la librairie libmemcached.

Installation de libmemcached

le plugin nécessite la version 0.16.
avec portdowngrade selectionner la version 0.16.
cd /usr/ports/databases/libmemcached/ && make install clean
si durant l'installation le port libmemcached-0.16.tar.gz est introuvable le télécharger ici et le placer dans le répertoire /usr/ports/distfiles, puis relancer l'installation

Installation du gem

gem install --no-ri --no-rdoc memcached -- --with-opt-include=/usr/local/include

6 avril 2008

Configuration de base d'un serveur freebsd

Services à proscrire

Ne surtout pas activer telnetd et ftpd.

Configuration du réseau

1. /etc/rc.conf
hostname="nom_de_la_machine"
ifconfig_ed0="inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx"
defaultrouter="xxx.xxx.xxx.xxx"

2. /etc/resolv.conf
domain mon_domaine
nameserver adresse.du.dns

Ports

1. /etc/make.conf
Fichier utilisé par make et important car les ports sont compilés avec cet outil pour la plupart d'entre eux. Ajouter la ligne suivante:
CFLAGS= -O -pipe

2. /usr/local/etc/pkgtools.conf
Fichier utilisé par portupgrade et autres portinstall. Compléter MAKE_ARGS de la façon suivante:
MAKE_ARGS = {
'java/jdk*' => 'WITHOUT_WEB=yes',
'editors/vim' => 'NO_GUI=yes',
}

3. recupération des ports
portsnap fetch && portsnap extract

Programmes de base

vim

cd /usr/ports/editors/vim && make install NO_GUI=yes clean

sudo

cd /usr/ports/security/sudo && make install clean
éditer le fichier /usr/local/etc/sudoers et ajouter la ligne:
%wheel ALL=(ALL) ALL
ici le groupe "wheel" aura le droit de faire des sudo

portupgrade

Installation:
cd /usr/ports/ports-mgmt/portupgrade; make install clean
Met à jour les applications installés via le système des ports (interactif et toutes les applications) :
portupgrade -Rria

pkg_cutleaves

Installation :
cd /usr/ports/ports-mgmt/pkg_cutleaves; make install clean

date et heure du serveur

On ne précise pas le drift, qui est par défaut dans /var/db/ntpd.drift et qu'il faut créer pour éviter les problèmes non évalués pour le moment avec un :
sudo touch /var/db/ntpd.drift
Le contenu de /etc/ntp.conf est le suivant :

# les trois pools français fournissant l'heure
server 0.fr.pool.ntp.org
server 1.fr.pool.ntp.org
server 2.fr.pool.ntp.org
# pour éviter que ce serveur soit également un serveur de temps
restrict default ignore

Dans le fichier /etc/rc.conf pour le rendre disponible au démarrage:
# Date
ntpdate_enable="YES"
ntpdate_program="/usr/sbin/ntpdate"
ntpdate_flags="-b"
ntpd_enable="YES"
ntpd_program="/usr/sbin/ntpd"

sécurisation

ttys

Mettre insecure à la place de tous les secure pour empêcher de se logguer en root (via telnet et cie)
En single-user, le password sera demandé parce que si console reste secure, le password n'est pas demandé.
vi /etc/ttys
:%s/secure/insecure/g

configuration de ssh

1. Activer dans le fichier de config /etc/rc.conf
sshd_enable="YES" 

2. Dans /etc/ssh/sshd_config, décommenter :
# interdiction du login root en ssh
PermitRootLogin no
# utile en cas de mis en place de jails
ListenAddress adresse.du.serveur 

3. Générer une clé publique et privée avec openssh du côté des machines clients se connectant au serveur FreeBSD :
ssh-keygen -t dsa (avec tous les choix par défaut).
Placer ensuite la clé publique (~/.ssh/id_dsa.pub) dans le fichier authorized_keys du répertoire .ssh de votre compte côté serveur.

firewall

1. à activer dans /etc/rc.conf via:
firewall_enable="YES"
firewall_logging="YES"
firewall_script="/etc/ipfw.rules"

2. Définir le verbose du logging dans /etc/sysctl.conf via:
net.inet.ip.fw.verbose_limit=5

3. Créer le fichier /etc/ipfw.rules avec les règles voulues

3 avril 2008

installation de mysql sous freebsd7

Installation du package

cd /usr/ports/databases/mysql51-server

make install BUILD_STATIC=yes BUILD_OPTIMIZED=yes WITH_CHARSET=utf8 WITH_COLLATION=utf8_general_ci clean

Possibilité d'ajouter l'option WITH_LINUXTHREADS=yes mais je ne sais pas si ça change quelque chose sur freebsd7 contenu des perfs de mysql

initialisation

  • initialisation de db: mysql_install_db

  • chown -R mysql /var/db/mysql/

  • chgrp -R mysql /var/db/mysql/

  • /usr/local/bin/mysqld_safe –user=mysql &

  • renseignement du password root : /usr/local/bin/mysqladmin -u root password 'newpassword'
editer /etc/rc.conf et ajouter:
mysql_enable="YES"
ajouter les règles suivantes au firewall pour mysql si vous souhaitez l'administer à distance
# Allow in/out MySQL

$cmd 00190 allow tcp from me to any 3306 out via $pif setup keep-state
$cmd 00191 allow tcp from any to me 3306 in via $pif setup keep-state


autorisé le root à distance (pas secure, seulement pour les configurations de test)
mysql -u root -p

GRANT ALL ON *.* TO root@'192.168.1.10' IDENTIFIED BY 'password';

installation ebb sous freebsd7

ebb est LE serveur web pour les applications ruby le plus rapide du moment.

installer glib2

cd /usr/ports/devel/glib20/ && make install clean

installer libev

cd /usr/ports/devel/libev/ && make install clean

installer le gem

installer ruby-gems si ce n'est pas déjà fait:
cd /usr/ports/devel/ruby-gems/ && make install clean

puis
gem install --no-ri --no-rdoc ebb

utiliser en suite ebb avec rails :
ebb_rails
ou avec merb :
merb -a ebb

15 mars 2008

fonzz.com

Un message uniquement pour dire à quel point je suis content d'avoir des retour bons et moins sur un service que nous (7theories) avons lancé.
C'est le cas pour fonZz qui a été le sujet de 3 posts cette semaine:
Et nous allons faire en sorte que ce ne soit que le début.