리눅스맨 » 자격증추천 리눅스맨 » 자격증추천
  • MYSQL DB 데이터베이스 용량 줄이기

    MYSQL DB 데이터베이스 용량 줄이기

    매월 늘어나는 빅데이터로 인해서 MySQL DB 용량은 점점 늘어나고 있습니다.

    7년전에 이미 예상했던 부분이기에 크게 놀랍지는 않습니다.

    그 당시 월단위로 20GB씩 늘어났었으며 1년에 240GB를 사용할 경우 10년에 2400GB를 확보하면 된다는 마인드로 2TB SSD를 구입하여 사용해왔습니다.

    2TB SSD를 이용할 경우 대략 10년 정도 버틸 수 있다 생각했었죠.

    실제로 용량은 그보다 더 많이 늘어났습니다.

    이미 쌓인 DB를 바탕으로 더 많은 수집 정보로 인해서 용량은 거대해지게 되었죠.

    안되겠다 싶어서 MySQL OPTIMIZE 등등 다 해보았지만 근본적으로 물리용량까지 줄일 수는 없었습니다.

    지금은 아래 테이블을 보시다싶이 1개월 단위로 용량이 눈에 띄일 정도로 많이 줄어든 상태입니다.

    제가 사용한 방법은 INDEX를 없애버린겁니다.

    인덱스가 사라지니깐 속도는 느리지만 더 많은 용량을 확보하여 하드웨어 비용적인 부분에서 절약이 많이 되었습니다.

    20GB -> 2GB로 확 줄어버리니 10년의 기간이 100년으로 늘어나게 된거죠.

    대신 어떤 데이터를 찾을 때 매우 느리다는것만 감안한다면 뭐 그리 큰 문제는 아니였습니다.

    용량을 줄여놓고보니 이번에는 가상화 VM 구조로 운영을 할 수 있게 되었습니다.

    그래서 200GB정도면 10년치를 확보 할 수 있겠다 싶어 잘 운영하고 있었죠.

    그런데 이미 7년이 넘어가는 시점에 도달하였고 역시 200GB 용량으로는 한계점이 오게되어 물리적인 용량을 늘려야 하는 시기가 또 다다르게 된것입니다.

    이번에는 조금 다른 생각을 하게되었습니다.

    기존에는 INDEX 컬럼을 삭제했다면 이번에는 물리적으로 ROW를 줄여보자는 마음이 생기더군요.

    처음부터 약속을 하는거죠.

    기준치에 미치지 못하는 경우에 대해서는 그냥 일괄 수집을 하지 않는 방법입니다.

    이 알고리즘은 아니 알고리즘이라고 말하기도 힘들죠. 그냥 방법론인거죠.

    처음에 몇가지 상태를 지정해놓고 그 상태를 바탕으로 기준에 미치지 못하면 ROW를 넣지 않고 기준에 부합할 경우에만 INSERT 시키는 방법입니다.

    이렇게 할 경우 제가 기준을 얼마나 높이냐에 따라 수집되는 데이터는 줄어들게되죠.

    대신 정확도는 점점 떨어지게됩니다.

    높은 수치를 지정해놓게되면 그 이하 수치는 모두 수집을 하지 않게 되니 정확도가 그만큼 떨어지게되죠.

    하지만 정확도와 무관하게 숫자가 0부터 1만까지가 있을 경우 0과 1은 큰차이가 생기지 않기에 0과 1을 제거 할 경우

    ROW갯수는 엄청나게 차이가 나게됩니다.

    크기 2.3GB 용량의 테이블 크기가 463.3MB 만큼 확보를 할 수 있게 되었습니다.

    바로 1에 대한 부분을 0과 퉁 쳐버린거죠.

    이제부터 0과 1은 같다 생각하고 1로 수집하는 모든 경우의 수를 배제해버리게 되죠.

    1개월에 0.5GB 정도의 용량을 확보 할 수 있다면 1년에 5기가를 확보하게 되는것입니다.

    10년이면 50기가가 되는거죠.

    MYSQL 테이블 데이터베이스 용량 줄이기

    1. 필요없는 INDEX를 삭제한다.

    인덱스 삭제는 신중해야합니다. DB속도를 좌지우지 하기 때문이죠.

    속도에 큰 문제가 없다 생각되면 삭제 하셔도 됩니다. 이때에는 ROW갯수가 100만개가 안 넘을 때 가능하죠.

    ROW갯수가 100만개가 넘어간다면 INDEX 설정은 어찌보면 필수일수 있습니다.

    테이블 갯수를 더 쪼개고 인덱스를 지우는 방법도 한번 생각해보세요.

    2. 필요없는 ROW를 삭제한다.

    저는 이미 인덱스는 삭제한 상태이며 이제는 ROW 갯수를 줄여가는 중입니다.

    지금은 1을 수집하지 않고 있지만 앞으로는 10이하를 수집 하지 않을 수도 있습니다.

    그렇게 되면 용량이 더 많이 확보되겠죠.

    10이하를 삭제할 경우 만약2GB용량이 200MB 정도의 용량이 된다면 과감하게 삭제 할 지도 모르겠습니다.

    한번 10이하를 몽땅 삭제 해보아야겠네요.

    Query OK, 22289399 rows affected (15 min 9.646 sec)

    1을 삭제 했더니 22,289,399개의 ROW가 삭제되었네요.

    총 갯수가 7천만개 정도 였으니… 대략 30%가 삭제된듯 합니다.

    1,2,3,4,5 총 5개의 항목이니 5이하를 삭제할 경우 대략 처음대비 70%정도의 용량이 늘어날 것으로 예상됨니다.

    명령어 입력을 잘 못하여 counter < 5 이렇게 넣었네요.

    이미 1항목이 삭제된 상태였고 5미만 처리 해서 5가 포함되지 않아 2,3,4 이렇게 3항목이 추가로 삭제 되었습니다.

    Query OK, 16883723 rows affected (10 min 33.614 sec)

    16,883,723건의 ROW가 삭제되었습니다.

    이번에는 아예 10 이하로 지정했습니다.

    1,2,3,4까지 삭제된 상태가 31,608,565개라면 10 이하를 삭제 할 경우 5,6,7,8,9,10 이렇게 총 6개 항목의 ROW가 삭제됩니다.

    Query OK, 9852316 rows affected (6 min 51.217 sec)

    생각한 수치만큼 많이 삭제되지는 않았네요.

    9,852,316건의 ROW가 삭제되었습니다.

    만약 ROW를 삭제 할 수 없는 상태라면 이렇게 고민을 해보시기 바랍니다.

    MAX 수치 또는 MIN 수치 값이 분명 존재할겁니다.

    혹은 가장 많은 수치를 반복적으로 수집되는 ROW가 많이 있다면 그 ROW만 제거하는 겁니다.

    그리고 제거된 날짜, INDEX 마다 체크하여 그 값이 존재한다고 가정하고 결과물을 만들어내는거죠.

    그 하나의 통일된 ROW만 제거 되더라도 용량 확보가 엄청 많이 됩니다.

  • AWS Route 53 도메인 이전 KSDOM(iTEASY) 가져오기

    AWS Route 53 도메인 이전 KSDOM(iTEASY) 가져오기

    AWS Route 53 쪽으로 도메인을 모으고 있습니다.

    이유는 간단합니다.

    관리가 편하거든요.

    사실 ITEASY (구. KSDOM) 업체를 이용했던 이유는 한가지였습니다.

    한국 도메인 (co.kr 과 kr)이 저렴하다는 정도였고 부가적인 요소를 굳이 찾으라 한다면 웹 DNS 를 도메인별로 50개 정도 제공한다는 점이 매력적이었죠. 사실 도메인마다 50개 다 채우려면 제 메인 tion.kr , tion.co.kr 이런 도메인들 아니고서는 힘들죠.

    관리 차원에서 tion.kr 도메인은 50개를 넘어서 tion.co.kr 도메인쪽에 DNS를 넘겨서 사용해야 했던 불편한 사항은 있긴했습니다.

    다른 업체 ( 후이즈, 가비아, 카페24, 닷네엠코리아, 도레지 등등 ) 왠만한 도메인 대행 업체를 사용해보았으며 가격면에서 KSDOM 만한 곳이 없었죠.

    하지만 최근에 와서 제가 위에 보여드린것처럼 AWS Route 53 쪽으로 도메인을 모으고 있습니다.

    특히 .com 도메인의 경우 13달러 (한화 대략 15000~16000원) 정도이며 여러가지 부가적인 세금이 붙으면 17000원 정도 하는데

    KSDOM과 가격차이가 거의 없더군요.

    게다가 제가 요즘 확보하는 도메인들은 글로벌화 하게 .com .net .link .click .es 등등 이러한 글로벌화에 맞춘 도메인들이라서 굳이 .co.kr 과 .kr 을 고집할 필요가 없더군요.

    그래서 만기 돌아오는 co.kr 도메인과 .kr 도메인은 필요하지 않다 싶으면 그냥 낙장으로 버리고 있고요.

    사용중인 도메인은 그냥 ksdom에 놔두고 사용중입니다.

    대신 .com 도메인과 .net 도메인들은 AWS Route 53 쪽으로 기관 이전을 신청하여 하나씩 옮기고 있습니다.

    옮기면서 더 좋아진 점이라면….음…. 자동결제? ㅎㅎ

    한국에도 자동결제 되는 업체가 있겠지만 그리고 10년 장기 결제 해놓으면 딱히 이런 부분들을 생각하지 않겠지만…

    1년단위로 결제를 해야하는 도메인도 사실 있습니다. 그리고 매해 결제를 늦지 않고 해야하죠.

    그런 도메인들이 자동으로 결제가 된다면 굿데디나 이런 서비스를 사용해도 괜찮죠.

    암튼… AWS Route 53 에 도메인을 올려놓으면 제가 편하고 좋습니다.

    DNS 서버도 아마존에서 EC2 인스턴스로 2개 운영하고 있으니 그냥 도메인관련해서는 아마존에게 다 맡긴 샘이죠.

    제 개인적으로 운영중이던 munhoyoung.com 도메인이 만료일이 다 되어서 낙장 대기 명단에 올라와있더군요.

    이를 KSDOM 업체에서 AWS Route 53 쪽으로 기관 이전을 진행합니다.

    위에 보시면 [ 기존 도메인을 이전 ] 합니다 라고 적혀있거든요. 이부분을 클릭하면 됩니다.

    확인 버튼을 클릭하면 이전이 가능한지 여부를 확인하고 바로 장바구니 넣어서 진행할 수 있습니다.

    이까지 딱히 어려운 부분은 없습니다.

    1. 권한 부여 코드 및 이름 서버

    이 부분은 영어가 아닌 한글로 번역되다보니 재미있는 단어가 나온거 같습니다.

    인증코드랑 네임서버 이렇게 두가지를 입력해야합니다.

    인증코드는 KSDOM 업체로 요청하면 도메인에 등록된 메일로 코드가 발급됩니다.

    이 코드를 아마존 Route 53 인증코드 항목에 입력하면 되고요.

    네임서버 항목에 뭘 넣으셔야 할지 모르는 분들이 상당히 많이 있습니다.

    일단은 이전하실때에는 이전전에 등록된 NameServer 리스트 그대로 유지하시는게 좋습니다.

    저처럼 네임서버를 따로 운영하고 관리를 해야한다면 새로 등록하면 되지만 ….

    저는 이전하기 이전에 KSDOM 업체에서 이미 네임서버를 변경한 상태입니다.

    개인정보관련해서 입력하시면 됩니다.

    저는 도메인을 이미 많이 등록한 상태라서 기존 등록된 기본 주소랑 정보가 입력되었네요.

    이 부분은 제가 중요하게 여기는 부분입니다. ㅎ

    도메인을 자동 갱신하시겠습니까? Yes!!

    이렇게 해서 신청했습니다.

    카드랑 세팅을 해야하지만 저는 이미 EC2 인스턴스랑 지불되는 항목들이 많다보니 도메인은 자동으로 결제되네요.

    6일 이내에 제 메일로 확인 메일이 한통 오게됩니다.

    KSDOM측에서 마지막 통보 확인 메일을 보내는거죠.

    여전히 이전 권한을 부여해야 합니다.
    이메일 주소를 변경했는지 여부에 따라 한 개 또는 세 개의 이메일을 보냅니다.
    
    중요
    6일 이내에 각 이메일의 링크를 클릭해야 합니다. 그렇지 않으면 이전이 취소됩니다.
    이전 권한 부여: AWS에서는 항상 현재 등록 연락처의 이메일 주소로 이메일을 보냅니다.
    이메일 주소에 대한 변경 권한 부여: 등록 연락처의 이메일 주소를 변경한 경우 일부 TLD 등록 레지스트리에는 사용자의 권한 부여가 필요합니다.
    이메일 한 통이 이전 이메일 주소로 전송됩니다.
    다른 이메일 한 통이 새 주소로 전송됩니다.
    변경 권한을 부여하려면 두 이메일에서 모두 링크를 클릭해야 합니다.
    다음 단계
    이전 권한 및 필요한 경우 이메일 주소 변경 권한을 부여한 후 도메인 이전이 시작됩니다. 이 작업에는 최대 11일이 소요될 수 있습니다. 이 기간 중 대부분은 현재 등록자가 이전을 승인하기를 기다리는 것입니다.
    
    다음은 귀하가 이전을 요청한 1개 도메인입니다.
    
    munhoyoung.com

    진짜로 이전하는게 맞냐? 라고 메일이 오게됩니다.

    각 업체에 맞게끔 맞다는 항목의 버튼을 클릭하면 이후 도메인은 AWS Route 53으로 이전이 완료되게됩니다.

    이전이 되면 실제 DNS A레코드와 CNAME 레코드가 정상적으로 동작하는지부터 확인해야합니다.

    끝! 쉽죠~?

    메일 도착했네요..

    한 10분 걸렸나? 그럴겁니다.

    이제 제가 할 부분은 다 했습니다.

    기다리면 도메인이 하나 늘어나있습니다.

    금방도착했네요.

    서버랑 프로그래밍 작업을 하고 있는데 확인해보니 이전되어져있네요.

    홈페이지도 잘 뜨고 있습니다.

    멋지네요.

    저 말고요 ㅎㅎ AWS Route 53 이요~

  • 워드프레스 젯팩 사이트가속기 사용하면 안되는 이유

    워드프레스 젯팩 사이트가속기 사용하면 안되는 이유

    왠만해선 젯팩을 유용하게 사용하고 있습니다.

    또 초보자 입장에서 젯팩 플러그인은 매우 유용하죠.

    하지만 오늘 다루는 내용은 젯팩에서 제공하는 사이트 가속기 플러그인입니다.

    간단하게 설명하면..

    젯팩에서 이미지를 자신의 서버로 들고 가서 더 가볍게 만들어서 자신의 서버로 보여주는 개념입니다.

    또 정적인 파일 (JS, STYLE) 파일을 압축하거나 가볍게 만들어서 CDN처럼 만들어주는 개념입니다.

    얼핏 들어보면 매우 좋아보이죠.

    내 사이트를 조금이라도 가볍게 만들어주고 더 빠르게 만들어주니깐요.

    하지만 매우 큰 단점이 한가지가 있습니다.

    바로 내 사이트에서 동작하지 않는다는 점입니다.

    시간이 흘러흘러 먼 미래에 젯팩은 엄청나게 규모가 커져 있을겁니다.

    제 워드프레가 젯팩 플러그인을 몽땅 활용하고 또 무거운 이미지를 젯팩 서버쪽에 맡기고 있을테니깐요.

    결국 내 자산이 늘어나고 브랜딩이 확장되는 개념이 아니라 젯팩의 브랜드를 나를 통해서 높여주고 있는것이죠.

    뭐 잘되는 업체 잘되게 하는것은 괜찮습니다.

    하지만 제가 우려하는것들은 젯팩의 오류라던지 서버와의 연동으로 인해서 워드프레스 이미지가 원할하게 나오지 않을때

    바로 끄때 뒤늦게 깨닫게되죠.

    그때 플러그인을 빼는 순간 여러분들의 HTML URL주소는 갑자기 바뀌게되므로 웹사이트 SEO에도 영향을 줄 수 있습니다.

    예전에 APM 달고 캐시 달면 사이트 빨라진다는 얄팍한 속임수에 속아서 캐시 플러그인과 APM 플러그인을 자주 활용했죠.

    애드센스 수익이 떨어지는것뿐만 아니라 제가 운영하는 워드프레스가 확장이되지 않는다는것을 깨닫고

    그날 이후로 모든 캐시관련 플러그인은 삭제했습니다.

    웹사이트 SEO 최적화를 위해서는 내가 만든 기능이 아니라면 가급적이면 피하는게 좋다는걸 알게되었죠.

    캐시 플러그인 남의 손에 맡기다간 어느순간 내수익이 상대방에게 가고 있다는 사실을 잊지마세요.

    지금 이 블로그랑 제가 운영하고 있는 모든 워드프레스 블로그에서는 캐시 플러그인과 AMP 플러그인을 사용하지 않고 있습니다. 덕분에 그 날 이후로 방문자가 무럭무럭 늘어나는 워드프레스도 생겨나고 있죠. 기대가 많이 되고 있습니다.

    오늘은 조금 중요한 내용인것같아서 메모해놓았습니다.

    보시는분들 캐시 플러그인 때문에 고민하고 있다면 잘 생각하고 돌리시기 바랍니다.

  • phpMyAdmin error deprecation notice in . vendor twig twig src loader filesystemloader.php#40

    phpMyAdmin error deprecation notice in . vendor twig twig src loader filesystemloader.php#40

    phpMyAdmin Errors

    phpMyAdmin Install

    phpMyAdmin install
    #Solution Script - linux
    
    rm -rf phpMyAdmin-5.2.1-all-languages.zip
    
    mkdir /var/www/backup
    
    cd /var/www/backup
    wget https://vlog.tion.co.kr/app/phpMyAdmin/phpMyAdmin-5.2.1-all-languages.zip
    unzip phpMyAdmin-5.2.1-all-languages.zip
    rm -rf phpMyAdmin-5.2.1-all-languages.zip
    
    rm -rf /var/www/phpMyAdmin
    mv phpMyAdmin-5.2.1-all-languages/ /var/www/phpMyAdmin
    
    
    cd /var/www/phpMyAdmin
    rm -rf config.inc.php
    rm -rf config.sample.inc.php
    wget -O config.inc.php https://vlog.tion.co.kr/html/phpmyadmin/config.inc.php?isDownload=1
    ll
    
    
    

    phpMyAdmin error

    phpMyAdmin deprecation notice in . vendor twig twig src loader filesystemloader.php#40

    The solution is to reinstall phpMyAdmin 5.2.x or later.

    DOWNLOAD

    Deprecation Notice in ./vendor/twig/twig/src/Loader/FilesystemLoader.php#40
     realpath(): Passing null to parameter #1 ($path) of type string is deprecated
    
    Backtrace
    
    ./vendor/twig/twig/src/Loader/FilesystemLoader.php#40: realpath(NULL)
    ./libraries/classes/Template.php#59: Twig\Loader\FilesystemLoader->__construct(string '/var/www/phpMyAdmin//templates/')
    ./libraries/classes/Theme.php#103: PhpMyAdmin\Template->__construct()
    ./libraries/classes/Theme.php#174: PhpMyAdmin\Theme->__construct()
    ./libraries/classes/ThemeManager.php#306: PhpMyAdmin\Theme::load(
    string './themes/metro',
    string '/var/www/phpMyAdmin/./themes/metro/',
    )
    ./libraries/classes/ThemeManager.php#89: PhpMyAdmin\ThemeManager->loadThemes()
    ./libraries/classes/ThemeManager.php#129: PhpMyAdmin\ThemeManager->__construct()
    ./libraries/classes/ThemeManager.php#397: PhpMyAdmin\ThemeManager::getInstance()
    ./libraries/common.inc.php#315: PhpMyAdmin\ThemeManager::initializeTheme()
    ./index.php#23: require_once(./libraries/common.inc.php)
    Deprecation Notice in ./vendor/twig/twig/src/Node/Node.php#161
     Return type of Twig\Node\Node::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
    
    Backtrace
    
    ./vendor/composer/ClassLoader.php#444: include(./vendor/twig/twig/src/Node/Node.php)
    ./vendor/composer/ClassLoader.php#322: Composer\Autoload\includeFile(string '/var/www/phpMyAdmin/vendor/composer/../twig/twig/src/Node/Node.php')
    Composer\Autoload\ClassLoader->loadClass(string 'Twig\\Node\\Node')
    ./vendor/twig/twig/src/TwigFilter.php#150: class_exists(string 'Twig\\Node\\Node')
    ./vendor/composer/ClassLoader.php#444: include(./vendor/twig/twig/src/TwigFilter.php)
    ./vendor/composer/ClassLoader.php#322: Composer\Autoload\includeFile(string '/var/www/phpMyAdmin/vendor/composer/../twig/twig/src/TwigFilter.php')
    ./vendor/twig/twig/src/Extension/CoreExtension.php#214: Composer\Autoload\ClassLoader->loadClass(string 'Twig\\TwigFilter')
    ./vendor/twig/twig/src/ExtensionSet.php#433: Twig\Extension\CoreExtension->getFilters()
    ./vendor/twig/twig/src/ExtensionSet.php#423: Twig\ExtensionSet->initExtension()
    ./vendor/twig/twig/src/ExtensionSet.php#397: Twig\ExtensionSet->initExtensions()
    ./vendor/twig/twig/src/Environment.php#966: Twig\ExtensionSet->getUnaryOperators()
    ./vendor/twig/twig/src/Lexer.php#459: Twig\Environment->getUnaryOperators()
    ./vendor/twig/twig/src/Lexer.php#110: Twig\Lexer->getOperatorRegex()
    ./vendor/twig/twig/src/Environment.php#539: Twig\Lexer->__construct()
    ./vendor/twig/twig/src/Environment.php#595: Twig\Environment->tokenize()
    ./vendor/twig/twig/src/Environment.php#408: Twig\Environment->compileSource()
    ./vendor/twig/twig/src/Environment.php#381: Twig\Environment->loadClass(
    string '__TwigTemplate_5e4a7429ac6200a1f609bf802387b12eb0ea958b9f1bd4f816fec01d6b87b66a',
    string 'login/header.twig',
    NULL,
    )
    ./vendor/twig/twig/src/Environment.php#359: Twig\Environment->loadTemplate(string 'login/header.twig')
    ./libraries/classes/Template.php#100: Twig\Environment->load(string 'login/header.twig')
    ./libraries/classes/Template.php#134: PhpMyAdmin\Template->load(string 'login/header')
    ./libraries/classes/Plugins/Auth/AuthenticationCookie.php#144: PhpMyAdmin\Template->render(
    string 'login/header',
    array,
    )
    ./libraries/classes/Plugins/AuthenticationPlugin.php#268: PhpMyAdmin\Plugins\Auth\AuthenticationCookie->showLoginForm()
    ./libraries/common.inc.php#365: PhpMyAdmin\Plugins\AuthenticationPlugin->authenticate()
    ./index.php#23: require_once(./libraries/common.inc.php)
    Deprecation Notice in ./vendor/twig/twig/src/Node/Node.php#166
     Return type of Twig\Node\Node::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
    
    Backtrace
    
    ./vendor/composer/ClassLoader.php#444: include(./vendor/twig/twig/src/Node/Node.php)
    ./vendor/composer/ClassLoader.php#322: Composer\Autoload\includeFile(string '/var/www/phpMyAdmin/vendor/composer/../twig/twig/src/Node/Node.php')
    Composer\Autoload\ClassLoader->loadClass(string 'Twig\\Node\\Node')
    ./vendor/twig/twig/src/TwigFilter.php#150: class_exists(string 'Twig\\Node\\Node')
    ./vendor/composer/ClassLoader.php#444: include(./vendor/twig/twig/src/TwigFilter.php)
    ./vendor/composer/ClassLoader.php#322: Composer\Autoload\includeFile(string '/var/www/phpMyAdmin/vendor/composer/../twig/twig/src/TwigFilter.php')
    ./vendor/twig/twig/src/Extension/CoreExtension.php#214: Composer\Autoload\ClassLoader->loadClass(string 'Twig\\TwigFilter')
    ./vendor/twig/twig/src/ExtensionSet.php#433: Twig\Extension\CoreExtension->getFilters()
    ./vendor/twig/twig/src/ExtensionSet.php#423: Twig\ExtensionSet->initExtension()
    ./vendor/twig/twig/src/ExtensionSet.php#397: Twig\ExtensionSet->initExtensions()
    ./vendor/twig/twig/src/Environment.php#966: Twig\ExtensionSet->getUnaryOperators()
    ./vendor/twig/twig/src/Lexer.php#459: Twig\Environment->getUnaryOperators()
    ./vendor/twig/twig/src/Lexer.php#110: Twig\Lexer->getOperatorRegex()
    ./vendor/twig/twig/src/Environment.php#539: Twig\Lexer->__construct()
    ./vendor/twig/twig/src/Environment.php#595: Twig\Environment->tokenize()
    ./vendor/twig/twig/src/Environment.php#408: Twig\Environment->compileSource()
    ./vendor/twig/twig/src/Environment.php#381: Twig\Environment->loadClass(
    string '__TwigTemplate_5e4a7429ac6200a1f609bf802387b12eb0ea958b9f1bd4f816fec01d6b87b66a',
    string 'login/header.twig',
    NULL,
    )
    ./vendor/twig/twig/src/Environment.php#359: Twig\Environment->loadTemplate(string 'login/header.twig')
    ./libraries/classes/Template.php#100: Twig\Environment->load(string 'login/header.twig')
    ./libraries/classes/Template.php#134: PhpMyAdmin\Template->load(string 'login/header')
    ./libraries/classes/Plugins/Auth/AuthenticationCookie.php#144: PhpMyAdmin\Template->render(
    string 'login/header',
    array,
    )
    ./libraries/classes/Plugins/AuthenticationPlugin.php#268: PhpMyAdmin\Plugins\Auth\AuthenticationCookie->showLoginForm()
    ./libraries/common.inc.php#365: PhpMyAdmin\Plugins\AuthenticationPlugin->authenticate()
    ./index.php#23: require_once(./libraries/common.inc.php)

  • phpmyadmin config.inc.php 설정 자동 다운로드 스크립트

    phpmyadmin config.inc.php 설정 자동 다운로드 스크립트

    phpmyadmin config.inc.php 설정

    phpMyAdmin 설정을 매번 서버 만들때마다 해야 합니다.

    그래서 이를 자동으로 서버 생성시 만들어지도록 하였습니다.

    #phpmyadmin 폴더에서 아래 명령어를 입력하세요
    #주의!! 새로 설치했을때만 적용하세요.
    
    cd /var/www/phpMyAdmin
    rm -rf config.inc.php
    rm -rf config.sample.inc.php
    wget -O config.inc.php https://vlog.tion.co.kr/html/phpmyadmin/config.inc.php?isDownload=1
    ll
    
    

    phpMyAdmin 5.x.x version config.inc.php file DOWNLOAD

    다로 파일 설정만 필요하면 아래 코드를 그대로 복사하여 사용하면 됩니다.

    <?php
    /* vim: set expandtab sw=4 ts=4 sts=4: */
    /**
    * phpMyAdmin sample configuration, you can use it as base for
    * manual configuration. For easier setup you can use setup/
    *
    * All directives are explained in documentation in the doc/ folder
    * or at <https://docs.phpmyadmin.net/>.
    *
    * @package PhpMyAdmin
    */
    declare(strict_types=1);

    /**
    * This is needed for cookie based authentication to encrypt password in
    * cookie. Needs to be 32 chars long.
    */
    $cfg[‘blowfish_secret’] = ‘$~(#cS2*qppfZA-#&s+DP;^1Lz;m*LF^‘;

    /**
    * Servers configuration
    */
    $i = 0;

    /**
    * First server
    */
    $i++;
    /* Authentication type */
    $cfg[‘Servers’][$i][‘auth_type’] = ‘cookie’;
    /* Server parameters */
    $cfg[‘Servers’][$i][‘host’] = ‘localhost’;
    $cfg[‘Servers’][$i][‘compress’] = false;
    $cfg[‘Servers’][$i][‘AllowNoPassword’] = false;

    /**
    * phpMyAdmin configuration storage settings.
    */

    /* User used to manipulate with storage */
    // $cfg[‘Servers’][$i][‘controlhost’] = ”;
    // $cfg[‘Servers’][$i][‘controlport’] = ”;
    // $cfg[‘Servers’][$i][‘controluser’] = ‘pma’;
    // $cfg[‘Servers’][$i][‘controlpass’] = ‘pmapass’;

    /* Storage database and tables */
    // $cfg[‘Servers’][$i][‘pmadb’] = ‘phpmyadmin’;
    // $cfg[‘Servers’][$i][‘bookmarktable’] = ‘pma__bookmark’;
    // $cfg[‘Servers’][$i][‘relation’] = ‘pma__relation’;
    // $cfg[‘Servers’][$i][‘table_info’] = ‘pma__table_info’;
    // $cfg[‘Servers’][$i][‘table_coords’] = ‘pma__table_coords’;
    // $cfg[‘Servers’][$i][‘pdf_pages’] = ‘pma__pdf_pages’;
    // $cfg[‘Servers’][$i][‘column_info’] = ‘pma__column_info’;
    // $cfg[‘Servers’][$i][‘history’] = ‘pma__history’;
    // $cfg[‘Servers’][$i][‘table_uiprefs’] = ‘pma__table_uiprefs’;
    // $cfg[‘Servers’][$i][‘tracking’] = ‘pma__tracking’;
    // $cfg[‘Servers’][$i][‘userconfig’] = ‘pma__userconfig’;
    // $cfg[‘Servers’][$i][‘recent’] = ‘pma__recent’;
    // $cfg[‘Servers’][$i][‘favorite’] = ‘pma__favorite’;
    // $cfg[‘Servers’][$i][‘users’] = ‘pma__users’;
    // $cfg[‘Servers’][$i][‘usergroups’] = ‘pma__usergroups’;
    // $cfg[‘Servers’][$i][‘navigationhiding’] = ‘pma__navigationhiding’;
    // $cfg[‘Servers’][$i][‘savedsearches’] = ‘pma__savedsearches’;
    // $cfg[‘Servers’][$i][‘central_columns’] = ‘pma__central_columns’;
    // $cfg[‘Servers’][$i][‘designer_settings’] = ‘pma__designer_settings’;
    // $cfg[‘Servers’][$i][‘export_templates’] = ‘pma__export_templates’;

    /**
    * End of servers configuration
    */

    /**
    * Directories for saving/loading files from server
    */
    $cfg[‘UploadDir’] = ”;
    $cfg[‘SaveDir’] = ”;
    $cfg[‘TempDir’] = ‘/tmp’;
    /**
    * Whether to display icons or text or both icons and text in table row
    * action segment. Value can be either of ‘icons’, ‘text’ or ‘both’.
    * default = ‘both’
    */
    //$cfg[‘RowActionType’] = ‘icons’;

    /**
    * Defines whether a user should be displayed a “show all (records)”
    * button in browse mode or not.
    * default = false
    */
    //$cfg[‘ShowAll’] = true;

    /**
    * Number of rows displayed when browsing a result set. If the result
    * set contains more rows, “Previous” and “Next”.
    * Possible values: 25, 50, 100, 250, 500
    * default = 25
    */
    //$cfg[‘MaxRows’] = 50;

    /**
    * Disallow editing of binary fields
    * valid values are:
    * false allow editing
    * ‘blob’ allow editing except for BLOB fields
    * ‘noblob’ disallow editing except for BLOB fields
    * ‘all’ disallow editing
    * default = ‘blob’
    */
    //$cfg[‘ProtectBinary’] = false;

    /**
    * Default language to use, if not browser-defined or user-defined
    * (you find all languages in the locale folder)
    * uncomment the desired line:
    * default = ‘en’
    */
    //$cfg[‘DefaultLang’] = ‘en’;
    //$cfg[‘DefaultLang’] = ‘de’;

    /**
    * How many columns should be used for table display of a database?
    * (a value larger than 1 results in some information being hidden)
    * default = 1
    */
    //$cfg[‘PropertiesNumColumns’] = 2;

    /**
    * Set to true if you want DB-based query history.If false, this utilizes
    * JS-routines to display query history (lost by window close)
    *
    * This requires configuration storage enabled, see above.
    * default = false
    */
    //$cfg[‘QueryHistoryDB’] = true;

    /**
    * When using DB-based query history, how many entries should be kept?
    * default = 25
    */
    //$cfg[‘QueryHistoryMax’] = 100;

    /**
    * Whether or not to query the user before sending the error report to
    * the phpMyAdmin team when a JavaScript error occurs
    *
    * Available options
    * (‘ask’ | ‘always’ | ‘never’)
    * default = ‘ask’
    */
    //$cfg[‘SendErrorReports’] = ‘always’;

    /**
    * You can find more configuration options in the documentation
    * in the doc/ folder or at <https://docs.phpmyadmin.net/>.
    */

  • ESXi 7.0 자동 로그아웃 끄기

    ESXi 7.0 자동 로그아웃 끄기

    ESXi 7 사용중일때 자동으로 로그아웃 되버리면 VM 업로드 도중에 끊기거나 처음부터 다시 해야하는 경우가 생깁니다.

    이때 이 기능을 끌수 있는데 이부분에 대해서 정리합니다.

    매번 이렇게 종료되어 도메인 호스팅이 없을 시에는 아이디와 암호를 매번 입력해야합니다. 불편하죠

    ESXi 8, 7, 6 자동 로그아웃 해제

    관리 > 시스템 > 고급설정 > UserVars.HostClientSessionTimeout 값을 0 으로 변경

    UserVars.HostClientSessionTimeout = 0

    이제 로그아웃이 안됩니다.

  • nslookup 찾을 수 없습니다 ping 호스트에 연결할 수 없습니다

    nslookup 찾을 수 없습니다 ping 호스트에 연결할 수 없습니다

    윈도우 7 OS에서 인터넷 공유 방식으로 IP를 얻고 있습니다.

    메인 윈도우 PC에서 DNS 주소를 잡아주었음에도 불구하고 보조 PC 윈도우7에서는 DNS가 잡히지 않더군요.

    실제로 nslookup 명령어로 확인해보니 DNS서버 정보는 잘 나왔습니다.

    서버: UnKnown

    Address: 15.165.229.181

    그런데 호스트를 찾을 수 없다고 나오더군요.

    분명히 Internet Protocal Version 4 (TCP/IPv4) 속성에서 DNS 서버 주소까지 입력했는데도 안되더군요.

    이렇게 되어있어서 서버까지는 찾는거 같더군요.

    그런데 실제 동작을 하지 않아서 ing 호스트에 연결할 수 없습니다 멘트까지 보게되었습니다.

    이를 해결하고자 메인쪽 PC에서 인터넷 공유 하는 항목에도 TCP/IPv4 DNS 서버 주소를 입력했습니다.

    왼쪽 로컬 영역 연결에서만 속성을 변경했었는데… 이게 문제인듯 하여 공유 게이트웨이쪽도 해줬습니다.

    이렇게 하여 결국 nslookup 명령어랑 ping 명령어로 확인해보니 잘 연결되더군요.

    DNS 주소가 서버쪽에서는 이렇게 중요하단 사실을 오늘 또 실감합니다.

  • 도메인 컨설팅 (좋은 도메인 구입 등록 방법)

    도메인 컨설팅 (좋은 도메인 구입 등록 방법)

    브랜딩에서 중요한 역할을 하고 있는 도메인에 대해서 어떻게 생각하고 계신가요?

    혹시 아직 도메인을 구입하지 않으셨나요?

    그렇다면 지금 바로 도메인 컨설팅을 통하여 자신만의 브랜딩을 확보하시기 바랍니다.

    제가 운영하고 있는 회사이름은 [ 티온 ] 입니다.

    당연히 티온 도메인이 존재하겠죠?

    두개의 도메인에 대해서 확보하여 사용하고 있습니다.

    두개의 도메인을 이용하여 다양한 브랜드를 만들어서 활용하고 있습니다.

    블로그를 하는 분들에게 블로그지수 개념을 조금이라도 도와드리기 위한 [ 티온스테이션 ] sta.tion.co.kr 워드프레스 블로그와 개인 서버 구축에 관련된 정보를 일기처럼 기록하고 있는 지금 이 워드프레스 [ 리눅스맨 ] vlog.tion.co.kr 등 그 이외 몇개 더 만들어서 관리를 하고 있습니다.

    이렇게 도메인만 보더라도 [ 티온 ] 에서 운영하는 워드프레스 블로그라는 사실을 알 수 있습니다.

    그런데 이렇게 자신이 원하는 도메인을 쉽게 구입 할 수 없다는 것이 함정입니다.

    후이즈 도메인 대행 업체를 통하여 확인해보니 kr, co.kr, com, net, it, ai, io 등 인기있는 도메인은 모두 등록불가 상태입니다.

    그렇다고 포기하시지마세요. 도메인이 위에 보이는 전부가 아니기 때문입니다.

    더 많은 도메인을 검색해보면 등록 가능한 다양한 도메인을 찾을 수 있습니다.

    수 백개가 넘는 최상위 도메인 중에서 내가 활동하고 있는 영역과 잘 어울릴만한 도메인을 찾는것이죠.

    티온커뮤니티 사이트를 운영해보고 싶다면 tion.community 도메인을 확보하여 www.tion.community 이렇게 만들면됩니다.

    티온파트너스 사이트를 만들려면 tion.partners 도메인을 구입하여 그에 맞게 브랜딩을 할 수 있죠.

    제가 프로그래머이기도 하니 프로그램 툴을 제작해서 판매, 배포 하기 위해 티온 툴 사이트도 만들 수 있겠죠.

    www.tion.tools 이렇게 워드프레스 블로그를 이용하여 브랜딩을 한다면 또 새로운 브랜드가 만들어지는 것이죠.

    이렇게 인터넷에서 브랜딩은 정말 무궁무진하고 생각하면 할수록 너무 설레입니다.

    지금은 제가 [ 티온 ] 제 회사명을 바탕으로 이렇게 검색을 했잖아요.

    만약 내가 더 규모있게 전세계를 대상으로 도메인 대행 사업을 하고 싶다면? 어떤 도메인을 확보하면 될까요?

    domain 을 검색해보겠습니다.

    역시 제가 생각한것처럼 최상위 유명한 도메인은 누군가가 이미 확보하여 사용하고 있습니다.

    와우 이 분야는 정말 글로벌 스럽네요.

    정말 별로 안 유명한 최상위 도메인까지 전세계 사람들이 싹 쓸어갔네요.

    도메인 프로텍션? 도메인을 보호한다…

    조금 거리가 있기는 하지만 암튼 구입할 수 있는 도메인입니다.

    아래에 보니깐 테니스 관련 업종에 계신 대표님이라면 나름 괜찮은 도메인 같습니다.

    domain.tennis 이 테니스가 그 운동의 테니스 맞죠? ㅎㅎ

    이 도메인을 어떻게 활용할 수 있냐면요.

    my.domain.tennis [ 내 도메인 테니스 ] 이렇게 개인적으로 운영도 가능하지만 저는 글로벌하게 테니스 협회를 국제적으로 연결 하여 사용 한다면 나라별로 도메인을 만들어서 활용 할 수 있습니다.

    테니스 협회 국제 연맹

    보여지는 웹사이트로 운영하여도 되며 인트라넷 등 DNS 서버로 활용하기도 좋은 도메인 이름입니다.

    후이즈로 등록을 하게 된다면 1년에 8만8천원 비용으로 위 도메인을 사용 할 수 있습니다.

    만약 AWS ROUTE 53 서비스를 이용할 경우 $47에 1년 이용이 가능합니다.

    그렇게 큰 차이는 아니지만 환율 1500원으로 잡을 경우 대략 7만원정도이니 AWS ROUTE 53 서비스에서 구입할 경우 20%정도 더 저렴하게 구입을 할 수 있습니다.

    도메인 구매로 끝나는것이 아니라 워드프레스 홈페이지를 운영하기 위해서는 호스팅이 필요하며 호스팅과 함께 보안서버 인증서까지 확보하여야 합니다.

    대략적으로 기본 모델을 구입했다고 가정해보고 산출 해보도록 하겠습니다.

    보안서버 SSL 적용 할 경우 후이즈에서는 1년에 4만8천원이 추가 비용이 나오게됩니다.

    그리고 워드프레스 호스팅을 위한 스탠다드 ( 파일용량 3기가 ~ 5기가 ) 이용할 경우 한달에 2만원~3만원 정도 지출됩니다.

    제가 워드프레스 블로그를 다수 운영해봐서 잘 알고 있습니다.

    파일 용량 생각 하지 않고 그냥 막 사용하면 10G 생각보다 금방 사용됩니다.

    파일 크기를 줄이기 위해서 이미지(사진) 용량을 줄이는 프로그램을 사용해야지만 이러한 부분들로부터 해방되죠.

    아무튼 지금 보고 계신 이 워드프레스 블로그 [ 리눅스맨 ]의 용량은 대략 2G 정도 사용하고 있습니다.

    글 갯수는 300개 조금 넘는 수준이 2GB 라고 생각하면 됩니다.

    이렇게 따지면 2년 정도 지나서부터는 스탠다드 상품에서 한단계 위의 상품을 구입하여 사용해야 한다는 결론이 나오죠.

    만약에 클라우드 기반의 서버호스팅이라면 용량 늘리는 것은 문제가 전혀 안됩니다

    하지만 카페2*** 라던지 클라우드 기반이 아닌 업체를 이용할 경우 서버 이전을 해야하는 대형 이슈가 생겨버리죠.

    이전을 할 경우 또 30만원 ~ 100만원 이상의 서버 이전비용이 발생할 수 있습니다.

    이런거를 다 따지면 처음부터 프리미엄 월 7만원씩 지불하고 용량이 많은 서버를 호스팅하여 사용하기도 합니다.

    대략 10년을 운영한다고 가정하고 용량이 매해 1GB씩 늘어난다고 했을때 결국 파일용량은 10GB를 넘어가게 됩니다.

    10년치를 산출 하면 이렇습니다.

    호스팅비용: 5,856,000원

    보안서버 SSL 인증서 비용: 384,000원

    도메인비용: 704,000원

    합계: 6,944,000원 (10년 운영비용)

    대략 700만원 정도 비용이 지출됩니다.

    만약? 위의 금액에서 절반이상을 줄일 수 있다면? 330만원에 파일 용량도 10배 더 사용할 수 있고 더 좋은 사양으로 10년을 사용할 수 있다면 여러분들은 저에게 의뢰할 의향이 있으신가요? 게다가 매년마다 직접 도메인, 보안서버, 호스팅을 관리해드립니다.

    호스팅 서버의 파일용량 100GB 를 제공해드릴 수 있으며 같은 조건으로 AWS ROUTE 53 으로 domain.tennis 도메인을 10년 결제 해드리겠습니다. 이걸로 끝나는게 아니라 DNS 서버도 제가 직접 관리를 해드릴꺼며 만약 개별 DNS서버를 운영하고 싶으시다면 추가 금액 220만원으로 AWS EC2 DNS인스턴스 서버를 10년 이용 하실 수 있도록 세팅을 해드릴 수 있습니다.

    파일 용량 때문에 걱정하는 일은 없으실겁니다.

    더 많은 용량이 필요하여 1TB 이상의 개인 서버를 운영해야한다면 그 부분은 저와 따로 협의하여 서버를 운영 할 수 있습니다.

    브랜딩 도메인, 워드프레스 호스팅, 보안서버 신청은 스마트폰에서 아래 문자보내기를 클릭하여 신청할 수 있습니다.

    문자보내기

    감사합니다.

  • ESXi 7.0 Operation not permitted 원인 해결

    ESXi 7.0 Operation not permitted 원인 해결

    ESXi 7 서버를 운영하면서 Operation not permitted 문구를 너무 많이 봤습니다.

    처음에 서버를 설치할때에는 이러한 문제가 없었는데 ESXi 서버에서 ESXi 서버를 한번 더 설치 할 때 이 문구가 많이 보였고,

    또 최근에 ESXi 7.0 Update 3g 버전이상 설치하고 shell script 를 실행할때 위의 메시지가 나타났습니다.

    분명히 chmod 701 serverChecker.sh 이렇게 권한을 줬음에도 불구하고 permiited 즉 권한이 없다며 실행이 안되더군요.

    그 원인을 보안 부팅에서 찾았습니다.

    vi /etc/rc.local.d/local.sh

    유일하게 ESXi 부팅 시 내가 원하는 명령어를 입력할 수 있는 구간입니다.

    이 구간에 아래 노트를 잘 보면 UEFI 보안 부팅이 실행될 때 이 스크립트가 실행하지 않을꺼라고 적혀있습니다.

    Note: This script will not be run when UEFI secure boot is enabled.

    이 문장으로 인해서 [ Operation not permitted ] 권한 문제를 해결할 수 있었습니다.

    부팅 할 때 UEFI Secure boot 즉 보안부팅을 하지 않으면 됩니다.

    CMOS에 접속하여서 이부분을 변경하면되고요.

    만약 VM모드에서 동작하는거라면 아래 이미지처럼 VM 옵션을 변경하면 됩니다.

    이 부분을 체크박스 풀고 저장 눌러서 ESXi 서버를 실행하면 쉘스크립트가 권한 관련 메시지 나오지 않고 바로 실행됩니다.

    결국 이 모든것을 해결 해야 하는 근본적인 이유는 관리죠!!

    대량으로 관리를 하다보니 대량으로 서버가 잘 동작하고 있는지 매 분단위로 체크하고 확인해야합니다.

    그렇기 때문에 ESXi 서버가 처음에 켜질때 [ 나 켜졌습니다 ] [ 운전 중입니다 ] 라고 저에게 알려줘야합니다.

    처음에는 vCenter에 물려있다보니 vCenter 를 연결해제하고 정말 여러가지 시도를 많이 했습니다.

    정말 쉽게 해결될 문제임에도 불구하고 그 정확한 정보까지 접근전에는 답답함과 밤샘이 이어진다는 사실….

    당분간 ESXi 8 버전까지 가지고 놀 수 있을 듯 합니다.

    처음에는 ESXi 7.0 U3d 이상 버전에서 업데이트가 이루어진줄 알았는데… 저만의 착각이었네요.

    ESXi 8.0 버전까지 모두 동작합니다.

  • ESXi SSH 접속 안될 때

    ESXi SSH 접속 안될 때

    vCenter 운영하다보면 잠금보드를 엄격 (vCenter Server를 통해서만 호스트에 엑세스 할 수 있습니다. 직접 콘솔 UI 서비스가 중지됩니다.) 모드로 변경하면 아무리 SSH 접속이 가능하도록 서비스 항목을 변경하더라도 접속이 안됩니다.

    이때에는 호스트 잠금 모드 지정을 [ 사용 안 함 ] 으로 잠시 변경하여야 합니다.

    보통 VMWARE 상에서 즉 PC에서 서버로 VM을 업로드 할 경우가 있는데

    이때에는 vCenter 에 ESXi 서버가 연결되어져 있다는 이유만으로도 업로드가 금지됩니다.

    당연히 잠시 ESXi 서버를 접속 해제 하고 VM 업로드 완료되면 다시 연결해서 사용하면 됩니다.

    ESXi 잠금 모드는 권한 문제랑 직결되지만 실제로 SSH 내에서 권한문제는 없었습니다.

    단지 UEFI 모드 보안 부팅 로그인이 될 경우 권한 문제가 심각하게 발생했죠.

    이 부분에 대한 자세한 내용은 아래 글을 참고해주세요.

  • ESXi vision 정보 확인

    ESXi vision 정보 확인

    ESXi 관리자 Web Client 접속하여 오른쪽 도움말 항목에서 [ 정보 ] 를 클릭하면 버전을 알 수 있습니다.

    그리고 탐색기에서 [ 호스트 ] 항목을 확인하면 위에 보이시는 것처럼 [ 구성 ] 항목에 ESXi-7.0U3d-19482537-standard 나옵니다

    도움말 -> 정보 항목에서는 아래처럼 클라이언트 버전과 ESXi 빌드 번호가 나타납니다.

    이 빌드 번호를 VMWARE 홈페이지에서 릴리즈 될 때마다 빌드넘버를 저장하는데 아래 테이블을 보면

    자세히 버전정보랑 빌드 넘버에 대해서 알 수 있습니다.

    VMWARE ESXi Version Build Number Infomation

    VersionRelease NameRelease DateBuild NumberInstaller Build Number
    ESXi 8.0bESXi 8.0b2023/02/1421203435NA
    ESXi 8.0aESXi 8.0a2022/12/0820842819N/A
    ESXi 8.0 GAESXi 8.0 GA2022/10/1120513097N/A
         
    ESXi 7.0 Update 3kESXi 7.0 Update 3k2023/02/23 21313628N/A
    ESXi 7.0 Update 3jESXi 7.0 Update 3j2023/01/3121053776N/A
    ESXi 7.0 Update 3iESXi 7.0 Update 3i2022/12/0820842708N/A
    ESXi 7.0 Update 3gESXi 7.0 Update 3g2022/09/0120328353N/A
    ESXi 7.0 Update 3fESXi 7.0 Update 3f2022/07/1220036589N/A
    ESXi 7.0 Update 3eESXi 7.0 Update 3e2022/06/1419898904N/A
    ESXi 7.0 Update 3dESXi 7.0 Update 3d2022/03/2919482537N/A
    ESXi 7.0 Update 3cESXi 7.0 Update 3c2022/01/2719193900N/A
    ESXi 7.0 Update 3bESXi 7.0 Update 3b2021/11/1218905247See note below
    ESXi 7.0 Update 3aESXi 7.0 Update 3a2021/10/2818825058See note below
    ESXi 7.0 Update 3ESXi 7.0 Update 32021/10/0518644231See note below
    ESXi 7.0 Update 2eESXi 7.0 Update 2e2022/02/1519290878N/A
    ESXi 7.0 Update 2dESXi 7.0 Update 2d2021/09/1418538813N/A
    ESXi 7.0 Update 2cESXi 7.0 Update 2c2021/08/2418426014N/A
    ESXi 7.0 Update 2aESXi 7.0 Update 2a2021/04/2917867351N/A
    ESXi 7.0 Update 2ESXi 7.0 Update 22021/03/0917630552N/A
    ESXi 7.0 Update 1eESXi 7.0 Update 1e2022/02/1519324898N/A
    ESXi 7.0 Update 1dESXi 7.0 Update 1d2021/02/0217551050N/A
    ESXi 7.0 Update 1cESXi 7.0 Update 1c2020/12/1717325551N/A
    ESXi 7.0 Update 1c (security Only)ESXi 7.0 Update 1c (security Only)2020/12/1717325020N/A
    ESXi 7.0 Update 1bESXi 7.0 Update 1b2020/11/1917168206N/A
    ESXi 7.0 Update 1aESXi 7.0 Update 1a2020/11/0417119627N/A
    ESXi 7.0 Update 1ESXi 7.0 Update 12020/10/0616850804N/A
    ESXi 7.0bESXi 7.0b2020/06/2316324942N/A
    ESXi 7.0 GAESXi 7.0 GA2020/04/0215843807N/A
         
    ESXi 6.7 P08ESXi670-2022100012022/10/0620497097N/A
    ESXi 6.7 EP 24ESXi670-2022070012022/07/1219997733N/A
    ESXi 6.7 P07ESXi670-2022060012022/06/1419898906N/A
    ESXi 6.7 EP 23ESXi670-2022010012022/01/2519195723N/A
    ESXi 6.7 P06ESXi670-2021110012021/11/2318828794N/A
    ESXi 6.7 P05ESXi670-2021030012021/03/1817700523N/A
    ESXi 6.7 EP 18ESXi670-2021020012021/02/2317499825N/A
    ESXi 6.7 P04ESXi 670-2020110022020/11/1917167734N/A
    ESXi 6.7 EP 17ESXi670-2020110012020/11/0417098360N/A
    ESXi 6.7 EP 16ESXi670-2020100012020/10/1516773714N/A
    ESXi 6.7 P03ESXi670-2020080012020/08/2016713306N/A
    ESXi 6.7 EP 15ESXi670-2020060012020/06/0916316930N/A
    ESXi 6.7 P02ESXi670-2020040022020/04/2816075168N/A
    ESXi 6.7 EP 14ESXi670-2020040012020/04/0715820472N/A
    ESXi 6.7 P01ESXi670-2019120012019/12/0515160138N/A
    ESXi 6.7 EP 13ESXi670-2019110012019/11/1215018017N/A
    ESXi 6.7 Update 3ESXi 6.7 U32019/08/2014320388N/A
    ESXi 6.7 EP 10ESXi670-2019060022019/06/2013981272N/A
    ESXi 6.7 EP 09ESXi670-2019050012019/05/1413644319N/A
    ESXi 6.7 EP 08ESXi670-2019040012019/04/3013473784N/A
    ESXi 6.7 U2ESXi 6.7 U22019/04/1113006603N/A
    ESXi 6.7 EP 07ESXi670-2019030012019/03/2813004448N/A
    ESXi 6.7 EP 06ESXi670-2019010012019/01/1711675023N/A
    ESXi 6.7 EP 05ESXi670-2018110012018/11/0910764712N/A
    ESXi 6.7 U1ESXi 6.7 U12018/10/1610302608N/A
    ESXi 6.7 EP 04ESXi670-2018100012018/10/0210176752N/A
    ESXi 6.7 EP 03ESXi670-2018080012018/08/149484548N/A
    ESXi 6.7 EP 02aESXi670-2018070012018/07/269214924N/A
    ESXi 6.7 EP 02ESXi670-2018060012018/06/288941472N/A
    ESXi 6.7 GAESXi 6.7 GA2018/04/178169922N/A
         
    ESXi 6.5 P09ESXi650-2022100012022/10/0620502893N/A
    ESXi 6.5 EP27ESXi650-2022070012022/07/1219997716N/A
    ESXi 6.5 P08ESXi650-2022050012022/05/1219588618N/A
    ESXi 6.5 EP26ESXi650-2022020012022/02/1519092475N/A
    ESXi 6.5 P07ESXi650-2021100012021/10/1218678235N/A
    ESXi 6.5 EP 24ESXi650-2021070012021/07/1318071574N/A
    ESXi 6.5 P06ESXi650-2021020012021/02/2317477841N/A
    ESXi 6.5 EP 23ESXi 650-2020110022020/11/1917167537N/A
    ESXi 6.5 EP 22ESXi650-2020110012020/11/0417097218N/A
    ESXi 6.5 EP 21ESXi650-2020100012020/10/1516901156N/A
    ESXi 6.5 P05ESXi650-2020070012020/07/3016576891N/A
    ESXi 6.5 EP 20ESXi650-2020060012020/06/3016389870N/A
    ESXi 6.5 EP 19ESXi650-2020050012020/05/2816207673N/A
    ESXi 6.5 P04ESXi650-2019120022019/12/1915256549N/A
    ESXi 6.5 EP 18ESXi650-2019120012019/12/0515177306N/A
    ESXi 6.5 EP 17ESXi650-2019110012019/11/1214990892N/A
    ESXi 6.5 EP 16ESXi650-2019100012019/10/2414874964N/A
    ESXi 6.5 EP 15ESXi650-2019080012019/08/2014320405N/A
    ESXi 6.5 Update 3ESXi 6.5 Update 32019/07/0213932383N/A
    ESXi 6.5 EP 14ESXi650-2019050012019/05/1413635690N/A
    ESXi 6.5 EP 13ESXi650-2019030012019/03/2813004031N/A
    ESXi 6.5 EP 12ESXi650-2019010012019/01/3111925212N/A
    ESXi 6.5 P03ESXi650-2018110022018/11/2910884925N/A
    ESXi 6.5 EP 11ESXi650-2018110012018/11/0910719125N/A
    ESXi 6.5 EP 10ESXi650-2018100022018/10/2310390116N/A
    ESXi 6.5 EP 09ESXi650-2018100012018/10/0210175896N/A
    ESXi 6.5 U2CESXi650-2018080012018/08/149298722NA
    ESXi 6.5 U2bESXi650-2018060012018/06/288935087N/A
    ESXi 6.5 U2 GAESXi 6.5 U2 GA2018/05/038294253N/A
    ESXi 6.5 U1gESXi650-2018030012018/03/207967591N/A
    ESXi 6.5 Patch 02ESXi650-2017120012017/12/197388607N/A
    ESXi 6.5 U1 Express Patch 4ESXi650-2017100012017/10/056765664N/A
    ESXi 6.5 U1ESXi 6.5 U12017/07/275969303N/A
    ESXi 6.5.0dESXi650-2017040012017/04/185310538N/A
    ESXi 6.5. Express Patch 1aESXi650-2017030022017/03/285224529N/A
    ESXi 6.5. Patch 01ESXi650-2017030012017/03/0951468465146843
    ESXi 6.5.0 aESXi650-2017010012017/02/024887370N/A
    ESXi 6.5 GAESXi 6.5 GA2016/11/154564106N/A
         
    ESXi 6.0 EP 25ESXi600-2020020012020/02/2015517548N/A
    ESXi 6.0 EP 23ESXi600-2019120012019/12/0515169789N/A
    ESXi 6.0 P08ESXi600-2019090012019/09/1214513180N/A
    ESXi 6.0 EP 22ESXi600-2019110012019/11/1215018929N/A
    ESXi 6.0 EP 21ESXi600-2019050012019/05/1413635687N/A
    ESXi 6.0 EP 20ESXi600-2019030012019/03/2813003896N/A
    ESXi 6.0 EP 19ESXi600-2018110012018/11/0910719132N/A
    ESXi 6.0 EP 18ESXi600-2018100012018/10/2310474991N/A
    ESXi 6.0 EP 17ESXi600-2018090012018/09/139919195N/A
    ESXi 6.0 EP 15ESXi600-2018080012018/08/149313334N/A
    ESXi 6.0 P07ESXi600-2018070012018/07/269239799N/A
    ESXi 6.0 U3fESXi600-2018060012018/06/288934903N/A
    ESXi 6.0 U3eESXi600-2018030012018/03/207967664N/A
    ESXi 6.0 U3dESXi600-2018010012018/01/097504637NA
    ESXi 6.0 Patch 6ESXi600-2017110012017/11/096921384N/A
    ESXi 6.0 Express Patch 11ESXi600-2017100012017/10/056765062N/A
    ESXi 6.0 Update 3a (ESXi 6.0 Patch 5)ESXi600-2017060012017/06/065572656N/A
    ESXi 6.0 Express Patch 7cESXi600-2017030032017/03/285251623N/A
    ESXi 6.0 Update 1 (VMSA-2017-0006)ESXi600-2017030022017/03/285251621N/A
    ESXi 6.0 Express Patch 7aESXi600-2017030012017/03/285224934N/A
    ESXi 6.0 Update 3ESXi 6.0 Update 32017/02/245050593N/A
    ESXi 6.0 Patch 4ESXi600-2016110012016/11/224600944N/A
    ESXi 6.0 Express Patch 7ESXi600-20161000110/17/20164510822N/A
    ESXi 6.0 Patch 3ESXi600-2016080012016/08/044192238N/A
    ESXi 6.0 Express Patch 6ESXi600-2016050012016/05/123825889N/A
    ESXi 6.0 Update 2ESXi 6.0 Update 22016/03/163620759N/A
    ESXi 6.0 Express Patch 5ESXi600-2016020012016/02/233568940N/A
    ESXi 6.0 Update 1bESXi600-2016010012016/01/073380124N/A
    ESXi 6.0 Express Patch 4ESXi600-2015110012015/11/253247720N/A
    ESXi 6.0 U1a (Express Patch 3)ESXi600-2015100012015/10/063073146N/A
    ESXi 6.0 U1ESXi 6.0 U12015/09/103029758N/A
    ESXi 6.0.0bESXi600-2015070012015/07/072809209N/A
    ESXi 6.0 Express Patch 2ESXi600-2015050012015/05/142715440N/A
    ESXi 6.0 Express Patch 1ESXi600-2015040012015/04/0926157042615979
    ESXi 6.0 GAESXi 6.0 GA2015/03/122494585N/A
         
    ESXi 5.5 U3kESXi550-2018090012018/09/149919047N/A
    ESXi 5.5 U3JESXi550-2018080012018/08/149313066NA
    ESXi 5.5 U3iESXi550-2018060012018/06/288934887N/A
    ESXi 5.5 U3hESXi550-2018030012018/03/207967571N/A
    ESXi 5.5 Express Patch 13ESXi550-2018010022018/01/227618464N/A
    ESXi 5.5 Update 3fESXi550-2017090012017/09/146480324N/A
    ESXi 5.5 Express Patch 11ESXi550-2017030012017/03/285230635N/A
    ESXi 5.5 Patch 10ESXi550-2016120012016/12/2047227664761836
    ESXi 5.5 Patch 9ESXi550-2016090012016/09/1543458134362114
    ESXi 5.5 Patch 8ESXi550-2016080012016/08/044179633N/A
    ESXi 5.5 Express Patch 10ESXi550-2016020012016/02/213568722N/A
    ESXi 5.5 Express Patch 9ESXi550-2016010012016/01/043343343N/A
    ESXi 5.5 Update 3bESXi550-2015120012015/12/083248547N/A
    ESXi 5.5 Update 3aESXi550-2015100012015/10/063116895N/A
    ESXi 5.5 Update 3ESXi 5.5 Update 32015/09/163029944N/A
    ESXi 5.5 Patch 5 re-releaseESXi550-2015050022015/05/082718055N/A
    ESXi 5.5 Express Patch 7ESXi550-2015040012015/04/072638301N/A
    ESXi 5.5 Express Patch 6ESXi550-2015020012015/02/052456374N/A
    ESXi 5.5 Patch 4ESXi550-2015010012015/01/272403361N/A
    ESXi 5.5 Express Patch 5ESXi550-2014120012014/12/022302651N/A
    ESXi 5.5 Patch 3ESXi550-2014100012014/10/152143827N/A
    ESXi 5.5 Update 2ESXi 5.5 Update 22014/09/092068190N/A
    ESXi 5.5 Patch 2ESXi550-2014070012014/07/011892794N/A
    ESXi 5.5 Express Patch 4ESXi550-2014060012014/06/101881737N/A
    ESXi 5.5 Update 1aESXi550-2014040012014/04/191746018N/A
    ESXi 5.5 Express Patch 3ESXi550-2014040202014/04/191746974N/A
    ESXi 5.5 Update 1ESXi 5.5 Update 12014/03/111623387N/A
    ESXi 5.5 Patch 1ESXi550-2013120012013/12/221474528N/A
    ESXi 5.5 GAESXi 5.5 GA2013/09/221331820N/A
         
    ESXi 5.1 Patch 9ESXi 5.1 Patch 92016/05/243872664N/A
    ESXi 5.1 Patch 8ESXi 5.1 Patch 82015/10/013070626N/A
    ESXi 5.1 Patch 7ESXi 5.1 Patch 72015/03/262583090N/A
    ESXi 5.1 Update 3ESXi 5.1 Update 32014/12/042323236N/A
    ESXi 5.1 Patch 6ESXi 5.1 Patch 62014/10/302191751N/A
    ESXi 5.1 Patch 5ESXi 5.1 Patch 52014/07/312000251N/A
    ESXi 5.1 Express Patch 5ESXi 5.1 Express Patch 52014/06/171900470N/A
    ESXi 5.1 Patch 4ESXi 5.1 Patch 42014/04/291743533N/A
    ESXi 5.1 Express Patch 4ESXi 5.1 Express Patch 42014/02/271612806N/A
    ESXi 5.1 Update 2ESXi 5.1 Update 22014/01/161483097N/A
    ESXi 5.1 Patch 3ESXi 5.1 Patch 32013/10/171312873N/A
    ESXi 5.1 Patch 2ESXi 5.1 Patch 22013/07/251157734N/A
    ESXi 5.1 Express Patch 3ESXi 5.1 Express Patch 32013/05/231117900N/A
    ESXi 5.1 Update 1ESXi 5.1 Update 12013/04/251065491N/A
    ESXi 5.1 Express Patch 2ESXi 5.1 Express Patch 22013/03/071021289N/A
    ESXi 5.1 Patch 1ESXi 5.1 Patch 12012/12/20914609N/A
    ESXi 5.1.0aESXi 5.1.0a2012/10/25838463N/A
    ESXi 5.1.0 GAESXi 5.1.0 GA2012/09/10799733N/A
         
    ESXi 5.0 Patch 13ESXi 5.0 Patch 132016/06/143982828N/A
    ESXi 5.0 Patch 12ESXi 5.0 Patch 122015/10/013086167N/A
    ESXi 5.0 Patch 11ESXi 5.0 Patch 112015/02/242509828N/A
    ESXi 5.0 Patch 10ESXi 5.0 Patch 102014/12/042312428N/A
    ESXi 5.0 Patch 9ESXi 5.0 Patch 92014/08/282000308N/A
    ESXi 5.0 Express Patch 6ESXi 5.0 Express Patch 62014/07/011918656N/A
    ESXi 5.0 Patch 8ESXi 5.0 Patch 82014/05/291851670N/A
    ESXi 5.0 Patch 7ESXi 5.0 Patch 72014/01/231489271N/A
    ESXi 5.0 Update 3ESXi 5.0 Update 32013/10/171311175N/A
    ESXi 5.0 Patch 6ESXi 5.0 Patch 62013/08/291254542N/A
    ESXi 5.0 Express Patch 5ESXi 5.0 Express Patch 52013/05/151117897N/A
    ESXi 5.0 Patch 5ESXi 5.0 Patch 52013/03/281024429N/A
    ESXi 5.0 Update 2ESXi 5.0 Update 22012/12/20914586N/A
    ESXi 5.0 Patch 4ESXi 5.0 Patch 42012/09/27821926822948
    ESXi 5.0 Patch 3ESXi 5.0 Patch 32012/07/12768111N/A
    ESXi 5.0 Express Patch 4ESXi 5.0 Express Patch 42012/06/14721882N/A
    ESXi 5.0 Express Patch 3ESXi 5.0 Express Patch 32012/05/03702118N/A
    ESXi 5.0 Express Patch 2ESXi 5.0 Express Patch 22012/04/12653509N/A
    ESXi 5.0 Update 1ESXi 5.0 Update 12012/03/15623860N/A
    ESXi 5.0 Patch 2ESXi 5.0 Patch 22011/12/15515841N/A
    ESXi 5.0 Express Patch 1ESXi 5.0 Express Patch 12011/11/03504890N/A
    ESXi 5.0 Patch 1ESXi 5.0 Patch 12011/09/13474610474643
    ESXi 5.0 GAESXi 5.0 GA2011/08/24469512469965
         
    ESX 4.1 Patch 11aESX 4.1 Patch 11a2014/10/012168595N/A
    ESXi/ESX 4.1 Patch 11ESXi/ESX 4.1 Patch 112014/04/101682698N/A
    ESXi/ESX 4.1 Patch 10ESXi/ESX 4.1 Patch 102013/12/051363503N/A
    ESXi/ESX 4.1 Patch 9ESXi/ESX 4.1 Patch 92013/07/311198252N/A
    ESXi/ESX 4.1 Patch 8ESXi/ESX 4.1 Patch 82013/04/301050704N/A
    ESXi/ESX 4.1 Patch 7ESXi/ESX 4.1 Patch 72013/01/31988178N/A
    ESXi/ESX 4.1 Patch 6ESXi/ESX 4.1 Patch 62012/11/15874690N/A
    ESXi/ESX 4.1 Express Patch 3ESXi/ESX 4.1 Express Patch 32012/06/14721871N/A
    ESXi/ESX 4.1 Express Patch 2-1ESXi/ESX 4.1 Express Patch 2-12012/05/03702113N/A
    ESXi/ESX 4.1 Patch 5ESXi/ESX 4.1 Patch 52012/04/26659051N/A
    ESXi/ESX 4.1 Patch 4ESXi/ESX 4.1 Patch 42012/01/30582267N/A
    ESXi/ESX 4.1 Update 3ESXi/ESX 4.1 Update 32012/08/30800380N/A
    ESXi/ESX 4.1 Update 2ESXi/ESX 4.1 Update 22011/10/27502767N/A
    ESXi/ESX 4.1 Patch 3ESXi/ESX 4.1 Patch 32011/07/28433742N/A
    ESXi 4.1 Patch 2ESXi 4.1 Patch 22011/04/28381591382386
    ESX 4.1 Patch 2ESX 4.1 Patch 22011/04/28381591396960
    ESXi 4.1 Update 1ESXi 4.1 Update 12011/02/10351620348481
    ESX 4.1 Update 1ESX 4.1 Update 12011/02/10351621348481
    ESX 4.1 Express Patch 1ESX 4.1 Express Patch 12010/11/30320381320137
    ESX 4.1 Patch 1ESX 4.1 Patch 12010/11/16320092N/A
    ESX 4.1 GAESX 4.1 GA2010/07/13260247N/A
         
    ESX 4.0 Patch 15ESX 4.0 Patch 152014/10/012167889N/A
    ESX 4.0 Patch 14ESX 4.0 Patch 142013/10/241335992N/A
    ESX 4.0 Patch 13ESX 4.0 Patch 132012/05/301070634N/A
    ESX 4.0 Express Patch 9ESX 4.0 Express Patch 92013/02/07989856N/A
    ESX 4.0 Patch 12ESX 4.0 Patch 122012/09/14787047N/A
    ESX 4.0 Express Patch 8ESX 4.0 Express Patch 82012/06/14721907N/A
    ESX 4.0 Express Patch 7ESX 4.0 Express Patch 72012/05/03702116N/A
    ESX 4.0 Patch 11ESX 4.0 Patch 112012/03/30660575N/A
    ESXi 4.0 Update 4ESXi 4.0 Update 42011/11/17523315504850
    ESX 4.0 Patch 10ESX 4.0 Patch 102011/10/13480973N/A
    ESXi 4.0 Update 3ESXi 4.0 Update 32011/05/05403554398348
    ESX 4.0 Update 3ESX 4.0 Update 32011/05/05403553398348
    ESX 4.0 Patch 9ESX 4.0 Patch 92011/03/07360236N/A
    ESX 4.0 Patch 8ESX 4.0 Patch 82011/01/04332073N/A
    ESX 4.0 Patch 7ESX 4.0 Patch 72010/09/30294855N/A
    ESX 4.0 Update 2ESX 4.0 Update 22010/06/10261974N/A
    ESX 4.0 Patch 6ESX 4.0 Patch 62010/05/27256968N/A
    ESX 4.0 Patch 5ESX 4.0 Patch 52010/04/01244038N/A
    ESX 4.0 Patch 4ESX 4.0 Patch 42010/03/03236512N/A
    ESX 4.0 Patch 3ESX 4.0 Patch 32010/01/06219382N/A
    ESX 4.0 Update 1ESX 4.0 Update 12009/11/19208167N/A
    ESX 4.0 Patch 2ESX 4.0 Patch 22009/09/24193498N/A
    ESX 4.0 Patch 1ESX 4.0 Patch 12009/07/09175625N/A
    ESX 4.0 Eval & Free DownloadESX 4.0 Eval & Free Download 171294N/A
    ESX 4.0 GAESX 4.0 GA2009/05/21164009N/A

    제가 사용하는 빌드넘버 19482537 [ ESXi 7.0 Update 3d ] 버전은 VMWARE 본사에서 정식으로 등록받은 인증키를 이용하여 서버를 구축하고 있습니다. 벌써 2년이 넘어가고 있군요. 그동안 버전 8도 나오고 점점 발전하는 가상화 시스템을 보면서 모르면 손해를 볼 수 밖에 없는 구조로 사회가 점점 변화하고 있다는 사실도 알게 되었습니다.

    ESXi 라이센스 키 발급은 VMWARE 본사 홈페이지에서 구입 할 수 있습니다.

  • 개인서버 구축 제일 먼저 DNS 작업부터 시작하기

    개인서버 구축 제일 먼저 DNS 작업부터 시작하기

    개인서버를 구축할 때 가장 먼저 해야 할 부분은 바로 DNS 작업입니다.

    다른 작업들 보다 우선적으로 해야 합니다.

    DNS 서버를 잡아주는 것은 당연합니다.

    AWS DNS 서버 운영하기

    1. AWS EC2 인스턴스를 이용하여 DNS 서버를 구축합니다.

    보통 DNS 서버는 2대 이상을 권장하므로 EC2 2대를 DNS서버로 운영합니다.

    2. ESXi 서버 DNS와 VM의 DNS 정보를 구축한 DNS서버로 등록합니다.

    첫번째 단계와 두번째 단계는 매우 중요합니다.

    보통 ESXi 서버, Linux 서버, VM 에 등록되는 DNS를 기본으로 잡아놓는 경우가 많습니다.

    이로 인해서 서버간의 통신이 원할하지 않게 되는 경우를 종종 보게되죠.

    다른건 몰라도 서버간의 통신이 원할하게 될 수 있도록 서버간에 DNS 정보는 일괄적으로 구축한 DNS서버 주소를 등록합니다.

    DNS 작업이 완료되면 그 다음부터는 서버를 무한 확장 할 수 있는 관리자 시스템을 구축하여야 합니다.

    이때부터는 무한 반복으로 하드웨어 증설과 소프트웨어 무한 확장모드로 들어가면 됩니다.

    절대 잊지마시요!!

    무슨 시스템을 만들더라도 DNS 서버구축과 서버 클라이언트간의 통신을 원할하도록 DNS 등록 해야한다는 점!!

    매우 중요하고 중요해서 포스팅 해 놓았습니다.

    누군가는 이 글을 보면서 아무 의미없이 한번 대충 보고 넘기겠지만…

    주인장인 이 글을 수시로 쳐다봅니다. 그만큼 중요하고 매일마다 인지해야하는 부분이기때문이죠.

    그런부분을 보면 세상은 참 공평한것 같습니다.

    누군가에게는 같은 정보고 고급이고 누군가는 같은 정보고 그저 글자에 불과하니깐요.

    혹시라도 저를 따라 비슷하게 시스템을 만들고 싶으신분들을 위한 키워드를 나열해놓겠습니다.

    AWS(EC2, Route 53), DNS(Bind), DDNS(파이썬, C# DNS 자동화), VMWARE (ESXi, Workstation, VM Template), WORDPRESS, PHP, jQuery, Javascript, json, MYSQL, C#, Macro Express, Data Mining, Big Data, Ai,Teamviewer

    위의 클라우드장비, WAS, Framework, Tools, 기법이 제가 사용하는 것들입니다.