아파치 웹컨텐츠 압축 mod_deflate 설정과 mime type 알아보기

우분투 서버 14.04 LTS 에서 설치한 아파치 Apache/2.4.7 는 웹컨텐츠를 압축하기 위해서 mod_deflate 를 사용한다. 기본적으로 활성화 되어 있고, 웹에서 사용하는 일반적인 파일들은 미리 정의가 되어 있기 때문에 그냥 쓰는 일이 많지만, 웹컨텐츠 중에서 좀 특수한 파일이 있을 경우에는 압축이 되지 않는 경우가 있다.

나 같은 경우에는 워드프레스 젯팩을 설치했는데 그 안에 Genericons.svg 라는 파일이 압축이 되고 있지 않았다. 이 파일은 텍스트 파일로 78Kb 나 되는 사이즈를 가지고 있다.
이 사실은 구글의 PageSpeed Insights 에서 알게 되었다. 운영중인 사이트/블로그의 속도를 개선하기 위해서 쓰면 좋을듯하니 이용해보자.

Genericons.svg 파일이 압축되고 있지 않다.
Genericons.svg 파일이 압축되고 있지 않다.

각설하고, svg 라는 확장자를 가진 이 파일을 아파치에서 압축하는 방법을 알아보자.

deflate.conf 파일 수정

위에서 아파치에서 압축은 mod_deflate 을 사용한다고 했다. 이 모듈의 설정 파일은 deflate.conf 이고 이 파일은 /etc/apache2/mods-enabled 에 있다. 열어서 수정하도록 하자.

파일을 열어보면

이렇게 mime type 로 압축 송신할 파일들을 정의해 둔 것을 볼 수 있다.

svg 파일의 mime type 을 알아보기 위해서는 아래 파일을 참조하자.

vi 에서 / 키로 검색 모드로 들어가서 svg 를 입력하면 아래와 같이 mime type 이 image/svg+xml 이라는 것을 확인할 수 있다.

다시 deflate.conf 파일로 돌아가서 아래와 같이 압축할 파일의 정의를 추가한다.

설정을 적용시키기 위해서는 아파치 재기동이 필요하다.

PageSpeed Insights 에서 다시 확인한 결과 압축이 적용되어 압축 사용 항목이 통과 되어 있다.

압축 사용에 문제 없음!
압축 사용에 문제 없음!

버추얼박스 인터넷뱅킹 TouchEn Key 설치시 멈춤 현상 해결 방법. 외환은행(현 하나은행)

버추얼박스 VirtualBox 에 윈도우XP를 설치하고 외환은행 인터넷뱅킹에 들어가 봤더니 하나은행으로 합병이 되어있다.

인터넷주소는 keb.co.kr 인데 하나은행 페이지...
인터넷주소는 keb.co.kr 인데 하나은행 페이지…

나무위키에 KEB하나은행 문서에 가보니 하나은행의 모델이었던 김수현과 외환은행의 모델이었던 하지원이 그대로 모델을 해서 저런 대문을 만들어 둔듯하다. 아, 이 얘기를 하려던게 아닌데…

백업해둔 공인인증서를 윈도우XP가 설치된 하드디스크에 넣기 위해서 공인인증센터로 들어가려고 했다.

문제의 시작 베라포트
문제의 시작 베라포트

베라포트를 설치하고 자동으로 이것저것 깔더니 버추얼박스에서 문제가 생겼다고 메시지가 뜨고, OK 를 누르니 윈도우XP 화면이 멈춰있다. 다시 외환은행으로 들어가서 몇번 당하고 나니까 베라포트에서 TouchEn Key 라는걸 설치하려고 하면 항상 버추얼박스가 멈춘다. 구글링은 해보니 TouchEn Key 설치시 블루스크린 문제가 보이고… 온갖 삽질 끝에 TouchEn Key 를 설치하는 방법을 알아냈다.

버추얼박스에서 TouchEn Key 설치시 멈춤 현상 해결 방법

1. 베라포트를 설치하지 않는다. 설치해버렸다면, 언인스톨하거나 사용 중지시킨다.
사용중지 방법

제어판->인터넷옵션->프로그램 탭->추가 기능 관리
제어판->인터넷옵션->프로그램 탭->추가 기능 관리

베라포트 선택 후 사용 안 함 버튼 누르고 닫기
베라포트 선택 후 사용 안 함 버튼 누르고 닫기

