Skip to content

Instantly share code, notes, and snippets.

@watanabe3tipapa
Last active July 6, 2023 04:20
Show Gist options
  • Save watanabe3tipapa/9b47fb9b6bfc9980cc1d93dccfc2872f to your computer and use it in GitHub Desktop.
Save watanabe3tipapa/9b47fb9b6bfc9980cc1d93dccfc2872f to your computer and use it in GitHub Desktop.
Grav 導入方法

Grav 導入方法

2021年9月現在


つくり方

Grav 作成のためのDockerfileの編集 (Grav公式Githubから)

FROM php:7.4-apache
LABEL maintainer="Andy Miller <rhuk@getgrav.org> (@rhukster)"

# Enable Apache Rewrite + Expires Module
RUN a2enmod rewrite expires && \
    sed -i 's/ServerTokens OS/ServerTokens ProductOnly/g' \
    /etc/apache2/conf-available/security.conf

# Install dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
    unzip \
    libfreetype6-dev \
    libjpeg62-turbo-dev \
    libpng-dev \
    libyaml-dev \
    libzip4 \
    libzip-dev \
    zlib1g-dev \
    libicu-dev \
    g++ \
    git \
    cron \
    vim \
    && docker-php-ext-install opcache \
    && docker-php-ext-configure intl \
    && docker-php-ext-install intl \
    && docker-php-ext-configure gd --with-freetype --with-jpeg \
    && docker-php-ext-install -j$(nproc) gd \
    && docker-php-ext-install zip \
    && rm -rf /var/lib/apt/lists/*

# set recommended PHP.ini settings
# see https://secure.php.net/manual/en/opcache.installation.php
RUN { \
    echo 'opcache.memory_consumption=128'; \
    echo 'opcache.interned_strings_buffer=8'; \
    echo 'opcache.max_accelerated_files=4000'; \
    echo 'opcache.revalidate_freq=2'; \
    echo 'opcache.fast_shutdown=1'; \
    echo 'opcache.enable_cli=1'; \
    echo 'upload_max_filesize=128M'; \
    echo 'post_max_size=128M'; \
    echo 'expose_php=off'; \
    } > /usr/local/etc/php/conf.d/php-recommended.ini

RUN pecl install apcu \
    && pecl install yaml-2.0.4 \
    && docker-php-ext-enable apcu yaml

# Set user to www-data
RUN chown www-data:www-data /var/www
USER www-data

# Define Grav specific version of Grav or use latest stable
ARG GRAV_VERSION=latest

# Install grav
WORKDIR /var/www
RUN curl -o grav-admin.zip -SL https://getgrav.org/download/core/grav-admin/${GRAV_VERSION} && \
    unzip grav-admin.zip && \
    mv -T /var/www/grav-admin /var/www/html && \
    rm grav-admin.zip

# Create cron job for Grav maintenance scripts
RUN (crontab -l; echo "* * * * * cd /var/www/html;/usr/local/bin/php bin/grav scheduler 1>> /dev/null 2>&1") | crontab -

# Return to root user
USER root

# Copy init scripts
# COPY docker-entrypoint.sh /entrypoint.sh

# provide container inside image for data persistence
VOLUME ["/var/www/html"]

# ENTRYPOINT ["/entrypoint.sh"]
# CMD ["apache2-foreground"]
CMD ["sh", "-c", "cron && apache2-foreground"]

ビルド

(ZORIN OS上にビルドする例) サンプルコマンド

docker build -t grav:latest .

イメージが完成したので、コンテナを作成し実行します

サンプルコード

docker run -p 8000:80 grav:latest

完成


Grav

Screenshot_from_2021-09-15_22-07-21


Screenshot_from_2021-09-15_22-12-35



備考

docker プロセスが止まらないときはこのコマンドを試す

sudo service docker restart

SS_2021-09-16_10 10 18

*login は /admin から


ちなみに実機で gravを使用する場合は webserverを起動させる

1-1. 起動、停止、再起動

Apacheを起動するには

sudo apachectl start

を叩けばよい。停止したければ、

sudo apachectl stop

再起動したければ、

sudo apachectl restart

を叩けばよい。

SS_2021-09-16_11 19 37


ちなみに

ZORIN OS

sudo systemctl start apache2
sudo docker start grav
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment