• Seedbox
  • [Discussion] Migration Lighttpd vers Nginx

Ajout de
# dépôt dotdeb php 5.4
deb http://packages.dotdeb.org squeeze-php54 all
deb-src http://packages.dotdeb.org squeeze-php54 all

# dépôt nginx
deb http://nginx.org/packages/debian/ squeeze nginx
deb-src http://nginx.org/packages/debian/ squeeze nginx
Modif de
touch /etc/nginx/conf.d/php
touch /etc/nginx/conf.d/php
En
touch /etc/nginx/conf.d/php
touch /etc/nginx/conf.d/cache
Ajout de la partie logrotate + https

EDIT:
Migration sur le kim de test sans trop de soucis.

Juste une petite frayeur à la fin, ça répondait pas parce que je tentais la connexion en https avec mon raccourci habituel et vu que le tuto de migration le prend pas encore en compte, j'ai mis quelque minutes à comprendre le problème

Même soucis qu'en local pour Firefox, faut forcer le vidage du cache sinon il y retrouve pas ses petits...

Rahhh c'est un peu flippant, le serveur était plein à 93% mais ça seed bien au reboot !

Le tuto a été remis au propre et dans le bon sens, j'ai scindé le sujet
Salut,

J'ai mis mes remarques qui peuvent concerner ton tuto aussi dans le post de MagicAlex

A ta dispo
2 mois plus tard
Salut,
Je viens de suivre l'ensemble du tuto pour migrer mais gros souci :
Lorsque je fais
service nginx restart
, j'ai ce message d'erreur :
[....] Restarting nginx: nginxnginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
nginx: [emerg] still could not bind()
 failed!
