Tag Archives: ubuntu

Ubuntu 18.04 LTS 운영체제 설치하는 방법

HYEONG HWAN, MUN/ 10월 11, 2018/ 미분류/ 0 comments

리눅스 배포판 중 하나인 Ubuntu 운영체제의 설치 방법에 대해 설명하는 글입니다.   리눅스 배포판이란? 리눅스 자체는 오픈소스 소프트웨어 입니다. 요즘 유명한 오픈소스 소프트웨어로 안드로이드 가 있습니다. 코어 자체는 공통적이고 핵심적인 것을 정의합니다. 이 코어를 바탕으로, 특색에 맞추어 만들어 지는 것이 배포판 입니다. 리눅스의 배포판은 Ubuntu, CentOS 등이 있습니다. 안드로이드의 배포판은 MIUI, 삼성 안드로이드, LG 안드로이드 등이 있습니다. 배포판들 끼리 작은 차이가 있지만, 코어가 같기 때문에 대체적인 구조와 기능은 비슷합니다.   Ubuntu 커뮤니티가 가장 활발하고(구글 검색이 잘된다는 뜻), 업데이트가 빠른 운영체제인 Ubuntu의 설치 방법은 다음과 같습니다. 현재 배포된 Ubuntu 버전은 아래와 같습니다. 운영체제의 수명이 긴 LTS 버전을 설치하도록 합시다. (버전숫자가 높다고 더 좋다는 뜻은 아님) 지금의 권장하는 운영체제 버전은 Ubuntu 18.04 또는 Ubuntu 16.04 입니다. (위의 표를 보면 아시겠죠?) Ubuntu 운영체제에 관해서는 http://en.wikipedia.org/wiki/Ubuntu_(operating_system) 를 참조하세요.…

vi 에디터 사용법 (vim editor)

HYEONG HWAN, MUN/ 9월 26, 2018/ 미분류/ 2 comments

이 글에서는 거의 대부분의 리눅스 배포판에 포함되어 있는 vi 호환 에디터인 vim 에디터의 사용법에 대해 설명합니다. 당신이 최근 5년 이내에 배포된 리눅스를 설치하였다면 vim 에디터는 이미 설치되어 있을 것입니다. (또한 기본값입니다) 만약 당신의 시스템이 오래되어 vim 에디터가 설치되어 있지 않다면 다음의 명령어를 통해 vim 을 설치하세요. vim 은 VI iMproved 의 약자입니다. (향상된 vi) Ubuntu 의 경우 # apt-get install vim CentOS 의 경우 # yum install vim   vi 에디터는 모든 Linux/ Unix 시스템에서 사용할 수 있습니다. vi 에디터를 사용하기 위해서 마우스 입력 장치가 필요 없으며, 키보드 입력으로 모든 기능을 사용할 수 있기 때문에 터미널 환경에서 주로 사용되는 프로그램 입니다. vi editor 는 vi(sual) editor 의 약자이며 “브이-아이 에디터” 라고 부릅니다. < vi 에디터 개발자 Bill Joy >   현재는…

Ubuntu 18.04 LTS 에서 웹서버(Apache + PHP + MySQL) 구성하기

HYEONG HWAN, MUN/ 9월 10, 2018/ 미분류/ 18 comments

이 글에서는 Ubuntu 18.04 LTS 운영체제에 Apache + PHP + MySQL 소프트웨어를 설치하고 구성하는 방법에 대해 설명합니다. Ubuntu 9.04 버전부터 10년째 설치 방법 글을 작성/유지보수 하고 있는데, 그동안 별 문제가 없었고 설치 성공 후기 글이 많으니 올바르게 설명하고 있는 것 같습니다. 혹시라도, 구축 중 문의사항이 생기면 댓글이나 Contact 로 알려주세요. 일반 사업체 및 실무 서비스에서 사용할 수 있는 안정적인 구축 방법을 설명 하겠습니다. 이 글에서는 Ubuntu 18.04 LTS 운영체제를 사용합니다. * LTS 버전이란? Long Term Support 의 약자입니다. 개발사에서 10년간의 유지보수, 업데이트를 제공합니다. 현재 무료 리눅스 배포판 중에서 10년 업데이트를 지원하는 운영체제는 Ubuntu 뿐입니다. * 왜 10년 업데이트? Kiosk나 기타 Embeded 기기에서 제품설계 및 구축 운용까지 몇년(1~4년)이 걸립니다. 제품 출시 후 얼마지나지 않아 운영체제의 업데이트가 중단된다면 문제가 생기겠죠. 요즘에는 응용소프트웨어 분야에서도 이와 같이 LTS…

