Aller au contenu

PackElend

Membres
  • Compteur de contenus

    12
  • Inscription

  • Dernière visite

Messages posté(e)s par PackElend

  1. Bonjour,
    J'essaie de réaliser des serveurs derrière un proxy de NGINX sur DMS 6.2, qui communique avec le proxy via un socket UNIX.
    J'ai trouvé quelques endroits pour la configuration PHP, peut-être que cela aidera quelqu'un d'autre.

     

    php (php5 is used by phpMyAdmin)
     /etc/php
       php.ini    (extension_dir = "/usr/lib/php/modules" & sendmail_path = /usr/bin/ssmtp -t)


     /etc.defaults/php
       php.ini   
    (extension_dir = "/usr/lib/php/modules" & sendmail_path = /usr/bin/ssmtp -t)

     /etc/init       syslink2   /usr/share/init    (pre-start script) 
       php_timezone_update.conf

       pkgctl-PHP5.6.conf
       pkgctl-PHP7.0.conf
       pkg-php56-fpm.conf
       pkg-php70-fpm.conf
      
     
       pkg-WebStation-php56.conf
       pkg-WebStation-php70.conf

       ...

     /lib  
    syslink2   /usr/lib  

     /run/php-fpm
       php*-fpm*


     /usr/lib/php
       /usr/lib/php/modules     (same moduls as listed in /etc/php/php.ini)
       /usr/lib/php/phpmailer
       /usr/lib/php/phpoffice

     /usr/local/bin
       /usr/local/bin/feasibilitycheck
       ...
       php70-cgi
      syslink2  /var/packages/PHP7.0/target/usr/local/bin/php70-cgi
          php70-fpm  syslink2  /var/packages/PHP7.0/target/usr/local/bin/php70-fpm
       ...

     /usr/local/etc

       /usr/local/etc/php56
         /usr/local/etc/php56/conf.d
         /usr/local/etc/php56/fpm.d
         /usr/local/etc/php56/freetds
         php.ini
         php-fpm.conf
      syslink2  /volume1/@appstore/PHP5.6//usr/local/etc/php56/php-fpm.conf 
       /usr/local/etc/php70

         /usr/local/etc/php70/conf.d
         /usr/local/etc/
    php70/fpm.d
         /usr/local/etc/
    php70/freetds  syslink2  /volume1/@appstore/PHP7.0//usr/local/etc/php70/freetds
         php.ini
         php-fpm.conf
      syslink2  /volume1/@appstore/PHP7.0//usr/local/etc/php70/php-fpm.conf 

     
    /usr/local/lib
        /usr/local/lib/php56

        /usr/local/lib/php56/modules   emtpy
        /usr/local/lib/php70
      
        /usr/local/lib/php70/modules   emtpy

     /var/packages

       /var/packages/PHP5.6
         /var/packages/PHP5.6/conf
         /var/packages/PHP5.6/etc 
        syslink2   /usr/syno/etc/packages/PHP5.6
         /var/packages/PHP5.6/scripts
         /var/packages/PHP5.6/target 
    syslink2   /volume1/@appstore/PHP5.6
       /var/packages/PHP7.0
         /var/packages/PHP7.0/conf
         /var/packages/PHP
    7.0/etc     syslink2   /usr/syno/etc/packages/PHP7.0
         /var/packages/PHP
    7.0/scripts
         /var/packages/PHP
    7.0/target  syslink2   /volume1/@appstore/PHP7.0


    php managed by WebStation (Synology's web site hosting package)
     /var/packages/WebStation/target/misc
       /var/packages/WebStation/target/misc/WebStation-php56
         /var/packages/WebStation/target/misc/WebStation-php56/conf.d
         extension.ini

       /var/packages/WebStation/target/misc/WebStation-php56
         /var/packages/WebStation/target/misc/WebStation-php56/conf.d
         extension.ini
       ...
       php56.ini
       php56_fpm.conf
       php70.ini

       php70_fpm.conf
       ...

     

     

  2. Bonjour,
    J'essaie de réaliser des serveurs derrière un proxy de NGINX sur DMS 6.2, qui communique avec le proxy via un socket UNIX.
    J'ai trouvé quelques endroits pour la configuration NGINX , peut-être que cela aidera quelqu'un d'autre.

     

    nginx
     /etc/nginx
       /etc/nginx/app.d           syslink2   /var/tmp/nginx/app.d
       /etc/nginx/conf.d          syslink2   /etc/nginx/conf.d
       /etc/nginx/sites-enabled   syslink2   /etc/nginx/sites-enabled
       nginx.conf    generated by nginx-conf-generator.sh
       ... 


     /etc.defaults/nginx

     /etc/init
          syslink2   /usr/share/init     (pre-start script)
       nginx.conf  

     /usr/local/etc/nginx
       /usr/local/etc/nginx/conf.d     emtpy
       /usr/local/etc/nginx/sites-enable
    d     emtpy 

     /usr/share/nginx
       /usr/share/nginx/html
       50x.html
       index.html

     
     /usr/syno/etc/rc.sysv   

       nginx-conf-generator.sh 

     /usr/syno/share/nginx
       /usr/syno/share/nginx/conf.d
         location configs
       *.mustache files properly used by
    nginx-conf-generator.sh

    /var/lib/nginx
       syslink2   /var/services/tmp/nginx

    /var/tmp/nginx
       /var/tmp/nginx/app
       /var/tmp/nginx/app.d
       /var/tmp/nginx/conf.d
         emtpy 
       /var/tmp/nginx/trusted_proxy



    NGINX managed by WebStation (Synology's web site hosting package)
     /var/packages/WebStation/target/misc

       ...

  3. Il y a 3 heures, pluton212+ a dit :

    le sens c'est / pas \

    modifé

    mais je ne compris pas:
     

    Citation

     

    #!/bin/bash
    # Copyright (c) 2000-2016 Synology Inc. All rights reserved.

    SZD_MUSTACHE="/usr/syno/share/nginx"
    SZF_NGINX_MUSTACHE="$SZD_MUSTACHE/nginx.mustache"
    SZF_AVAHI_MUSTACHE="$SZD_MUSTACHE/avahi.mustache"
    SZD_TMP_NGINX="/var/tmp/nginx"
    SZD_TMP_APP_D="$SZD_TMP_NGINX/app.d"
    SZD_TMP_CONF_D="$SZD_TMP_NGINX/conf.d"
    SZF_TMP_NGINX_CONF="$SZD_TMP_NGINX/nginx.conf"
    SZF_RP_DATASTORE="$SZD_TMP_NGINX/ReverseProxy.tmp"
    SZF_AVAHI_CONF="/etc/avahi/services/dsminfo.service"

    GenerateConf()
    {
        local mustache="$1"
        local json="$2"
        local conf="$3"
        /usr/syno/bin/synomustache "$mustache" $json -o "$conf"
    }

    /bin/rm -rf $SZD_TMP_APP_D $SZD_TMP_CONF_D
    /bin/mkdir -p $SZD_TMP_APP_D $SZD_TMP_CONF_D
    /usr/bin/touch $SZD_TMP_CONF_D/{{main,events}.conf,mime.types,scgi_params}
    /usr/syno/bin/synow3 --gen
    tmp=$(/bin/ls $SZD_TMP_NGINX/*.tmp)
    GenerateConf "$SZF_NGINX_MUSTACHE" "$tmp" "$SZF_TMP_NGINX_CONF" || true

    if [ -s "$SZF_RP_DATASTORE" ]; then
        GenerateConf "$SZD_MUSTACHE/Portal.mustache" "$SZF_RP_DATASTORE" "$SZD_TMP_APP_D/server.ReverseProxy.conf" || true
    fi

    if [ -s "$SZD_TMP_NGINX/DSM.tmp" ]; then
        GenerateConf "$SZF_AVAHI_MUSTACHE" "$SZD_TMP_NGINX/DSM.tmp" "$SZF_AVAHI_CONF" || true
    fi
    applist=$(/bin/ls /usr/syno/etc/www/app.d/*.mustache) || true
    for var in $applist
    do
        var=$(/usr/bin/basename "$var" | /bin/sed 's/.mustache//')
        tmpJson="$SZD_TMP_NGINX/app/$var.tmp"
        appMustache="/usr/syno/etc/www/app.d/$var.mustache"
        confTail="$var.conf"

        if [ -s "$appMustache" ] && [ -s "$tmpJson" ]; then
            # dsm included in 5000, www included in 80
            if [ "$(/bin/jq .injectable "$tmpJson")" = "true" ]; then
                GenerateConf "$appMustache" "" "$SZD_TMP_APP_D/www.$confTail" || true
            else
                GenerateConf "$appMustache" "" "$SZD_TMP_APP_D/dsm.$confTail" || true
            fi
            # alias
            if [ "$(jq .alias "$tmpJson")" != "null" ]; then
                GenerateConf "$appMustache" "$tmpJson" "$SZD_TMP_APP_D/.alias.$confTail" || true
                GenerateConf "$SZD_MUSTACHE/Alias_v2.mustache" "$tmpJson {"include":".alias.$confTail"}" "$SZD_TMP_APP_D/alias.$confTail" || true
            fi
            # server
            if [ "$(jq .fqdn "$tmpJson")" != "null" ] || [ "$(jq .alternativePort "$tmpJson")" != "null" ]; then
                GenerateConf "$appMustache" "$tmpJson {"server":true,"alias":null}" "$SZD_TMP_APP_D/.server.$confTail" || true
                GenerateConf "$SZD_MUSTACHE/server.mustache" "$tmpJson $SZD_TMP_NGINX/SSLProfile.tmp $SZD_TMP_NGINX/DSM.tmp {"include":".server.$confTail"}" "$SZD_TMP_APP_D/server.$confTail" || true
            fi
        fi
    done

    filelist=$(/bin/ls /etc.defaults/nginx/*) || true
    for f in $filelist
    do
        if [ -f "$f" ]; then
            cp "$f" "$SZD_TMP_NGINX/."
        fi
    done

     

     

     

  4. Bonjour, tout le monde,
    Je suis venu un peu plus loin et on peut résoudre cela probablement assez élégamment avec le nginx comme proxyserver. Les serveurs web respectifs communiquent ensuite via des UNIX Sockets.  Cela signifie que la gestion des droits s'exécute via les droits utilisateur du système de fichiers..
    e me demande juste comment je peux atteindre les serveurs web dans le LAN.
    Vous devez également considérer le configurateur Nginx:

    \usr\syno\etc.defaults\rc.sysv\nginx-conf-generator.sh

    main proxy file

    server {
        listen 80;
        listen [::]:80;
        listen 443 ssl;
        listen [::]:443 ssl;
        #include letsencrypt.conf;
        server_app1 app1subdomain.domain.eu;
        include app1location.conf
           }
    
    server {
        listen 80;
        listen [::]:80;
        listen 443 ssl;
        listen [::]:443 ssl;
        #include letsencrypt.conf;
        server_app2 app2subdomain.domain.eu;
        include app1location.conf
           }
    

    app1location.conf (location file for proxied web server)

    location / {            
        proxy_pass http://unix:/home/app1/app1.com.unix_socket;
        proxy_set_header X-Real-IP $remote_addr; #Authorization
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
        proxy_http_version 1.1;
        proxy_set_header Connection "";
        proxy_buffering off;
        client_max_body_size 0;
        proxy_read_timeout 36000s;
        proxy_redirect off;
               }
    

    app2location.conf (location file for proxied web server)

       location / {            
            proxy_pass http://unix:/home/app2/app2.com.unix_socket;
            proxy_set_header X-Real-IP $remote_addr; #Authorization
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    
            proxy_http_version 1.1;
            proxy_set_header Connection "";
            proxy_buffering off;
            client_max_body_size 0;
            proxy_read_timeout 36000s;
            proxy_redirect off;
                   }
    

     

  5. Le 29/08/2018 à 19:08, PackElend a dit :

    Je veux exécuter plusieurs instances de serveur web. Chaque instance avec son propre utilisateur

    un explication pourquoi, je veux fait ça:

    1. Exécuter serveur web en tant qu'utilisateur non root limite l'empreinte de vulnérabilité d'un site web compromis.
      Changer l'utilisateur serveur web s'exécute comme vous permettra d'accorder et de contrôler l'accès à d'autres ressources en fonction du compte utilisateur sous lequel serveur web s'exécute. Disons qu'il y a un utilisateur pour accéder à tous les dossiers de photos, un utilisateur accédant à tous les dossiers de documents et ainsi de suite. Pour chaque utilisateur, il s'agit d'une seule instance serveur web , servant par exemple de la musique, des documents, etc.

    2. Exécuter une seule instance, et avoir toujours différents hôtes virtuels qui peuvent être accédés séparément, parfois en suivant ce chemin facile peut vous conduire à un serveur web lourd et gonflé.
      Si serveurs virtuels ont des exigences différentes (par exemple mod_perl pour un hôte virtuel, mod_python pour un autre, et peut-être mod_php pour un troisième hôte virtuel), alors votre instance apache est presque certainement un mangeur de RAM. Rappelez-vous qu'il va générer instantanément de nouveaux processus enfants de la même instance que nécessaire.... si votre application web perl est fréquemment accédée, pourquoi générer plusieurs instances d'un processus httpd qui est également chargé avec mod_python, mod_php et un assortiment d'autres modules qui, au moins du point de vue de l'application web perl, sont inutiles ?


       

  6.  

    Il y a 13 heures, InfoYANN a dit :

    Si tel est le cas alors c'est @suividupseudo

    pour quelque raison que ce soit, ce n'est pas marche avec ma Firefox. J'ai désactivé tous les bloqueurs.  Maintenant c'est marche avec ma Chrome, pour tout ce...

    @: charges et charges et charges
    image.png.63b6e8f31c23fef736617739bf509fa0.png

    créer un lien:
    image.png.63b6e8f31c23fef736617739bf509fa0.pngimage.png.99b9c4b2beee7c341bda7ecb5fe87bbf.png

  7. Le 27/08/2018 à 13:22, InfoYANN a dit :

    Les nouveaux membres sont invités à se présenter dans la section adéquate

    fait

     

    Le 27/08/2018 à 21:29, InfoYANN a dit :

    Du faite qu'il a pas la possibilité d'installer Docker sur son NAS

    pas possible sur DS211

    Le 27/08/2018 à 21:20, InfoYANN a dit :

    En effet, le DS211+ n'est pas compatible Docker. Autant pour moi 😢

    😭

     

    Le 28/08/2018 à 06:21, pluton212+ a dit :

    Dans le premier bloc, il  l'intention d'installer des logiciels "non syno" sur le syno.

    oui, nextcloud , firfly III piwigo ou PicApport), NextNote ou Paperwork etc. et peut-être wallabag.

     

    Le 28/08/2018 à 09:31, PiwiLAbruti a dit :

    De mon point de vue, il est plus important de sécuriser les base de données utilisées que le serveur web lui-même. On voit trop souvent des utilisateurs utiliser le compte root de MySQL (parfois sans mot de passe) alors qu'il faut créer un compte dédié à chaque base de données créée (et parfois un deuxième avec des droits restreints à quelques tables uniquement). 

    c'est claire, une compte de  base de données par application.
     Je va suivre:
    https://mariadb.com/kb/en/library/mysql_secure_installation/
    https://docs.phpmyadmin.net/en/latest/privileges.html#deleting-a-user

     

    Le 28/08/2018 à 11:33, PiwiLAbruti a dit :

    Le problème est toujours entre le clavier et la chaise. 

    😅

     

    Je veux exécuter plusieurs instances de serveur web. Chaque instance avec son propre utilisateur

     

  8. Bonjour,

    J'aimerais me présenter. Vous remarquerez rapidement que le français n'est pas ma langue maternelle. Actuellement, j'utilise deepl.com la plupart du temps, mais cela est sur le point de changer, j'ai des relations étroites avec la France.
    Je suis une sorte d'utilisateur avancé de mon DS211+. J'ai expérimenté avec de nombreux paquets (officiels et tiers) disponibles pour ma DS, mais je n'ai encore rien apporté de productif, à part DS Note et le serveur de fichiers.

    Maintenant, j'ai atteint un état où je dis assez d'expérimentation et utilisons son potentiel au niveau productif.
    Je vais réinitialiser la DS et installer   nextcloud (peut-être un deuxième pour NC 14 beta), firfly III, un photo server (piwigo ou PicApport) et un remplacement pour Synology's NoteStation (NextNote, Paperwork, etc.) et peut-être wallabag.
    Avant de pouvoir le faire, j'aimerais obtenir une réponse à une question essentielle. Je l'ai posté sur le forum anglais et allemand mais c'est le seul qui est vraiment utile.
    J'ai hâte de clarifier ma question ici :).
    Je vous remercie @InfoYANN, @pluton212+, @PiwiLAbruti

    InfoYANN a dit :
    pluton212+ a dit :
    PiwiLAbruti a dit :
  9. Bonjour,

    Je vais arrêter d'expérimenter avec mon NAS (Synology DS211+) et faire une réinitialisation complète du système. Ensuite, je fais une installation propre de plusieurs serveurs web, au moins nextcloud (peut-être un deuxième pour NC 14 beta), firfly III, un serveur photo ( piwigo ou PicApport) et un remplacement pour Synology de NoteStation (NextNote, Paperwork, etc.) et peut-être wallabag.
    Certains d'entre eux auront accès à des dossiers à l'extérieur de /web (dossier racine de la station web) pour accéder aux données et aux photos. Je ne veux pas avoir la sécurité de tous les fichiers en jeu si le serveur web est compromis car ils s'exécutent tous sous httt:http (utilisateur dédié pour Web Station).

    Par conséquent, je veux créer un compte utilisateur par serveur web (configuration). Je voudrais également me permettre d'exécuter un serveur web avec différentes portées d'extensions, en particulier les scripts php et les choses basées sur java. Mon serveur web principal sera NginX.
    Est-ce que cela a du sens ou est-ce que j'ai considéré que quelque chose n'allait pas ? Est-ce que c'est facilement réalisable ?

    Obtenir un serveur root / master serveur ou utiliser les Dockers n'est pas une option actuellement. Il est sur l'agenda à moyen terme pour mettre à jour le matériel mais actuellement, je veux vivre avec mon DS211+.

    J'ai trouvé quelques entrées dans le filet, mais j'ai encore du mal à comprendre l'ensemble de cette question.

    Mes sources génériques sont:

    1. How to run two instances of apache on same system (Ubuntu) mais des approches différentes, laquelle est la meilleure?
    2. Best practice to run Linux service as a different user encore une fois différentes solutions telles que su et runuser, start-stop-daemon, /etc/init.d ou setuid
    3. Running Apache as a certain user se référant à suExec
    4. How do I set my web server to run as a specific user other than 'nobody'? encore une fois suExec et dit que changer envvars est rapide et sale
    5. How to make Apache run as current user se référant à /etc/apache2/envvars
    6. Php-cgi and suexec like configuration using NginX and php-fpm (LEMP Setup), réaliser suExec pour NginX
    7. Start a process as a specific user sudo des commandes telles que  sudo -u rails ls $someDir
    8. User per virtual host in Nginx le faire même sur une base de virtual host
    9. How to run multiple Nginx instances on different port mais mène à la configuration de virtual host à la fin.
    10. How do I change the NGINX user? dit qu'il suffit de changer le user ligne dans nginx.conf
    11. How To Run Multiple Websites Using Nginx Webserver On Ubuntu 15.04, pour autant que je comprenne un autre concept de virtual host
    12. Using Nginx with Nextcloud/Website/Paperwork parallel

    mes sources spécifiques à Synology sont:

    1. 'http' user was deleted
    2. Synology NAS permissions for web server and FTP
    3. Web Station Permissions Confusion
    4. How do I access the Apache Web Server?
    5. Change web root folder to custom directory

     

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.