Quelqu'un peut-il m'aider car mon serveur ne répond plus (je peux toujours me connecter en ftp par contre) ? Ca me fait un peu peur...
Salut
Tu aurais pas eu un loupé à cette étape ? :
On désinstalle Lighttpd :
/etc/init.d/lighttpd stop
apt-get remove lighttpd --purge
Si ton port 443 est occupé, c’est peut-être que lighttpd est toujours là à l'écoute.
Ex.
Visiblement non :
bash: /etc/init.d/lighttpd: Aucun fichier ou dossier de ce type
root@****:/home/****# apt-get remove lighttpd --purge
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Le paquet « lighttpd » n'est pas installé, et ne peut donc être supprimé
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Tu pourrais poster ton fichier rutorrent.conf ?
Le voici (j'ai remplacé mon username par des ****) :
server {
    listen 80 default_server;
    listen 443 default_server ssl;
    server_name _;

    charset utf-8;
    index index.html index.php;
    client_max_body_size 10M;


    ssl_certificate /etc/nginx/ssl/server.crt;
    ssl_certificate_key /etc/nginx/ssl/server.key;

    access_log /var/log/nginx/rutorrent-access.log combined;
    error_log /var/log/nginx/rutorrent-error.log error;

    error_page 500 502 503 504 /50x.html;
    location = /50x.html { root /usr/share/nginx/html; }

    auth_basic "seedbox";
    auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd";

    location = /favicon.ico {
        access_log off;
        log_not_found off;
    }

    ## début config rutorrent ##

    location ^~ /rutorrent {
        root /var/www;
        include /etc/nginx/conf.d/php;
        include /etc/nginx/conf.d/cache;

        location ~ /\.svn {
                deny all;
        }

        location ~ /\.ht {
                deny all;
        }
    }

    location ^~ /rutorrent/conf/ {
        deny all;
    }

    location ^~ /rutorrent/share/ {
        deny all;
    }

    location /*****0 {
        include scgi_params;
        scgi_pass 127.0.0.1:5001; #ou socket : unix:/home/username/.session/username.socket

       auth_basic "Seedbox";
        auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd_*****";
    }

    ## fin config rutorrent ##

    ## Début config cakebox 2.8 ##

#    location ^~ /cakebox {
#       root /var/www/;
#       include /etc/nginx/conf.d/php;
#       include /etc/nginx/conf.d/cache;
#    }

#    location /cakebox/downloads {
#       root /var/www;
#       satisfy any;
#       allow all;
#    }

    ## fin config cakebox 2.8 ##

    ## début config seedbox manager ##

#    location ^~ / {
#       root /var/www/manager;
#       include /etc/nginx/conf.d/php;
#       include /etc/nginx/conf.d/cache;

#    }

#    location ^~ /conf/ {
#       root /var/www/manager;
#       deny all;
#    }

    ## fin config seedbox manager ##

}
C'est correct ça.
Je vois pas ce qui pourrait occuper le 443 comme ça.
Fais un :
lsof -i :443
Pour voir si y'a vraiment autre chose que nginx sur le 443. Parce que ton erreur sur google renvoi sur un bug de nginx apparemment.
T'as tenté le reboot ou pas ?
J'obtiens :
COMMAND  PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
sshd    2426 root    3u  IPv4 8952919      0t0  TCP *:https (LISTEN)
sshd    2426 root    4u  IPv6 8952921      0t0  TCP *:https (LISTEN)
Non je n'ai pas tenté le reboot, quelle est la commande pour le reboot déjà ?
Avec la même commande j'obtiens ça moi:
lsof -i :443
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   20841  root    9u  IPv4 328077      0t0  TCP *:https (LISTEN)
nginx   20842 nginx    9u  IPv4 328077      0t0  TCP *:https (LISTEN)
nginx   20844 nginx    9u  IPv4 328077      0t0  TCP *:https (LISTEN)
nginx   20845 nginx    9u  IPv4 328077      0t0  TCP *:https (LISTEN)
nginx   20846 nginx    9u  IPv4 328077      0t0  TCP *:https (LISTEN)
Pas vraiment pareil.

Pour un reboot, juste : reboot Perso je tenterais le coup, après....
Bon, ça avance, après un reboot rutorrent démarre mais j'ai ce message d'erreur :
[21.04.2014 14:01:16] WebUI started.
[21.04.2014 14:01:18] Bad response from server: (404 [error,list]) <html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
<!-- a padding to disable MSIE and Chrome friendly error page -->
[21.04.2014 14:01:18] FILE MANAGER ignited
C'est pas mal déjà ça (t'es le premier bug sur le tuto migration !)

Là faut chercher la boulette de frappe en cour d'édition. (faut que je me sauve moi, désolé de pas pouvoir t'en dire plus pour l'instant :-/ )
Ex.
Vite fait: jettes un œil sur tes logs ici:
Var/log/nginx/rutorrent-error.log
Ca va te donner une piste normalement
Ex.
Ca fonctionne. J'ai tout repris du tuto à partir de "Configuration de Logrotate pour Nginx (compression des logs)" et c'est bon, j'avais du louper une étape ou un truc n'avait pas fonctionné du fait de l'erreur nginx !

Merci beaucoup ex_rat !
Cool !
"Et un de plus sous nginx"

Des que j'ai le temps, je vais bricoler une annexe au tuto migration pour les 2 ou 3 motifs à faire sur le sécurité V2 => V3, c’est pas grand chose.
- Logwatch
-Fail2ban
- Script à la fin
Ex.
9 jours plus tard
La migration s'est effectuée sans aucun soucis.

Merci pour tous les tutos disponibles
11 jours plus tard
hello,

j'ai tenté la migration dans l'aprem, mais j'ai ce souci au lancement de rtorrent

2014/05/11 16:56:33 [crit] 3763#0: *67 connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: *.*.*.*, server: _, request: "GET /rutorrent/php/getplugins.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "*.*.*.*", referrer: "https://*.*.*.*/rutorrent/"
2014/05/11 16:56:40 [crit] 3763#0: *67 connect() to unix:/var/run/php5-fpm.sock failed (13: Permission denied) while connecting to upstream, client: *.*.*.*, server: _, request: "POST /rutorrent/php/getsettings.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "*.*.*.*", referrer: "https://*.*.*.*/rutorrent/"
[/s]

est-ce que quelqu'un sait d’où cela peut provenir ?

merciii

J'ai trouvé la solution en cherchant sur le forum
Merci pour le tuto
Salut
Ca ressemble à l'erreur suite à la mise à jour de dotdeb récente. Normalement le tuto migration a été mis à jour, ça devrait pas arriver à moins que j'ai loupé un truc
Regardes ici et contrôles tout ça déjà: http://mondedie.fr/d/5428
Ex.

edit: Je viens de vérifier le tuto migration et tout à l'air ok par rapport au bug dotdeb.
15 jours plus tard
Hello ex_rat,

