Ajaxterm : un terminal dans votre navigateur web
Vous êtes en vacances, il fait beau, vous sirotez un cocktail à côté de votre moitié. Et là, une envie folle de coder et de faire un apt-get vous saisit. Vous vous levez, traversez la place du marché et vous rendez dans le cybercafé du coin. Vous demandez gentiment au taulier s'il reste un ordinateur de libre. Il regarde vos mains toutes tremblantes et comprend que vous êtes en manque. Vous vous installez et lancez le navigateur internet et enfin vous saisissez l'adresse de votre serveur. Voilà vous êtes arrivés sur votre ordinateur. Vous êtes apaisé, serein, détendu
Passons maintenant du rêve à la réalité.
Dans un premier temps, nous allons installer le paquet ajaxterm :
# apt-get install ajaxterm
Dans le répertoire d'apache, nous créons un répertoire ssl qui va contenir le fichier contenant le certificat et la clé RSA.
# mkdir /etc/apache/ssl
Nous allons créer le certificat et la clé RSA dans un fichier au format .PEM (format ascii). Pour cela, vous devez avoir installé les paquets open-ssl et ca-certificates.
# openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.pem
Que signifient les options passées en paramètre :
req : Gestion des demande de chiffrement de certificats X.509 (CSR)
-new : création d'un nouveau certificat
-x509 : la protocole x509 permet l'authenficiation sur un réseau.
-days : durée de la vlidité du certficat en jour (donc ici 1 an).
-out : fichier contenant le certificat
-keyout : fichier contenant la clé RSA.
On va maintenant créer un nouveau site en créant le fichier ajaxterm-ssl dans /etc/apache2/sites-available/ :
# vi /etc/apache2/sites-available/ajaxterm-ssl
NameVirtualHost *:443
<VirtualHost *:443>
ServerName localhost
SSLEngine On
SSLCertificateKeyFile ssl/apache.pem
SSLCertificateFile ssl/apache.pem
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /ajaxterm/ http://localhost:8022/
ProxyPassReverse /ajaxterm/ http://localhost:8022/
</VirtualHost>
On autorise le site maintenant :
# cd /etc/apache2/sites-enabled/
# ln -s ../sites-available/ajaxterm-ssl
# ls -ltr
total 0
lrwxrwxrwx 1 root root 26 jan 24 18:47 000-default -> ../sites-available/default
lrwxrwxrwx 1 root root 31 fév 6 00:40 ajaxterm-ssl -> ../sites-available/ajaxterm-ssl
On va maintenant activer les différents modules dans apache : ssl, proxy et proxy_http. Cela se fait via la commande a2nmod.
# a2enmod ssl
# a2enmod proxy
# a2enmod proxy_http
On peut vérifier que les modules ont bien été pris en compte :
# ls -ltr /etc/apache2/mods-enabled | tail - 5
lrwxrwxrwx 1 root root 26 fév 6 00:29 ssl.load -> ../mods-available/ssl.load
lrwxrwxrwx 1 root root 26 fév 6 00:29 ssl.conf -> ../mods-available/ssl.conf
lrwxrwxrwx 1 root root 28 fév 6 00:41 proxy.load -> ../mods-available/proxy.load
lrwxrwxrwx 1 root root 28 fév 6 00:41 proxy.conf -> ../mods-available/proxy.conf
lrwxrwxrwx 1 root root 33 fév 6 00:41 proxy_http.load -> ../mods-available/proxy_http.load
Il faut maintenant redémarrer apache pour la pirse en compte des nouveaux modules :
# /etc/init.d/apache2 restart
Et voila, vous pouvez accéder à votre serveur via l'url https://[mon serveur]/ajaxterm/
Pour plus d'informations :
http://antony.lesuisse.org/software/ajaxterm/
le numéro 110 de GLMF