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

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

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

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

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

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

     

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

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

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

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

     

    워드프레스 내보내기

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

    워드프레스

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

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

    워드프레스

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

    워드프레스

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

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

    워드프레스

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

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

    워드프레스

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

     

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

     

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

    워드프레스

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

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

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

     

    워드프레스

    워드프레스

    짠!

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

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

     

     

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

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

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

     

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

     

    워드프레스

     

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

    저는 무조건 살릴겁니다.

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

     

    감사합니다.

     

  • bitnami apache restart commands 라이트세일 비트나미 서버 실행 명령어

    bitnami apache restart commands 라이트세일 비트나미 서버 실행 명령어

    라이트세일 워드프레스 운영 도중 서버 재실행 명령어를 몰라서 정리를 해놓았습니다.

    보통 아파치서버, 디비서버, php 서버 이정도 수준이라서 3가지만 알면 쉽게 서버를 시작하고 중지시킬수 있습니다.

    아래 명령어를 바탕으로 파라미터값만 추가해주면됩니다.

    argument 값에 apache, mariadb, mysql, php-fpm 넣어서 실행하면 동작합니다.

     

     

    서비스 상태 확인

    sudo /opt/bitnami/ctlscript.sh status
    
    
    apache already running
    mariadb already running
    php-fpm already running

     

    모든 비트나미 서비스 시작

    sudo /opt/bitnami/ctlscript.sh start

     

    모든 비트나미 서비스 중지

    sudo /opt/bitnami/ctlscript.sh stop

     

    모든 비트나미 서비스 재시작

    sudo /opt/bitnami/ctlscript.sh restart

     

    bitnami apache (httpd) 웹 서버 재시작

    sudo /opt/bitnami/ctlscript.sh restart apache

     

    bitnami mysql DB 서버 재시작

    sudo /opt/bitnami/ctlscript.sh restart mysql

     

    bitnami php-fpm 서버 중지

    sudo /opt/bitnami/ctlscript.sh stop php-fpm

    모든 비트나미 서비스 재시작

    sudo /opt/bitnami/ctlscript.sh restart

     

     

    워드프레스

     

    출처는 비트나미 공식 홈페이지 control-services 설명서에서 인용하였으며 php-fpm 항목을 추가하여 글을 작성해놓았습니다.

    워드프레스

  • 라이트세일 워드프레스 아마존 AWS 서버 10번 설치하고 알아낸 사실

    라이트세일 워드프레스 아마존 AWS 서버 10번 설치하고 알아낸 사실

    라이트세일 워드프레스 구입을 하게되었습니다.

    처음에 AWS EC2만 9개의 인스턴스를 이용중이었습니다.

    서버 비용은 대략 30만원정도 지출이 되고 있는 상태입니다.

    워드프레스 블로그만 운영한다면 굳이 높은 금액의 EC2 인스턴스를 이용할 필요가 없습니다.

    저는 워드프레스뿐만 아니라 프로그램앱 구동과 시스템구축의 데이터베이스를 위해 사용중입니다.

    최근에 $5 플랜의 라이트세일로 어느정도 성능과 방문자를 유지할수 있는지 알고 싶어 라이트세일을 구입해보았습니다.

    그냥 눈 딱 감고 처음에 실행해야하는 명령어입니다.

    복사 붙여넣기하셔서 접속하신 다음 붙여넣기 하면됩니다.

    라이트세일 워드프레스 초기 설정

    단, root 암호입력과 vi를 통하여 세팅해야할 부분은 아래에서 각각 찾아 해야합니다.

    sudo passwd
    #암호 새로 입력 후 
    sudo su -
    
    #root 바로 접속하기 위함
    vi /root/.ssh/authorized_keys
    
    #alias 연결하기 위함 (주석제거)
    vi /root/.bashrc
    
    #SSH Port 22 변경
    vi /etc/ssh/sshd_config
    
    #파일 SSH전송
    sudo apt-get install lrzsz 
    sudo apt-get install python3-distutils
    
    reboot
    
    #wp-cache 설치 후 다시 644 되돌려놓기
    chmod 664 /opt/bitnami/wordpress/wp-config.php
    chmod 644 /opt/bitnami/wordpress/wp-config.php
    #마우스 복사 할 경우 위의 선행작업 후 아래를 복사 붙여넣기 해야합니다.
    
    #phpmyadmin URL
    vi /opt/bitnami/apache/conf/bitnami/phpmyadmin.conf
    
    

    Alias /phpmyadmin “/opt/bitnami/phpmyadmin”
    <Directory “/opt/bitnami/phpmyadmin”>
    Options -Indexes +FollowSymLinks -MultiViews
    AllowOverride All
    Require local
    ErrorDocument 403 “For security reasons, this URL is only accessible using localhost (127.0.0.1) as the hostname.”
    # AuthType Basic
    # AuthName phpmyadmin
    # AuthUserFile “/opt/bitnami/apache/users”
    # Require valid-user

    <IfVersion < 2.3 >
    Order allow,deny
    Allow from all
    Satisfy all
    </IfVersion>
    <IfVersion >= 2.3>
    Require all granted
    </IfVersion>
    ErrorDocument 403 “For security reasons, this URL is only accesible using localhost (127.0.0.1) as the hostname”
    </Directory>


    alias ls='ls $LS_OPTIONS'
    alias ll='ls $LS_OPTIONS -l'
    alias l='ls $LS_OPTIONS -lA'
    
    alias rm='rm -i'
    alias cp='cp -i'
    alias mv='mv -i'
    
    sudo apt-get install lrzsz
    
    sudo apt-get install python3-distutils
    
    
    

    라이트세일 워드프레스 세팅이 까다롭다

    EC2 인스턴스를 주로 사용하다보니 이미 짜여진 각본?으로 만들어진 라이트세일 워드프레스 VM은 상당히 다루기가 어렵더군요.

    Bitnami를 이용하여 아파치와 php, DB를 이미 구성해놓은 기성품이라보니 거기에 제가 맞춰야하는 상황이 벌어졌습니다.

    EC2 인스턴스에  아파치서버와 mariadb, php 8 버전까지 제가 원하는 버젼별로 설치를 해서 맘대로 구성했다면…

    라이트세일 워드프레스는 아마존에서 사바 전문가들이 워드프레스 최적화 서버를 만들어놓았다? 정도로 해석할수 있습니다.

    그렇기 때문에 구성이 저랑 달라서 힘들었을뿐이지 워드프레스 최적화가 잘 되어있는지 제가 세팅한 EC2의 워드프레스보다 여러모로 잘 되어져있어보이고

    또 속도도 $5플랜치고는 t2.samll 에서 운영하는 제 워드프레스보다 빠른것같아 하나 돌려보고 괜찮으면 계속 늘려가볼 계획입니다.

    이 글 작성이 2021년 10월 27일이니… 이후에 시간이 꽤 많이 지난상태에서도 제가 지속적으로 라이트세일을 사용하고 있는지 확인해본다면…

    그 가치가 EC2 보다 좋다 못하다를 알수 있을겁니다.

    라이트세일 워드프레스

    하지만 오늘은 라이트세일 워드프레스를 제 입맛?에 맞도록 구성해야합니다.

    몇번을 더 삭제하고 생성해야 하는지 모르겠습니다.

    제가 이미 작성한 글을 보면서 한번에 쉽고 빠르게 만드실 수 있을겁니다.

    저는 이 글을 작성하기전에 이미 2번의 라이트세일 워드프레스 VM이미지를 삭제한 상태입니다.

    이번이 3번째입니다. (글 수정) 4번째 생성해서 진행 중 입니다.

    방금 아래처럼 페이지가 작동하지 않습니다. 라고 나와서 또 삭제하고 새로 설치중입니다.

    워드프레스

    라이트세일 워드프레스 설치 과정

    1. ll 명령어 연결 활성화

    워드프레스
    ll
    
    -bash: ll: command not found

    LL, ll, 엘엘 명령어 많이 치시죠?

    처음에 들어가면 초기화상태라서 심볼릭이 연결되어져있지 않습니다.

    그래서 ls -a 이런 명령어를 사용해야하는데 리눅스를 처음 접하시는 분들은 심볼릭? 이게 뭐야? 그러실수 있습니다.

    워드프레스
    alias ls='ls $LS_OPTIONS'
    alias ll='ls $LS_OPTIONS -l'
    alias l='ls $LS_OPTIONS -lA'
    워드프레스

    .bashrc 파일을 vi 명령어로 접속하면 대부분 주석이 되어져있는데 주석을 풀어도 되며 echo 명령어로 위의 명령어를 입력하여도 됩니다.

    워드프레스

    2. lrzsz install ssh 툴 업로드 다운로드

    rz명령어와 sz 명령어를 이용하여 ssh 툴로z-modem 업/다운로드 하는 모듈을 설치해야합니다.

    이거는 사실 안해도되지만 제가 EC2 인스턴스에서 매번 서버에 다운받고 업로드 할 일이 많아서 설치를 했습니다.

    ssl 인증서를 업로드 할 경우와 워드프레스 블로그에 직접적으로 파일을 업로드 받을때, 백업 등등 에 활용합니다.

    sudo apt-get install lrzsz
    워드프레스

    3. 라이트세일 워드프레스 ssh root 바로 접속

    보안상 이부분에 대해서는 나뉠수 있습니다.

    root접속을 바로 할 경우에는 여러모로 작업들이 편해지지만 user라던지 bitnami 계정으로 접근하게된다면

    매번 명령어를 사용할때마다 root권한을 얻은 sudo 명령어를 포함해서 입력해야합니다.

    vi 명령어를 이용하여 .ssh  숨은폴더 안의 인증서를 수정해야합니다.

    vi /root/.ssl/authorized_keys

    워드프레스

    처음부터  [ ssh-rsa AAA…… ] 시작하는 앞 부분 싹 지워야합니다.

    워드프레스

    sleep 10″ 이라고 나온 저부분까지 싹 지워야하죠.

    지우고 ESC -> wq 누르고 저장해서 나간다음 ssh가 그대로 접속된 상태에서 새로운 세션을 열어서 root로 접속해야합니다.

    만약 내가 실수를 해서 잘못지우거나 하면 바로 수정해야하기때문이죠.

    저는 이 부분을 너무 많이 해봐서 그냥 삭제하고 바로 접속했습니다.

    워드프레스

    root 접속이 잘 되는군요.

    ※ root 접속하기 위해서는 먼저 root passwd 암호부터 설정해놓고 접속하셔야합니다.

    라이트세일 워드프레스는 이미 워드프레스가 설치가 된 상태이므로 따로 아파치를 설치한다거나

    가상호스트를 만들어준다거나 하지 않아도 이미 고정 ip만 입력하면 워드프레스에 접속됩니다.

    초기에 정해진 사용자와 암호는 user 이고 암호는 cat /home/bitnami/bitnami_application_password 명령어로 찾을 수 있습니다.

    cat /home/bitnami/bitnami_application_password
    워드프레스
    워드프레스
    워드프레스

    처음부터 바로 글을 작성해도 상관은 없지만…

    ssl 인증서라던지 서버가 부하에 걸릴경우 자동으로 아파치를 재실행 해준다던지 등등

    SEO관련 기본 세팅과 서버 자동화를 위해 이러한 과정들 하나하나 세팅해야합니다.

    하루 날잡고 밤을 새서라도 이 글을 통해서 라이트세일 워드프레스를 마스터하시기 바랍니다.

    한번 세팅만 잘 해놓으면 이후로 그냥 워드프레스에 글만 작성하면됩니다.

    4. SSL 인증서 설치

    https://lightsail.aws.amazon.com/ls/docs/ko_kr/articles/amazon-lightsail-enabling-https-on-wordpress

    아마존 라이트세일 문서를 통해서 진행합니다.

    매우중요!!

    ※ bncert 모듈을 이용하면 80일마다 자동으로 갱신되기때문에 따로 설정을 할 필요가없습니다.

    sudo /opt/bitnami/bncert-tool
    워드프레스

    이미 설치된 경우라면 저처럼 업데이트 될 경우 업데이트부터 하라고 나옵니다.

    업데이트까지 마친 상태라면 아래처럼 도메인 리스트[] 라고 콘솔창을 보게됩니다.

    워드프레스

    자신이 인증서를 발급 받고자 하는 도메인 주소를 입력합니다.

    그 이후로는 대부분 Y와 동의를 눌러주면 설치가 진행됩니다.

    워드프레스
    Changes to perform
    
    The following changes will be performed to your Bitnami installation:
    
    1. Stop web server
    2. Configure web server to use a free Let's Encrypt certificate for the domains: 
    mYDomain.com www.mYDomain.com
    3. Configure a cron job to automatically renew the certificate each month
    4. Configure web server name to: www.mYDomain.com
    5. Enable HTTP to HTTPS redirection (example: redirect http://mYDomain.com to 
    https://mYDomain.com)
    6. Enable non-www to www redirection (example: redirect mYDomain.com to 
    www.mYDomain.com)
    7. Start web server once all changes have been performed

    위의 내용이 무슨 말이냐하면…

    쉽게 말씀드리면 아파치 서버를 잠시 멈추고 모든 세팅이 완료되면 아피치를 실행하라는 이야기입니다.

    저는 그냥 뭐 아파치가 실행중인 상태에서 진행을 했으며 세팅 끝에 아파치를 종료하고 새로 시작해주었습니다.

    정상적으로 HTTPs  설치가 되었고 접속이 되는것을 확인하였습니다.

    워드프레스

    ※ SSL 플러그인은 사실 설치 안해도 큰 문제는 안되지만 설치를 해놓으면 Redirect 등 자동으로 세팅을 해주니 편합니다.

    무슨말이냐하면… 혹시 나중에 보면서 또 잊을수도 있으니..

    글을 작성하고 제목이 바뀌어서 URL 까지 바꾸게될때 이때 Redirect 플러그인이 자동으로 글 주소를 지정해줍니다.

    다음으로 워드프레스 관리자에 접속부터 합니다.

    그리고 기본으로 설치되어져 있는 플러그인을 모두 활성화합니다.

    (SSL 플러그인을 설치 하기 위한 기본 확인단게입니다)

    워드프레스
    워드프레스

    저는 일단 업데이트까지 모두 하였습니다.

    나중에 필요없는 플러그인을 삭제는 하겠지만… 일단은 모두 활성화 & 업데이트 했습니다.

    Really Simple SSL 플러그인 플러그인 검색에서 찾아 설치합니다.

    워드프레스

    Install Now 클릭하고 Active 활성화까지 눌러주세요.

    플러그인 리스트중에서 Really Simple SSL 플러그인이 아래처럼 보이면 정상 작동하는중입니다.

    Settings 눌러서 SSL을 설치합니다.

    워드프레스
    워드프레스

    혹시라도 아래처럼 나온다면 wp-config 파일을 664 권한을 변경해주면 자동으로 등록됩니다.

    sudo chmod 664 /opt/bitnami/wordpress/wp-config.php
    
    
    워드프레스
    워드프레스

    보안상  권한수정 변경에 민감하시다면

    아래처럼 직접 wp-config.php 파일에 입력하시면됩니다.

    vi /opt/bitnami/wordpress/wp-config.php
    워드프레스
  • [Solved] User does not have sufficient permission for site

    [Solved] User does not have sufficient permission for site

    [ Solved ] User does not have sufficient permission for site

    My WordPress blog has been zero visitors since the error occurred.
    In order to solve this problem, I identified and corrected the problem to solve it.

    워드프레스

     

    워드프레스

     

    I proceeded with the reset at Site Kit.

     

    워드프레스

    워드프레스

    Then, the plug-in was completely deleted.

    After downloading, installing, and authenticating the Site Kit, it came out normally.

     

    워드프레스

    워드프레스

     

    Since then, I had to do all the settings.
    Ad-sense, Google Analytics, etc.

     

    워드프레스

    Additional authentication and authority registration were made on the way.

     

    워드프레스

    All parts come out normally.
    And the number of visitors is expected to increase.

     

  • jquery click 이벤트 안됨 동적 페이지 적용 방법

    jquery click 이벤트 안됨 동적 페이지 적용 방법

    jquery click 이벤트 안됨 해결 방법이며 이미 해결한 상태입니다

    jquery click 이벤트 안됨

    동적 페이지 생성으로 인해서 과거 동작하던 jqeury 구문이 안되는 일이 발생하였습니다.

    $("#selector").click(function(){
        alert("OK");
    });

    ID 값을 선택자로 잡아서 클릭 이벤트를 실행하더라도 이벤트가 안됩니다.

    정적 페이지에서는 잘 되는데 동적으로 새로 생성된 페이지에서는 위의 코드로는 동작하지 않습니다.

    그럴때에는 click 이벤트보다 아래처럼 on 이벤트를 이용하여 깔끔하게 해결됩니다.

    $(document).on("click", ".scroll_to", function(){
        event.preventDefault();
        $('html,body').animate({scrollTop:$(this.hash).offset().top}, 1000);
    });

    on(“click”, “선택자”, function(){});

    jquery click 이벤트 안됨

    위의 소스코드는 워드프레스에서 scroll_to 클래스를 클릭할때 자동으로 그 위치로 부드럽게 이동하는 소스코드입니다.

    처음에 click() 이벤트를 사용했을때에는 경고창조차 뜨지 않았습니다.

    아무래도 워드프레스 페이지는 정적인 페이지보다 동적으로 페이지가 만들어지다보니 동적 페이지에서 동작하는 on 이벤트를 사용하면 됩니다.

    간단하게 아래처럼 소스코드로 jQuery 클릭 이벤트가 동적하는지 확인해보세요.

    $(document).on("click", "선택자", function(){
        alert("동작확인");
    });

    jQuery 동적 페이지 클릭 이벤트 해결되셨죠?

    혹시 안되는 부분 있으시면 저에게 바로 알려주시기 바랍니다.

    감사합니다.

  • aws 워드프레스 설치 방법 초보도 따라해보세요

    aws 워드프레스 설치 방법 초보도 따라해보세요

    aws 워드프레스 설치

    우선 워드프레스를 처음 설치하시는 분들을 위해서 설치형 워드프레스를 깔기 위해서 필요한 부분을 설명부터 해드리겠습니다.

    워드프레스를 설치 하기 위해서는 우선 호스팅 서버가 필요합니다.

    우리가 살기 위해서는 집이 필요하듯 워드프레스 블로그를 운영하기 위해서는 서버가 필요합니다.

    우리는 그곳의 이름을 호스팅서버라고 칭하고 있습니다.

    수 많은 호스팅 업체가 있는데… 서버를 모아 관리하는곳을 보통 IDC라고 말합니다.

    요즘에는 클라우드 업체에서 서버를 VM모드로 조립할수 있어 원하는 서버를 만들수가 있죠.

    워드프레스를 아마존 AWS(Amazon Web Server)에 설치하기 위해서는 바로 아마존에서 운영하는 서버가 필요합니다.

    AWS는 EC2 인스턴스를 구입하여 설치를 하면됩니다.

    이번 포스팅에서는 이미 구입한 AWS 에 워드프레스를 설치하는 방법입니다.

    어디에서 다운받아야 하며 초기에 어떠한 세팅들을 해야하는지를 안내해드릴겁니다.

    AWS를 이미 운영하고 계신다면 초보라도 보고 따라 할 수 있으실겁니다.

    aws 워드프레스 설치 방법

    1. 워드프레스 설치 파일을 다운받습니다.

    워드프레스

    AWS에서는 아래 명령어로 최신 워드프레스 설치 파일을 다운받을 수 있습니다.

    wget https://wordpress.org/latest.zip
    워드프레스

    2. 워드프레스 악축해제 명령어로 설치 파일을 폴더에 저장합니다.

    AWS에 바로 받으신 분들은 압축부터 풀어야합니다.

    zip 파일로 되어져있을테니 아래 명령어를 이용하면 압축이 풀립니다.

    unzip lastest.zip
    워드프레스

    압축을 풀었다면 웹서버 가상호스트에 등록하면 됩니다.

    워드프레스

    이 부분은 EC2 웹서버 설치 관련 글을 참고하셔서 vHost를 생성하면됩니다.

    각자 자신들의 폴더와 서버이름을 입력해서 작성하면됩니다.

    워드프레스

    처음 압축을 풀면 소유자가 root로 나옵니다.

    chown apache.apache wordpress/ -R

    이라고 명령어를 치면 워드프레스 이하 모든 파일,포더에 대해서 아파치 소유자로 변경됩니다.

    워드프레스

    3. 데이터베이스를 생성합니다.

    웹서버에 phpmyadmin이 설치되어져있다면 아래처럼 사용자계정을 생성해주면서 동시에 데이터베이스를 생성합니다.

    워드프레스

    동명의 데이터베이스를 생성하고 모든 권한을 부여. 라는 부분에 체크하면 됩니다.

    이때 생성하는 데이터베이스 명과 유저명 그리고 암호를 잘 기억해야합니다.

    다음 항목에 나올 워드프레스 설치에 입력해야하기때문이죠.

    4. 워드프레스 설치를 합니다.

    vHost까지 이미 생성된 분들은 도메인명을 입력하면 바로 설치 화면으로 전환됩니다.

    워드프레스

    저는 한국어를 클릭해서 설치했습니다.

    큰 차이는 없으나 관리자 모드에서 한글로 나오는 정도입니다.

    워드프레스

    계속 버튼을 클릭하고 제가 위에서 이미 말씀드렸던 부분에 대한 설명이 나올겁니다.

    데이터베이스 정보를 입력하여야 한다는 내용이죠. 그냥 시작합니다. 버튼을 누르면 다음으로 넘어가는데 그때 입력하면됩니다.

    워드프레스

    아래 데이터베이스 정보를 이전에 만들때 입력했던 정보 그대로 입력합니다.

    워드프레스

    정상적으로 똑같이 입력했다면 다음으로 넘어갑니다.

    만약 이때 오류가 발생한다면 분명 뭔가 놓치신겁니다.

    암호가 틀렸거나 데이터베이스명 철자가 틀렸거나 로컬이 아닌 %로 입력했다거나 그럴겁니다.

    워드프레스

    설치 실행을 클릭하면 대부분 10초안에 끝납니다.

    만약 이때 시간이 오래 지연된다면 데이터베이스 연결이 잘 안된다고 보시면되십니다.

    워드프레스

    잘 설치되셨다면 위의 성공 멘트와 함께 로그인을 할 수 있습니다.

    워드프레스

    아이디와 비밀번호를 입력하여 로그인하면 관리자 화면을 볼 수 있습니다.

    워드프레스

    5. 테마와 플러그인을 설치합니다.

    저는 기존 설치된 테마와 플러그인을 모두 삭제하였습니다.

    워드프레스
    워드프레스

    테마는 구글 검색과 네이버 검색이 잘 되어야하므로 SEO가 어느정도 검증된 테마를 골라야합니다.

    플러그인은 SEO 플러그인과 꼭 필요한 몇가지 플러그인들이 있는데 그러한 플러그인을 설치하면됩니다.

    마음에 든다고 하여 무조건 설치해서는 안됩니다.

    꼭 검증된 플러그인과 검증된 테마를 설치해야합니다.

    워드프레스
    워드프레스
    워드프레스

    이제 회사 소개와 검색 유입을 위한 키워드로 글을 작성하면됩니다.

    네이버 검색과 구글 검색은 웹마스터도구와 애널리틱스를 이용하면 노출이 서서히 되기 시작합니다.

    웹사이트 1등 잡는 노하우가 궁금하신가요?

    그렇다면 워드프레스 태그 항목을 로얄키워드를 이용하여 등록해보시기 바랍니다.

    감사합니다.

  • [ 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 개인 서버 비용

    아마존 웹서비스 과금 aws 개인 서버 비용

    아마존 웹서비스 과금 지금까지 나온 통계를 보았습니다.

    AWS 운영에 도움이되셨으면 합니다.

    아래 보시는것처럼 올해 2021년 1월부터 AWS를 운영하고 있습니다.

    워드프레스

    실제 준비는 2020년 12월부터 했던것으로 기억하고 있습니다. 11월 아니면 12월일겁니다.

    그당시 제가 운영하던 서버에 해킹과  보안상의 문제로 아마존을 선택하였습니다.

    가장 좋은 부분은 서버를 제 마음대로 교체 가능하다는 점에서 가장 맘에 듭니다.

     

    워드프레스

    5월까지 꾸준히 AWS 아마존 웹서비스 과금 증가하는것을 볼 수 있습니다.

    그 이유는 워드프레스 중에서 방문자가 많이 오는게 몇개 있는데 그 사이트의 동시접속자가 많아서 서버부하로 DB가 자꾸 멈추는 일이 생겼습니다.

    그럴때마다 사양을 1단계씩 증가시키다보니 점점 비용이 많이 나오게 된것입니다.

    현재 워드프레스는 대략 100개정도 운영하고 있고요. 서버는 총 8개를 운영하고 있습니다.

    워드프레스

    이중에는 무료 프리티어도 1개가 존재하지만 제가 사용하는 트래픽 양만 보면 프리티어는 하루만에 소진되기도합니다.

    달러로 표기되다보니 정확한 금액이 산출안되실텐데요..

    대략 30만원이내 라고 생각하고 있습니다.

    워드프레스

    앞으로 서버 또 증설해야하니 30~35만원까지 더 증가할수도 있습니다.

    원래 사무실 운영할 당시 전기요금과 사무실 비용을 다 따지면 한달에 유지비용만 100만원이 넘었습니다.

    지금은 사무실을 아파트 구입으로 해결한상태라 월 5만원정도의 관리비와 전기요금 25만원정도가 전부라서 유지비가 확 줄어들었죠.

    그만큼 아마존에 더 투자하고 있습니다.

    워드프레스

    대부분 t3 계열의 인스턴스를 사용하고 있으며 주요 워드프레스는 m5 EC2모델을 사용하고 있습니다.

    저거 한대가 다른녀석들 전체와 맞먹는금액일겁니다.

    사양이 빵빵하다보니 동시접속자가 많더라도 개인 홈페이지 운영치고는 잘돌아갑니다.

    워드프레스

     

    aws 개인서버 비용 얼마정도 나올까싶어 검색하시는 분들 많으실꺼라 봅니다.

    제가 만약 워드프레스 1개 (티스토리 대신 사용할) 운영한다면…

    한달 3-5만원정도 잡으면 완전 널널합니다. (하루 방문자 1만명이상도 거뜬합니다)

    사실 개인서버 구축 용도로 애드센스 솔솔하게 버는 수준이라면 메모리 4GB정도에 듀얼 CPU 정도면 적당합니다.

    이정도 사양이면 t3 미디엄이나 t3a 미디엄 정도 됩니다. 3만원~4만원 정도 되는 금액이죠.

    만약 2기가로 파이썬 명령어로 메모리 관리를 할 수 있다면 한달 2만원선으로도 운영하능해집니다.

    제가 EC2 가격을 정리해놓은 글이 있는데 한번 읽어보시고요.

    파이썬으로 메모리 관리하는 글도 올려놓은게 있습니다.

    아개 글 각각 한번 읽어보세요

    amazon aws price for linux

    아마존 EC2 메모리 부족 아파치 자동 재실행 파이썬 스크립트

     

    감사합니다.

  • 워드프레스 홈페이지 자동 광고 위젯 만들기

    워드프레스 홈페이지 자동 광고 위젯 만들기

    광고 위젯 만들기 php언어 입니다

    광고 위젯 만들기 소개

    워드프레스 홈페이지를 구경하다보면 사이드 위젯이 자동으로 바뀌는 광고를 보셨을겁니다.

    혹시 못보셨다면 티온스테이션에서 F5 번을 클릭해보시기 바랍니다.

    아니면 지금 이 블로그 리눅스맨 워드프레스에서도 오른쪽 사이드광고를 보시면됩니다.

    광고 위젯 만들기

    아도비 위젯이 광고로 나오고 있음을 볼 수있습니다.

    보통 제휴마케팅 광고를 등록하게되면 그 위치에는 내용을 수정하지 않는 이상 계속 그 광고만 노출됩니다.

    제휴마케팅 뿐만 아니라 특정 배너광고도 마찬가지입니다. 한번 등록한 이미지, 광고 내용은 수정전에는 다른 광고로 바꿀수가 없습니다.

    하지만 오늘 제가 알려드리는 방법은 여러가지 광고를 임의로 넣어두고 랜덤하게 혹은 특정 조건에 맞춰서 원하는 광고를 더 많이 나오도록 할 수 있는 방법입니다.

    PHP 코드를 이용하는 방법이라 다소 프로그래머가 아니라면 어려워보일수도 있겠지만

    플러그인 설치와 위젯등록만 할 수 있다면 누구든지 따라할수 있을정도로 쉽습니다.

    숏코드 방법으로 할수도 있지만 이 방법으로 하게되면 더 혼란과 어려움으로 이어질것같아 오늘은 PHP CODE 플러그인을 이용해서 쉽게 알려드릴께요.

    워드프레스 위젯 자동광고 등록 방법

    1. PHP Code Widget 플러그인을 설치합니다.

    워드프레스

    플러그인에서 php code widget 이라고 검색하면 나옵니다. 아래처럼 이미지가 <? 이렇게 생긴 플러그인을 설치하면됩니다.

    워드프레스

    설치를 하셨다면 따로 더이상 세팅할 무언가가 있진않습니다. 그냥 설치 그 자체로 php 구문을 사용할수 있습니다.

    워드프레스

    설치가 되었다면 꼭 활성화 버튼까지 눌러주셔야합니다.

    2. php위젯을 등록합니다.

    워드프레스

    만약 워드프레스 테마가 제가 운영하는 블로그와 달라 위와같은 모양이 아니라면 아래처럼 외형 -> 위젯 항목에 들어가셔서 추가할 수 있습니다.

    워드프레스

    PHP Code 라고 적힌 위젯을 마우스로 (왼쪽클릭) 꾹 눌러서 드래그(이동)시키면 됩니다.

    아래처럼 따라하면 쉽게 위젯을 등록할 수있습니다.

    워드프레스

    3. 아래 php코드를 입력합니다.

    워드프레스

    위젯을 등록하였다면 Title 과 본문내용을 넣을 수 있는 공간이 나타납니다.

    타이틀에는 제목을 적으시고요 (생략가능하니 적지 않아도 됩니다.)

    본문 내용에 자신의 상황에 맞게끔 수정해서 넣으시면됩니다.

    <?php
    $randomX = rand(0,10);
    switch($randomX)
    {
    case 0:
    ?>
    광고코드 (또는 이미지) 1
    <?php
    break;
    case 1:
    ?>
    광고코드 (또는 이미지) 2
    <?php
    break;
    case 2:
    ?>
    광고코드 (또는 이미지) 3
    <?php
    break;
    case 3:
    ?>
    광고코드 (또는 이미지) 4
    <?php
    break;
    default:
    ?>
    광고코드 (또는 이미지) 5 (기본설정)
    <?php
    break;
    }
    ?>
    워드프레스

    위의 php 코드를 제가 설명을 잠깐 드리면 이렇습니다.

    $randomX = rand(0,10);

    빨강색으로 변수명을 randomX 라고 칭했습니다. 이곳에 0부터 9까지 숫자가 임의로 랜덤하게 적용됩니다.

    예를들어 F5를 누르면 $randomX 값이 5가 될수도 있고 1이 될수도 있고 0 또는 9가 될수도 있다는 이야기입니다.

    이렇게 특정 값을 배정받게 되어 1이 적용될 경우 case 1: 항목의 광고를 보여주는것입니다.

    위의 코드를 잘 보면 case가 0부터 3까지가 있고 default 이렇게 총 5가지의 경우의수가 있습니다.

    랜덤숫자가 0,1,2,3 이렇게 나올경우 광고코드 (또는 이미지) 1 ~ 광고코드 (또는 이미지) 4 까지 적용됩니다.

    하지만 4부터 10까지의 숫자에 대해서는 광고코드 (또는 이미지) 5 (기본설정) 적용됩니다.

    결국 랜덤숫자가 0부터 10까지 총 11개중 1개를 추출하기때문에 Default로 지정된곳이 상대적으로 많이 보여주게되죠.

    대략 65%정도는 이곳 기본을 보여주고 나머지 대략 9% 확률로 각각 0,1,2,3 경우를 보여주게됩니다.

    그래서 많이 보여주고 싶은 광고를 Default에 넣고 0,1,2,3 경우에는 조금 노출빈도가 낮지만 그래도 가끔 광고가 다르게 보여주고 싶을때 넣는다고 보면되죠.

    만약 아래처럼 rand(0,1) 이렇게 지정하고 경우의수를 모두 지우고 case 0과 1만 놔둔다면… 50%의 확률로 그 두개의 광고만 나오게됩니다.

    <?php
    $randomX = rand(0,1);
    switch($randomX)
    {
    case 0:
    ?>
    광고코드 (또는 이미지) 1
    <?php
    break;
    case 1:
    ?>
    광고코드 (또는 이미지) 2
    <?php
    break;
    }
    ?>

    이 방법을 통해서 다양한 광고를 위젯에 걸어서 사이드바가 더욱 풍성한 워드프레스를 운영해보시기 바랍니다.

    꼭 스크립트 아니더라도 img 이미지에 링크 걸어서 다양한 배너도 만들수 있습니다.

    위젯 등록도중에 궁금한 부분이 있다면 언제든지 제 블로그에 댓글로 자세한 설명과 함께 남겨주시면 제가 알고 있는 범위내에서 답변을 드리도록 하겠습니다.

    감사합니다.

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

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

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

    워드프레스 사이트 전체를 옮기는 방법은 그냥 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폴더를 접미사 붙인 폴더명으로 변경해줍니다.

    간단하죠?

  • aws ec2 cpu 사용량 100% 서버부하 원인

    aws ec2 cpu 사용량 100% 서버부하 원인

    aws ec2 cpu  사용량이 100% 가까이 올라갔습니다.

    그 원인이 뭘까 싶어서 httpd 로그를 확인해보았지만 …..

    vhost가 수십개라서 찾기가 쉽지 않았습니다.

    워드프레스

    워드프레스

     

    메모리 용량도 85%가 넘어가면 자동으로 아파치 서버를 재실행 하도록 해놓았는데..

    워드프레스

    로그를 확인해보니 2021년 5월 19일 바로 오늘이죠..

    오늘 오후 3시부터 갑자기 재실행을 주기적으로 하고 있더군요.

    워드프레스

    리스트를 메가단위의 M 그리고 오늘날짜 5월 19일의 May 19만 나오도록 했더니

    ll -h | grep 'M May 19'

    워드프레스

    몇개의 의심가는 로그가 보였습니다.

    왜냐하면 그 로그가 쌓이는 워드프레스는 https 기간이 만료되어서 접속자가 없어야지 정상이었거든요…

    워드프레스

     

    워드프레스

     

    워드프레스

     

    워드프레스

    워드프레스

    보안상 취약한 플러그인을 찾아내어서 그 플러그인이 존재한다면 취약점을 이용하여 해킹툴을 깔기 위한 로봇으로 보입니다.

     

    마지막으로 WebApplication1 WebApplication2 WebApplication3을 검색해보더니 최종 404 페이지가 뜨니깐 그이후로는 접속을 하지 않는군요.

    워드프레스

    아마도 또 다른 누군가의 워드프레스 서버에 붙어서 기생 준비를 하는듯합니다.

    221.150.255.103 아이피를 확인해보니 대한민국 광주 근처로 나옵니다.

    프록시 아이피를 쓰던 뭘 쓰던 결국 최종 검색지점이 우리나라라서 조금 더 아쉬움이 남네요…

    워드프레스

     

    해킹 시도는 외국인이 했지만 프록시로 우리나라 아이피가 사용되었다고 생각하겠습니다.

    우리나라 사람들이 생산적이고 좋은 일만 했으면 하는 바램입니다.

     

    다시 제 서버는 평화가 찾아왔고 cpu들은 게으름을 피우기 시작합니다 ㅎㅎ

    워드프레스

    혹시라도 저처럼 아무 이유없이 갑자기 cpu 사용량이 늘어나셨다면 제일먼저 로그부터 확인해보세요

    그다음 로그가 갑자기 늘어난 vhost 를 대상으로 잠시 폴더를 mv명령어로 끊어보시기 바랍니다.

    그리고 cpu 사용량 체크하면서 어떤녀석이 원인인지 찾아내고 해킹시도라면 ip차단하면됩니다.