As tu vu un changement côté serveur ? est il plus réactif ?

Tu peux me donner une raison de passer sur Nginx ?? (a part le côté full support du fofo et bien sur tous les nouveaux tutos xD )

Merci!
Salut Ex,

je te pose les même questions qu'Alexsuser afin d'en savoir un peu plus ainsi qu'au menbre qui ont fait la migration.

J'aurais voulu savoir si d'autres modifs sont a venir avant que je saute le pas ?

Merci.
Salut
nginx mange beaucoup moins de mémoires et à titre perso je trouve que c'est plus réactif dans l'ensemble.
Lighttpd est quasi à l'abandon depuis longtemps, plus de mise à jours, rien, donc il y a un moment où il faut passer à autre chose
Après, si vos box tournent sans soucis particulier, il n'y a pas d’impératif à basculer non plus, ça peut tout à fait être fait au moment d'un changement de serveur ou d'une box qui ne tourne plus vraiment rond.
Pour d'autre modif à venir, rien qui ne devrait tout chambouler sur le tuto à priori. donc à vous de voir si vous voulez jouer un peu ou pas
Voilà, c'est que mon avis !
Ex.
Merci Ex pour cette réponse Nginxienne. Et en effet la vitesse de réponse est extrêmement rapide

ps: sa faisait un petit moment que je n'étais pas passé et je viens de voir ton script d'install auto et sa c'est vraiment la classe bravo pour le taf
6 jours plus tard
@EX

Merci pour la réponse, j'avais pas vu....

Concernant Ligttpd, le site balance des majs mais ça n'ait pas dispo par Apt-get ou Aptitude...
Malgré le fait que ce sont des MAJ sécurité.. Bref rien de sérieux la dedans!

Je sens que je vais bientôt formaté pour me mettre à jour moi
5 jours plus tard
Bonjour.

Je viens de migrer sous nginx mais j'ai une erreur sur le dernier restart de nginx.
service nginx restart
[....] Restarting nginx: nginxnginx: [emerg] directive "scgi_pass" is not terminated by ";" in /etc/nginx/sites-enabled/rutorrent.conf:32
nginx: configuration file /etc/nginx/nginx.conf test failed
Je peut me connecter a rutorrent sans souci, les ancien torrent actif ne sont plus la et j'ai cette erreur.
[09.06.2014 16:18:49] WebUI started.
[09.06.2014 16:18:50] rss: Certaines fonctionnalités ne seront pas disponibles. Le serveur web ne peut pas accéder au(x) programme(s) externe(s). (curl).
[09.06.2014 16:18:51] Bad response from server: (404 [error,list]) <html> <head><title>404 Not Found</title></head> <body bgcolor="white"> <center><h1>404 Not Found</h1></center> <hr><center>nginx</center> </body> </html>
[09.06.2014 16:18:51] FILE MANAGER ignited
Merci par avance pour votre aide.
Salut dam
J'ai bien eu ton mp, mais je viens juste de rentrer... T'as vu que dans le message d'erreur tu as oublié un " ; " dans ton rutorrent.conf ?
Ex.
Salut Ex.
Merci pour ton retour mais je ne voit pas sur la ligne 32 l'oubli du ";" ?

Par contre dans dans mon rtorrent.rc je n'avais pas la ligne
scgi_port = 127.0.0.1:500{x}
du coup je l'ai ajouté en mentionnant le meme port dans config.php.

