오래전 만든 사이트인데, 

글쓰기 에디터 쪽에서 부족함+문제를 느껴서 업그레이드를 시도하였습니다. 

아직 세팅이 완전하게 끝나진 않았지만, 큰 고비는 넘겼기에 일단 여기까지 기록으로 남깁니다. 

 

 

1. AWS 가상서버  -> 스냅샷 생성 (문제시 백업 아주 편함)

2. 우분투 서버 20.04 -> 이것도 이참에 22.04 로 업그레이드

3. XE 1.11.x? -> rhymix 2.1.15

4. nginx : 1.18.0

5. php : 5.6 -> 8.3

6. db : mariaDB 10.6.16, mysql? mysqli?

 

업그레이드 가이드 

https://rhymix.org/manual/introduction/xe-upgrade

 

첫날은 마구잡이로 시도했다가, 

문제가 왜 나는지도 모르고 당황하여 후퇴. 복원

 

둘째날은 마음을 단단히 먹고 도전. 

 

고비1 :

에러메시지를 볼 수 있어야 함. (에러는 대부분  php 버전 차이로 인한 문법오류.)

콘솔에서 sudo vi /var/log/nginx/error.log 또는 tail 명령어로 최근 에러가 어디서 나는지 확인.

하지만 그보다 좋은 건 

sudo vi /etc/php/8.3/fpm/php.ini
display_errors = On
display_startup_errors = On

위에 것만 On 해도 될 것 같긴 한데, 여튼 이거 켜 놓으면 로그 볼 것도 없이 

바로바로 에러 표시되니 시간 단축됨. *다 끝나면 Off 해두는것이 보안상 좋음.

sudo systemctl reload php8.3-fpm // 이거 꼭 해야 함.
sudo systemctl reload nginx

 

고비2 :

에러가 나도 해결을 못하면 말짱 황인데...

한두개라면 검색하면서 도전해보는게 좋지만, 

이건 그런 수준이 아님. 

그럼에도 도전할 수 있었던 것은 chatgpt 가 있기 때문. 

Error 메시지 + 해당 코드 line(상황에 따라서 앞뒤 몇줄 더) 넣으면 95%는 해결책을 내어줌. 

물론 그걸 이해하고, 처리할 수 있는가는 또 다른 문제

 

- 주로 발생한 문제 : Null(객체생성), php 구버전용 함수, datatype "" '' 빠진 것  또는  array  

- chatgpt 가 헷갈려한 문제 : html 에 php 코드 그냥 알려줘서 { } 헷갈렸던 일 

 

위 고비 넘기면 홈페이지 / 관리자 페이지까지 접근 가능 

 

고비3 : 

짧은 주소 문제 (이건 아직 해결 못하고 범용 짧은주소?로 일단 타협) 

nginx 는 이게 계속 말썽인듯. 예전에도 rewrite 때문에 고생했음. 

 

예전거 다 지우고, 거꾸로 하나씩 추가하는 중. 

 

고비4 : ckeditor 

이건 개인적인 문제임. 예전에 ckeditor 에  config.js 를 수정하는 방식으로 플러그인을 추가했었는데 

그게 문제가 되어서 ckeditor 가 로딩되지 않음. 

 

일단 여기까지 고비를 넘기니,  

눈에 띄는 문제는 없는 것 같습니다. 

 

 

아직 해결 안된 것은 

1. 짧은 주소

2. DEBUG 에 올라온 수십~수백개가의 에러(Warning) . 외면하고 싶다...

