리눅스맨 » 자격증추천 리눅스맨 » 자격증추천
  • 워드프레스 필수 스니펫

    워드프레스 필수 스니펫

    code-snipptes 플러그인에서 필수로 만들어야 하는 항목들이 있습니다.

    처음 워드프레스를 만들면 head 영역에 워드프레스 검색이 되도록 javascript 입력해야하는경우도 있고

    또 테마의 라이선스 항목을 스타일로 없애기 위해 jQuery 프레임워크를 호출하여 사용하기도 합니다.

    이러한 필수 스니펫 항목을 일괄 import 할 수 있도록 json 파일로 만들어놓았습니다.

    파일을 다운받아서 code-snippets 플러그인에 import 하여 필요한 항목을 enabled 시켜서 사용하면 됩니다.

    워드프레스 설치 할때 플러그인도 새로 까셔야 하죠?

    필수 플러그인 바로 빠르게 설치 할 수 있도록 명령어로 구성해놓았습니다..

    필터에 업로드 Mimes 타입을 json 파일도 등록하였습니다.

    json 파일을 인터넷 다 검색해보면 text 로 타입을 잡아놨던데…. 잘못된 정보라서 정정해서 사용되도록 해놓았습니다.

    따로 글 올려놓을테니 보시고 도움되시기 바랍니다.

    잘 사용하세요.

  • 워드프레스 필수 플러그인

    워드프레스 필수 플러그인

    다른 플러그인의 설치 유무는 크게 중요하지 않습니다.

    하지만 위의 8개의 플러그인은 상당히 중요합니다.

    필수 항목이면서 매번 워드프레스를 설치할때마다 반복해야 하는 작업이라서 자동화를 위해 글을 작성합니다.

    일단 위의 플러그인을 일괄 압축하여 리눅스맨 워드프레스 블로그에 올려놓았습니다.

    사용방법은 아래 명령어를 그대로 wp-content 폴더에서 실행하면 됩니다.

    이때 기존 플러그인 폴더가 삭제되므로 이미 사용중인 워드프레스에서는 절대 실행하면 안됩니다.

    다시 말씀드리지만 처음에 워드프레스를 설치 할 때 설치 해야할 필수 항목입니다.

    #시작은 wp-content 폴더에서 명령어를 입력해주세요
    
    cd wp-content
    rm -rf plugins
    wget https://vlog.tion.co.kr/app/plugins.tar
    tar xvf plugins.tar
    rm -rf plugins.tar
    chown apache.apache plugins/ -R
    
    ll
    
    

    플러그인 설치를 위해 대략 5분정도 시간이 걸립니다. 이 시간을 줄이기 위함입니다.

    플러그인은 웹검색엔진 SEO 최적화에 집중되어져 있습니다.

    Yoast SEO 환경설정은 아래 내용을 그대로 import 넣으시기 바랍니다.

    ; These are settings for the Yoast SEO plugin by Yoast.com
    
    [wpseo]
    tracking = 
    license_server_version = 
    ms_defaults_set = 
    ignore_search_engines_discouraged_notice = 
    indexing_first_time = 
    indexing_started = 
    indexing_reason = ""
    indexables_indexing_completed = 
    version = "17.3"
    previous_version = "14.5"
    disableadvanced_meta = 1
    enable_headless_rest_endpoints = 1
    ryte_indexability = 1
    baiduverify = ""
    googleverify = ""
    msverify = ""
    yandexverify = ""
    site_type = "blog"
    has_multiple_authors = ""
    environment_type = "production"
    content_analysis_active = 1
    keyword_analysis_active = 1
    enable_admin_bar_menu = 1
    enable_cornerstone_content = 1
    enable_xml_sitemap = 1
    enable_text_link_counter = 1
    show_onboarding_notice = 
    first_activated_on = "1535634814"
    myyoast-oauth = 
    semrush_integration_active = 
    semrush_country_code = "us"
    permalink_structure = ""
    home_url = ""
    dynamic_permalinks = 
    category_base_url = ""
    tag_base_url = ""
    enable_enhanced_slack_sharing = 
    zapier_integration_active = 
    zapier_api_key = ""
    enable_metabox_insights = 
    enable_link_suggestions = 
    algolia_integration_active = 
    
    [wpseo_titles]
    forcerewritetitle = 
    separator = "sc-dash"
    title-home-wpseo = "%%sitename%%"
    title-author-wpseo = "%%name%%, Author at %%sitename%%"
    title-archive-wpseo = "%%date%% %%page%% %%sep%% %%sitename%%"
    title-search-wpseo = "%%searchphrase%% %%page%% %%sep%% %%sitename%%"
    title-404-wpseo = "%%sitename%% %%tag_description%% %%tag%%"
    social-title-author-wpseo = "%%name%%"
    social-title-archive-wpseo = "%%date%%"
    social-description-author-wpseo = ""
    social-description-archive-wpseo = ""
    social-image-url-author-wpseo = ""
    social-image-url-archive-wpseo = ""
    social-image-id-author-wpseo = 0
    social-image-id-archive-wpseo = 0
    metadesc-home-wpseo = "%%sitedesc%%"
    metadesc-author-wpseo = "%%sitename%% %%tag_description%% %%tag%%"
    metadesc-archive-wpseo = "%%sitename%% %%tag_description%% %%tag%%"
    rssbefore = ""
    rssafter = ""
    noindex-author-wpseo = 
    noindex-author-noposts-wpseo = 
    noindex-archive-wpseo = 
    disable-author = 
    disable-date = 
    disable-post_format = 
    disable-attachment = 1
    breadcrumbs-404crumb = ""
    breadcrumbs-display-blog-page = 
    breadcrumbs-boldlast = 
    breadcrumbs-archiveprefix = ""
    breadcrumbs-enable = 
    breadcrumbs-home = ""
    breadcrumbs-prefix = ""
    breadcrumbs-searchprefix = ""
    breadcrumbs-sep = ""
    website_name = ""
    person_name = ""
    person_logo = ""
    person_logo_id = 0
    alternate_website_name = ""
    company_logo = ""
    company_logo_id = 0
    company_logo_meta = 
    person_logo_meta = 
    company_name = ""
    company_or_person = "company"
    company_or_person_user_id = 1
    stripcategorybase = 
    open_graph_frontpage_title = "%%sitename%%"
    open_graph_frontpage_desc = ""
    open_graph_frontpage_image = ""
    open_graph_frontpage_image_id = 0
    title-post = "%%title%%"
    metadesc-post = "%%title%% %%tag%%"
    noindex-post = 
    display-metabox-pt-post = 1
    post_types-post-maintax = 0
    schema-page-type-post = "WebPage"
    schema-article-type-post = "Article"
    social-title-post = "%%title%%"
    social-description-post = ""
    social-image-url-post = ""
    social-image-id-post = 0
    title-page = "%%title%%"
    metadesc-page = "%%title%% %%tag%%"
    noindex-page = 
    display-metabox-pt-page = 1
    post_types-page-maintax = 0
    schema-page-type-page = "WebPage"
    schema-article-type-page = "None"
    social-title-page = "%%title%%"
    social-description-page = ""
    social-image-url-page = ""
    social-image-id-page = 0
    title-attachment = "%%title%% %%page%% %%sep%% %%sitename%%"
    metadesc-attachment = ""
    noindex-attachment = 
    display-metabox-pt-attachment = 1
    post_types-attachment-maintax = 0
    schema-page-type-attachment = "WebPage"
    schema-article-type-attachment = "None"
    title-tax-category = "%%term_title%% %%sep%% %%sitename%%"
    metadesc-tax-category = "%%term_title%% %%tag%%"
    display-metabox-tax-category = 1
    noindex-tax-category = 
    social-title-tax-category = "%%term_title%% Archives"
    social-description-tax-category = ""
    social-image-url-tax-category = ""
    social-image-id-tax-category = 0
    title-tax-post_tag = "%%term_title%%"
    metadesc-tax-post_tag = "%%term_title%% %%tag%%"
    display-metabox-tax-post_tag = 1
    noindex-tax-post_tag = 
    social-title-tax-post_tag = "%%term_title%% Archives"
    social-description-tax-post_tag = ""
    social-image-url-tax-post_tag = ""
    social-image-id-tax-post_tag = 0
    title-tax-post_format = "%%term_title%% %%sep%% %%sitename%%"
    metadesc-tax-post_format = "%%term_title%% %%tag%% %%page%%"
    display-metabox-tax-post_format = 
    noindex-tax-post_format = 
    social-title-tax-post_format = "%%term_title%% Archives"
    social-description-tax-post_format = ""
    social-image-url-tax-post_format = ""
    social-image-id-tax-post_format = 0
    taxonomy-category-ptparent = 
    taxonomy-post_tag-ptparent = 
    taxonomy-post_format-ptparent = 
    
    [wpseo_social]
    facebook_site = ""
    instagram_url = ""
    linkedin_url = ""
    myspace_url = ""
    og_default_image = ""
    og_default_image_id = ""
    og_frontpage_title = ""
    og_frontpage_desc = ""
    og_frontpage_image = ""
    og_frontpage_image_id = ""
    opengraph = 1
    pinterest_url = ""
    pinterestverify = ""
    twitter = 1
    twitter_site = ""
    twitter_card_type = "summary_large_image"
    youtube_url = ""
    wikipedia_url = ""

    워드프레스 필수 스니펫을 정리했습니다.

    아래 글 보시고 바로 import 해서 적용해보세요.

    잘 사용하세요.

  • 티온 서버모니터링 사용방법

    티온 서버모니터링 사용방법

    티온 웹서버모니터링

    티온 서버모니터링 사용방법

    서버를 다수 운영하다보니 각 서버마다 부하, 상태를 확인하기 어렵더군요.

    그래서 관련 웹서버 모니터링 서비스를 찾아보았지만 제 맘에 드는게 없어서 직접 만들었습니다.

    우선 파이썬3 버전이 설치가 되어져있어야 합니다.

    파이썬3 설치에 관련해서는 아래 링크를 참고해주세요.

    파이썬3 버전이 설치되었다면 아래 명령어를 그대로 복사 붙여넣기 하면됩니다.

    mkdir /root/_TION
    cd /root/_TION
    wget https://vlog.tion.co.kr/python/tionServerMonitoring.tar
    tar xvf tionServerMonitoring.tar
    rm -rf tionServerMonitoring.tar
    echo "python3 /root/_TION/tionServerMonitoring/memcheck_httpd_restart.py" > /tionServerMonitoring.sh
    chmod 701 /tionServerMonitoring.sh
    
    
    (crontab -l 2>/dev/null; echo "*/1 * * * * /tionServerMonitoring.sh") | crontab
    
    /tionServerMonitoring.sh
    
    ls -a
    

    위의 명령어를 그대로 서버에 SSH 프로그램을 이용하여 복사붙여넣기를 하면 python/tionServerMonitoring.tar 파일을 다운받고 그 파일을 압축풀어서 python3 명령어로 실행을 하게됩니다.

    python3: command not found

    파이썬3를 설치했음에도 불구하고 위처럼 나타나면 심볼릭을 잡아주시기 바랍니다.

    ln -s /usr/bin/python3.8 /usr/bin/python3

    이제 python3 명령어로 잘 실행이 되는군요.

    이제 다시 [ /tionServerMonitoring.sh ] 쉘스크립트를 실행해보겠습니다.

    위에서 이미 설치를 하였기에 다시 또 설치할 필요는 없습니다.

    괜히 crontab 항목에 1분마다 서버체크하는 항목만 더 추가되니 2번이상 설치하신분들은 꼭 crontab -e 항목을 확인하셔서 중복된 체킹을 제거해주세요.

    [root@amzn2 _TION]# /tionServerMonitoring.sh
    Traceback (most recent call last):
    File “/root/_TION/tionServerMonitoring/memcheck_httpd_restart.py”, line 1, in
    import psutil
    ModuleNotFoundError: No module named ‘psutil’

    이번에는 psutil 이라는 모듈이 없다고 나올겁니다.

    pip 명령어를 이용하여 psutil, stdin모듈을 설치해주세요

    pip install psutil stdin

    만약 pip 명령어가 없다고 나올 경우

    -bash: pip: command not found

    pip를 설치해야합니다.

    아래 링크에서 pip install 설치를 우선 확인하고 설치해주세요. (이 글 본문에도 링크 아랫쪽에 넣어두긴했습니다)

    1. 파이썬 get-pip.py 파일을 다운받습니다.

    아래 명령어를 입력하여 리눅스 서버에 get-pip.py 파일을 저장합니다.

    curl https://vlog.tion.co.kr/python/get-pip.py -o get-pip.py

    2. get-pip.py 파일을 이용하여 인스톨을 시작합니다.

    python3 get-pip.py

    이제 다시 pip install psutil string 이라고 해주세요

    이제 모든 모듈을 다 설치했습니다.

    이제 다시 [ /tionServerMonitoring.sh ] 쉘스크립트를 실행해보겠습니다.

    [root@amzn2 _TION]# /tionServerMonitoring.sh
    START!!
    MEMORY TOTAL: 960.46MB
    MEMORY USED: 187.34MB
    MEMORY FREE: 380.65MB
    -------------------------------------------------------------------------------------
    MEMORY percent is 34.10%
    MEMORY limit is over 80.00%
    -------------------------------------------------------------------------------------
    DISK TOTAL: 24.99GB
    DISK USED: 2.47GB
    DISK FREE: 22.52GB
    DISK PERCENT 9.90%
    NETWORK SENT: 2.39MB
    NETWORK RECV: 92.30MB
    NETWORK Packets_SENT: 0.03MB
    NETWORK Packets_RECV: 0.10MB
    BOOT_TIME: 2023-02-02 20:44:51
    CPU CORE: 1
    CPU PERCENT: [10.0]
    -------------------------------------------------------------------------------------
    --2023-02-02 21:14:07--  http://3.34.246.177/serverChecker.php?hostname=amzn2&mem_total=960.46MB&mem_used=187.34MB&mem_free=380.65MB&percent=34.10%25&limit=80.00%25&disk_usage_total=24.99GB&disk_usage_used=2.47GB&disk_usage_free=22.52GB&disk_usage_percent=9.90%25&net_io_counters_bytes_sent=2.39MB&net_io_counters_bytes_recv=92.30MB&net_io_counters_packets_sent=0.03MB&net_io_counters_packets_recv=0.10MB&boot_time=2023-02-02%2020:44:51&cpu_count=1&cpu_percent=[10.0]
    Connecting to 3.34.246.177:80... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 2 [text/html]
    Saving to: ‘/root/_TION/_logs_tionServerMonitor/serverChecker_php_2023-02-02_21:14:06’
    
    100%[===========================================================================================================================================>] 2           --.-K/s   in 0s      
    
    2023-02-02 21:14:07 (135 KB/s) - ‘/root/_TION/_logs_tionServerMonitor/serverChecker_php_2023-02-02_21:14:06’ saved [2/2]
    
    -------------------------------------------------------------------------------------
    INFO: /root/_TION/_logs_tionServerMonitor__ each 3600 minutes
    Checking file to remove in Forder [ /root/_TION/_logs_tionServerMonitor ]
    -------------------------------------------------------------------------------------
    MEMORY percent is 34.10%
    MEMORY limit is over 80.00%
    -------------------------------------------------------------------------------------
                  total        used        free      shared  buff/cache   available
    Mem:           960M        197M        370M        972K        392M        623M
    Swap:            0B          0B          0B
    -------------------------------------------------------------------------------------
    Filesystem      Size  Used Avail Use% Mounted on
    devtmpfs        464M     0  464M   0% /dev
    tmpfs           481M     0  481M   0% /dev/shm
    tmpfs           481M  704K  480M   1% /run
    tmpfs           481M     0  481M   0% /sys/fs/cgroup
    /dev/sda1        25G  2.5G   23G  10% /
    tmpfs            97M     0   97M   0% /run/user/0
    -------------------------------------------------------------------------------------
    [root@amzn2 _TION]# 
    

    위의 결과물이 나왔다면 정상적으로 동작하는것입니다.

    이제 매 1분마다 서버가 잘 동작하는지 확인을 합니다.

    로그 항목이 1분마다 만들어지고 있다면 정상등록된것입니다.

    이제 서버 정보를 findmyserverip.com 으로 보내어 서버 IP와 서버사용량을 실시간 단위로 확인 할 수 있습니다.

    현재는 무료로 사용할수 있으나 사용자가 많이 몰리게되면 1분체크를 5분으로 늘릴겁니다.

    혹시라도 1분 유지를 원하시는 분들은 따로 유료서버를 도입할 계획이니 플랜이 나오면 구입하셔서 사용하시면 됩니다. 지금은 그래프도 만들어야하고 결과 페이지를 만들어야하므로 무료로 사용하실 수 있습니다.

    앞으로만들어질 항목들은 이렇습니다.

    티온 서버모니터링 서비스

    1. 분당 기록되는 정보를 바탕으로 그래프 도표화

    2. 위험수치 (트래픽, 메모리, 디스크 용량 등) 도달시 SMS 문자 발송 서비스

    지금부터 사용하시는 분들에게는 초기맴버로 유료전환시 50% 할인 혜택을 제공해드리겠습니다.

    감사합니다.

  • 리눅스 서버 느림 부하 확인 조치방법

    리눅스 서버 느림 부하 확인 조치방법

    요즘 제가 운영하는 시스템이 손볼곳이 많아서 거의 두달 가까이 다른업무를 할수 없고 이 업무에 집중하고 있습니다. 그중에서 리눅스 서버 느림 현상을 만드는 부하의 원인에 대해서 조사하는중 특정 IP로 지속적인 서버 공격이 있었습니다.

    route 명령어를 이용하여 IP를 하나 막았는데…

    route add -host 180.230.13.57 reject

    다시 다른 아이피로 변경해서 아래처럼 또 공격을 하고 있습니다.

    이번에는 IP를 45.35182.179 로 변경했군요.

    이게 악의적으로 공격한다는것을 어떻게 알수 있냐하면… 기존에 차단한 IP를 차단 풀었더니 그 아이피로는 공격이 안들어오고 있기때문입니다. 즉 누군가가 일부로 리눅스맨 워드프레스 블로그로 공격을 하고 있다는 거죠.

    이런경우라면 수동으로 IP를 차단해봐야 또 그사람도 아이피를 VPN등 이용해서 바꾸고 다시 또 공격할겁니다.

    악의적으로 공격하는것이니 IP추적하여 VPN 업체 알아내고 그 VPN업체를 사이버수사대에 신고하면되지만…

    그런것조차 일이되고 제가 해야할 업무는 태산이라보니 그냥 무시하기로 했습니다.

    그냥 단순히 프로그램 하나 파이썬으로 개발해서 자동으로 IP를 차단하도록 했습니다.

    45.35.182.179 - - [30/Jan/2023:18:27:19 +0900] "\xbfI\xae\xa4E7\x97\x8a\xb9\x0e\xa7\xe2\xca\x8c\x01UH\xf5\x07\xb8\xd0\xa6\xe1\x94\x89\xe0z\xc1c\xe7\x99\xc8\xc7\x84$\x9f\x1d\\-y=\xa8\xd6P\xf9\b'\t\x95\x8b\\R\x0c\x1a\x14a\x88\xfc\xaf\x1c\xeb{\xa0a1\x9a\xae~(\xa8\xc8f@\xe5K9\xe0\x93\x1d%\xe7\x14\xb2\xb0\x94\x1b\b\xad\xc1\xd7tZ{\xd4\xaf,\xcf\xfa\x7f\xb9\xe9\xb2j\x8e\xb94\xbe^\x9fK\x89=\x1e\x16\xf1C\x13/\x87\xf6\x1b[\x8b\xa6\x0f\xe1\x82\x16\xca+\x17?\xfe|\x9aTp\xcc\x9f^\xfd\x18\x1a\xadA\xda{\x801b\x1cm-\x93\xa9\xf5\xe0\rz\xed?PN\x7f7\x90\xda\xc2\x18[9\xe5\x8c\xdc\xd5}e\xf1\x03\xfaKp'\r\xa5\x86\xc4\x9a\xd6\xaa\vjP\xa2\xc3#>\xbe\xdd\xac\x8e\xa0\x03\xd3\x98\xc3" 400 226 "-" "-"
    

    내용을 보면 문자를 인코딩해서 딱히 정확히 뭘 하려는건지는 알듯합니다.

    일단 IP를 바꿔서 재차 공격을 했다는것만 보면 악의적으로 서버부하를 일으켜서 트래픽을 발생시키기 위함입니다.

    일단 금전적인 돈으로 지출을 유도한것으로 보이고요. 서버 해킹이나 뭐 이런건 관심이 없는듯합니다.

    인코딩하면 제가 그 인코딩이 뭘까? 라고 파악할꺼라 생각하겠지만 문자열을 분석해보면 일치되는건 전혀 없고 단순 무의미한 글자를 인코딩해서 저렇게 날리는거보면 서버 부하를 일으켜서 서버 느리게 하고 트래픽으로 서버지출비용을 늘리기 위한 노력인것으로 보입니다.

    게다가 악의적으로 아이피를 바꿔가면서 공격한다는것은 그냥 제가 운영하는 이 워드프레스가 맘에 안드는것으로 보입니다.

    그거 말고는 답이 없습니다.

    일단 파이썬으로 자동으로 아이피 차단하도록 설정해두었으니 모든 서버에 적용시켜서 앞으로는 신경을 안써도 됩니다. 혹시라도 저처럼 이런 악의적인 서버 부하로 서버가 느림현상에 시달리고 계신다면 저에게 요청해주세요.

    제가 만든 자동화 파이썬 툴을 이용해서 자동으로 라우트 IP 차단을 하시기 바랍니다.

    더군다나 서로 공격 IP를 공유해서 미리 공격 IP를 차단시킬 수 있으니 함께 사용하면 더 좋을듯합니다.

    사용하실분들은은 운영하시는 웹서버 블로그에 이 글을 공유하셔서 더 많은 분들이 참여할 수 있도록 해주세요.

    감사합니다.

  • ESXi NAT NETWORK 만들기 IP 동일하게 같은 네트워크 만들기

    ESXi NAT NETWORK 만들기 IP 동일하게 같은 네트워크 만들기

    ESXi NAT NETWORK 만들기 IP 동일하게 같은 네트워크 만들기

    안녕하세요 리눅스맨 워드프레스 블로그에 오신것을 환영합니다.

    요즘 리눅스밍 툴도 개발하고 있으니 많은 검색과 관심 부탁드립니다.

    가끔 이 부분 NAT Network가 왜 필요하냐고 묻는분들이 계실듯합니다.

    공유기가 있으면 딱히 NAT 네트워크를 만들 필요가 없죠. 공유기에서 자동으로 만들어주기 때문이죠.

    공유기가 없지만 NAT 환경을 만들고 싶을때 사용합니다.

    사실 그 보다 더 중요한 부분은 특정 VM끼리 IP 를 동일하게 맞추기 위함입니다.

    가령 예를들어 블로그 운영을 할 경우 A라는 VM과 B라는 VM의 아이피를 동일하게 만들어서 A VM에서는 이웃관리를 자동화로 운영하고 B VM에서는 원격으로 접속하여 블로그관리대행을 할 경우에 바로 이러한 경우에 2개의 VM을 NAT으로 연결해야합니다.

    pfsense 툴 없이도 NAT 환경을 만들 수 있습니다.

    하지만 ESXi 에서는 NAT이 기본적으로 제공되지 않아 VMWRE처럼 방식대로 할 수 없습니다.

    VMWARE Workstation 버전에서는 아래 링크를 통해 2개이상의 VM을 같은 IP 대역대로 만들어 낼 수 있습니다.

    물론 NAT방식과 조금 다르지만 내가 원하는 VM끼리 NAT 방식으로 운영한다는 점에서는 IP 1개로 다수 VM을 여러개 운영할수 있죠. 호스트 IP를 공유하는건 아니고요. VM이 만들어낸 특정 IP 1개를 바탕으로 여러개 VM이 사용하는 방식입니다.

    이 방법식으로 여러 그룹의 NAT 운영을 할 수 있게됩니다.

    ESXi NAT NETWORK Setting

    1. 네트워킹 [ 가상 스위치 ] [ 포트 그룹 ] 항목에서 순서대로 각각 추가를 합니다.

    이 작업은 어렵지 않습니다.

    단순하게 포트 그룹 추가 버튼을 눌러서 기본으로 이름만 잡아주고 만들면됩니다.

    이름은 기억하기 편하도록 VM IP를 공유할 게스트의 이름으로 시작해도 됩니다.

    제 경우에는 네트워크 업데이트 이름을 [ NAT_TVM10_NOUPDATE ] 이렇게 만들었습니다.

    NAT을 사용할건데 TVM10_NOUPDATE 라는 VM 게스트의 이름을 활용한것이죠.

    매우중요

    ※ 이때 가상스위치는 위에서 새로 만든 NAT_TVM10_NOUPDATE 스위치로 선택해야합니다.

    만약 스가상스위치를 선택하지 않게된다면 이상하게 꼬이게되어 다른 네트워드크를 선택하더라도 NAT_TVM10_NOUPDATE 로 연결될 수 있습니다.

    2. 호스트로 지정할 VM의 설정항목에서 네트워크 어댑터 [ NAT_TVM10_NOUPDATE ] 하나 더 추가합니다.

    VM_NAT_TVM10_NOUPDATE 네트워크 어댑터를 이용하여 통신을 하기 위해 추가하는것입니다.

    즉 이 네트워크 어댑터로 게스트VM쪽으로 인터넷이 되도록 IP를 송출한다는 이야기입니다.

    3. 게스트로 지정할 VM의 설정항목에서 네트워크 어댑터를 새로 만든 NAT_TVM10_NOUPDATE 네트워크로 변경합니다.

    게스트로 지정되는 VM에서는 딱히 IP를 할당받을 필요가 없다면 기존 네트워크 어댑터를 위처럼 변경하면됩니다.

    아이피를 유지하면서 NAT을 연결하시려면 역시 네트워크 어댑터를 추가해서 동일하게 세팅하면됩니다.

    4. 호스트 VM에서 새로 추가한 네트워크 어댑터로 인터넷이 되도록 설정합니다.

    윈도우10 설정 – 이더넷 항목에서 [ 어댑터 옵션 변경 ] 항목에 들어갑니다.

    새로 만들어진 Ethernet1 이라는 네트워크가 보일 겁니다.

    현재는 이곳에 자동으로 IP가 할당된 상태이지만 속성에 들어가서 설정을 변경해야합니다.

    쿠팡 버튼은 리눅스맨 서버 호스팅 운영비라 생각해주시고 너그럽게 이해해주세요.

    손해보시는건 없고 그저 한번 쿠팡창 열릴뿐입니다.

    바로 닫고 아래 내용보시면됩니다.

    IP 설정을 꼭 제가 알려드린대로 바꾸셔야 합니다.

    아래 내용보시고 그대로 따라하시면 됩니다.

    [coupang]

    아래처럼 설정을 하지 않게된다면 호스트 VM에서는 총 2개의 아이피를 할당 받게 됩니다.

    내부 통신망을 만들어야하므로 네트워킹 -> 인터넷 프로토콜 버전 4(TCP/IPv4) 항목의 IP를 아래처럼 변경해주세요.

    [coupang_end]

    IP : 192.168.137.10
    SubMask : 255.255.255.0
    Gateway : 192.168.137.1
    
    DNS1 : 168.126.63.1
    DNS1 : 168.126.63.2

    그리고 아래 항목도 매우 중요하니 아래 항목을 꼭 설정해야합니다.

    원래 사용하던 네트워크 Ethenet 클릭 -> 속성 -> 공유 -> 다른 네트워크 사용자가 이 컴퓨터의 인터넷 연결을 통해 연결할 수 있도록 허용(N) 체크해야합니다.

    두개의 네트워크 어댑터 설정이 다르니 꼭 주의하셔야 합니다.

    이제 2개의 VM 아니 3개의 VM에 대해서 NAT이 제대로 이루어졌는지 확인해보겠습니다.

    일단 호스트 VM [ TVM10_NOUPDATE ] 의 IP를 확인해보니 211.xxx.xx.30 으로 나타납니다.

    게스트로 지정한 TVM10_ADOBE VM에 대해서 확인해보니 역시 211.xxx.xx.30 아이피로 동일하게 할당받았습니다.

    게스트로 지정한 TVM10_PROGRAMMING VM에 대해서 확인해보니 역시 211.xxx.xx.30 아이피로 동일하게 할당되었네요. 이로소 총 3대의 VM이 동일한 IP영역을 갖는 NAT 환경이 구성되었습니다.

    이 쉬운 방법을 외국에서는 이상한 프로그램 사용해서 만들어야 한다고 알려주더군요.

    조금 아쉬움도 남고해서 제가 알고 있는 방법을 여러분들에게 알려드리고자 리눅스맨 워드프레스에 남겼습니다.

    ESXi 뿐만 아니라 Xenserver에서도 가능하며 VMWARE 등 각종 가상화 OS에서 모두 사용할 수 있는 방법입니다.

    리눅스에서도 NAT 방식 만들려면 이러한 방법으로 윈도우7이나 윈도우10 호스트 만들고 보내는 네트워크 어댑터를 이용하면 됩니다.

    NAT 방식으로 할 수 있는 사업모델이 많습니다.

    클라이언트와 IP를 동일하게 맞춰야 하는 경우에도 이와같은 방식을 이용하여 호스트 PC에 VPN을 생성하여 게스트 PC에서 호스트PC로 접근하도록 만들수도 있습니다. 방법은 다양하고 많기 때문에 굳이 돈내가며 프로그램 사용해가며 할 필요는 없을겁니다.

    ESXi 와 Xenserver 그리고 VMWARE 만 존재하면 원격시스템과 무인화 시스템을 모두 만들어 낼 수 있습니다.

    감사합니다.

  • 리눅스 불필요한 파일 삭제

    리눅스 불필요한 파일 삭제

    rm -rf _______LOG_DB_TABLE.php
    rm -rf _______redirect_url_check.php
    rm -rf _______test_wordpress_function.php
    rm -rf _______TION_STATS/
    rm -rf _______callcenter.php
    rm -rf _______html_head.php
    rm -rf wordfence-waf.php
    rm -rf _______member.php
    rm -rf _WOPS_wordpress_one_page_system.php
    ll

    _______LOG_DB_TABLE 로그 저장

    _______redirect_url_check URL 리다이렉트 체크

    _______test_wordpress_function 워드프레스 기능 테스트

    _______TION_STATS 로그폴더

    _______callcenter 전화번호 관리

    _______html_head 해더 파일

    wordfence-waf.php 웹방화벽 툴

    _______member 맴버 확인

    _WOPS_wordpress_one_page_system 원페이지 만들때 사용하는 워드프레스 페이지

    ll 리스트 확인

  • vmware esxi 시간 동기화 NTP UTC 설정

    vmware esxi 시간 동기화 NTP UTC 설정

    vmware esxi 시간 동기화

    관리 -> 시간 및 날짜 -> NTP 설정 편집 -> 네트워크 시간 프로토콜 사용(NTP 클라이언트 사용)

    수동으로 시작 및 중지

    NTP 서버

    time.bora.net

    UTP 시간으로 자동 설정되며 이후 리눅스에서 한국 서울 +9시간 더해서 사용합니다.

    리눅스에서도 시간이 동기화 되었으며 ESXi 호스트 시간을 Guest PC에서 그대로 가져오므로 vmware tool 에서 1분마다 자동으로 동기화되어서 crontab 에 따로 구성하지 않아도 됩니다.

    ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime

    localtime 을 Asia/Seoul 설정해서 자동으로 1분마다 동기화

    완료

  • 가져올 데이터가 없습니다. 파일이 지정되지 않았거나 파일 크기가 PHP 설정의 최대 파일 크기를 초과했을 수 있습니다

    가져올 데이터가 없습니다. 파일이 지정되지 않았거나 파일 크기가 PHP 설정의 최대 파일 크기를 초과했을 수 있습니다

    phpMyAdmin 데이터베이스를 이전할때 DB용량이 커서 기본 2MB 이상 업로드를 할 수 없습니다.

    가져올 데이터가 없습니다. 파일이 지정되지 않았거나 파일 크기가 PHP 설정의 최대 파일 크기를 초과했을 수 있습니다

    이때 이러한 멘트가 나오면서 더이상 작업을 할 수 없게됩니다.

    이 방법을 해결하기 위해서는 서버 php.ini 파일에 최고 업로드 용량을 늘려줘야 합니다.

    vi /etc/php.ini

    upload_max_filesize = 2M

    post_max_size = 8M

    이 부분을 2메가에서 256M 이렇게 변경하고 post 최고사이즈를 256M으로 변경해야합니다.

    이렇게 되면 총 256메가까지 업로드 할 수 있게됩니다.

    service httpd restart

    웹서버 재실행을 한번 해주고 확인하면 256메가 이상 업로드가 가능하게됩니다.

  • 파이썬 3 링크 연결 안될때 심볼릭 링크 설정

    파이썬 3 링크 연결 안될때 심볼릭 링크 설정

    파이썬3를 설치하고 파이썬2가 자꾸 연결되면 아래처럼 해결 할 수 있습니다.

    [root@localhost www]# clear
    [root@localhost www]# python
    Python 2.7.18 (default, May 25 2022, 14:30:51) 
    [GCC 7.3.1 20180712 (Red Hat 7.3.1-15)] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    

    우선 심볼릭 링크를 삭제하고 파이썬 3 폴더를 연결해야 하는데 파이썬 버전부터 확인해야합니다.

    ls -l /usr/bin/python*
    [root@localhost www]# ls -l /usr/bin/python*
    lrwxrwxrwx 1 root root    7 Dec 14 07:18 /usr/bin/python -> python2
    lrwxrwxrwx 1 root root    9 Dec 14 07:18 /usr/bin/python2 -> python2.7
    -rwxr-xr-x 1 root root 7048 May 25  2022 /usr/bin/python2.7
    -rwxr-xr-x 1 root root 1846 May 25  2022 /usr/bin/python2.7-config
    lrwxrwxrwx 1 root root   16 Dec 14 07:18 /usr/bin/python2-config -> python2.7-config
    -rwxr-xr-x 1 root root 7048 Nov 17 08:41 /usr/bin/python3.8
    lrwxrwxrwx 1 root root   14 Dec 14 07:18 /usr/bin/python-config -> python2-config
    

    이렇게 나타날겁니다.

    삭제하는 심볼은 /usr/bin/python 이고요

    다시 연결해야하는 링크주소는 /use/bin/python3.8 입니다

    파이썬 2 심볼 삭제 및 파이썬 3 링크 연결하기

    1. 파이썬 실행파일 위치를 확인합니다. 기본 yum 으로 설치 했다면 /usr/bin/python 위치로 나타납니다.

    which python

    2. 파이썬 설치 위치를 모두 찾아냅니다. (저는 파이썬 3를 이미 설치한 상태입니다)

    ls -l /usr/bin/python*

    3. 기존 심볼릭 링크를 삭제합니다

    rm -rf /usr/bin/python

    4. 새로운 파이썬 3 폴더로 심볼릭을 생성합니다.

    ln -s /usr/bin/python3.8 /usr/bin/python

    버전에 따라 3.8이 아닐 수 있으니 꼭 확인하고 자신의 버전에 맞는 폴더로 연결하셔야하합니다.

    이제 파이썬 3 버전이 python 명령어로 사용할 수 있습니다.

    파이썬 3 버전으로 업데이트하고 심볼릭을 바꾸게되면

    yum 설치 할때 에러날 수 있습니다.

    꼭 확인하셔서 설치에 지장없으시기 바랍니다.

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

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

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

    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 에서 위 명령어 하나로 로그 걱정 끝냈습니다.