Nginx에서 JSP(tomcat) 연동 방법

윈도우에서 톰캣을 활성화 시키는 것은 매우 간단하다. 물론 리눅스에서도 톰캣 활성화는 쉽다. Nginx와 어떻게 연결하느냐가 관건이었지… Django는 proxy_pass만 하면 간단히 됐지만 JSP는 장고보다는 조금 더 칠게 많지만, 다행이 여전히 쉽다. 톰캣 설치 무엇보다 톰캣의 설치가 가장 먼저 선행되어야 한다. 1 sudo apt-get install tomcat8 톰캣 활성화 확인 톰캣 설치가 된...

구름IDE(Goorm IDE) Ubuntu 16.04 VNC/noVNC

기존에 만들어진 안정인님의 스크립트가 Ubutnu 14.04 기반이라 열심히 해멘 끝에 16.04에서도 사용할 수 있게 되었다. 그래서 그 스크립트 파일을 공유하고 한다. 1 wget "https://raw.githubusercontent.com/baealex/ProgramingRecord/master/Linux/Goorm/noVNC/install.sh" -O install.sh; chmod +x install.sh; ./install.sh 기존에 사용되던 tigerVNC가 16.04에선 제대로 작동하지 않는 듯 하여 tightVNC로 변경하였다. 속도나 그런 면에서는 비등비등하다. 뭐 당연히 그렇겠지만… 하지만 잃는...

구름IDE(Goorm IDE) VNC/noVNC

안정인님께서 만들어 놓으신 스크립트를 사용하여 구름 IDE에서 VNC 서버와, noVNC(?) 서버를 정말 뚝딱 만들 수 있었다. 프로젝트는 빈 프로젝트(14.04 LTS)를 사용하였다. 1 wget "https://gitlab.com/snippets/1669741/raw?inline=false" -O install.sh; chmod +x install.sh; ./install.sh 위 명령어를 그대로 입력해서 바로 설치를 진행하면 된다. 초반에 사용자의 이름을 입력하라고 나오는데 자신이 VNC에서 사용할 이름을 입력하면 된다. 설치는...

Nginx 주로 사용하는 기능들 정리

Nginx는 C언어와 유사한 문법을 통해서 웹서버를 유연하게 다룰 수 있다. 필자는 Nginx에 대하여 완벽하게 문법을 이해하고 있는 상태는 아니지만, 몇몇의 자주 사용하게 되는 기능들을 정리해 놓고자 한다. 이건 필자가 주로 사용하는 기능이라는 의미이며 Nginx를 처음 다루는 사용자가 보면 도움이 되지 않을까 싶다. 리디렉션 도메인 리디렉션 어떤 도메인에 접근했을 때 다른...

리눅스 장고 백그라운드 실행

ssh에 접속하여 장고를 실행시킨 후 ssh를 종료하면 당연히 장고 서버도 꺼진다. 리눅스에서 실행시킬때 마지막에 &를 붙이면 백그라운드 재생이 되길래 시도했지만 장고에선 먹히지 않았다. 아마도 로그 기록이 남아야해서 그런듯 싶다. 이를 해결하기 위해여 장고를 실행시킬때 nohup를 이용하여 다음과 같이 실행시키면 온전하게 백그라운드 실행이 가능하다. 1 nohup python3 manage.py runserver & 종료할때는...

아마존 Lightsail SSH 접속하는 방법

집 서버를 이용하여 블로그를 운영하다가 여러 이유로 인해 호스팅 중 가장 저렴한 AWS Lightsail을 사용해 보았다. 가장 저렴한건 3.5 달러인데 램이 512MB인게 좀 걸렸지만 실상 이 블로그엔 충분할 것 같았다. SSH 접속도 큰 어려움이 없어서 빌드 및 서빙도 쉽게 자동화 할 수 있었다. 비공개키 발급 및 다운 우선 자신의 라이트세일...