Du coup toujours rien avec ces erreur dans mon rutorrrent.
[11.06.2014 18:47:57] WebUI started.
[11.06.2014 18:47:58] rss: Certaines fonctionnalités ne seront pas disponibles. Le serveur web ne peut pas accéder au(x) programme(s) externe(s). (curl).
[11.06.2014 18:47:59] FILE MANAGER ignited
[11.06.2014 18:48:04] Bad response from server: (502 [error,list]) <!DOCTYPE html> <html> <head> <title>Error</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>An error occurred.</h1> <p>Sorry, the page you are looking for is currently unavailable.<br/> Please try again later.</p> <p>If you are the system administrator of this resource then you should check the <a href="http://nginx.org/r/error_log">error log</a> for details.</p> <p><em>Faithfully yours, nginx.</em></p> </body> </html>
[11.06.2014 18:48:04] Bad response from server: (502 [error,list]) <!DOCTYPE html> <html> <head> <title>Error</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>An error occurred.</h1> <p>Sorry, the page you are looking for is currently unavailable.<br/> Please try again later.</p> <p>If you are the system administrator of this resource then you should check the <a href="http://nginx.org/r/error_log">error log</a> for details.</p> <p><em>Faithfully yours, nginx.</em></p> </body> </html>
[11.06.2014 18:48:04] Bad response from server: (502 [error,list]) <!DOCTYPE html> <html> <head> <title>Error</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>An error occurred.</h1> <p>Sorry, the page you are looking for is currently unavailable.<br/> Please try again later.</p> <p>If you are the system administrator of this resource then you should check the <a href="http://nginx.org/r/error_log">error log</a> for details.</p> <p><em>Faithfully yours, nginx.</em></p> </body> </html>
Et en essayant d'ajouter un torrent rien ne se passe, mais il s'affiche bien dans le journal.

Merci pour ton aide.😉

