• 워드프레스 위젯 수정 안되어서 모든 콘텐츠 내보내기 새로 설치

    워드프레스 위젯 수정 안되어서 모든 콘텐츠 내보내기 새로 설치

    이전에 잘 운영하던 워드프레스 블로그 하나가 무슨문제인지 모르겠지만 위젯 등록과 푸터 수정이 되지 않아

    검색광고에서 문제가 발생했습니다.

    분명 카피라이트 영역을 수정했다 생각했는데 나중에 보니 수정이 안되었더군요.

    워드프레스를 새로 설치해서 기존의 글 전체를 내보내기 가져오기 기능이용해서 해결한 내용입니다.

     

    이 글을 읽으셔야 할 분들은 아래 3가지중 한가지 적용되실경우 도움이 되십니다.

    1. 워드프레스 위젯 수정이 안되는 블로그

    2. 풋터 (카피라이트) 영역이 수정이 안되는 블로그

    3. 워드프레스 블로그에 문제가 많다고 느끼거나 너무 느린 블로그

     

    워드프레스 내보내기

    1. 도구 항목에서 내보내기 기능을 선택합니다.

    내보내기 파일 다운로드 항목을 클릭하면 xml 파일이 만들어집니다.

    이때 글 갯수가 많다면 다운로드 시간이 많으니 기다리면됩니다.

    파일을 열어보면 아래처럼 나옵니다.

    파일은 따로 다운받지 않습니다.

    대신 FTP나 리눅스에서 cp -ia 명령어를 이용하여 새로운 워드프레스 폴더에 복사해주어야합니다.

    2018폴더부터 2019, 2020, 2021 모든 폴더를 복사합니다.

    서버가 다르다면 tar cvf  명령어 이용해서 압축해서 다운받고 새로운 서버에 업로드해서 압축풀면 됩니다.

    저는 새로운 워드프레스에 데이터베이스를 새로 만들고 워드프레스 파일도 홈페이지가서 직접 받고 설치했습니다.

     

    새로운 워드프레스 설치를 마무리했다고 가정하고 가져오기 기능을 해보겠습니다.

     

    2. 워드프레스 가져오기 설치하고 다운받은 xml 파일을 가져오기

    파일을 선택하면 시간이 상당히 걸립니다.

    운영했던 블로그의 글이 200개정도인데 거의 10분정도 걸렸습니다.

    같은 도메인으로 다른 서버로 옮기는게 아니기에 기존 도메인은 접속할수가없어 파일은 따로 복사해야했습니다.

     

    짠!

    워드프레스 서버 이전이 완료되었습니다.

    그냥 새로 설치했고 이전 데이터를 가져왔습니다.

     

     

    휴~ 이제 마지막 부분 카피라이트와 위젯이 수정되고 변경됩니다.

    예전에 드라마랑 제휴마케팅 관련해서 테스트겸 만들어놓은 워드프레스인데..

    집홈으로 운영하다가 서버가 몇번 떨어졌는데.. 그사실도 모르고 네이버에서 수십번 떨어졌습니다.

     

    그래서 다시 구글에서 공략해보려고 살려보는겁니다.

     

     

    이 워드프레스가 살아날수 있을까요?

    저는 무조건 살릴겁니다.

    궁금하신 분들 계시면 결과도 알려드리도록 하겠습니다.

     

    감사합니다.

     

  • [ Solved ] set foreign_key_checks = on phpmyadmin

    [ Solved ] set foreign_key_checks = on phpmyadmin

    Error
    Static analysis:
    
    1 errors were found during analysis.
    
    Missing expression. (near "ON" at position 25)
    SQL query: Edit Edit
    
    SET FOREIGN_KEY_CHECKS = ON;
    
    MySQL said: Documentation
    
    #2006 - MySQL server has gone away

    (Korean)

    이 에러는 복합적인 문제로 두가지를 동시에 확인해야합니다.

    첫번째로 확인해야할 부분은 외래키 사용이 On으로 되어져있기때문에 테이블 작업시 에러가 발생하는 것입니다.

     

    SET foreign_key_checks = 0;
    -- run some queries
    SET foreign_key_checks = 1;

     

     

    당연히 Sql 시작 구문에 SET FOREIGN_KEY_CHECKS = OFF; 혹은 숫자 0을 지정하고 마지막 부분에 ON; 또는 숫자 1을 지정하면 해결됩니다.

    하지만 다른 문제로 인해서 위의 문구가 발생하는 경우가 있습니다.

    바로 max allowed packet 최대 허용 패킷 크기때문입니다.

     

    제 경우에는 운영하는 서버환경설정의 max allowed packet 값이 1000K 으로 지정되어져있었습니다.

    이것을 5000K 혹은 그 이상으로 잡아주게되면 쿼리문을 입력할때 문자열이 길어서 제약위반이 되는것을 방지 할 수 있습니다.

    vi /etc/my.cnf
    
    max_allowed_packet=5000K

     

    wq! 눌러서 저장하고 나간다음 MySql (MariaDB) 재시작을 하면 됩니다.

    service mariadb restart
    
    service mysqld restart

    이제 phpmyadmin 에서 확인해보면 max allowed packet 값이 5000K (5,120,000) 들어간것을 확인 할 수 있습니다.

     

    그리고 다시 DB를 복원해보시면 이제는 정상적으로 해결되어 데이터가 잘 들어갈겁니다.

    set foreign_key_checks = on

    모두 해결되셨나요?

  • [Solved] 1273 – unknown collation ‘utf8mb4_unicode_520_ci’

    [Solved] 1273 – unknown collation ‘utf8mb4_unicode_520_ci’

    Error from phpMyAdmin or MySQL QueryString

    1273 - unknown collation 'utf8mb4_unicode_520_ci'

     

    The following error occurred during DB operation while working on relocating WordPress homepage.

    The reason is that utf8mb4_unicode_520_ci encoding is an unknown collection.

     

    (Korean)

    워드프레스 홈페이지 이전 작업도중 DB작업에서 아래와같은 에러가 발생하였습니다.

    그 원인으로는 utf8mb4_unicode_520_ci 인코딩이 알수없는 콜렉션이라고 나온것입니다.

     

    As a way to resolve this, you can either match the MySQL version to the same or just match it to the existing encoding of MySQL you are using now.

    Because changing the version is too risky, we have chosen to modify the string of backup data.

     

    (Korean)

    이것을 해결하기 위한 방법으로 MySQL 버전을 동일하게 맞추거나 혹은 지금 사용중인 MySQL의 존재하는 인코딩으로 맞춰주기만 하면됩니다.

    버전을 바꾸는것은 위험부담이 너무 크기때문에 우리는 백업 데이터의 문자열을 수정하는 방법을 선택하여 해결하였습니다.

     

    You replaced the string with Replace All and entered it again in the DB.

    Everything’s settled.

    WordPress is now working normally.

    Thank you 🙂

     

    (Korean)

    모두 바꾸기로 문자열을 바꾸었으며 다시 DB에 입력하였습니다.

    모든것이 해결되었군요.

    이제 워드프레스가 정상적으로 동작합니다.

     

    감사합니다 🙂

  • 홈페이지 이전 워드프레스 서버 바꿀때 주의할점

    홈페이지 이전 워드프레스 서버 바꿀때 주의할점

    이번에 의뢰하신 대표님께서는 기존 워드프레스 홈페이지를 운영하고 계십니다.

    닷* 업체에서 사용중이신데… 뭐 이유는 여러가지시고.. 도중에 홈페이지가 다운되는 뭐 그러한 불미스러운 일이 있었습니다.

    결국 저에게 의뢰하셔서 AWS로 워드프레스를 이전하게되었습니다.

     

    이번에 소스 전체를 확인해보니 대략 1.2기가 정도였고 데이터베이스 사용량은 200메가 정도 이었습니다.

    AWS (아마존 웹서버)로 이전하면서 파일 하나하나를 검토하게되었는데요..

    이상한 점을 발견하게 되었습니다.

    favicon.php 파일이 존재하였고 (동적으로 이미지를 바꾸는건가 싶었죠…) 용량이 이상하게 너무 컸습니다.

    대략 5메가 정도 되는 용량이엇는데… 프로그래밍 파일 크기가 그정도 용량이 되면 어마어마한 크기입니다.

    특히 웹서버에서 동작하는 프로그래밍 사이즈가 기껏해봐야 10k~50k 수준인데 5000k라면 거의 100~500배정도 큰 사이즈라는거죠.

     

    결국 제가 내부를 확인하게되었고 로그를 기록하는 단순 text 파일이라는 사실을 알게되었습니다.

     

     

    파일은 강제로 wp-load.php 파일이 로딩될때 자동으로 생성(추가) 되도록 되어져있더군요.

    $today = date( "Y.m.d H:i:s",time()); 
    $content = "time= ". $today. "\t\tIP= ". $_SERVER['REMOTE_ADDR']. "\t\tagent= ". $_SERVER['HTTP_USER_AGENT'];
    $content .= "\r\n\r\n";
    
    $filepath = "./favicon.php";
    $file=fopen($filepath, "a");
    fwrite($file, $content);
    fclose($file);

     

    개발자들은 위의 소스코드를 보면 뭘하는지 아실수있을겁니다.

    바로 시간과 아이피와 접속한 유저의 브라우저 정보를 차곡차곡 저장하는 소스코드입니다.

     

    문제는 이 로그를 누가? 왜? 만들었을까 문제입니다.

    당연히 워드프레스 서버 이전을 의뢰하신 대표님께서는 모르고 계셨고 닷* 호스팅 담장자에게 관련하여 아는정보 있냐고 여쭈어보았지만

    금시초문이라는 내용으로 돌아왔습니다. 그러나 누군가는 만들었습니다. 없는게 갑자기 뿅하고 생기지는 않습니다.

     

    테마 혹은 플러그인의 취약점을 통하여 추가되었을수도 있고요.

    지금도 계속 생성되고 있으시고 외부에서 그 페이지를 인위적으로 접근하게되면 서버는 부하걸리게됩니다.

    뺑글뱅글 돌아가는거 보이시죠?

    외부에서 누가 내 홈페이지에 어떤 아이피가 접근하고있는지 외부에서 확인할 수 있다는것이죠.

    어쩌면 해킹으로 연결될수있는 중요한 문제이기도합니다.

     

    자! 이부분을 제가 수정해드렸습니다.

    쓸데없이 이상한 기능을 누가 추가했는지는 모르겠지만 삭제했습니다.

    그리고 무사히 닷* 호스팅 업체에서 AWS로 홈페이지 이전 작업을 완료하였습니다.

    제가 해드린 작업은 이렇습니다.

     

    홈페이지 이전 방법

    1. 워드프레스 홈페이지 소스를 기존 호스팅업체의 서버에서 AWS로 옮기기

    2. 워드프레스 홈페이지 DB 백업 및 AWS로 옮기기

    3. 도메인 연결된 IP 주소를 AWS로 변경하기 (가비* 사용하고 계시더군요)

    4. SSL 보안서버 1년 추가 (기존 닷* 호스팅 업체에서는 보안파일을 따로 제공하지 않더군요)

    5. 워드프레스 전체 업데이트 및 모든 기능 정상 동작여부 확인

    완료!

     

    서버 옮기실때 꼭 홈페이지 소스에 바이러스가 있는지 확인하시기 바랍니다.

    그리고 이상이 있을 경우에는 이전하기 전에 꼭 모두 제거하시고 문제가 없을때 옮기셔야합니다.

     

    워드프레스 서버 이전 필요하신 분들은 언제든지 저에게 네이버 톡톡 또는 문자로 연락주세요.

    스마트폰에서 문자보내기 부분을 클릭하면 문자를 보내실 수 있습니다.

    제가 여러분들의 홈페이지를 안전하게 AWS로 이전시켜드리도록 하겠습니다.

     

    감사합니다.

  • 워드프레스 사이트 수동 이전 방법 – 글 파일 옮기기

    워드프레스 사이트 수동 이전 방법 – 글 파일 옮기기

    워드프레스 사이트 수동 이전 방법에 대한 경험 문서입니다

    워드프레스 사이트 전체를 옮기는 방법은 그냥 DB전체 백업과 폴더 전체를 복사(압축)하여 이전하면됩니다.

    이부분에 대해서는 크게 어려움이 없지만 오늘 제가 하려는 작업은 이미 워드프레스 2개가 운영 중입니다.

    A 워드프레스에서는 애드센스 승인이 되지 않아 B 워드프레스로 모든 글을 옮기기 위해 글 옮기는 과정을 포스팅합니다.

    애드센스 수익을 내기 위해서는 구글 애드센스 계정내에 도메인 승인이 이루어져야합니다.

    A라는 워드프레스는 발행한 글만 36개 입니다.

    워드프레스 사이트 수동 이전 방법

    이 글들을 하나하나 정성드려 작성한 글이기에 그냥 버리기에는 너무 아깝고 애드센스 수익 승인받은 도메인으로 옮기는것입니다.

    A라는 워드프레스는 사실 문제가 전혀없습니다. 하지만 정책상 어떠한 이유인지는 몰라도 자꾸 다른곳에 글을 복사해서 작성된 자동화된 사이트라고만 제시하더군요.

    이러한 경우를 많이 당해보았고 또 왠만해서는 승인받을수 있지만…

    이 A 워드프레스는 제가 운영하는것이 아니라 아내가 운영하는곳이고해서 그냥 아내 워드프레스 B 블로그로 옮기는것입니다.

    B워드프레스도 처음에 이러한 과정을 거쳤지만 현재는 애드센스 수익이 나오고 있는 워드프레스입니다.

    워드프레스 사이트 수동 이전 방법 – 글 파일 옮기기

    1. 워드프레스 관리자 화면에서 도구 항목의 내보내기 기능을 이용합니다.

    워드프레스 사이트 수동 이전

    내보내기 할때에는 여러가지 조건들이 존재하지만 따로 설치를 해야하는 플로그인은 없습니다.

    원하는 조건 항목을 클릭하여 글을 선택합니다.

    저는 전체를 다 옮겨야 하므로 그냥 위의 상태로 [ 내보내기 파일 다운로드 ] 버튼을 눌렀습니다.

    파일다운로드 받으면 xml 파일을 하나 받습니다.

    xml 파일을 열어보면 제목, 이미지주소, 글 주소 등등 내용들로 이루어져있습니다.

    따로 수정할 필요는 없고 옮기려는 워드프레스에서 가져오기 버튼을 이용해야합니다.

    2. 옮길 글을 새로운 워드프레스 관리자의 도구 -> 가져오기 기능을 이용합니다.

    이때에는 워드프레스 플러그인을 하나 설치해야합니다.

    각 항목에 따라 다른데 오늘 제가 옮기는 것은 글을 수동으로 옮기는것이기에 WordPress 플러그인을 [ 지금설치 ] 버튼을 눌러 설치해줍니다.

    파일선택 버튼을 클릭하여 A 워드프레스에서 받은 xml을 선택합니다.

    파일 업로드하고 가져오기 버튼을 클릭하면 아래처럼 글쓴이변경과 첨부파일 내려받기와 가져오기에 대한 체크항목을 확인 할 수 있습니다.

    이렇게 진행을 하면 성공한것입니다.

    하지만 이렇게 옮기게되면 파일이 옮겨지지 않습니다.

    워드프레스의 파일 엑박이 나오죠.

    이전 A 워드프레스의 도메인이 그대로 살아 있다면 엑박이 나오지는 않고 그 도메인의 주소로 이미지를 볼 수 있습니다.

    하지만 도메인을 버리거나 변경하는 경우라면 또 지금처럼 엑박이 나오게됩니다.

    이때에는 DB 하나하나를 수정해주거나 (일괄 도메인을 특정 도메인으로 바꿀 수 있습니다) 가져오기 할때 xml 파일을 미리 변경하는것입니다.

    이 주소를 미리 바꾸고 첨부파일을 이전 서버에서 압축해서 그대로 옮기면됩니다.

    이렇게 할 경우 또 문제가 하나 더 발생합니다.

    uploads/폴더에 그런경우는 잘 없지만.. 파일명이 겹치는것입니다.

    파일명이 겹치는것으로 방지 하는 방법을 알려드릴게요.

    현재 제가 사용하는 방법이기도 합니다.

    기존 A 워드프레스의 upload 폴더 전체를 _Awordpress 이렇게 접미사를 붙여 폴더명을 새롭게 만들어줍니다.

    그리고 압축하여 B 워드프레스 업로드 폴더와 나란히 옆에 둡니다.

    이렇게 업로드 폴더가 2개가 되죠.

    기존 A워드프레스의 모든 파일은 접미사가 붙어 이는 이 폴더에 존재합니다.

    그러면 우리는 A워드프레스의 xml 파일 내용중 upload 폴더까지 수정해주어야겠죠?

    우선 기존 A워드프레스 도메인명으로 xml 파일을 검색합니다.

    그러면 생각보다 엄청 많이 검색됩니다.

    이렇게 Ctrl + H 누를경우 (노트패드에서 단축키) 찾을글자와 바꿀 글자를 일괄 변경할 수 있습니다.

    그리고 upload폴더명도 같이 바꿔주셔야합니다.

    확인해보니 url 주소도 잘 변경되었고 파일 위치도 제가 접미사로 등록한 upload폴더에 잘 연결되어져있습니다.

    물론 사진도 잘 나오고 있네요.

    만약 C라는 새로운 워드프레스를 또 B 워드프레스에 통합하고 싶다면..

    저는 또 이렇게 반복할겁니다.

    정리해볼까요?

    제일먼저. upload 폴더를 접미사(기존도메인을 기억할수 있도록 가급적이면 _도메인명 으로 접미사로 제목을 만드세요)를 붙여 압축하여 파일을 옮길 워드프레스의 upload 폴더와 같은 위치에 나란히 복사합니다.

    두번째. 가져오기 xml 파일속에 도메인을 모두 일괄 바꾸시고 upload폴더를 접미사 붙인 폴더명으로 변경해줍니다.

    간단하죠?