리눅스 터미널에서 깃 사용법

왜 이제야 CLI에서 깃을 사용하는 것을 이제야 익혔는지 후회된다. 항상 깃허브 데스크톱이나 깃크라켄에 크게 의존하고 있었는데 터미널에서 사용법을 익히고 나니까 어디서나 사용하기가 편리해졌다. 참고 : 여기 깃의 작업 순서 깃에서는 다음과 같은 작업 순서를 가진다. 작업을 하고 어떤걸 작업했는지 기록(커밋)하고 소스코드에 등록(푸쉬)하는 방식이다. 작업 커밋 푸쉬 복제하기 우선 작업한 소스코드,...

리눅스 C언어 디버깅하는 방법(gdb)

이전에 버퍼오버플로우를 공부할때 몇 번 사용해 봤었는데 그 이후로는 쓸일이 별로 없을 줄 았았지만 이렇게 필요해질 순간이 와버렸다. 윈도우에서 만들어진 소스코드를 리눅스로 옮기는 도중 컴파일은 됐으나 ‘세그먼테이션 폴트’가 발생하여 어디가 문제인지 찾아야 했다. 필자는 리눅스로 옮겨진 소스코드를 컴파일하고 어떤 과정을 거쳐서 디버깅을 하는지 보여주도록 할 것이다. 먼저 gdb가 깔려있지 않은...

우분투에 Deepin 데스크톱 설치하는 방법

필자가 Deepin의 단점이 3가지가 있다고 했다. 출생지가 중국이라는 것 한글입력에 문제가 있는 것 패키지 서버가 Deepin으로 되어 있는 것 이 문제들이 엘리멘트리 위에 Deepin을 설치하면서 완전히 해결되었다. 일단 필자는 이전에도 말했듯 1번은 그닥 신경쓰지 않는 부분이고, 2번의 경우 음절단위로 입력되어 매우 불편했으나 깔끔하게 문제를 해결했고 3번도 패키지 서버를 알아서 한국으로...

예쁜 리눅스를 찾으세요? 들어오세요!

필자는 저사양 노트북이라면 무조건 리눅스를 선호한다. 딱 필요한 요소들과 기능들만 갖추고 빠르게 동작하기에 피할 수 없는 선택이다. 그 와중에 가장 익숙하면서도 가벼운 Debian + XFCE 환경을 고집했는데, 사용하던 서버도 위와 같은 환경을 사용하기 때문에 곂치는 감이 너무 많이 들었다. 그래서 노트북의 활용도를 높이기 위해서 다시 윈도우를 설치했으나 ‘이건 사람이 쓸게...

라즈비안 LITE GUI 설치(XFCE)

라즈비안 라이트 버전이 GUI 버전에서 쓸모없는 것(마인크래프트, 스크래치 등)만 빠진 버전인 줄 알았으나 저의 예상을 완전히 벗어난 CLI 버전이었습니다. 뭐 그김에 Xfce를 설치해서 사용할 생각에 들떴습니다. 이곳에 상세하게 가이드가 나와있지만 영어가 너무 많아서 저처럼 혼잡한 사람이 있을까 싶어 중요한 설치방법만 간단히 나열해 보도록 하겠습니다. 설치 준비! 1 sudo raspi-config 먼저...

우분투 맥주소 알아내는 방법

1 ifconfig -a | grep eth 원래 와이파이 속성보면 잘 나와있던데… 이번에도 그거 보고 맥주소 등록했다가 아니어서 낭패봤다…

fail2ban unban

요즘 키보드에 시프트가 잘 안눌려서 패스워드가 자주 틀린다… 보안에 조금 신경써야지 하는 생각으로 fail2ban을 사용하고 있었는데 바로 밴당했다. 특정 아이피를 unban하는 방법은 다음 순서를 따라하면 된다. 1. 적용된 서비스 확인 1 sudo fail2ban-client status 다음과 같은 명령어를 입력하면 어떤 시스템에 fail2ban이 적용되어 있는지 알 수 있다. 1 2 3 Status...

