Grav-plugin-admin: μ›Ή UI에 "Cron을 μ‚¬μš©ν•  수 μ—†μŒ"이라고 ν‘œμ‹œλ˜μ§€λ§Œ μž‘λ™ μ€‘μž…λ‹ˆλ‹€.

에 λ§Œλ“  2019λ…„ 08μ›” 26일  Β·  4μ½”λ©˜νŠΈ  Β·  좜처: getgrav/grav-plugin-admin

Gravλ₯Ό μ‹€ν–‰ν•˜κΈ° μœ„ν•΄ 자체 Docker 이미지λ₯Ό μ„€μ •ν–ˆμ§€λ§Œ μ•Œ 수 μ—†λŠ” λ¬Έμ œκ°€ ν•˜λ‚˜ μžˆμŠ΅λ‹ˆλ‹€. μ›Ή UIμ—μ„œ Cron을 μ‚¬μš©ν•  수 μ—†λ‹€κ³  ν‘œμ‹œλ˜μ§€λ§Œ 아직 μ œλŒ€λ‘œ μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. λ‚΄κ°€ 말할 μˆ˜μžˆλŠ” κ²ƒμ—μ„œ μ’‹μ•„.

이것은 λ‚΄κ°€ μˆ˜μ •ν•˜λ €λŠ” κ²½κ³ μž…λ‹ˆλ‹€.
Grav - Cron not available

nginx μ‚¬μš©μžλ‘œ crontab을 μ‹€ν–‰ν•˜κ³  μžˆλŠ”λ° 잘 μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.
Grav - Backups Still Running

CLIλ₯Ό μ‚¬μš©ν•˜μ—¬ nginx 에 μ˜¬λ°”λ₯Έ crontab이 μžˆλŠ”μ§€ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
Grav - Crontab installed for nginx

그리고 차이가 μžˆλŠ”μ§€ ν™•μΈν•˜κΈ° μœ„ν•΄ 루트 μ‚¬μš©μžμ—κ²Œλ„ μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€.
Grav - Crontab installed for root
... κ·ΈλŸ¬λ‚˜ μ›Ή UIμ—λŠ” μ—¬μ „νžˆ λ™μΌν•œ κ²½κ³ κ°€ ν‘œμ‹œλ©λ‹ˆλ‹€.

CLIλŠ” λ˜ν•œ 백업이 μ‹€ν–‰λ˜κ³  μžˆμŒμ„ λ³΄μ—¬μ€λ‹ˆλ‹€.
Grav Scheduler

이 κ²½κ³ λ₯Ό κ³ μΉ  수 μžˆλŠ”μ§€ ν™•μΈν•˜κΈ° μœ„ν•΄ 무엇을 더 ν•  수 μžˆλŠ”μ§€ 잘 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

λ‚΄ Dockerfile:

FROM nginx:stable-alpine
LABEL maintainer="William Miceli <[email protected]>"
USER root

ARG GRAV_VERSION

# Install Dependencies Needed For Grav, With Optional Modules To Help With Performance
RUN apk update && apk add --no-cache \
    dcron \
    php7 \
    php7-curl \
    php7-dom \
    php7-fpm \
    php7-gd \
    php7-json \
    php7-mbstring \
    php7-openssl \
    php7-pecl-apcu \
    php7-pecl-yaml \
    php7-session \
    php7-simplexml \
    php7-xml \
    php7-zip

# Configure NGINX For Grav
ADD https://raw.githubusercontent.com/getgrav/grav/c381bc83040e00c9a8ebe91ac3bda5fe0c217197/webserver-configs/nginx.conf /etc/nginx/conf.d/default.conf
RUN sed -i 's/root \/home\/USER\/www\/html/root \/var\/www/g' /etc/nginx/conf.d/default.conf \
    && sed -i 's/fastcgi_pass unix:\/var\/run\/php\/php7.2-fpm.sock;/fastcgi_pass unix:\/var\/run\/php-fpm.sock;/g' /etc/nginx/conf.d/default.conf \
    && sed -i 's/#listen 80;/listen 80;/g' /etc/nginx/conf.d/default.conf \
    && sed -i '23cuser = nginx' /etc/php7/php-fpm.d/www.conf \
    && sed -i '24cgroup = nginx' /etc/php7/php-fpm.d/www.conf \
    && sed -i '47clisten.owner = nginx' /etc/php7/php-fpm.d/www.conf \
    && sed -i '48clisten.group = nginx' /etc/php7/php-fpm.d/www.conf \
    && sed -i '49clisten.mode = 0660' /etc/php7/php-fpm.d/www.conf \
    && sed -i 's/listen = 127.0.0.1:9000/listen = \/var\/run\/php-fpm.sock/g' /etc/php7/php-fpm.d/www.conf

# Setup Cron
RUN (crontab -u nginx -l; echo "* * * * * cd /var/www;/usr/bin/php bin/grav scheduler 1>> /dev/null 2>&1") | crontab -u nginx -