edit: j'ajoute que j'ai un souci avec chrome, je suis obligé de rettaper deux fois mon mot de passe et toujours un problème avec le certificat ssl.
Salut
Une erreur 502, je crois que ça parle de php normalement.
Vas regarder dans tes fichiers error.log pour avoir une piste déjà et postes ici ce qui te parle le plus en masquant les ip
Ex.
Donc en gros j'ai sa
2014/06/11 08:55:26 [error] 25252#0: *216 user "admin" was not found in "/etc/nginx/passwd/rutorrent_passwd", client: 68.226.*.*, server: _, request: "GET /HNAP1/ HTTP/1.1", host: "******.192", referrer: "http://********.200/"
2014/06/11 18:48:31 [error] 25252#0: *247 FastCGI sent in stderr: "PHP message: PHP Warning:  getdate(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_t$
PHP message: PHP Warning:  mktime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and yo$
PHP message: PHP Warning:  getdate(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and y$
PHP message: PHP Warning:  mktime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and yo$
PHP message: PHP Warning:  strftime(): It is not safe to rely on the system's timezone settings. You are *requ
2014/06/11 18:48:31 [error] 25252#0: *247 FastCGI sent in stderr: "PHP message: PHP Warning:  strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_$
2014/06/11 18:48:31 [error] 25252#0: *251 FastCGI sent in stderr: "PHP message: PHP Warning:  strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_$
2014/06/11 18:48:31 [error] 25252#0: *250 FastCGI sent in stderr: "PHP message: PHP Warning:  strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_$
2014/06/11 18:48:32 [error] 25252#0: *233 FastCGI sent in stderr: "PHP message: PHP Warning:  strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_$
2014/06/11 18:48:32 [error] 25252#0: *247 FastCGI sent in stderr: "PHP message: PHP Warning:  strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_$
2014/06/11 18:48:32 [error] 25252#0: *233 FastCGI sent in stderr: "PHP message: PHP Warning:  strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_$
2014/06/11 18:48:32 [error] 25252#0: *248 FastCGI sent in stderr: "PHP message: PHP Warning:  strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_$
2014/06/11 18:48:32 [error] 25252#0: *248 FastCGI sent in stderr: "PHP message: PHP Warning:  strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_$
2014/06/11 18:48:32 [error] 25252#0: *250 FastCGI sent in stderr: "PHP message: PHP Warning:  strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_$
2014/06/11 18:48:32 [error] 25252#0: *250 FastCGI sent in stderr: "PHP message: PHP Warning:  strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_$
2014/06/11 18:48:37 [error] 25252#0: *251 connect() failed (111: Connection refused) while connecting to upstream, client: *****232.71, server: _, request: "POST /TOMAS0 HTTP/1.1", upstream: "scgi://127.0.0.1:5001", host: "*******.$
2014/06/11 18:48:37 [error] 25252#0: *248 connect() failed (111: Connection refused) while connecting to upstream, client: *****232.71, server: _, request: "POST /TOMAS0 HTTP/1.1", upstream: "scgi://127.0.0.1:5001", host: "*******.$
2014/06/11 18:48:37 [error] 25252#0: *250 connect() failed (111: Connection refused) while connecting to upstream, client: *****232.71, server: _, request: "POST /TOMAS0 HTTP/1.1", upstream: "scgi://127.0.0.1:5001", host: "*******.$
2014/06/11 18:48:42 [error] 25252#0: *250 FastCGI sent in stderr: "PHP message: PHP Warning:  strftime(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_$
.........
Ce post serait utile ? http://mondedie.fr/d/5413
Vérifie un truc dans:
nano /etc/php5/fpm/php.ini
regarde si tu as bien mofifié et retirer le " # "
pour ça:
date.timezone = Europe/Paris
Si tu fais une modif, tu restarts php:
service php5-fpm restart
edit:
Et refais la procédure de mot passe pour ton user: http://mondedie.fr/d/5312
Oui la modif date timezone a bien étais effectué et de commenté la ligne.

J'ai refais la procédure du mot de passe et toujours le double passage de la boite de dialogue utilisateur/mdp.
Du coup j'ai redémarré mon rtorrent et du coup j'ai perdu la moitié de rutorrent avec cette erreur
[11.06.2014 21:12:40] WebUI started.
[11.06.2014 21:12:41] Lien incorrect avec rTorrent. Vérifier qu'il est bien en cours d'exécution. Vérifier la configuration de $scgi_port et de $scgi_host dans config.php et scgi_port dans le fichier de configuration de rTorrent.
Je viens de remarqué la faute, nginx pas ngnix
Bonsoir.

Bon j'ai refais le tour de tous mes fichiers de config et je n'ai pas trouver d'erreur sauf dans mon fichier rtorrent .rc, enfaite en copiant les nouvelles lignes je ne me suis pas méfier et
je n'avais pas supprimer les anciennes lignes . Du coup tous en double sa fonctionne moins bien.
Par contre j'ai toujours l'erreur d’être obligé de tapé deux fois mon mot de passe, que se soit sous chrome ou firefox avec toujours le problème de l'erreur ssl.

Merci.
18 jours plus tard
Merci pour le tuto, Nginx est bien plus réactif que lighttpd...

Cependant j'ai le problème de la double authentification pour accéder à Rutorrent.
J'ai bien changé le pass puis recommencer avec ce tuto : mondedie.fr/d/5312 mais rien n'y fait.

C'est lié à Nginx ?
Une petite idée ?

EDIT: j'ai même cette demande pour la racine du serveur : http://xx.xx.xx.xx/ -> sinon j'ai 401 NGINX...
Tu devrais poster ton fichier rutorrent.conf ici pour qu'on voit si il n'y a pas un soucis dedans (masque ton ip).
Ex.
Yop,

NB : j'ai pas modifié le fichier... je n'ai pas d'IP dedans...
server {
    listen 80 default_server;
    listen 443 default_server ssl;
    server_name _;

    charset utf-8;
    index index.html index.php;
    client_max_body_size 10M;


    ssl_certificate /etc/nginx/ssl/server.crt;
    ssl_certificate_key /etc/nginx/ssl/server.key;

    access_log /var/log/nginx/rutorrent-access.log combined;
    error_log /var/log/nginx/rutorrent-error.log error;

    error_page 500 502 503 504 /50x.html;
    location = /50x.html { root /usr/share/nginx/html; }

    auth_basic "seedbox";
    auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd";

    location = /favicon.ico {
        access_log off;
        log_not_found off;
    }

    ## début config rutorrent ##

 location /ALEXIS0 {
        include scgi_params;
        scgi_pass 127.0.0.1:5001;
        auth_basic "Seedbox";
        auth_basic_user_file "/etc/nginx/passwd/rutorrent_passwd_alexis";
    }

    location ^~ /rutorrent {
        root /var/www;
        include /etc/nginx/conf.d/php;
        include /etc/nginx/conf.d/cache;

        location ~ /\.svn {
                deny all;
        }

        location ~ /\.ht {
                deny all;
        }
    }

    location ^~ /rutorrent/conf/ {
        deny all;
    }

    location ^~ /rutorrent/share/ {
        deny all;
    }

    ## fin config rutorrent ##

}
Salut, ton fichier me parait correct, je sais pas d'ou ça peut venir.
par contre par défaut, il n'y a pas d'accueil avec nginx à la racine (comme le www de lighttpd) donc c'est normal d'avoir une erreur,
faut ajouter de la conf pour que ça réponde présent (y'a ça sur le forum un peu partout).
Ex.