리눅스 노트북 모니터 덮개 절전모드 방지

지금까지 노트북을 NAS로 이용하면서 모니터를 떼어놓고 옷장에 고이 모셔두고 있었는데 방정리 하다가 모니터를 버릴까 말까 고민하다가 차라리 노트북의 먼지 방지 덮개로 활용하고자 하였다. 일부러 모니터의 선은 연결하지 않았는데도 모니터를 덮으니까 절전모드로 전환된다. 왜일까… 여하지간 그래서 설정으로 모니터를 덮어도 절전모드로 바뀌지 않도록 설정을 변경했다. 1 sudo vi /etc/systemd/logind.conf 해당 파일을 수정해야...

우분투 16.04 웹서버 구축 4.Letsencrypt

구글에서 더 좋은 SEO를 평가받기 위해서는 https 통신을 사용해야 합니다. https 통신은 443 포트를 이용하여 진행되며 SSL 인증서가 있어야 합니다. 대부분 SSL 인증서는 유로로 구매하여 이용할 수 있습니다. 하지만 Let's Encrypt를 이용하면 무료로 https 통신을 할 수 있습니다. letsencrypt의 SSL 인증서를 사용하고 있는 홈페이지를 의외로 많은 곳에서 찾아 볼 수...

우분투 16.04 웹서버 구축 3.SQL,PHP

가장 간단한 동적인 페이지를 만드는 방법은 PHP와 SQL을 이용하는 방법입니다. 이를 이용하여 워드프레스를 이용한 웹사이트를 운영할 수도 있습니다. PHP만 설치하고 아~~~주 간편한 메모 웹 어플리케이션인 NotePHPad를 설치할 수도 있습니다! 먼저 SQL을 설치하고 PHP를 이어서 설치할 것입니다. SQL을 설치하지 않을 유저는 이 링크을 눌러주세요. Install SQL SQL은 데이터베이스를 관리하는 경우 반드시...

우분투 16.04 웹서버 구축 2.Jekyll

웹서버 구축의 2단계는 지킬 블로그를 생성하고 서빙하는 방법에 대해서 알아보는 것입니다. 왜냐고요? 지킬은 단지 Nginx만 있으면 아무런 문제없이 그럴싸한 웹페이지를 생성할 수 있으니까요. 먼저 Jekyll에 대해서 약간의 설명이 필요할 것 같습니다. 지킬은 정적 웹사이트 생성기입니다. PHP나 DB와 같은 동적인 요소가 전혀없는 정적인 페이지 입니다. 깃허브에서 공식적으로 사용되고 있습니다. 만약 여러분이...

우분투 16.04 웹서버 구축 1.Nginx

웹서버를 왜 구현하려고 하시나요? 웹사이트가 필요해서? 블로그가 필요해서? 여튼 누군가에겐 웹서버가 꼭 필요합니다. 저 역시 나를 위한, 나에 의해 구현된 블로그를 가지고 싶은 소망을 가지고 있었습니다. 여튼 웹서버를 구현하는 이유는 각기 다를테지만 이 시리즈의 최종 목표는 PHP와 SQL이 가미된 https 웹서버를 구축하는 것입니다. 이 시리즈는 2주 내로 마무리 될 예정이며...

리눅스 sudo 권한 부여하는 방법

리눅스에서 유저를 새로 생성한 경우 sudo 권한이 없습니다. 권한을 부여하기 위해선 root 계정이 필요하며 visudo로 사용자를 추가할 수 있습니다. 간혹 다른 블로그에선 직접 sudoers 파일을 건드리곤 하는데, visudo명령을 쓰면 손쉽게 가능합니다. 혹시 몰라 두번째 방법도 기록하도록 하겠습니다. PLAN A : visudo 우선 필자는 Ubuntu 16.04를 사용했으며 visudo 명령어를 사용하자 nano가...