Ubuntu Linux 에서 디스크 용량 추가하기

HYEONG HWAN, MUN/ 8월 2, 2018/ 미분류/ 0 comments

이 글을 통해 Ubuntu Linux 에서 디스크 용량을 추가하는 방법에 대해 알아보도록 하겠다.   가상 서버 환경에서, 디스크 용량을 늘려주더라도 서버에 반영이 되지 않는다. 서버의 디스크 공간은 그대로 유지되며, 미사용 디스크 공간이 추가되는 것이다.   이런 작업 없이 하지 않고 웹상에서 클릭만으로 디스크 크기를 바꾸려면 Linode 클라우드서버 를 이용하기를 바란다. 웹 관리자 화면에서 서버의 디스크 용량을 조정할 수 있는 전세계에서 유일한 클라우드 업체이다. 서버의 디스크 용량을 늘리거나 줄일 수 있으며, 파티션을 나눌 수도 있다. (https://www.linode.com/) – 20달러 충전 쿠폰코드 (atp2018)   서버 디스크 공간 조작은 중요한 작업이므로, root 사용자로 작업한다.   1. 현재 가상 서버의 상태 분석 리눅스에서 다음의 명령을 입력해보자. # fdisk -l   현재 120GB 디스크에서 10GB 를 늘리고, 서버에 사용가능 영역으로 적용하는 방법을 설명하겠다.   2. 디스크…

https (SSL) 기본사이트 설정하기

HYEONG HWAN, MUN/ 7월 3, 2018/ 미분류/ 1 comments

이 글을 통해 https (SSL)의 기본사이트 설정 방법을 설명할 것이다. 기본 사이트 기본사이트란 서버에서 지정되지 않는 웹주소(호스트)에 대해 연결될 사이트를 말한다. 모든 웹서버 소프트웨어(Apache, NGINX, IIS) 모두 기본사이트를 지원한다.   1. 사이트 설정 파일이 하나도 없는 경우 사이트 설정 파일이 하나도 없는 경우 웹서버 프로그램이 실행될 이유가 없으므로, 에러메세지가 출력되고 켜지지 않는다.   2. 사이트가 하나 설정되어 있는 경우 별도로 지정하지 않아도 그 사이트는 기본사이트가 된다.   3. 두개 이상의 사이트가 설정되어 있는 경우 별도로 기본사이트를 지정하지 않았다면, 첫번쨰로 로드되는 사이트가 기본사이트가 된다.   4. 두개 이상의 사이트가 설정되어 있고, 하나에 기본 사이트 설정이 되어 있는 경우 명시적으로 기본사이트 지정을 하면 그 사이트가 기본사이트가 된다.   Ubuntu Apache 웹서버의 경우 자동으로 자가서명인증서(Self-Signed SSL)를 생성하고 기본사이트를 구동합니다. 따라서 Apache 웹서버는 이…

Ubuntu Linux 에서 MRTG 설치 구성하기

HYEONG HWAN, MUN/ 5월 24, 2018/ 미분류/ 3 comments

Ubuntu Linux 16.04 및 Ubuntu Linux 18.04 에서 테스트 되었습니다. 물리 서버, 가상 서버, 클라우드 서버 모두 설치 이용 가능합니다.   MRTG 는 전세계에서 가장 널리 사용되는 트래픽 그래프 프로그램입니다. Multi Router Traffic Grapher 의 약자입니다. PC(서버)에 장착된 랜카드 단위로 트래픽 그래프를 표시해 줍니다. MRTG 공식 사이트 : https://oss.oetiker.ch/mrtg/ 프로그램 라이센스 : GPL (공개/무료)   트래픽 그래프를 봐야하는 이유 – 내 서버의 트래픽 패턴 및 트래픽 사용량을 확인할 수 있다. – 서버의 장애 유무를 알 수 있다. – 서버의 이상을 파악할 수 있다. 작은 디도스나 기타 악성 트래픽 확인. 요약하자면 “지금 내 서버가 멀쩡한 상태이군” 을 판단하는데 도움이 되기 때문에 MRTG 를 이용해야 합니다. 서버호스팅 업체에서 별도로 MRTG 를 제공해 준다면 굳이 이것을 설치할 필요는 없습니다.   MRTG 동작의 원리 서버에…

우분투 네임서버 구축하기 (Install Ubuntu bind9 nameserver)

HYEONG HWAN, MUN/ 10월 25, 2017/ 미분류/ 5 comments

반드시 네임서버를 구축해야 할 경우가 아니라면, 직접 구축하지 말고 다음의 글로 이동하여 무료 서비스를 이용해 보세요. 무료 DNS 서비스 모음 도메인 네임서버란? Domain Name Server 는 “네임서버” 또는 “DNS” 라고 부릅니다. 도메인 네임서버는 사람이 읽을 수 있는 도메인 이름을 기계가 읽을 수 있는 IP 주소로 변환하는 일을 합니다. 도메인 네임서버는 보통 계층형으로 이루어지고 결과를 캐쉬합니다. <그림 : 계층형 DNS. 속도 개선 효과가 있다.> 구축 방법 Ubuntu Linux 에서 zone 파일을 구성하여 네임서버를 구축하는 예제를 설명합니다.   1. 운영체제의 apt 패키지 목록 갱신 # apt-get update   2. 네임서버 소프트웨어 Bind9 설치 # apt-get install bind9   3. 네임서버 서비스 상태 보기 # service bind9 status 서비스가 실행되고 있지 않다.(inactive)   4. 네임서버 서비스 켜기 # service bind9 start # service…

Linux 원격 백업 구현하기 (Dropbox 에 백업하기)

HYEONG HWAN, MUN/ 7월 15, 2017/ 미분류/ 7 comments

최근 나야나(nayana) 서버 해킹 사건으로 인해 서버 백업의 중요성 매우 커졌습니다. 실제로 백업은 매우매우 중요합니다.   이 글은 기존에 제가 작성한 https://blog.lael.be/post/1449 글에 이어서 작성하는 글입니다. 즉 이 글의 내용을 구현하려면 먼저 위의 글로 이동하여 로컬 백업을 구현해 두어야 합니다.   1. 믿을 수 있는 원격 저장소 찾기 이 글에서는 백업/동기화 부문에서 전세계 1위 업체인 Dropbox 를 원격 저장소로 사용할 것입니다.   https://www.dropbox.com 로 이동하여 무료 회원가입을 실시합니다. 무료 회원은 2GB 의 저장공간을 받습니다. 기타 다양한 기능을 사용할 수 있습니다.   추가 저장공간을 원한다면 1TB 저장공간 1년 사용 할 수 있는 Plus 가입을 해보세요! (권장)   2. Linux 서버에 Dropbox Uploader  설치 Dropbox Uploader 는 https://github.com/andreafabrizi/Dropbox-Uploader 에서 다운 받을 수 있습니다. CURL을 사용한 단순한 쉘 스크립트이며 따라서 서버에 추가적으로 설치할 프로그램은 없습니다.   본문은 Linux root…

nginx 서버에서 gzip 을 사용하여 전송속도를 향상시키기

HYEONG HWAN, MUN/ 7월 15, 2017/ 미분류/ 2 comments

이 글을 통해 nginx 웹서버에서 gzip 이라는 압축전송을 통해 전송속도 향상시키는 방법에 대해 알아보도록 하겠습니다.   일반적으로 웹 페이지는 다음과 같은 과정으로 표시됩니다. (서버에서) 코드 생성 -> 전송 -> (웹브라우저가) 코드 표시   블로그의 이 글을 Chrome 브라우저에서 -> 오른쪽 클릭 -> 검사 -> Network 탭 -> Doc 필터 -> 본문 선택 -> Timing 선택 하시면 다음과 같은 화면을 볼 수 있습니다. 웹브라우저 코드 표시는 편의상 0초가 걸린다고 하겠습니다. 대부분의 정상적인 상황이라면 전송 받자마자 표시되는게 맞습니다.     이 때 gzip 이라는 압축 후 전송을 사용하면 (서버에서) 코드 생성 -> 코드 압축 -> 전송 -> (웹브라우저가) 코드 압축해제 -> (웹브라우저가) 코드 표시 웹 브라우저가 하는 쪽은 0초가 걸린다고 가정합니다. 만약 문제가 있다면 HTML 문서를 최적화 하도록 합시다.     실제…

나만의 GIT 서버를 구축하고 프로젝트에 적용하는 방법 (gitlab 설치 구축)

HYEONG HWAN, MUN/ 1월 11, 2017/ 미분류/ 11 comments

이 글에서는 GIT 버전관리 시스템을 구축하고 프로젝트에 도입하는 방법에 대해 설명한다.   먼저 GIT 이란 [깃-] 이라고 읽으며, 버전관리 시스템 중 하나이다. 몇년전부터 기존의 버전관리 시스템 표준(레거시 표준)인 SVN 을 대체하고 대세로 자리매김 하고 있다. 따라서 최신의 개발자/기획자/디자이너/퍼블리셔 라면 이 GIT의 역할과 사용법에 대해 반드시 익혀두어야 할 것이다.   GIT 의 자세한 정의는 (https://en.wikipedia.org/wiki/Git) 다음과 같고, 요약하자면 “소스 버전 관리 시스템” 이라고 말할 수 있다. 소스 버전 관리 시스템을 통해, 모든 시점에 대해 저장을 하고, 코드의 병합(merge)이나 변경취소, 시점 복원등의 기능을 이용할 수 있다. 문제의 원인을 파악하기 쉬우며, 예상치 못한 소스 망실에 대해서 안전해 진다.(모든 시점에 대해 백업을 한다고 생각하면 된다.) GIT = 수동 백업 + 백업 시점 설명 이라고 말할 수 있다.   GIT 에 대해 간략한 소개는 이만 마치도록…

[Ubuntu] Let’s Encrypt 를 사용하여 무료로 SSL 사이트를 구축하는 방법

HYEONG HWAN, MUN/ 10월 2, 2016/ 미분류/ 106 comments

웹은 계속 발전하고 있으며, 여러 새로운 기술이 끊임 없이 등장하고 있다. 이 글에서는 웹 기술 중 하나인 SSL (Secure Socket Layer) 에 대해서 이야기 해 보고자 한다. < 그림 : OSI Model 에서 SSL 의 위치 >   정확히 말해서 SSL 은 전송계층과 (Transport Layer) 응용계층 (Application Layer) 사이에서 동작한다. Transport 에서 패킷을 받으면 -> SSL 에서 패킷의 암호를 해독하고 -> Application 에게 전달하는 것이다. SSL 을 세션계층(Layer 5), 표현계층(Layer 6)으로 분류하는 사람도 있고, 응용계층(Layer 7)으로 분류하는 사람도 있다. 나름대로 주장에 대한 근거가 일리 있으니 여기서는 따로 정확히 분류하지는 않겠다. 확실한건 Transport(Layer 4) 와 Application(Layer 7) 의 사이라는 것.   I) 어떻게 SSL 은 암호화 통신을 하는가? – 쉽게 말하자면 SSL 은 “보안인증서” 라고 말할 수 있다. – 사람으로 비유하자면 보안인증서는 암호화코드가 내장된 주민등록증이라고…

Ubuntu 16.04 LTS 웹서버 세팅방법 (Nginx + PHP7-FPM + MariaDB)

HYEONG HWAN, MUN/ 11월 28, 2015/ 미분류/ 246 comments

Last updated : 2017-06-12 [주의] 기존의 Ubuntu 14.04 세팅방법 글은 : https://blog.lael.be/post/4886 로 이전되었습니다. 글 비밀번호는 ubuntu 입니다. [주의] 이 글은 Ubuntu 16.04 LTS 에 맞추어 작성되었습니다. [정보] 회사 내에 전문 담당자가 없거나 리눅스에 서투르신 경우, 작업의뢰를 신청하세요. 프리랜서 이전/세팅 대행 : https://www.xetown.com/freelancer/3456 . 당신의 요청이 합당하다면 저분이 의뢰를 받아주실 겁니다. #16.10.04 무료 보안인증서(SSL) 적용방법이 추가됨 무료 보안인증서 설치방법이 추가되었습니다. HTTPS 사용을 원하신다면, 본문을 다 읽으신 후 다음의 글로 이동해주세요. https://blog.lael.be/post/5107 * Nginx 가 아닌 Apache 로 PHP 웹서버를 구축하시려면 https://blog.lael.be/post/73 글로 이동하세요. (쉽고 편함) * Ubuntu 에서 JSP 웹서버 세팅을 원하시면 https://blog.lael.be/post/858 글로 이동하세요. * Ubuntu 에서 PHP와 JSP를 동시 구동하고 싶으시면 https://blog.lael.be/post/1023 글로 이동하세요. * Ubuntu 가상서버호스팅을 찾는 중이라면 https://blog.lael.be/post/44 글로 이동하세요. Nginx 공식사이트는 http://nginx.org/ 이다. 엔진엑스 라고 부른다. Igor Sysoev (이고르 시소에브) 라는 러시아 개발자가 개발했으며, 이 소프트웨어의 주요 개발 목표는 “동시접속…

Ubuntu 서버에서 PHP7 설치 적용하기

HYEONG HWAN, MUN/ 10월 22, 2015/ 미분류/ 17 comments

이 문서는 Ubuntu 16.04 LTS 가 출시됨에 따라 폐기되었습니다. PHP 7.0 을 설치하시려면 운영체제 Ubuntu 16.04 LTS 를 사용해주세요. 다음으로 이동 : https://blog.lael.be/post/73   이 글은 한번에 끝내는 Ubuntu 웹서버세팅 (우분투 서버세팅) 9번 항목의 PHP 5.5.9 설치 대신에 PHP 7.0 을 설치하는 방법을 설명합니다.   PHP7 공식 위키 참조 (https://wiki.php.net/todo/php70#timetable)   PHP7 은 2015년 6월 11일에 최초 개발 버전이 공개되었으며 최종 공식 정식버전 발표일은 2015년 12월 3일 입니다.   현재 PHP 언어로 개발된 자체 솔루션을 운영중이라면 업그레이드를 하지 마시기 바랍니다. 속도는 빨라지는데… 구동되지 않을 것입니다. (하얀 공백 화면을 보게 될 것입니다.)   현재 WordPress, Drupal, XpressEngine, 그누보드(영카트) 가 PHP7 환경에서 동작하는 것을 확인하였습니다. 다만 일부 WordPress 플러그인, Drupal 플러그인, XpressEngine 모듈, 그누보드 플러그인(빌더등) 가 PHP7 환경에서 동작하지 않는 것을 확인했으며 결과적으로 이 플러그인/모듈/빌더 를…

Ubuntu Varnish Cache 를 구축하여 웹서비스를 가속화시키기 (바니쉬 캐시)

HYEONG HWAN, MUN/ 10월 19, 2015/ 미분류/ 11 comments

웹 사이트를 잘 운영하면 방문자 수가 늘어나고, 어느 순간 사이트가 급격히 느려지게 된다. 어느 순간 답답함이 느껴지고 그 답답함이 점점 커지며, 급기야 방문자의 항의 글을 보게되면 혼란에 빠지게 된다.   당신의 웹서비스를 가속화(튜닝) 하는 방법에는 다음의 3가지 단계가 있다.   1. 서버 사양 올리기. 1코어 1기가 서버를 4코어 4기가 서버로 올리는 것이다. 매우 간단하고 빠르고 쉽다. 자동차로 비유하자면 엔진을 하나 더 다는 것이다. 그런데 엔진이 무한정 달리는 것도 아니고, 엔진이 2개가 된다고 속도가 2배가 되지도 않는다. 엔진 사는데 돈이 든다.   2. 서버 구동 소프트웨어 최적화하기. 서버 구동 소프트웨어 설정 값을 조정하여 더 효율적으로 동작할 수 있게 한다. 자동차로 비유하자면 엔진 연비를 향상시키는 것이다. 급출발, 급정거 하지 않고 브레이크를 적게 밟으며 권장속도로 운전한다. 돈이 들지는 않지만 연비향상 방법을 알고 있어야…

sshfs를 사용하여 Linux 서버간 공유폴더 설정하기

HYEONG HWAN, MUN/ 6월 2, 2015/ 미분류/ 2 comments

리눅스 서버(Linux Server)를 운영하다보면 서버간에 폴더를 공유(Shared folder)해야 할 때가 있다. 공유폴더를 설정한다거나, 백업폴더를 설정한다거나 여러 이유가 있을 수 있다.   그 때 사용할 수 있는 서버간에 공유폴더를 설정할 수 있는 방법을 설명하고자 한다.   이 방법은 Ubuntu, Debian 및 CentOS, Redhat, Amazon Linux 에서 사용할 수 있다.   1. Ubuntu , Debian 설치 방법 # apt-get install sshfs 아주 간단하다.   2. CentOS, Redhat 리눅스 확장 저장소 추가. # yum install epel-release -y   설치 # yum install fuse sshfs   3. Amazon Linux AMI #yum install fuse   Amazon Linux 저장소에는 sshfs 패키지가 없다. 컴파일 환경을 만들고, 소스를 다운받아서 컴파일 하여야 한다. # yum install glib2-devel # wget http://downloads.sourceforge.net/project/fuse/sshfs-fuse/2.5/sshfs-fuse-2.5.tar.gz # tar -xzvf sshfs-fuse-2.5.tar.gz # cd sshfs-fuse-2.5/ # ./configure # make # make install    …