# Prepare Grav Files
RUN mkdir -p /var/www /usr/src/grav/user \
    && apk add --no-cache ca-certificates \
    && apk add --no-cache --virtual .install-dependencies unzip wget \
    && wget -P /var/www https://github.com/getgrav/grav/releases/download/${GRAV_VERSION}/grav-admin-v${GRAV_VERSION}.zip \
    && unzip -q /var/www/grav-admin-v${GRAV_VERSION}.zip -d /var/www \
    && rm /var/www/grav-admin-v${GRAV_VERSION}.zip \
    && mv -v /var/www/grav-admin/* /var/www \
    && rm -rfv /var/www/grav-admin \
    && apk del .install-dependencies \
    && chown -R nginx:nginx /var/www \
    && mv -v /var/www/user/* /usr/src/grav/user

COPY /entrypoint.sh /

EXPOSE 80
CMD ["/bin/sh", "/entrypoint.sh"]

νž˜λ‚΄ μ €μž₯μ†Œ

λ„μ™€μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€!!

evaluating

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

κ°€μž₯ λ¨Όμ € 확인해야 ν•  것은 터미널에 μžˆμ„ λ•Œμ™€ λΉ„κ΅ν•˜μ—¬ 'μ›Ήμ„œλ²„'κ°€ μ‹€ν–‰λ˜λŠ” μ‚¬μš©μžμž…λ‹ˆλ‹€. μ‚¬μš©μžκ°€ λ‹€λ₯Έ 경우 이 λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€. μ›Ή μ„œλ²„λŠ” μ‹€ν–‰ 쀑인 μ‚¬μš©μžμ˜ crontab만 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ PHP 버전은 μ‚¬μš©ν•  PHP λ°”μ΄λ„ˆλ¦¬λ₯Ό κ²°μ •ν•  λ•Œ symfony ν”„λ‘œμ„ΈμŠ€ λͺ…령이 λ§Œλ“œλŠ” 'μ΅œμƒμ˜ μΆ”μΈ‘'μž…λ‹ˆλ‹€. μ„€μ •( php7 )이 μžˆλŠ” κ²ƒμ²˜λŸΌ νŠΉμ • 버전을 μ‚¬μš©ν•˜λŠ” 것은 μŠ€λ§ˆνŠΈν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  4 λŒ“κΈ€

λ˜ν•œ λ‚΄κ°€ μ•Œμ•„ μ°¨λ¦° μž‘μ€ 점은 μ°¨μ΄κ°€μ—†λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

CLIλŠ” crontab으둜 λ‹€μŒκ³Ό 같이 λ§ν•©λ‹ˆλ‹€.
(crontab -l; echo "* * * * * cd /var/www;/usr/bin/php7 bin/grav scheduler 1>> /dev/null 2>&1") | crontab -
μ›Ή UIλŠ” λ‹€μŒκ³Ό 같이 λ§ν•©λ‹ˆλ‹€.
(crontab -l; echo "* * * * * cd /var/www;/usr/bin/php bin/grav scheduler 1>> /dev/null 2>&1") | crontab -
(ν•˜λ‚˜λŠ” /usr/bin/php7 , λ‹€λ₯Έ ν•˜λ‚˜λŠ” /usr/bin/php )

그게 λ­”κ°€ μ€‘μš”ν• μ§€ λͺ¨λ₯΄κ² μ§€λ§Œ μ–ΈκΈ‰ν•  μƒκ°μž…λ‹ˆλ‹€.

κ°€μž₯ λ¨Όμ € 확인해야 ν•  것은 터미널에 μžˆμ„ λ•Œμ™€ λΉ„κ΅ν•˜μ—¬ 'μ›Ήμ„œλ²„'κ°€ μ‹€ν–‰λ˜λŠ” μ‚¬μš©μžμž…λ‹ˆλ‹€. μ‚¬μš©μžκ°€ λ‹€λ₯Έ 경우 이 λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€. μ›Ή μ„œλ²„λŠ” μ‹€ν–‰ 쀑인 μ‚¬μš©μžμ˜ crontab만 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ PHP 버전은 μ‚¬μš©ν•  PHP λ°”μ΄λ„ˆλ¦¬λ₯Ό κ²°μ •ν•  λ•Œ symfony ν”„λ‘œμ„ΈμŠ€ λͺ…령이 λ§Œλ“œλŠ” 'μ΅œμƒμ˜ μΆ”μΈ‘'μž…λ‹ˆλ‹€. μ„€μ •( php7 )이 μžˆλŠ” κ²ƒμ²˜λŸΌ νŠΉμ • 버전을 μ‚¬μš©ν•˜λŠ” 것은 μŠ€λ§ˆνŠΈν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ‚΄ /etc/nginx/nginx.conf λ‚΄μ—λŠ” λ‹€μŒμ΄ μžˆμŠ΅λ‹ˆλ‹€.
2019-08-27 21_12_52-Rancher - Brave

λ”°λΌμ„œ μ›Ή μ„œλ²„ μ‚¬μš©μžλŠ” crontab이 μ„€μ •λœ nginx인 것 κ°™μŠ΅λ‹ˆλ‹€.

λ‚΄κ°€ λˆ„λ½λœ 곳이 μžˆμŠ΅λ‹ˆκΉŒ?

λ˜ν•œ crontab이 루트둜 μ‹€ν–‰λ˜κ³  μ›Ή μ„œλ²„κ°€ www-data인 Debian 10 μ„€μΉ˜μ—μ„œ 이것을 μ–»κ³  μžˆμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