리눅스 CentOS VNC 서버 구축

VNC(Virtual Network Computing)는 원격으로 다른 컴퓨터의 GUI를 제어하는 기술입니다. 비슷한 기술로는 RDP(Remote Desktop Protocol)가 있으며 VNC는 오픈소스 RDP는 마이크로소프트의 독점적 기술입니다. 윈도우즈에서 윈도우키를 누르고 원격 데스크톱 연결이라고 치면 나오는 프로그램이 RDP를 제어하는 프로그램입니다. 제가 알기에 RDP는 각각의 세션이 별개로 실행되어 조작되는 반면 VNC는 화면이 캡쳐되어 전송되는 방식이기에 원격 사용자와 로컬...

우분투(데비안) 어플리케이션 개발환경 구축

개인적으로 보기위해 작성한 글이며 다른 프로그래밍 개발툴의 설치방법을 요청하시면 추가하도록 하겠습니다. NginX + PHP 1 2 sudo apt-get install nginx sudo apt-get install php7-fpm sudo vi /etc/nginx/sites-available/default 1 2 3 4 location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.0-fpm.sock; } Node.js, npm 1 2 3 sudo apt-get install curl curl...

리눅스에서 GitKraken 실행 오류

바다 괴물, Kraken이라는 깃을 이름처럼 괴물같이 편하게 관리해주는 프로그램이다. 리눅스에서는 깃데스크탑이 지원되지 않아서 사용했던 프로그램인데 생각보다 너무 좋아서 계속 애용하고 있다. 최근 Xfce에 정착하게 되었는데 Xfce에서는 GitKraken이 실행되지 않았다. 당황했지만 곧 해결할 수 있었다. GitKraken의 GUI는 GNOME을 이용하고 있기 때문에 KDE와 Xfce에선 사용할 수 없거나 일부 오류가 있다. GitKraken을 실행하기...

리눅스 rsync 간단한 사용 방법

대부분 Rsync를 백업 용도로 사용한다. 필자도 마찬가지로 해당 용도로 사용하는 중이다. 사용 방법만 안다면 정말 간단하게 사용할 수 있다. 1 rsync -av --delete --exclude='temp' ~/baealex/www/ ~/Dropbox/Backup/WebPages/ 위는 필자가 사용하는 명령어의 예시다. 서빙되고 있는 페이지 폴더에서 temp 폴더를 제외하고 모두 동기화시킨다. rsync의 경우 변경된 내용만 찾아서 동기화하므로 나름 좋은 성능을 보여준다....

우분투(데비안) TensorFlow 설치 방법

우선 참고한 사이트는 공식 사이트인 tensorflow.org이다. 나와있는 설명대로 설치하면 큰 문제는 없지만, 주의해야 할 사항은 pip를 이용할때 sudo 권한이 있어야 한다는 점과 setup.py 오류가 발생했을 경우 어떻게 대처해야 하는지 텐서플로우를 import 하여 파이썬을 실행하는 경우가 있다. 1 baealex@baealex:~$ sudo apt-get install python-dev python-pip 위 명령을 수행하여 pip를 설치한다. 1 baealex@baealex:~$...

리눅스 root 권한으로 크롬 실행하는 방법

Dropbox에서 “리눅스 서버의 외장 하드디스크의 포맷을 ext4로 변경하지 않으면 이용하지 못하게 할거다!”라는 메일을 보내와서 하루를 날려가며 결국 하루를 날려가며 1TB의 하드디스크를 ntfs에서 ext4로 변경했다. 그것까진 좋았다. OMV에서 기존에 이용하던 대로 하드디스크를 사용할 수 없었고 직접 계정별로 디렉터리 마다 권한을 부여해야 했으며, 일반 유저에선 Dropbox가 설치되지 않는 등의 문제도 있었다. 미쳐가기...