• 리눅스 호스트네임 변경 확인

    리눅스 호스트네임 변경 확인

    리눅스 호스트네임 변경 방법

    vi /etc/hostname
    호스트이름
    
    vi /etc/sysconfig/network
    HOSTNAME=호스트이름
    

    리눅스 호스트네임 확인

    hostname
    
    hostname.com
    

  • 스마트폰 자급제 폰사서 1만원대 무제한요금제

    스마트폰 자급제 폰사서 1만원대 무제한요금제

    스마트폰 자급제 나온제품들이 많습니다.

    이 제품을 구입해서 1만원대 요금으로 무제한 요금제(통화, 문자, 데이터)를 사용할 수 있습니다.

    지금 제가 사용하는 요금제는 1.2만원과 1.7만원 두상품인데 둘다 무제한 상품입니다

    1.2만원 상품은 데이터가 조금 적을뿐이지 무제한은 동일합니다.

    쿠팡 자급제로 나온 스마트폰을 하나구입합니다.

    https://link.coupang.com/a/JYFGn

    이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다

    M모바일에가서 유심을 하나 구입합니다.

    유심가격은 5천원~8천원정도 하며 NFT 결제를 원할경우 좋은거 구입하시면됩니다.

    저는 그런거 필요없어서 그냥 5천원짜리 하나 구입했습니다.

    유심이 오면 요금제 원하는거 골라서 쓰시면됩니다.

    https://www.ktmmobile.com

    쿠팡에서 온 자급제 스마트폰과 엠모바일 유심을 꽂으면 바로 사용할수있습니다.

    따로 2년약정 이런거 없이도 매달 17500원만 내면 무제한사용가능합니다.

    제가 이렇게해서 현재 2개 폰 사용중입니다.

  • 리눅스 로그 자동삭제 journalctl log 용량제한걸기

    리눅스 로그 자동삭제 journalctl log 용량제한걸기

    리눅스 용량 문제로 로그를 주기적으로 삭제합니다.

    지금까지 스크립트를 이용하여 개별 로그를 일괄 삭제하였는데 journalctl 명령어를 이용하면 원하는대로 삭제할수 있습니다.

    journalctl --vacuum-size=1024

    가령 이렇게 용량을 걸어두면 최소단위용량이 넘어갈경우 자동으로 로그가 삭제됩니다.

    현재 사용중인 용량을 확인해보았습니다.

    journalctl --disk-usage
    Archived and active journals take up 40.0M on disk.

    제 경우에는 이미 이 작업을 끝내고 확인한거라 용량이 작게 나옵니다.

    원래는 1.9GB 용량의 로그를 삭제하더군요.

    로그가 의미가 없어 1메가 이상되면 그냥 삭제하도록 처리했습니다.

    journalctl --vacuum-size=1024

    이 외에도 시간설정해서 1일전 7일전 이전 로그는 자동으로 삭제되게 할 수 있습니다.

     --vacuum-size=BYTES   Reduce disk usage below specified size
     --vacuum-time=TIME    Remove journal files older than specified date

    –vacuum-files 옵션을 넣어서 로그 갯수도 지정할수 있습니다.

    1000개의 로그만 남고 나머지는 자동 삭제

    journalctl --vacuum-files=1000

    10일동안 로그만 남고 나머지 자동 삭제

    journalctl --vacuum-time=10d

    다 필요없고 용량 최대한 확보할수 있도록 자동삭제

    journalctl --vacuum-size=1024

    아마존 리눅스 2 에서 위 명령어 하나로 로그 걱정 끝냈습니다.

  • amazon linux 2 ipv6 disable 비활성화

    amazon linux 2 ipv6 disable 비활성화

    아마존 리눅스 2 IPV6 활성여부 확인

    ifconfig

    [root@localhost ~]# ifconfig
    eth0: flags=4163 mtu 1500
    inet 61.80.196.52 netmask 255.255.255.0 broadcast 61.80.196.255
    inet6 fe80::20c:29ff:fe34:91ca prefixlen 64 scopeid 0x20
    ether 00:0c:29:34:91:ca txqueuelen 1000 (Ethernet)
    RX packets 4346 bytes 402098 (392.6 KiB)
    RX errors 0 dropped 0 overruns 0 frame 0
    TX packets 771 bytes 45056 (44.0 KiB)
    TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    [root@localhost ~]# sysctl -a | grep disable_ipv6


    net.ipv6.conf.all.disable_ipv6 = 0
    sysctl: reading key “net.ipv6.conf.all.stable_secret”
    net.ipv6.conf.default.disable_ipv6 = 0
    sysctl: reading key “net.ipv6.conf.default.stable_secret”
    net.ipv6.conf.eth0.disable_ipv6 = 0
    sysctl: reading key “net.ipv6.conf.eth0.stable_secret”
    net.ipv6.conf.lo.disable_ipv6 = 0
    sysctl: reading key “net.ipv6.conf.lo.stable_secret”

    0 은 ipv6 활성화 상태

    1 은 ipv6 비활성화 상태

    일괄 모두 비활성화 시키는 방법

    [root@localhost ~]# sysctl -w net.ipv6.conf.all.disable_ipv6=1
    net.ipv6.conf.all.disable_ipv6 = 1

    개별 하나씩 비활성화 시키는 방법

    [root@localhost ~]# sysctl -w net.ipv6.conf.lo.disable_ipv6=1
    net.ipv6.conf.lo.disable_ipv6 = 1

    vi /etc/sysctl.conf 파일 일괄모두 비활성화 시키는 방법 명령어 넣어서 부팅마다 비활성화 시키기

    vi /etc/sysctl.conf

    net.ipv6.conf.all.disable_ipv6=1

    service network restart 네트워크 재실행

    또는 시스템 재부팅 reboot

    끝!

  • ifup eth0 Device eth0 has incorrect MAC address

    ifup eth0 Device eth0 has incorrect MAC address

    ifup eth0 Device eth0 has incorrect MAC address

    ifup eth0 Device eth0 has different MAC address than expected, ignoring.

    vi /etc/sysconfig/network-scripts/ifcfg-eth0

    HWADDR=change MAC ADDRESS

    or #comment

    and

    service network restart

    아마존 리눅스 2 네트워크 안될때 위의 방법대로 하면 해결됩니다.

    보통 vmware 이미지를 복사하고 그 후로 네트워크가 안잡힐때 이런일이 벌어질겁니다.

    기존 MAC주소로 인해서 아이피를 잡지 못하는거죠.

    맥주소를 주석처리하거나 새로 바뀐 맥주수로 수정해주면됩니다.

  • 리눅스 자동실행파일 만들기 crontab 크론탭 부팅 한번만

    리눅스 자동실행파일 만들기 crontab 크론탭 부팅 한번만

    리눅스 자동실행파일 만들기

    crontab 크론탭을 이용하여 리눅스 부팅할때 처음 한번만 딱 실행하도록 스크립트를 만들었습니다.

    재부팅만 하면 초기화 되는 스크립트가 존재해서 그 스크립트를 제거하니 인터넷이 안되더군요.

    어쩔수 없이 그대로 놔둔상태로 부팅이 완료되는 시점에 resolv.conf 파일을 삭제하고 다시 복사하는 스크립트를 제작하였습니다.

    리눅스 자동실행파일 만들기

    1. sh 파일 제작

    vi autoResolvShell.sh
    #부팅시 자동으로 네임서버 변경 스크립트
    rm -rf /etc/resolv.conf
    cp -ai /var/named/init/resolv.conf /etc/resolv.conf
    
    

    위의 파일을 chmod 701 autoResolvShell.sh 명령어로 실행 가능하도록 만들어줍니다.

    그리고 마지막으로 crontab -e 명령어로 한줄 추가합니다.

    2. 크론탭 재부팅시 한번 실행

    [coupang]

    crontab 제일 앞부분에 @reboot 을 입력하면 재부팅하고 딱 1번 실행한다는 명령어입니다.

    @reboot /var/named/init/autoResolvShell.sh
    

    @reboot -> 부팅하고 딱 한번 실행

    @yearly -> 1년에 1월 1일 한번 딱 실행

    @annually -> 매월 1일에 딱 한번 실행

    @weekly -> 매주 딱 한번 실행

    @daily -> 매일 딱 한번 실행

    재부팅을 제외한 나머지는 00:00에 실행합니다.

    @hourly -> 매시간마다 1초때 실행

    그 이외 원래 방식대로

    */1 * * * * 명령어 -> 1분마다 반복실행

    이렇게도 할 수 있습니다.

    30분마다 시간동기화를 위해서 crontab -e 명령어로 넣어두었습니다.

    [coupangend]

    00 00 * * * ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
    */30 * * * * rdate -s time.bora.net
    #보시면 대충 아시리라 봅니다. 위에꺼는 타임존, 아래꺼는 30분마다 시간 동기화
  • VMware ESXi 인증서 SSL 등록 갱신 방법

    VMware ESXi 인증서 SSL 등록 갱신 방법

    VMware ESXi 인증서 직접 해본 경험

    ESXi 서버를 운영하면 웹관리자로 로그인을 해야합니다.

    이때 SSL 적용이 안될 경우 아래처럼 [ 주의 요함 ] 이라고 경고를 볼 수 있습니다.

    VMware ESXi 인증서

    그냥 놔두고 사용해도 상관은 없지만 크롬브라우저에서 관련하여 암호 저장도 안시켜줄뿐만 아니라 보안상 문제가 될 부분은 있습니다.

    그렇기에 매번 인증서를 등록하고 갱신을 해야합니다.

    제 경우에는 ESXi 호스트 자체에는 많은것을 설치하는게 싫어서 기본형 그대로 유지하기 위해 다른 모듈은 설치 하지 않았습니다. 그냥 도메인을 이용하여 인증서를 등록시키고 1년단위로 갱신하려합니다.

    우선 1년후에 제가 잊고 까먹을까봐 기록으로 남깁니다.

    1년후에 또 이 글을 보면서 갱신을 하던지 구글에서 또다시 검색하다는 도중에 제 글을 찾아서 보던지 하겠죠.

    갱신 방법은 쉽습니다.

    그리고 처음에 발급받은 Privaty CSR 코드랑 인증완료 후 제공받는 Certificate 파일을 CSR 확장자로 만들어서 ESXi 호스트에 올리고 재실행만 하면됩니다.

    cd /etc/vmware/ssl

    폴더에 들어가면 인증서 파일이 많이 보이는데 그중에서 rui.crt 파일과 rui.key private key 파일만 변경하면됩니다.

    특히 rui.key 파일은 읽기전용으로 되어져있어서 바로 수정은 안되므로 vm rui.key rui.old.key 명령어로 이름을 바꿔놓고 진행해야합니다.

    VMware ESXi SSL Certificate 갱신방법

    1. GogetSSL 사이트에서 인증서를 갱신한다.

    Reissue SSL 버튼을 눌러서 기간 연장을 합니다.

    만약 인증서가 만료되어 새로 만들어야 할 경우 2년~5년짜리 SSL 인증서를 하나 구입하여 동일하게 진행하면됩니다.

    Online CSR Generator 이용하여 생성합니다.

    이후 DNS 이용해서 도메인으로 인증을 받습니다.

    2. 인증서 등록을 빠르게 하기 위해 Macro를 사용한다.

    [coupang]

    하나하나 치는것도 사실 시간이 아깝습니다. 조직이랑 직업 도시 구역 그리고 나라까지 찾고 이메일 적고 하면 1분정도 걸릴수 있습니다.

    이부분을 매크로로 5초만에 해결하는거죠.

    <TEXT TYPE Action="0" Text="<TAB>"/>
    <DELAY Flags="\x12" Time="100"/>
    <TEXT TYPE Action="0" Text="TION<TAB>"/>
    <DELAY Flags="\x12" Time="100"/>
    <TEXT TYPE Action="0" Text="CEO<TAB>"/>
    <DELAY Flags="\x12" Time="100"/>
    <TEXT TYPE Action="0" Text="Daegu<TAB>"/>
    <DELAY Flags="\x12" Time="100"/>
    <TEXT TYPE Action="0" Text="Dalseo-gu<TAB>"/>
    <DELAY Flags="\x12" Time="100"/>
    <REPEAT START Start="1" Step="1" Count="116" Save="FALSE"/>
    <DELAY Flags="\x12" Time="10"/>
    <TEXT TYPE Action="0" Text="<ARROW DOWN>"/>
    <END REPEAT/>
    <TEXT TYPE Action="0" Text="<TAB>"/>
    <DELAY Flags="\x12" Time="100"/>
    <TEXT TYPE Action="0" Text="a@tion.kr<TAB>"/>
    <DELAY Flags="\x12" Time="100"/>
    <TEXT TYPE Action="0" Text="<TAB>"/>
    

    소스코드 올려놨으니 이거 보고 없으면 그대로 복사붙여넣기 하면됩니다.

    대한민국이 116번째에 있어서 찾는데도 시간 많이 걸렸습니다.

    이렇게 도메인만 입력하고 Ctrl + End 단축키만 누르면 바로 개인 Private Key를 얻게됩니다.

    아래 만들어진 파일의 Private Server Key를 rui.key 로 만들어서 업로드하든지 바로vim으로 만들던지 하면 됩니다.

    주의사항!!

    처음에 서버키를 rui.key 파일로 넣어야 하는데 가끔 거꾸로 넣는 실수를 범하는 경우가 있습니다.

    chmod 700 rui.key 수정모드 되도록 하고 다시

    chmod 400 rui.key 읽기 전용으로 바꾸면 됩니다.

    이렇게 사이트에 연결할 수 없음 이라고 나온다면 분명 파일을 잘 못 넣은 경우니 다시 천천히 하면 됩니다.

    3. VMware ESXi 인증서 도메인 DNS 인증방식으로 도메인 소유자를 증명한다.

    Certificate 버튼을 눌러서 파일을 받아 그 파일명을 rui.crt 파일명으로 바꿔서 업로드 하던지 vim으로 작성해도 됩니다.

    [coupangend]

    그리고 마지막으로 서비스명령어로 서비스를 재 실행하면 SSL이 적용됩니다.

    따로 서버가 꺼지지 않아서 certbot 이용해서 자동화 만들고 싶긴 하지만…보안을 위해서 그냥 1년에 한번씩 서버 갱신하면서 유지보수를 하죠뭐 ㅎㅎ

    services.sh restart

    VMware ESXi 인증서

    끝!

    1년후에 봅시닷!!

  • [ Solved ]실패 – 필요한 VMware Tools ISO 이미지가 없거나 액세스할 수 없습니다

    [ Solved ]실패 – 필요한 VMware Tools ISO 이미지가 없거나 액세스할 수 없습니다

    분명 예전에 관련하여 문제를 해결했었는데… 리눅스맨 워드프레스 블로그에 글을 아무리 찾아봐도 없더군요.

    그래서 결국 구글에 검색을 해보았더니… 제 글이 보이더군요.

    미래의 저를 위한 글이기도 하며 저처럼 ESXi 7.0 (Update 3) 버전을 설치하면서 VMware Tools ISO 이미지를 다운받기 위해 찾는 분들을 위한 글이기도 합니다.

    2년전에 관련해서 글을 작성한적이 있습니다. 도메인이 달라서 이곳에서 아무리 찾아도 없었습니다.

    이 글과 동일한 제목의 글입니다. 그당시에도 해결해서 저를 위해서 작성해놓았는데.. 2년후 다시 또 제가 보게되네요

    같은 내용입니다. 2년이 지나서 업데이트가 되었나 싶어 작성한 페이지로 접속을 해보니 VMware 본사에서 다운로드 위치를 변경했더군요. 그래서 ISO 파일 찾기가 더 어렵습니다. ㅎㅎ

    파일이라도 따로 빼놓던지 할까 싶었는데 또 그렇게 되버러면 법전분쟁이 생길수 있어 다시 페이지를 연결해놓기로 했습니다. ISO 파일은 버전별로 제가 따로 관리를 해야겠다는 생각도 하게되었습니다.

    남는건 SSD 용량밖에 없으니 버전별로 ISO 관리를 해야겠네요

    나중에 유료화 회원만 또 다운받을수 있는 그런 날이 올수도 있으니깐요

    일단 2022년 12월 12일 현재 날짜로 ESXi 7.0(update 3) 버전에 대한 VMware Tools 리눅스 버전은 2년이 지났지만 크게 달라지진 않았습니다.

    https://customerconnect.vmware.com/en/downloads/details?downloadGroup=VMTOOLS10323&productId=974&rPId=97967

    위의 링크로 접속하셔서 리눅스 버전을 zip 또는 gz 압축을 다운받습니다.

    저는 gz 버전을 받았고요. 혹시라도 파일 관리가 필요할것 같아 두버전 모두 다운받아서 보관했습니다.

    만약 위의 링크가 깨질경우 저에게 따로 메일을 (a@tion.kr) 보내주세요

    2년전과 비교해서 10.322 -> 10.3.23 버전이 올랐군요.

    윈도우 버전은 12.1.5 버전까지 업데이트가 되었던데 그에 비해면 리눅스는 큰 변화가 없는듯합니다.

    이렇게 가상화 관련 파일들을 NAS 폴더에 잘 보관해놓았습니다.

    NAS를 이용하여 파일관리, 사진관리, 웹문서관리, 시스템관리, 원격관리, 무인화관리 등등 점점 확산되어갑니다.

    VMware Tools 를 설치 하기 위해서는 ESXi 호스트에 ISO 파일이 있어야 합니다.

    VMware Tools 설치방법

    [coupang]

    1. vmware tools iso 파일을 다운받습니다.

    파일이 없는 경우 아래 10.3.23 파일을 바로 받아서 tar 압축 풀어도 됩니다.

    vmware-tools.10.3.23.tar.gz

    이 파일은 바로 vm에서 인스톨 하시면 됩니다. (2,3 항목 생략하시고 4번 항목의 /tmp 이후부터 시작하면됩니다)

    ISO 파일은 zip파일로 압축해놓았으니 다운받아서 압축을 해제하시고 ISO파일을 (2)항목처럼 업로드하면됩니다.

    2. esxi 호스트에 iso파일을 업로드 합니다. (ISO파일)

    아마도 대부분 이 폴더에 ISO파일이 있을겁니다. 혹시라도 없어도 상관없으며 방금 다운받은 ISO파일을 업로드하면됩니다.

    ESXi HOST에 접속하셔서 /usr/lib/vmware/isoimages/ 폴더에 위의 다운로드 받은 파일을 업로드 하세요.

    3. CDROM을 추가합니다.

    VMWARE Tools를 설치하기 위해서는 CDROM을 추가해야합니다.

    이때 인식이 잘 안될수 있는데 CDROM을 삭제했다가 다시 추가하고 (꼭 연결 체크까지 ) 재부팅하면 연결됩니다.

    esxi 버전마다 다를 수 있으나 vm guest 를 완전히 종료한 상태에서 진행해야 합니다.

    파일이 이미 있으신분들은 CD-ROM만 추가하여 연결 체크버튼까지 체크하시고 저장 누르면됩니다.

    4. 마운트 하고 vmware tools 설치합니다.

    mkdir /mnt/cdrom
    mount /dev/cdrom /mnt/cdrom
    cp /mnt/cdrom/VMwareTools-version.tar.gz /tmp/
    ls /mnt/cdrom
    cd /tmp
    tar -zxvf VMwareTools-version.tar.gz
    cd vmware-tools-distrib/
    
    

    마운트 할때 cdrom으로 나오지 않고 sr0 이렇게 나타날수 있으니

    dev 폴더에서 ll | grep cdrom 이라고 검색해보세요.

    cd vmware-tools-distrib
    ./vamware-install.pl

    보통 CentOS, 우분투 리눅스는 위의 방법대로 해결됩니다.

    아마존 리눅스의경우에는 설치가 안되는 버전이 있습니다.

    이때에는 아래 방법대로 해보세요.

    5. 만약 설치가 안될 경우

    vm-open-tools 를 설치합니다.

    yum install -y vm-open-tools

    재부팅하면 vmware 에서 네트워크 정도랑 기본연결에 대한 정보를 얻을 수 있습니다.

    이 가상 시스템에 대해 구성된 게스트 운영 체제(기타 Linux(64비트))가 현재 실행 중인 게스트(Amazon Linux 2(64비트))와 일치하지 않습니다. 게스트별 최적화를 허용하려면 올바른 게스트 운영 체제를 지정해야 합니다.

    이 멘트는 특별히 ESXi 에서 매칭되는 리눅스 버전이 없어서 뜨는거라 그냥 놔두셔도 상관없습니다.

    [coupangend]

    고생하셨습니다.

  • [Solved] url_helper.py Failed to establish a new connection Error

    [Solved] url_helper.py Failed to establish a new connection Error

    I solved it below method.

    Remove cloud-init

    yum remove cloud-init

    and Reboot

    Success!

  • Https 인증서 무료 발급 자동갱신까지

    Https 인증서 무료 발급 자동갱신까지

    지금까지 1년,2년 단위로 HTTPs 인증서를 유료로 구입을 해왔습니다.

    제가 유료로 HTTPs 인증서를 구입한 이유는 딱 한가지였습니다.

    SSL 보안 유지를 위해서 3개월마다 무료 인증서를 갱신하는것이 너무 귀찮아서 그랬습니다.

    1년이라년 유예로 인해서 시간을 벌수 있었기에 매번 돌아오는 워드프레스 블로그의 인증서 갱신을 조금이라도 늦게 갱신하자 라는 심정으로 유료서비스를 이용해 왔습니다.

    금전적인 부분을 사용해서라도 이러한 요소를 조금이라도 미룰수 있던것이죠.

    하지만 1년이라는 시간도 생각보다 짧았습니다.

    100개이상의 워드프레스 사이트가 운영되다보니 금방 10개 단위로 갱신이 돌아오더군요.

    이 조차도 사실 귀찮고 나를 괴롭히는 작업이었습니다.

    그러다가 3개월마다 무료 발급가능한 인증서를 크론탭을 이용하여 주기적으로 갱신하여 무제한 사용할수 있는 방법을 알게된것입니다.

    일종의 로봇을 데몬에 걸어놓고 하루에 1,2회씩 매일마다 갱신하는 방법이죠.

    예전부터 알고는 있었지만 무료와 유료의 차이가 있을꺼같다는 생각에 유료 서비스를 이용했던 부분도 있었습니다.

    하지만 사이트가 워낙 많다보니 무료와 유료로 진행한 HTTPs 보안 적용한 사이트의 문제보다는 사이트의 컨텐츠와 웹SEO 부분의 성능이 더 중요하다는 사실을 알게되었죠.

    그리고 무료 갱신은 서버당 1개씩만 되는줄 알았습니다.

    이부분이 결정적으로 무료를 쓰지 않게된 이유인데요. 제가 막상 무료 3개월을 로봇에 의해 매일마다 갱신하고 또 1개가 아닌 동일한 서버에 수십개도 동시에 갱신이 된다는 사실을 알고부터 “바로 이거야!” 라고 할 정도로 매력적이더군요.

    진짜 워드프레스 많이 만들어보고 최적화 시켜보면서 SSL 자체는 있냐 없냐가 큰 차이가 있지만 유료냐 무료냐에 따른 혜택은 모르겠습니다. 아니 없는거 같습니다. 있어봐야 1년 연장이다 정도겠죠.

    그래서 그 방법을 기록하고자 글을 적은겁니다.

    여러분들도 이 방법을 이용해보세요

    사이트의 보안 SSL을 자동화 만드는거죠

    이제 저는 1년마다 갱신할 필요가 없습니다

    무료이면도 동시에 자동갱신까지!!

    방법적인 부분에 기술을 적은것라서 쿠팡 배너를 연결해놓았습니다.

    저도 이 기술을 여러분들에게 오픈하면서 수익도 발생하여 서버비를 조금이라도 보탤수만 있다면 감사할뿐입니다.

    너그럽게 이해해주시고 아래 내용 살펴보시기 바랍니다.

    [coupang]

    letsencrypt cerbot 로봇을 설치를 해야합니다.

    wget -r --no-parent -A 'epel-release-*.rpm' https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/
    rpm -Uvh dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-*.rpm
    yum-config-manager --enable epel*
    yum install -y certbot python3-certbot-apache
    alias python='/usr/bin/python3'
    python --version
    certbot certonly
    
    #python까지 3버전으로 갱신
    

    certbot 입력을 했는데 아래처럼 나온다면

    certbot certonly

    이렇게 입력해서 진행하면됩니다.

    다른 웹사이트 검색해보면 그다음 나오는부분에서 조금 다르더군요.

    [1] [2] 고르는 항목이 있는데 1번을 선택했습니다. 2번은 웹루트폴더에 파일교체방식인듯한데.

    그다음 설정이 조금 난해해서 그냥 1번 골랐습니다.

    처음에 80포트가 사용중이라고 나와서 설치 할때만큼은 httpd (apache) 서버를 잠시 멈추고 진행했습니다.

    이후 갱신에서는 따로 멈추지 않아도 동작하였습니다.

    service httpd stop

    cd /etc/letsencrypt/live/www.도메인주소.com/

    lrwxrwxrwx 1 root root 37 Dec 9 19:37 cert.pem -> ../../archive/www.도메인주소.com/cert1.pem
    lrwxrwxrwx 1 root root 38 Dec 9 19:37 chain.pem -> ../../archive/www.도메인주소.com/chain1.pem
    lrwxrwxrwx 1 root root 42 Dec 9 19:37 fullchain.pem -> ../../archive/www.도메인주소.com/fullchain1.pem
    lrwxrwxrwx 1 root root 40 Dec 9 19:37 privkey.pem -> ../../archive/www.도메인주소.com/privkey1.pem

    이렇게 총 4개의 인증서(비밀키)가 확인됩니다.

    각 이름별로 용도가 다르니 이름에 맞게끔 httpd.conf 에 등록해야합니다.

    443 포트에 가상호스트를 만들어줍니다.

    혹시 전체 소스가 필요하신분들을 위해서 아랫부분에 넣어놓았습니다.

        SSLEngine ON
        SSLCertificateFile /etc/letsencrypt/live/www.도메인주소.com/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/www.도메인주소.com/privkey.pem
        #SSLCACertificateFile /etc/letsencrypt/live/www.도메인주소.com/
        SSLCertificateChainFile /etc/letsencrypt/live/www.도메인주소.com/chain.pem

    vi /etc/httpd/conf.d/httpd-vhosts-www.도메인주소.com.conf

    <VirtualHost *:80>
        ServerName www.도메인주소.com 
        ServerAlias 도메인주소.com 
        Redirect 301 / https://www.도메인주소.com
    
    </VirtualHost>
    <VirtualHost *:443>
        ServerName www.도메인주소.com
        ServerAlias 도메인주소.com
        DocumentRoot /var/www/html/홈페이지폴더
        ServerAdmin 이메일주소@도메인.com
    
        SSLEngine ON
        SSLCertificateFile /etc/letsencrypt/live/www.도메인주소.com/cert.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/www.도메인주소.com/privkey.pem
        SSLCertificateChainFile /etc/letsencrypt/live/www.도메인주소.com/chain.pem
    
        ErrorLog logs/error_common_log
        CustomLog logs/www.도메인주소.com-access_log common
    
        <Directory /var/www/html/홈페이지폴더>
                Options FollowSymLinks
                AllowOverride all
                Order allow,deny
                Allow from all
        </Directory>
    </VirtualHost>
    

    각자 도메인주소와 사이트 폴더 위치만 알맞게 넣으시면됩니다.

    그리고 자동으로 갱신해야하니 데몬에 넣어주면됩니다.

    certbot renew --no-self-upgrade

    잘 동작하는듯합니다.

    날짜가 너무 일러서 리뉴얼이 되지 않았다는 멘트가 나오는군요.

    보통 15일정도 남았을때 자동갱신되니 그때쯤되면 알겠죠.

    데몬에 위의 명령어를 입력합니다.

    crontab -e

    12 1,12 * * * root certbot renew --no-self-upgrade

    보라넷에 시간도 30분마다 서버동기화 시켜주고

    1일,12일 마다 12시에 갱신하도록 처리했습니다.

    certbot 가이드라인에 보면 매일마다 1,2회 정도 진행해놓으면 에러라던지 보고서를 미리 체크하는듯합니다.

    암튼 하라는대로 했으니 잘 되겠죠.

    이제 SSL 인증서 갱신으로부터 자유로워졌습니다.

    야호!~

    고객 사이트 주소라서 모자이크 처리했습니다.

    고생하셨습니다.

    [coupangend]

    다 만들고나서 꼭 확인해야하는것들!!

    #폴더에서 잘못만들어진 폴더가 없는지 확인
    cd /etc/letsencrypt/renewal
    
    #만약 잘못만들어진 폴더가 있으면 이곳에서도 삭제해야함
    cd /etc/ssl/certs/
    
    #갱신
    certbot renew
    #끝!

    이제 워드프레스 블로그가 수천개가 되더라도 무섭지 않습니다.

    티온포럼도 만들고 각종 커뮤니티 사이트 많이 만들어보렵니다!!

    쿠팡에서 맛있는것도 사먹고요^^ 건강해야지 이런것도 많이 만들수 있습니다.

  • 아마존 ec2 ESXi vm으로 내보내기 Export

    아마존 ec2 ESXi vm으로 내보내기 Export

    아마존서버(AWS)에 제가 만들어놓은 인스턴스가 10개입니다.

    최근에 Export (VM 내보내기)를 테스트하기 위해서 실서버가 아닌 테스트 서버를 우선 가상으로 만들어서 S3를 통해 명령어를 이용하여 성공하였습니다.

    그 내용에 대한 구체적인 방법과 과정에 대해 나중에 제가 보기 위해 기록을 해 놓습니다.

    삽질한 내용과 도중에 무엇이 문제였는지에 대한 부분도 함께 기록해놓은 이유는 나중에 보더라도 지금 기억을 그대로 기억하기 위함입니다. 다른 누군가는 제 글이 많은 도움이 되었으면 하는 바램입니다.

    한글로 된 문서가 없어서

    EC2 ESXi VM 내보내기 저를 위해 만들었는데

    혹시라도 도움되시는분들은 솔찍히 광고로 배너가 막히더라도 양해의 말씀을 드리겠습니다.

    AWS 운영한다고 서버비 마련하는게 쉽지가 않군요

    보시고 모두 홈서버 만들어보세요!!

    [coupang]

    일단 처음 접한 제 입장에서는 너무 헷깔리고 개념이 이해가 안되어서 구글과 아마존 가이드 문서를 엄청 봤습니다.

    한글번역이 안되어져있다보니 생소한 단어와 개념을 익혀야해서 조금 혼란이 있었습니다.

    유튜브에 누군가가 영상으로 소리없이 ESXi VM으로 내보내기 영상을 만들어놓았지만 오히려 저를 더 헤깔리게 만들더군요. 가령 AWS_SESSION_TOKEN 이런부분들이 아무리 찾아도 없는데 어디선가 받아와서 등록하는 과정 등등이 저를 더 혼란스럽게 만들었습니다.

    일단 선행되어야 하는 과제가 있습니다.

    윈도우 사용자라면 PowerShell 을 이용하여 아마존에서 제공해주는 aws 툴을 설치해야합니다.

    리눅스 사용자라면 그냥 SSH 쉘로 터미널에서 aws 설치하고 사용하면됩니다.

    저는 이미 AWS 여러개가 있으니 이중에서 테스트겸하여 EC2를 하나 더 만들어서 리눅스로 처리했습니다.

    어떤 문서에는 t2 시리즈만 VM내보내기가 된다고 목록에 나와있어서 저를 더 헷깔리게 한거죠.

    일단 결론부터 말씀드리자면 모든 EC2는 ESXi VM으로 내보내기를 할 수 있으며

    TASK 작업은 5개까지 지정이 되어서 동시에 5개 내보내기를 하면 그다음 6번째는 첫번째가 완료되기까지 진행이 되지 않습니다.

    An error occurred (ResourceLimitExceeded) when calling the CreateInstanceExportTask operation: Task failed to initialize – conversion task limit (5) exceeded.

    그리고 상당한 시간이 소요됩니다.

    영상을 보면서 따라하다가 제가 실수했던 부분이 영상에서는 새로고침버튼을 누르면 바로 파일이 생성되더군요.

    아무런 멘트도 없이 그렇게 보여주니 당연히 저도 VM내보내기를 하면 바로 나올지 알고 아무리 새로고침을 눌러도 ova 파일은 만들어지지 않았습니다.

    결국 유튜브에서 보여준 영상을 정지눌러서 새로고침과 생성된 시각을 확인해보니 30분이 넘는 딜레이 시간이 있더군요. 그래서 S3에 버켓을 삭제한것에 대해서 아쉬움이 남았습니다. 해도해도 안되길래 에러만 나고 제가 잘못한줄 알았습니다. 제꺼는 용량이 더 많아서 그런지 시간이 1시간 정도 소요된듯합니다.

    혹시라도 여러분들도 S3 버킷 폴더에 VM ova파일이 왜 안생기는거야!! 하면서 답답해 하지마세요.

    명령어 이후에 Active 뜨면 그후로 시간이 지나면 생성되어있습니다.

    S3를 처음 접한 제가 이부분을 진행하면서 한글로된 정확한 방법을 알려주는사람도 없고

    대부분 영어로 된 간단한 부분별 아티클이라던지 아마존의 개발문서라던지 이런것밖에 보이지 않았습니다.

    최종적으로 제 사무실에 ESXi 서버에 VM을 넣어서 설치까지 완료한 상태입니다.

    관리도 vmware 에서 할 수 있게된거죠.

    속도도 현재 100M 회선에 물려있지만 괜찮은듯합니다.

    엄청 좋아진 부분은 메모리 부분이랑 CPU 코어입니다.

    아마존에서는 하드웨어 비용이 생각보다 금액이 높은편인데 ESXi 서버에 코어가 12코어라보니 코어도 더 높일수 있었고 메모리도 아마존에서 16기가정도만 사용하더라도 월 비용이 20만원이 넘어갑니다. 그런데 그보다 더 높은 메모리를 사용할수 있으니 월 대략 100만원 수준의 아마존 서버를 이용하는 느낌입니다.

    이제 해야 할 부분드리 몇가지가 있는데 DNS 서버를 하나 잡아주고 거기에 DDNS 서버를 운영해볼까합니다.

    IPS 업체에 고정아이피를 제공받아도 되지만 (개당 대략 3만원) 예전에 제가 고정아이피 1개와 10회선 유동아이피 총 300개를 사용했었습니다. 딱히 고정아이피의 필요성을 느끼지 못했었죠. 대신 vmware가 한번 꺼지면 2시간내로 바로 켜지 못해서 IP가 모두 바뀌어 DNS 작업에 문제가 생겨 구글검색과 네이버 검색에서 순위가 밀린적이 있긴합니다.

    그 이유도 제가 실수해서 vmware가 종료된건 아니였고요. 마이크로소프트에서 강제 윈도우를 업데이트 하면서 발생한 문제였기에 ESXi 서버를 운영하면 이러한 문제는 없을것으로 보고 있습니다.

    결국 유동아이피만 있더라도 안전하게 운영하기 위해 DNS서버와 DDNS 서버까지 갖춘다면 아이피가 혹시라도 제 실수가 아닌 다른 변수에 의해 변경되더라도 서버에는 지장없도록 할 수 있을듯합니다.

    aws tool 2 필수 설치

    aws –version 버전 2체크

    AWS CLI install and update instructions

    curl “https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip” -o “awscliv2.zip”
    unzip awscliv2.zip
    sudo ./aws/install

    sudo ./aws/install –bin-dir /usr/local/bin –install-dir /usr/local/aws-cli –update

    unzip -u awscliv2.zip

    sudo ./aws/install

    sudo ./aws/install –bin-dir /usr/local/bin –install-dir /usr/local/aws-cli –update

    which aws

    ls -l /usr/local/bin/aws

    aws –version
    aws-cli/2.7.24 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/2.4.5

    aws configure 비밀키 만들기

    AWSAccessKeyId

    AWSSecretKey

    aws configure

    AWS Access Key ID [None]: A**********************QIS
    AWS Secret Access Key [None]: GKSI****************************bOPPDV5K
    Default region name [None]: ap-northeast-2
    Default output format [None]: json

    일단 이 글에서 가장 중요한 핵심인 EC2 VM 내보내기 방법이니 그 방법은 이렇습니다

    AWS EC2 ESXi VM 내보내기

    1. S3 버킷 생성

    버킷 만들기 눌러서 만드시고요

    버킷이름 영어로 넣으시고요 (이부분은 파일명의 앞글자가 됩니다)

    그리고 AWS 리전을 맞추셔야 하는데.. 제가 이 부분때문에 고생 엄청 했습니다.

    분명 다 맞췄음에도 불구하고 맞춰달라고 요구하니깐요 ㅎㅎㅎㅎ

    객체 소유권에서 ACL 비활성됨(권장) 으로 되어져있을겁니다.

    이부분을 ACL 활성화됨으로 바꾸시고요

    이 버킷의 퍼블릭 엑세스 차단 설정 항목을 해제하시고

    내가 인지했다는거 알려주는 동의 체크버튼을 아랫쪽거 체크해주면됩니다.

    그렇게 해서 아래처럼 만들어지게됩니다.

    이상태에서 권한항목에 들어가셔서 추가를 하나 해야합니다.

    한글로는 ACL (액세스 제어 목록) 으로 나오고요

    영어로는 Access Control List 라고 나올겁니다. 이 항목에서 편집을 눌러서 권한 추가해야합니다.

    다른 AWS 계정에 대한 엑세스 라는 항목에 외부계정 권한을 객체(쓰기), 버킷ACL(읽기) 각각 체크해서 넣어야합니다.

    이 부분에 들어갈 권한은 AWS VM Import/Export 문서에 있습니다.

    For Grantee, provide the appropriate Region-specific canonical account ID:

    위의 값을 입력했습니다.

    아래 두개의 항목은원래 없는데 aws 명령어로 vm내보내기를 하게되면 만들어지게됩니다.

    내보내는 파일을 vms/라는 폴더 아래에 저장하게끔 file.json 에 제가 설정한겁니다.

    vi file.json

    {
    “ContainerFormat”: “ova”,
    “DiskImageFormat”: “VMDK”,
    “S3Bucket”: “export-tion“,
    “S3Prefix”: “vms/
    }

    S3Bucket 항목은 방금 내가 만든 버킷 이름을 입력해야합니다.

    이거를 아무도 안알려줘서 여기에서도 삽질을 많이 했죠.

    S3Prefix는 폴더라고 보시면됩니다.

    파일명은 vms/export-tion-생성되는ID값.ova 로 최종 만들어지고 다운받을 수 있습니다.

    2. aws 툴 설치 (아마존 EC2 사용자는 yum 설치 혹은 이미 설치가 되어있습니다)

    버전이 1.0으로 되어져있긴한데 업데이트 하시면됩니다.

    3. aws 명령어로 vm 내보내기 시도

    aws ec2 create-instance-export-task –instance-id EC2인스턴스ID –region ap-northeast-2 –target-environment vmware –export-to-s3-task file://file.json

    aws ec2 create-instance-export-task –instance-id EC2인스턴스ID –region ap-northeast-2 –target-environment vmware –export-to-s3-task file://file.json

    AWS 가이드에는 –region 항목이 없었으나 제가 입력할때마다 리전을 맞춰야 한다며 에러가 떠서 그냥 강제로 넣었습니다. 뭐 다른문제로 인해서 안된건지는 정확히 파악을 안했지만 저렇게 넣고 이것저것 다 세팅을 맞추니 별문제없이 VM 내보내기까지 성공했습니다.

    4. active 확인되면 1시간 이상 기다리기


    {
    "ExportTask": {
    "ExportTaskId": "export-i-0c89dd3cdb1350d22",
    "ExportToS3Task": {
    "ContainerFormat": "ova",
    "DiskImageFormat": "vmdk",
    "S3Bucket": "export-tion",
    "S3Key": "vms/export-i-0c89dd3cdb1350d22.ova"
    },
    "InstanceExportDetails": {
    "InstanceId": "자동으로나오는부분EC2인스턴스ID",
    "TargetEnvironment": "vmware"
    },
    "State": "active"
    }
    }

    이런 개념으로 보시면됩니다.

    지금도 EC2 VM을 새롭게 내보내기를 하고 있는데 잘 만들어지고 있네요.

    이 글을 쓰고 있는 가운데 계속 하나하나 만들어지고 있습니다.

    총 10개를 내보내기 해야하는데 하나도 에러없이 잘 만들어지고 있습니다.

    다 만들었습니다. 총 10개네요

    아..제가 위에서 말씀드린지 모르겠는데요.

    EC2 VM내보내기를 하게되면 서버가 한번 재부팅되는지 SSH접속이 끊기더군요.

    오래는 아니고 재부팅인듯합니다.

    잠시 후에 접속이 되었으니 실서버 운영하시는 분들은 주의 하셔서 진행하시면될듯합니다.

    아무래도 새벽타임이나 사람없는 시간대에 하시는게 낫겠죠.

    아..그리고 제가 즐거운 이유중 한가지는…

    드디어 리눅스 다운 리눅스를 운영해볼수 있겠다 라는 계획에 잠시 빠져 기분이 좋네요..

    매번 CentOS 7,8 설치 하면서 실서버 운영할때 뭔가 찜찜했었는데

    AWS에서 직접 실서버로 사용하던 VM을 그대로 ESXi 서버에서 돌릴수 있어 좋습니다.

    끝! 다들 성공하세요.

    그리고 제가 언제가 될지는 모르겠지만 티온포럼도 직접 만들어서 운영해보려합니다.

    아직 도메인만 AWS에서 Route 53으로 구입했지 ESXi 서버에 VM을 만들지도 않았습니다.

    이번에 VM도 만들었겠다.

    티온포럼도 이글을 훗날에 보시는분들은 링크타고 와보실수 있을겁니다.

    https://www.tionforum.com

    아직 2022년 12월 9일에는 링크도 연결안된상태입니다.

    제로보드 XE 엔진으로 만들어볼겁니다.

    나중에 보시고 평가 많이해주세요.

    서버 하드웨어 사양이랑 어떻게 운영하는지에 대해서 자세히 공지해서 알려드릴께요.

    감사합니다.

  • mariadb default_time_zone my.cnf 올바른 방법

    mariadb default_time_zone my.cnf 올바른 방법

    인터넷 믿고 그냥 따라 하다가 서버 10분정도 다운이 되었습니다.

    무작정 Ctrl + C -> V 복사 붙여넣기 하지마시기 바랍니다.

    명령어가 정확하게 동작하는지 버전 다 확인하고 동작시켜야 합니다.

    mariadb default_time_zone my.cnf

    올바른 설정 방법을 알려드리겠습니다.

    [coupang]

    • 서버: Localhost via UNIX socket
    • 서버 타입: MariaDB
    • 서버 연결: SSL is not being used 
    • 서버 버전: 5.5.68-MariaDB – MariaDB Server
    • 제품 버전: 10

    mysql 서버는 오라클에 인수된 이후로 mariadb 를 주소 사용하고 있습니다.

    지금까지 별 생각없이 기본세팅으로 사용을 하고 있었는데…

    오늘 방문자 조회를 하기 위해서 Rows를 보는데 시간이 UTC (한국시간 9시간전)로 지정되어져있더군요.

    웹사이트를 운영할때에는 +9시간을 더하여 시간을 변형해주면되지만

    DB를 직접 확인하고 따로 페이지를 만들 계획이 없다보니 9시간 차이 나는부분이 조금 혼란이 생기더군요.

    그래서 그냥 DB자체를 기본 한국시간에 맞춰서 입력해놓자싶어서 구글링 끝에 사이트 2~3군데를 펼쳐놓고 세팅 점검하면서 명령어도 잘 동작하기에 바로 서버에 적용시켰습니다.

    vi /etc/my.cnf

    [mysqld_safe]
    timezone=’Asia/Seoul’

    [mariadb]
    default_time_zone=’+9:00′

    이 4줄 적는것 때문에 서버가 대략 10분 멈췄으며 실서버를 이용하던 고객의 불편함과 서버 다운으로 인한 검색엔진의 신뢰도 평가 손실을 따지면… my.cnf 설정은 신중히 해야한다는 사실을 다시 깨달았습니다.

    제가 하고 싶었던것은 이렇습니다.

    UTC 기본시각으로 지정되어져있다보니 한국 +9시간 빠르게 만드는것 한가지와

    서버를 재부팅할때 자동으로 이 설정이 유지되도록 하는 한가지 이렇게 총 2가지입니다.

    첫번째 한가지는 Query명령어로 바로 확인할수 있습니다.

    SELECT @@global.time_zone, @@session.time_zone

    SQL 문을 위와같이 입력하여 아래처럼 나오면 한국시간으로 지정된것입니다.

    @@global.time_zone@@session.time_zone
    +09:00+09:00

    하지만 아래처럼 SYSTEM | SYSTEM 으로 나올 경우에는 UTC 기본상태입니다.

    @@global.time_zone@@session.time_zone
    SYSTEMSYSTEM

    명령어를 아래처럼 입력하면 바로 변경이 됩니다.

    따로 데이터베이스 서버를 재실행 하지 않아도 되므로 크게 위험하지는 않습니다.

    그냥 복사 붙여넣기 하셔도 됩니다.

    SET GLOBAL time_zone=’+09:00′;
    SET time_zone = ‘+09:00’;
    세팅을 입력하고 다시 확인해보면 변경이 된것을 확인 할 수 있습니다.

    SELECT @@global.time_zone, @@session.time_zone;

    @@global.time_zone@@session.time_zone
    +09:00+09:00

    하지만 우리의 서버는 여러가지 이유로 재부팅을 해야할 일이 생길수 있습니다.

    MariaDB 오류/재실행/서버 업그레이드 등 다양한 이유로 다시 실행하면 위의 세팅이 다시 초기화됩니다.

    이때 다시 실행하더라도 한국시간을 그대로 유지하기 위해서는 my.cnf 파일에 저장을 하고 DB서버를 다시 실행하면됩니다.

    my.cnf 파일 위치는 리눅스 버전과 종류, 그리고 설치방법에 따라 저장위치가 다를 수 있습니다.

    보통 dnf나 yum으로 자동설치를 했다면 CentOS 7,8,9 기준으로 /etc/my.cnf 위치에 설정파일이 위치합니다.

    이 파일을 vim 명령어로 4줄만 넣어주면됩니다.

    vi /etc/my.cnf

    [mysqld_safe]
    timezone=’Asia/Seoul’

    [mariadb]
    default_time_zone=’+9:00′

    아래 두줄만 넣으면 될꺼같은데…

    mariadb 홈페이지 가보니깐 mysqld_safe 항목에도 넣으라고 적혀있더군요.

    한국시각 변경해야하므로 America/New_Yourk 미국동부 지역을 예시로 적혀있더군요.

    우리나라가 +9시간 아시아 서울이므로 Asia/Seoul 을 입력한것입니다.

    default_time_zone=’+9:00′

    이 부분을 어떤 사이트에서는 default-time-zone=’+9:00′ 이렇게 알려주기도 하더군요

    이부분 찾는데 한참 걸렸으며 (위 방법은 틀린거니 절대 따라 하지마세요)

    또 [mariadb] 항목을 [mysqld]로 세팅되어져서 그때문에 또 헤맸습니다.

    여러분들은 저와같은 실수를 하지 않았으면 하는 마음에 글로 작성해놓았습니다.

    물론 저도 나중에 이글을 보고 다시 정리해야겠네요.