**这是本文档旧的修订版!**
<markdown>
Grav 深夜折腾
在已经成功搭建起 dokuwiki 的基础上,本以为搭建同为 php 的 grav 会信手拈来,没想到折腾到半夜😂 ,必须要纪念一下。
主要遇到的几个问题:
- grav 多依赖的一个 php 的库:
php5-curl - 阿里云主机直接通过grav的链接下载需要翻墙
- 阿里云裸机无法直接解压
.zip文件 - 双层 nginx 代理,需要在内层添加以下内容,告知 grav 一些事情…
fastcgi_param HTTP_HOST blog.panezhang.cn; fastcgi_param HTTPS 'on';
总之,功夫不负有心人,总算搭建起来了。大致的 Dockerfile 如下:
FROM ubuntu:14.04
MAINTAINER panezhang <njuzp08@gmail.com>
COPY grav-admin-v1.1.17.tar.gz /grav.tar.gz
RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \
\
# install grav
mkdir /grav && \
tar -xzvf /grav.tar.gz -C /grav --strip-components 1 && \
rm /grav.tar.gz && \
chown -R www-data:www-data /grav && \
\
# install deps & clean
apt-get update && \
apt-get -y upgrade && \
apt-get -y install nginx php5-fpm php5-gd php5-curl php5-cli wget && \
apt-get clean autoclean && \
apt-get autoremove && \
rm -rf /var/lib/{apt,dpkg,cache,log} && \
\
# config php & nginx
echo "cgi.fix_pathinfo = 0;" >> /etc/php5/fpm/php.ini && \
rm /etc/nginx/sites-enabled/*
COPY nginx.conf /etc/nginx/nginx.conf
COPY grav.conf /etc/nginx/sites-enabled/
EXPOSE 80
VOLUME [ \
"/grav/user", \
"/var/log/" \
]
CMD /usr/sbin/php5-fpm && /usr/sbin/nginx
</markdown>