This repository has been archived on 2021-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
Dockerfiles/php-grav
Dryusdan 789e6d7962 update 2017-09-11 15:53:29 +02:00
..
Dockerfile update 2017-09-11 15:53:29 +02:00
README.md update 2017-09-11 15:53:29 +02:00
php.ini update 2017-09-11 15:53:29 +02:00

README.md

PHP for Grav CMD

Strict minimal version of PHP based on official PHP FPM Alpine

This image can run the Grav CMS with more power and more speed than a classic PHP configuration.

How to get it ?

docker pull dryusdan/php-grav or docker build -t dryusdan/php-grav https://github.com/Dryusdan/Dockerfiles.git#:php/grav

How to use it ?

docker run \
--name php-grav \
-v /mtn/docker/grav/web:/var/www/html:rw \
--restart always dryusdan/php-grav

Heu...

Don't forgot configure your HTTP server ;) Exemple with nginx :

server {
    listen   80;
    server_name  grav.localhost;
    index  index.php index.html index.htm;
    merge_slashes off;
    large_client_header_buffers 4 32k;
    root /grav;
    client_max_body_size 1G;


    location / {
        try_files $uri $uri/ /index.php?_url=$uri&$query_string;
    }
    ## End - Index

    ## Begin - Security
    # deny all direct access for these folders
    location ~* /(.git|cache|bin|logs|backup|tests)/.*$ { return 403; }
    # deny running scripts inside core system folders
    location ~* /(system|vendor)/.*\.(txt|xml|md|html|yaml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
    # deny running scripts inside user folder
    location ~* /user/.*\.(txt|md|yaml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
    # deny access to specific files in the root folder
    location ~ /(LICENSE.txt|composer.lock|composer.json|nginx.conf|web.config|htaccess.txt|\.htaccess) { return 403; }
    ## End - Security


    location ~ [^/]\.php(/|$) {
        #try_files $uri =404;
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        fastcgi_pass php-grav:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_intercept_errors on;
        fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        internal;
    }

}