Issue with Prestashop + ISPConfig and stats

Discussion in 'Server Operation' started by nikolaosp, Jan 18, 2018.

  1. nikolaosp

    nikolaosp Member

    Hi everyone,
    I have a server setup using the Perfect server tutorials and I have been using it for the past 4 years with success thanks to the amazing work of the ISPConfig team.
    I have a weird issue. I have about 15 websites currently hosted on my server and of the 15, 6 are e-shops using Prestashop. On the Prestashop 1.6 version websites I cannot see statistics. I have managed to find that the culprit is Prestashop 1.6 as this does not happen in 1.7. I have already asked at the Prestashop website but unfortunately they cannot help me. The issue is with the .htaccess file in the stats folder. I have noticed that if I disable the "require valid-user" clause i can see the stats (without logging in obviously). When the clause is active I get a 404 error.

    Is there any way I could "fix" this so that I can have a secure way to view the statistics?

  2. Ghostdare

    Ghostdare Member

    Did you set up a password in "Statistics" tab on Web domain config?
  3. nikolaosp

    nikolaosp Member

    Yes, I have. The issue seems to be with the usage of the require valid-user clause. As soon as that is off the statistics work albeit without password.
    It looks to me that it a problem with the .htaccess file of the root folder of prestashop.
    ## Default .htaccess file
    # ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
    # .htaccess automaticaly generated by PrestaShop e-commerce open-source solution
    # -
    <IfModule mod_rewrite.c>
    <IfModule mod_env.c>
    RewriteEngine on
    #Domain: www.*****
    RewriteRule . - [E=REWRITEBASE:/]
    RewriteRule ^api$ api/ [L]
    RewriteRule ^api/(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]
    # Images
    RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L]
    RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L]
    RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L]
    RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L]
    RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L]
    RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L]
    RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L]
    RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L]
    RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L]
    RewriteRule ^c/([a-zA-Z_-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L]
    # AlphaImageLoader for IE and fancybox
    RewriteRule ^images_ie/?([^/]+)\.(jpe?g|png|gif)$ js/jquery/plugins/fancybox/images/$1.$2 [L]
    # Dispatcher
    RewriteCond %{REQUEST_FILENAME} -s [OR]
    RewriteCond %{REQUEST_FILENAME} -l [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^.*$ - [NC,L]
    RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L]
    AddType application/ .eot
    AddType font/ttf .ttf
    AddType font/otf .otf
    AddType font/woff2 .woff2
    AddType application/x-font-woff .woff
    <IfModule mod_headers.c>
            <FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|svg)$">
                    Header set Access-Control-Allow-Origin "*"
    <IfModule mod_expires.c>
            ExpiresActive On
            ExpiresByType image/gif "access plus 1 month"
            ExpiresByType image/jpeg "access plus 2 month"
            ExpiresByType image/png "access plus 1 month"
            ExpiresByType text/css "access plus 1 week"
            ExpiresByType text/javascript "access plus 1 week"
            ExpiresByType application/javascript "access plus 1 week"
            ExpiresByType application/x-javascript "access plus 1 week"
            ExpiresByType image/x-icon "access plus 1 year"
            ExpiresByType image/svg+xml "access plus 1 year"
            ExpiresByType image/ "access plus 1 year"
            ExpiresByType application/font-woff "access plus 1 year"
            ExpiresByType application/x-font-woff "access plus 1 year"
            ExpiresByType font/woff2 "access plus 1 year"
            ExpiresByType application/ "access plus 1 year"
            ExpiresByType font/opentype "access plus 1 year"
            ExpiresByType font/ttf "access plus 1 year"
            ExpiresByType font/otf "access plus 1 year"
            ExpiresByType application/x-font-ttf "access plus 1 year"
            ExpiresByType application/x-font-otf "access plus 1 year"
    <IfModule mod_headers.c>
            Header unset Etag
    FileETag none
    <IfModule mod_deflate.c>
            <IfModule mod_filter.c>
                    AddOutputFilterByType DEFLATE text/html text/css text/javascript application/javascript application/x-javascript font/ttf application/x-font-ttf font/otf application/x-font-otf font/opentype image/svg+xml
    #If rewrite mod isn't enabled
    ErrorDocument 404 /index.php?controller=404
    # ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
    The stats folder htaccess is

    AuthType Basic
    AuthName "Members Only"
    AuthUserFile /var/www/clients/client1/web8/web/stats/.htpasswd_stats
    require valid-user
  4. Ghostdare

    Ghostdare Member

    .htpasswd_stats is created by ISPConfig when create a pass for admin of stats. Also you can compare the Prestashop .htaccess files from the version that let's you in.

Share This Page