2. keb.co.kr 접속 후에 개인뱅킹 메뉴 중에서 적당히 메뉴를 선택해서 외환은행 인터넷뱅킹으로 들어가려고 하면 베라포트 설치 화면이 뜰 것이다. 이 때 베라포트를 설치하지 말고 외환은행 인터넷뱅킹 사이트로 넘어간다.

인터넷뱅킹 접속하기 버튼을 클릭해서 외환은행 인터넷뱅킹 사이트로 이동
인터넷뱅킹 접속하기 버튼을 클릭해서 외환은행 인터넷뱅킹 사이트로 이동

3. 설치하지 않은 엑티브엑스 프로그램들을 설치하라고 화면이 뜬다. 여기서 TouchEn Key 를 설치하면 버추얼박스가 멈추지 않고 잘 설치된다.

이렇게 설치화면이 뜬다. 화면 상단에 메시지를 클릭해서 설치하자
이렇게 설치화면이 뜬다. 화면 상단에 메시지를 클릭해서 설치하자

다른 설치 프로그램도 다 설치하면 외환은행 인터넷뱅킹 사이트로 이동된다.

여기까지 걸린 시간 약 2시간 반…

환경
윈도우XP 32bit 한국어
버추얼박스 5.0.2

Ruby on rails 포스트그레스 사용하기

저번 글에서 여러가지 문제를 해결해 가면서 웹서버 기동까지는 성공했지만 브라우저에서 localhost:3000 로 접속하니 뜨는 에러 메시지… sqlite 쪽에서 에러가 나던데 난 포스트그레스 Postgresql 을 쓸거니깐 에러는 무시하고 사용 DB 를 포스트그레스로 바꿔버리겠다.

database.yml 파일 설정

프로젝트 루트 디렉토리/config/database.yml 파일을 열어서 수정한다.

아래와 같이 환경에 따라서 다르게 설정하는 부분이 여러군데 있는데 각각의 database 항목을 주석처리한다. 나중에 쓸 일이 있으면 풀고 DB명을 넣자.

Gemfile 파일 설정

프로젝트 루트에 있는 Gemfile 파일을 열어서 아래와 같이 sqlite3 설정을 주석처리하고 포스트그레스 설정을 추가한다.

bundle 로 pg 젬을 인스톨하고 사용 등록한다.

웹서버를 재기동하고 브라우저에서 접속하면 짜잔

Ruby on rails 첫 웹화면
Ruby on rails 첫 웹화면

에러 메시지 없이 제대로 접속 성공.

Ruby on rails 프로젝트 생성과 웹서버 기동

생성할 프로젝트 이름이 ‘rcafe’ 일 경우에 이클립스 터미널에서 이클립스 워크스페이스까지 디렉토리 이동 후에 아래 명령으로 프로젝트를 생성한다.

생성시에

이런 에러가 나면 윈도우를 재기동(리부팅)하면 된다.
Couldn’t reserve space for cygwin’s heap

프로젝트는 workspace/rcafe 디렉토리로 생성된다. 이클립스에서 임포트 -> ‘신규프로젝트로서 기존 폴더를 사용’ 메뉴를 선택, 불러올 디렉토리를 rcafe 디렉토리의 경로를 선택해 주고 프로젝트 타입을 rails 로 선택해서 불러 오면 된다.

이클립스 터미널에서 아래 명령으로 웹서버를 기동

이런 에러가 나면 루비 설치 루트\lib\ruby\gems\2.2.0\specifications\sqlite3-1.3.10-x64-mingw32.gemspec 파일을 열어

윗 부분을 아래와 같이 바꾼다.

다시 웹서버 기동하면 이번엔 아래와 같은 에러가 나온다.

nokogiri-1.6.6.2-x64-mingw32 를 언인스톨하고, nokogiri-1.6.7.rc3-x64-mingw32 버전을 설치한다.

생성한 프로젝트 루트에 있는 Gemfile 파일을 열어서 파일 제일 아래에 아래 줄을 추가한다.

번들 업데이트를 실행

웹서버를 재기동하면 일단 기동은 성공한다.

Couldn’t reserve space for cygwin’s heap

문제: Couldn’t reserve space for cygwin’s heap

답: 윈도우 재기동

Git Extensions: Win32 error 487: Couldn’t reserve space for cygwin’s heap, Win32 error 0

이클립스 터미널에서 루비의 레일즈 새 프로젝트 생성시 저 에러 메시지로 시작되는 에러가 발생했다.
상세한 내용은 위 링크에 잘 쓰여 있는데, 가장 간단한 해결 방법은 윈도우 리부팅이다.