메뉴 건너뛰기

유그린 NAS , Docker 에 XE3 게시글 카운트 에러 문제

BoardModuleController.zip 수정할 파일의 경로 및 파일명

/volume1/docker/xe3/html/plugins/board/src/Controllers/BoardModuleController.php

수정할 부분 (위치: 231 번줄)

 

기존코드

// 글 조회수 증가
if ($item->display == Board::DISPLAY_VISIBLE) {
    $this->handler->incrementReadCount($item, Auth::user());
}

 

수정할 코드

// 글 조회수 증가 (중복 체크를 해제하고 무조건 강제 증가)
if ($item->display == Board::DISPLAY_VISIBLE) {
    $item->increment('read_count'); 
}

 

유그린 나스의 도크에  Nginx Proxy Manager 를 이용하여 사이트를 운영하면, 기본 적으로 게시글 카운트가 되지 않습니다. 이 문제를 해결하기 위해서는 수많은 설정이 필요합니다. Nginx Proxy Manager에서 보내는 기본 내부 ip 를  XE3 에서 다르게 받아 들여야 하기 때문입니다. Nginx Proxy Manager를 거치면 접속하는 모든 기기는 동일  ip 로 접속하는것으로 인식 됩니다. 수많은 설정을 해야하는 번거로움이 있습니다. 부득히 중복체크 코드를 수정하는 방법으로 문제를 해결해야 합니다. 그렇다고, 중복 체크 기능을 두고 게시글 카운트가 불가능 한 것은 아닙니다. 도크의 Compose 구성 옵션을 아래와 같이 넣으면 됩니다. 단, 아래 내용은 필자의 경우이니 참고만 하시길 바랍니다.

 

command: >

      sh -c "apt-get update &&

             apt-get install -y libpng-dev libjpeg-dev libfreetype6-dev libzip-dev &&

             docker-php-ext-configure gd --with-freetype --with-jpeg &&

             docker-php-ext-install pdo pdo_mysql gd zip bcmath &&

             a2enmod rewrite &&

             a2enmod remoteip &&

             sed -i '/php_value\|RemoteIP/d' /etc/apache2/apache2.conf &&

             echo 'php_value upload_max_filesize 1024M' >> /etc/apache2/apache2.conf &&

             echo 'php_value post_max_size 1024M' >> /etc/apache2/apache2.conf &&

             echo 'php_value memory_limit 512M' >> /etc/apache2/apache2.conf &&

             echo 'php_value max_execution_time 600' >> /etc/apache2/apache2.conf &&

             echo 'php_value max_input_time 600' >> /etc/apache2/apache2.conf &&

             echo 'RemoteIPHeader X-Forwarded-For' >> /etc/apache2/apache2.conf &&

             echo 'RemoteIPTrustedProxy 172.30.1.254' >> /etc/apache2/apache2.conf &&

             echo 'RemoteIPTrustedProxy 172.30.0.0/16' >> /etc/apache2/apache2.conf &&

             echo 'RemoteIPTrustedProxy 172.16.0.0/12' >> /etc/apache2/apache2.conf &&

             echo 'RemoteIPTrustedProxy 192.168.0.0/16' >> /etc/apache2/apache2.conf &&

             echo 'RemoteIPTrustedProxy 10.0.0.0/8' >> /etc/apache2/apache2.conf &&

             chown -R www-data:www-data /var/www/html &&

             export TRUSTED_PROXIES='*' &&

             apache2-foreground"

 

옵션 수정후, 반드시 컨테이너르 재시작 하셔야 적용이 됩니다. 옵션에는 게시글 첨부파일 크기를 1024MB 로 강제 설정하는 옵션도 포함 되어 있습니다. 대용량 업로드에  따른 딜레이 시간도 같이 설정된 내용입니다.