• JCF
    JCF
    2014-09-04

    Hello,

    Augier m'a parlé de ta passion pour #Django. :)

    Pour ma part, mon site (un album photo privé) est presque finalisé mais il faut que j'arrive à faire en sorte que mon #NAS (#synology #DS213j) puisse faire tourner Django dessus ... car actuellement ce n'est pas possible, le serveur apache présent dessus ne dispose que d'une dizaine de modules.... et bien entendu il n'y a pas le #mod_wsgi.

    Donc comme je l'avais dit dans un autre post, soit je recompile le tout (pas gagné), soit j'installe des choses via #IPKG (pas stable)... mais npze m'a remis en tête l'idée de faire un environnement virtuel...

    Donc je dois faire un environnement "#chroot" avec une #Debian qui tournera en parallèle de l'OS de synology.

    Sur cet environnement il y aura un serveur web complet (#apache ou #ngnix je me tâte encore) et le reste ira tout seul.

    Pour la partie #admin, j'ai laissé l'admin Django qui me suffit, j'ai juste fait en sorte que mon model puisse gérer convenablement les relations entre les divers objets de manière à pouvoir les gérer dans l'admin au besoin.

    0
  • Franck
    Franck
    2014-09-04

    Oui l'admin #django se suffit presque à elle même, c'est vrai 😁
    Après installer #django sur son propre serveur j'ai évité car cela semble un pool prise de tête surtout que je te lis cela le confirme :p
    Perso pour tester une installation je suis allé chez alwaysdata (je concentré mes effort pour bien piger le framework avant tout)

    0
  • JCF
    JCF
    2014-09-04

    Nan mais le problème c'est que chez Syno ils ont pris le parti de mettre le minimum vital sur leur serveur apache. mais ce n'est pas ultra complexe de faire un environnement chroot. Il y a des tas de tutos pour ça (voir par exemple le site de pelleatarte en gros, l'install est assez simple car tous les scripts sont donnés et expliqués ... la seule subtilité est de stopper le serveur apache de syno pour faire tourner celui de la débian à la place en lui indiquant où se trouve le repertoire web. ou alors faire tourner les deux en parallèle sur deux ports différents. Rien de bien méchant.

    L'install et conf se fait en une soirée, j'avais déjà testé.

    0
  • JCF
    JCF
    2014-09-05

    Voilà, Debian Wheezey Chroot est installé sur mon NAS.
    Reste à configurer les ports et fichiers de conf pour que tout tourne comme il faut. :)

    0
  • Franck
    Franck
    2014-09-05

    Une fois en prod tu pourras donner le lien de ton site ?

    0
  • JCF
    JCF
    2014-09-05

    il tourne actuellement, avec le serveur apache du syno http://tea-tux.fr

    0
  • JCF
    JCF
    2014-09-05

    Donc Django ne tourne pas encore.

    0
  • JCF
    JCF
    2014-09-13

    J'ai une question :
    Actuellement fais tu tourner ton projet Django sur apache ou via le serveur web de l'appli ($ python manage.py runserver 8080) ?

    J'ai un peu de mal à le faire fonctionner avec Apache :

    • Le mod-wsgi est bien en place
    • Le répertoire /media/web remplace /var/www, j'ai fait les modifs qui s'imposent dans /etc/apache2/site-enabled/default et ça fonctionnait (visualiation d'un phpinfo() OK) jusqu'à l'étape suivante
    • j'ai suivi la conf

    A la fin de mon fichier /etc/apache2/apache.conf (suis sous Debian et c'est ce qui remplace httpd.conf)

    WSGIScriptAlias / /media/web/nicephore/nicephore/wsgi.py
    WSGIPythonPath /media/web/nicephore

    Allow from all

    -> redémarrage d'apache et là c'est le drame : j'ai une erreur 500 à cause de ce qui est dans le apache.conf

    Si tu peux m'aider je t'en serai reconnaissant :-)

    0
  • JCF
    JCF
    2014-09-13

    Ca marche, j'avais oublié
    Order deny,allow
    (en passant il y a des lignes qui ont disparues de mon post précédent)

    0
  • JCF
    JCF
    2014-09-13

    Bon maintenant, c'est un souci de chemin pour le JS et CSS .... alors qu'avec $ python manage.py runserver 8080 j'ai pas de soucis

    0
  • Franck
    Franck
    2014-09-13

    Hello désolé je suis un peu cassé en ce moment. Ton soucis de chemin est curieux. Normalement ton projet pointe sur la même racine. Tu récupères le path root de ton projet dans le settings ?

    0
  • JCF
    JCF
    2014-09-13

    t'en fais pas je comprends :)

    normalement oui. Si tu veux j'ai mis les infos ici

    0
  • JCF
    JCF
    2014-09-13

    le coup de l'erreur 500 est corrigé, c'était un petit oublie dans la conf apache

    maintenant j'ai un autre pb ... les fichiers statics (css et js) qui ne sont pas retrouvés par le serveur alors que le chemin est correct (et que ça fonctionne parfaitement sur mon portable avec le runserveur

    0
  • Franck
    Franck
    2014-09-14

    Si ça fonctionne avec runserver c'est que c'est encore ton fichier de conf. Perso je fais que du runserver actuellement car je DEV. Mais en prod je suis chez allawaysdata fastcgi et je n'ai pas ce soucis :)

    0
  • JCF
    JCF
    2014-09-14

    tu as moyen de me dire ce qui est dans ton fichier de conf de prod ?

    0
  • JCF
    JCF
    2014-09-14

    CA MAAAARCHE cri gutural RAAAAAAAHHHH LOVELYYYYYY

    En fait en effet je m'étais gourré dans un des alias du fichier de conf :

    j'avais mis :
    Alias /static/ /media/web/nicephore/public/

    Au lieu de
    Alias /public/ /media/web/nicephore/public/

    Donc pour appeler /public/albums/css/style.css ça ne pouvait pas fonctionner.

    0
  • JCF
    JCF
    2014-09-15

    Bon maintenant j'ai un souci de droits :

    OSError at /albums/save/

    [Errno 13] Permission denied: 'public'

    Request Method: POST
    Request URL: http://tea-tux.fr:8080/albums/save/
    Django Version: 1.7
    Exception Type: OSError
    Exception Value:

    [Errno 13] Permission denied: 'public'

    Exception Location: /usr/lib/python2.7/os.py in makedirs, line 157
    Python Executable: /usr/bin/python
    Python Version: 2.7.3
    Python Path:

    ['/media/web/nicephore',
    '/usr/local/lib/python2.7/site-packages',
    '/usr/lib/python2.7',
    '/usr/lib/python2.7/plat-linux2',
    '/usr/lib/python2.7/lib-tk',
    '/usr/lib/python2.7/lib-old',
    '/usr/lib/python2.7/lib-dynload',
    '/usr/local/lib/python2.7/dist-packages',
    '/usr/local/lib/python2.7/dist-packages/PIL',
    '/usr/lib/python2.7/dist-packages']

    Server time: dim, 14 Sep 2014 23:16:30 +0200

    Ce que je ne pige pas car pour le répertoire /media/web/nicephore/ j'ai ces droits de manière récursive :

    drwxrw-r-- 6 www-data www-data 4096 Sep 14 23:25 nicephore

    C'est comme s'il ne ciblait pas le bon répertoire ou qu'il tentait de recréer le répertoire public ailleurs que dans la structure du site.

    0