3. 관리자 페이지에서 애드온 끄려고 해도 안꺼지는 것. Variable addon for column addon is not set

 

 

  • profile

    고비4 : ckeditor 부분은 아래 링크에서 확인


    https://xetown.com/questions/1827735

  • profile

    짧은 주소 문제는...

    -----------------
    짧은 주소 사용
    ㄴ 사용하지 않음 ㄴXE와 호환되는 주소 형태만 사용 ㄴ모든 주소 형태를 사용
    'XE와 호환되는 주소 형태만 사용'으로 바꿨더니 저절로? 반쯤 해결됐네요?? surprise뭐지??

    어제는 분명 안됐던 것 같은데??

    가능성1 : 원래 어제 삽질 반복하다 해결되었는데 적용이 덜 되었거나, 아니면 눈치를 못챈 것일 수 있음.

    가능성2 : 불필요한 코어 파일 일괄정리 과정에서 해결된 것일 수 있음.

     

    해결된 부분 : 브라우저 주소창에는 짧은 주소로 잘 나옴 https://allcalc.org/41381

    해결안된 부분 : 게시판-게시물 상단-주소복사에는 조금 긴 주소로 나옴  https://allcalc.org:443/board_free2015/41381

    server {
        listen 80;
        server_name allcalc.org www.allcalc.org;
    
        return 301 https://$host$request_uri;
    }
    
    
    server {
        listen 443 ssl http2;
        server_name allcalc.org;
    
        root /home/xe;
        index index.php index.html index.htm index.nginx-debian.html;
    
        ssl_certificate (생략);
        ssl_certificate_key (생략);
    
    
        include /etc/nginx/sites-available/xe_sitemap_rewrite.conf;
    
        client_max_body_size 10M;
    
    
    
        location ~ \.php$ {
            include snippets/fastcgi-php.conf;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        }
        
        # Rhymix 설정 인클루드
        include snippets/rhymix.conf;
    }

     

  • profile

    해결이 된 줄 알았는데,
    모바일로 접속하니 PC에서 나타났던 문제 (500 리다이렉션 너무 많음) 가 나타났습니다.

    다시 설정가서
    ㄴ모든 주소 형태를 사용
    옵션으로 바꿨다가, php 에러난거 해결하고
    다시 설정으로 돌아와서
    ㄴXE와 호환되는 주소 형태만 사용
    으로 바꾸니까. 잘 됩니다.

     

    * 브라우저 쿠키 삭제? 이게 진짜 영향이 줬을지도?

  • profile

    6월 22일

    모바일 - 짧은 주소 : 너무 많은 리다이렉션 문제 재발생 -> 해결



    네이버 게시판에 짧은 주소 링크를 걸었는데,

     

    PC에서는 짧은 주소 문제가 없는데
    모바일로 접근하니 짧은 주소 문제가 또 발생하더군요. 

     

    아무래도 rewrite 쪽을 봐야할 것 같은데... 

    어떻게 손을 봐야할지 감이 안오는 상황. 

     

    /var/log/nginx/error.log 를 보니 에러가 어마어마하게 쌓여 있네요. 

    tail 명령으로 마지막 로그만 보면서 

    하나 수정하고 -> 모바일 다시 불러오기 -> 에러 생긴거 다시 수정하고 

    하다보니 

    (오잉?) 리다이렉션 문제가 해결 되었습니다. 

     


    에러가 발생한 파일은 

    modules/board/m.skins/sketchbook5/_list_webzine.html
     

    내용은 비슷한데 이런 식입니다.

     

    /home/xe$ sudo tail /var/log/nginx/error.log
    #0 /home/xe/files/cache/template/modules/board/m.skins/sketchbook5/_list_webzine.html.compiled.php(121): in_array()
    #1 /home/xe/common/framework/Template.php(471): include()
    #2 /home/xe/common/framework/Template.php(375): Rhymix\Framework\Template->execute()
    #3 /home/xe/files/cache/template/modules/board/m.skins/sketchbook5/list.html.compiled.php(161): Rhymix\Framework\Template->compile()
    #4 /home/xe/common/framework/Template.php(471): include()
    #5 /home/xe/common/framework/Template.php(375): Rhymix\Framework\Template->execute()
    #6 /home/xe/classes/display/HTMLDisplayHandler.php(98): Rhymix\Framework\Template->compile()
    #7 /home/xe/classes/display/DisplayHandler.class.php(67): HTMLDisplayHandler->toDoc()
    #8 /home/xe/classes/module/ModuleHandler.class.php(1229): DisplayHandler->printContent()
    #9 /home/xe/index.php(60):" while reading response header from upstream, client: 183.105.205.197, server: allcalc.org, request: "GET /31975 HTTP/2.0", upstream: "fastcgi://unix:/var/run/php/php8.3-fpm.sock:", host: "allcalc.org", referrer: "https://m.kin.naver.com/mobile/qna/detail.nhn?d1Id=11&dirId=1118&docId=471399789&answerNo=1&addQnaNo=5888006"

     

  • profile

    관리자 페이지에서 애드온 관련 오류


    https://xetown.com/questions/1827835

    1. 폴더 소유권을 root 에서 www-data 로 변경
    2. 불필요한 코어 파일 일괄 삭제


    이 두가지로 해결되었습니다.

  • profile
    허허 저도 이글보고 xe와 호환되는 짧은 주소로 하니 되네요 ㄷㄷ
    감사합니다
  • profile

    문제 발견

    사이트맵이 작동하지 않는 듯 합니다. 

     

    A. 기존 사용 모듈 

    image.png

    사이트맵 ---  사이트맵 생성과 검색 색인을 관리합니다. --- 1.3 --- 즈베즈다 --- ./modules/sitemap/

     

    B. 주소 설정

    RewriteRule ^sitemap([0-9]*)\.xml$ ./index.php?module=sitemap&act=sitemap&page=$1 [L]

    ㄴ 이건 아파치 용

    -> nginx 용으로 아래와 같이 변경

     

    # xe_sitemap_module rewrite apply
    include /etc/nginx/sites-available/xe_sitemap_rewrite.conf;
     

    # Sitemap module for Google
    rewrite ^/sitemap([0-9]*).xml$ /./index.php?module=sitemap&act=sitemap&page=$1 last;

     

     

    C. 관리자 페이지

    스크린샷 2024-06-21 102752.png

    -> 핑 보내기 : [사이트맵 등록] 누르면 -> "등록했습니다" 나옴. 이상없어 보임

    -> 다운로드 ▽ 눌러보면 목록에 아무것도 표시 안됨.스크린샷 2024-06-21 103103.png

    -> URL 눌러보면 -> 404 Not Found. 요청한 페이지를 찾을 수 없습니다. 사이트 관리자에게 문의해 주세요.

    -> 긴주소 가보면 https://allcalc.org/index.php?module=sitemap&act=sitemap&page=$1 맞는지 모르겠지만 

    스크린샷 2024-06-21 103333.png

    1~10까지 다 똑같음.

     

     

    D. 구글 Search Console

    스크린샷 2024-06-21 103629.png

    스크린샷 2024-06-21 103640.png

    업데이트일(6월17일) 이후로 문제가 발생하여 해결되지 않는 듯 합니다.

     

     

    종합한 결론은 

    1. 리다이렉션(rewrite) 가 제대로 되지 않고 있다. 404

    2. 사이트맵도 제대로 생성되지 않고 있다. 

     

    두가지 문제가 복합적으로 나타나는 듯 합니다. 

  • profile

    A. 기존 모듈 삭제함 

    주소 rewrite 설정 제거

    B. 새로운 모듈 업로드 

    https://xetown.com/download/324406 

    ㄴ 사이트맵 Lite 모듈

     

    이번엔 쉬운설치 해 봄.

    파일 다운로드 -> ftp 업로드 -> 압축풀고 -> chown  www-data  해주고 하는 과정없이 딸깍으로 해결되니 좋음. 

    (앞으로 없어지는 분위기로 확인되는데 아쉬움.)

     

    C. 설정

    image.png

    사이트맵 파일 경로 : 첫번째 옵션에서 퍼미션 에러 나옴. 

    -> /home/xe 가 소유권이 여전히 root 에게 있어서 www-data 로 변경하니 해결됨

    ---> 사이트맵 페이지 접속 정상 확인!!

     

    image.png

    문서 포함 - 포함 갯수 : 0 (default)
    0으로 하고 xml 을 보니 선택한 게시판 목록만 올라와 있음. 

    이걸 몇으로 하는게 좋은지는 모르겠으나, 0은 아닌 것 같아서 일단 100으로 함.
    갱신되는 주기 사이에 "생성 & 갱신"되는 글의 갯수를 충분히 포함할 정도면 적당한건가? 

    그럼 100이면 충분하단 건데... 그래도 1000으로 하는게 나을 듯. 무리가 되지 않으면.

     

    image.png

    ---> 사이트맵은 정상 생성됨. 확인!!!

     

     

    D. Google Search Console

    검색엔진 자동 제출 옵션이 있긴 한데,
    그래도 문제가 있었으니까 사이트맵 주소를 수동 제출 해봄.

     

    image.png

    ---> 업로드(상태) : 성공! 

  • profile
    스케치북5 대신
    rhymix-sketchbook (Sketchbook for rhymix)을 올려서 사용하였습니다.
    https://github.com/rhymix/rhymix-sketchbook

    모바일 스킨은 따로 없는 것 같으니
    'PC와 동일한 반응형 스킨' 으로 설정하였습니다.

    처음부터 했어야 했는데...
  • profile profile

    저도 xe시절 스케치북 레이아웃을 사용하고 있어서 라이믹스용으로 바꾸기는 해야 하는데

    레이아웃을 바꾸면 게시판 스킨도 바꿔야 깔끔한데

    게시판 설정을 다시 할 자신이 없네요 ㅎㅎ

    게시판 스킨 설정은 처음부터 다시 해줘야하겠죠??

  • profile profile

    별개의 스킨이니 다시 해주는게 맞겠죠?
    Sketchbook5 기존 설정을 가져올 수 있는지는 알지 못합니다.

  • profile

    레이아웃 + 스킨을 OrangeDay 로 바꿨습니다.
    신세계가 되었네요.

    Table(css) 쪽에 약간 문제가 있지만
    완전만족하고 있습니다.

     

    진즉 바꿀 것을...