-2.2 C
New York
수요일, 12월 17, 2025

Buy now

[광고] 쿠팡 추천 링크

안녕하세요? 올해까지 삼성전자 25년 직장 생황릃 마치고 퇴직하려 합니다. 퇴직 후 아르바이트로 쿠팡 파트너스 활동을 하려고 합니다. 쿠팡 파트너스는 쿠팡 추천 링크를...

카누 캡슐 커피머신 솔직 리뷰: ‘네스프레소 호환’ 가성비 끝판왕 (ft. 쿠팡 최저가 할인)

'공유 커피' 카누가 만든 카누 캡슐 커피머신 : 캡슐 커피머신 바리스타 브리즈/어반! 네스프레소 오리지널 캡슐 호환으로 활용도는 높이고, 카누만의 황금 레시피로 커피 맛은 깊어졌습니다....
Home Blog Page 378

[워드프레스 Tips] Nginx서버에서 phpMyAdmin DB 업로드 용량 확대 방법

이번에 사이트를 해외 가상서버호스팅 업체인 VULTR로 옮기다보니 서버 운영에 필요한 여러가지 프로그램을 알아서 설치해야 했습니다.

프로그램 설치는 워낙 가이드들이 잘 되어 있어 커다란 어려움을 없었는데 문제는 실제로 서버를 운영하면서 자잘한 설정문제가 대두되더군요.

별것도 아니지만 문제를 풀지않으면 불편한 것들이 참으로 많은데요. 그중 하나가 phpmyadmin에서 업로드 용량 문제가 아닐까 합니다.

서버에 필요한 프로그램을 다 설치하고, 워드프레스를 설치 이전하려고 phpmyadmin에서 DB를 불러오기를 했는데 기본 허용 용량이 2mb에 불과해 30MB가 넘는 DB 파일을 불러오기가 불가능하다는 겁니다.

이럴 경우는 phpmyadmin에 올릴 수 있는 DB 용량 크기를 늘려 줘야 합니다.

이 DB 용량 크기 조정은 phpmyadmin이라는 이름에서 알 수 있듯이 php 환경 부분과 서버인 Nginx 설정을 수정해 줘야 합니다.

즉 PHP 환경을 정의하는 php.ini 파일과 Nginx 환경을 정의하는 nginx.conf 파일을 수정합니다.

phpMyAdmin-원래위치

1. PHP 환경을 정의하는 php.ini 파일 수정

php.ini 파일은 /etc/php5/fpm/php.ini에 위치하고 있습니다.
이 php.ini 파일을 vi나 nano같은 에디터 프로그렘으로 수정해도되고 아니면 파일질라와 같은 ftp의 기본 편집기를 통해서 수정해도 됩니다.

처음 php.ini 파일을 열면 아래와 같이 기본으로 2mb가 설정 되어 있습니다.

이 2mb를 조금 통 크게 200mb로 변경합니다.

upload_max_filesize = 2M  → 200M으로 변경
post_max_size = 2M    → 200M으로 변경

2. Nginx 환경 설정 파일 nginx.conf 파일 수정

Nginx 환경 설정 파일 nginx.conf 파일을 열어서 내용을 수정합니다.

이파일은 /etc/nginx/nginx.cong에 있습니다.

    ~ 중략
    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;
    client_max_body_size 20m;  → 200M으로 변경
    #gzip  on;
   ~ 하략

3. Nginx와 php를 재시작해 변경 사항을 반영합니다.

설정파일을 변경했다고해서 바로 반영이 되는 게 아니므로 Nginx와 php를 재시작해 변경 사항이 시스템에 반영되도록 합니다.
이들이 재시작하는 시간은 매우 짧으므로 변경한다고해서 문제될 게 거의 없습니다.

service php5-fpm restart
service nginx restart

이런 후 phpMyAdmin에 들어가보면 업 가능한 용량이 200M으로 증가되어 습니다.

phpmyadmin-업용량

해외 가상서버호스팅(VPS)이 국내 호스팅보다 빠르다? – 아이비호스팅과 해외 가상서버호스팅 VULTR간 비교

아이비호스팅을 사용하면서 아이비호스팅에서 제공하는 SSD 사용, PHP7 적용등이 실지로는 기대한만큼 사이트 속도 개선에 별로 도움이 안된다는 판단에 따라 해외가상서버호스팅을 알아봤습니다.

지난번에 포스팅한 SSD와 PHP 7을 적용하면 사이트가 날아다닐까? – 아이비호스팅과 루아틱호스팅 비교기 참조

즉 SSD와 PHP 7을 적용해도 서버 사양이나 서버 세팅에 따라 성능 및 속도가 달라질 수 있다는 사실을 HDD와 PHP 5.5를 적용한 루아틱이 오히려 더 나은 속도 및 퍼포먼스를 보여줌으로써 증명되었습니다.

그리고 아이비호스팅을 이용하면서 한국업체이므로 서비스가좋고 편하다는 느낌을 받을 수 없었고 모든 문제를 내가 알아서 해결해야하므로 한국 업체의 서비스가 무의미했습니다. 대부분 문제를 구글링을 통해 해결해야하는 실정이라면 그냥 해외업체를 쓰는게 속편하겠다는 생각을 했습니다.

그래서 서버 사양이나 세팅을 어느정도 자유롭게 할 수 있는 VPS 가상서버호스팅을 고민하기 시작했습니다.
그렇지만 VPS 가상서버호스팅이 자유롭게 서버등을 최적화 할 수 는 있지만 (국내업체는 너무 비싸므로) 가격 경쟁력을 갖춘 해외업체를 사용해야 하므로 해외 가상서버호스팅이 과연 만족할만한 속도를 내줄 것인지가 의문이었습니다.

최소한 현재 shared hosting인 아이비호스팅보다는 빨라야 옮길 수 있는 명분이 있는게 아닐까 싶었습니다.

그래서 VPS 가상서버호스팅과 아이비호스팅을 비교해 보기로 했습니다. 이의 결과에 따라 VPS 서버호스팅이 대안이 될 수 있을지를 결정하기로 했습니다.

1. VPS(가상서버호스팅 ) 선정

인터넷 검색 결과 속도 및 가격을 고려해 VULTR.com을 선정했습니다.
VULTR을 선정한 이유는

  • VPS를 분석한 Lael님의 추천이 있었고
    국내외 VPS업체에 대해서는 Lael’s World에서 잘 정리되어 있어 이를 주로 참조헸습니다.
    국내 클라우드 서버호스팅 비교(Virtual Private Server Review)

    여기에서 VULTR이 서버 성능 측정시 뛰어났고 속도가 빨라서 추천 1순위로 올려놓았더군요.

  • 가격 및 성능 측면에서 검토 유력 업체중에서 거의 유일하게 768MB 램에 5$부터 시작하고 있어서 가격적인 부담이 가장 적었고
  • Snapshot 지원 등 부가 기능도 경쟁력이 있었습니다.

뭐니뭐니해도 가장 빠르다는 소리에 현혹되었습니다. ping 속도가 34ms까지 나온다고 해서..

국내업체가 10ms이하이므로 35ms정도면 해볼만하겠다는 생각이 들었습니다.

VULTR을 신청하고 집에서 ping test를 해보니 70ms가 나와 실망을 했습니다. 그렇지만 동네 PC방에서 40ms, 대전 처가집 PC방 40ms, 춘천 형네집에서 측정해보니 45ms정도 나와서 어느정도 속도가 나온다고 판단되었습니다.

VULTR-Billing-주문하기

2. VULTR 가상서버호스팅 세팅

VULTR을 등록하고 서버 세팅을 시작했습니다.
상세한 서버세팅 내용은 아래와 같습니다.
VUULTR에서는 운영체제와 일부 Application을 깔 수 있도록 지원하지만 나머지는 알아서 설치해야 합니다.

  • 운영체제 : Ubuntu 16.04 x64
  • 웹서버 : Nginx 1.11.4
  • DB : Mariadb 10.1
  • PHP7-FPM 7.01
  • worpress 4.63

3. 워드프레스 마이그레이션

아아비호스팅에 세팅되어 있는 워드프레스 그대로All In One WP migration 플러그인으로 옮겨와 적용했습니다.

적용 방법은 지난 루아틱과 비교시 사용했던것과 똑같은 방식입니다.

All-in-One WP Migration_임포트 완료 화면

4. 아이비호스팅과 해외가상서버호스팅 VULTR과 비교

비교적 객관적 비교를 위해서 똑같은 워드프레스를 그대로 복제해 VULTR에 마이그레이션시켰으며, Cache 플러그인이 서버 설정이나 운영체제 영향을 받으므로 Cache 플러그인은 적용하지 않고 비교했습니다.

4.1. GTmatrix에서의 비교

첫번째 비교는 GTmatrix상에서 비교해 보았습니다.
여기에서 비교가 가장 Gap 컸는데 이상하게 아이비가 GTmatrix에서 속도가 잘 나오지 않더군요.

GTmatrix에서는 VULTR이 전반적으로 더 빠른 속도를 보여주었습니다.

서버 세팅이 완전하지 않은 상태이므로 점수는 조금 낮게 나옵니다.

결론 – GTmatrix에서는 해외가상호스팅인 VULTR이 상당히 좋게 평가

아이비호스팅과-해외-가상서버호스팅-VULTR과-비교_GTmatrix

아래는 GTmatrix에서 측정한 결과를 일부 캡춰해 봤습니다.

GTmatrix-아이비-WPRocket-제거-01

GTmatrix-VULTR-WPRocket-제거-01

4.2. Pingdom test 결과

이번에는 Pingdom에서 테스트한 결과입니다.
앞의 GTmatrix와 달리 아이비호스팅도 크게 나쁘지 않은 결과를 보여주었습니다.

그렇지만 미세하게나마 해외 가상서버호스팅인 VULTR이 나아 보입니다.

아이비호스팅과-해외-가상서버호스팅-VULTR과-비교_Pingdom-test

아래는 측정 결과를 캡춰한 이미지입니다.

Pongdom_VULTR-WP-Rocket-제거-01

Pongdom_아이비-WP-Rocket-제거-01

4.3. 크롬 개발자도구에서 측정한 결과

앞에서 측정한 GTmatrix나 Pingdom은 해외에서 측정하므로 아무래도 일본에 서버를 둔 VULTR이 유리할 수 있다고 보았습니다.

그래서 크롬의 개발자도구에서 측정한 값을 비교해 보았습니다.
이 크롬에서 측정한 결과도 해외 가상서버호스팅인 VULTR이 전반적으로 우수한 지표를 보였습니다.

아이비호스팅과-해외-가상서버호스팅-VULTR과-비교_크롬-개발자도구

5. 결론 – 해외 가상서버호스팅 VULTR이 전반적으로 우수하고 옮겨도 무방하겠다.

위 세가지 지표로 분석해 본 결과 해외 가상서버호스팅 VULTR이 전반적으로 우수하다고 판단되었습니다.

속도가 국내호스팅보다 나오지 않을까 걱정했는데 그럴 정도는 아니라는 결론에 도달했고 서버를 더욱 더 최적화시킨다면 더 빨라질 수 있다는 희망이 있으므로 해외 가상서버호스팅 VULTR로 이동해도 되겠다는 결론을 얻었습니다.

참고로 가격측면에서도 VULTR은 월 $5 plan을 사용하고 20$ 프로모션에 가입하면 첫해는 연간 40$에 이용가능하므로 아이비호스팅의 연간 66000원(VAT 포함) 비해서 크게 밀리지 않는다고 할 수 있습니다.

더 많은 SDD 용량과 트래픽용량 그리고 서버를 자유롭게 조절할 수 있는 자유로움은 이전할 수 있는 충분한 메리트를 주고 있습니다.

그렇지만 국내도 제대로 된 경쟁이 시작되어 가성비를 쫓아 해외호스팅업체를 기웃거리지않는 시대가 오길 바랍니다.
아무래도 해외업체들은 불편한 점이 있기는 합니다.

광고 – Vultr 25$ 프로모션

Vultr에 관심이 있다면 아래 프로모션으로 Vultr에 가입해 보세요.
물론 그전에 더 좋은 프로모션이 있는지 체크해 봐야 합니다.

Vultr의 좋은 점이 다양한 프로모션이 많아서 초기에 저렴하게 이용할 수 있다는 점이었죠. 최근에는 그런 좋은 조건들이 많이 사라진 것 같긴 합니다.

25$ 프로모션으로 Vultr 가입하기

해외 가상서버호스팅(VPS)이 국내 호스팅보다 빠르다? - 아이비호스팅과 해외 가상서버호스팅 VULTR간 비교 1

Let’s Encrypt SSL 인증서 발급 및 자동 갱신 방법(업데이트)

여기에서는 Let’s Encrypt SSL 인증서 발급 및 자동 갱신 방법에 대해서 살펴 보도록 하겟습니다. 이 글 작성 후 변경 사항 등이 있어 최신 방법으로 업데이트 하였습니다.(2020년 12월 25일)

앞선 포스팅에서 무료 SSL 인증서를 비교해 보았고 그 중 향후 가능성이나 사용편리성을 고려시 Let’s Encrypt가 가장 낫겠다고 판단했고 이를 적용하겠다고 했습니다.

이번 포스팅에서는 Let’s Encrypt를 통해서 무료 SSL인증서 발급받고 자동으로 연장하는 방안에 대해서 살펴보도록 하겟습니다.

1. Let’s Encrypt 간략 소개

SSL-인증기관-lets-encrypt-2

앞 포스팅에서 소개한 내용을 그개로 여기에서도 인용해 봅니다.

Let’s Encrypt은 HTTPS의 확산이 늦어지는 것은 SSL인증서에 있다고 보고 무료 인증서 보급을 통해 HTTPS의 확산을 늘리겠다는 취지로 시작된 비영리 프로젝트입니다.

Mozilla, Akamai, Cisco, eff, Identrust, 지말토(Gemalto)와 HP 엔터프라이즈, 패스틀리(Fastly), 두다(Duda)등이 스폰서로 참여해서 HTTPS Everywhere를 모토로 100% 무료 SSL 인증서를 발급 해주고 있습니다.

2016년 4월 정식 버젼을 출시했으며 2020년 12월 기준 2.34억개의 웹서버 인증이 진행되었습니다. (Let’s Encrypt 홈페이지 통계 기준), 참고로

  1. 인증서 발급 기관, CA(Certificate Authority) 중 점유율이 가장 높은 곳은 IdenTrust로 2020년 12월 기준으로 42%가 넘습니다.(42.3%)
  2. IdenTrust 다음으로는 DigiCert Group(15.7%) > Sectigo(14.1%) > GoDaddy Group(5.4%) > GlobalSign(2.3%
  3. Let’s Encrypt 점유율은 생각보다 낮아서 0.1%에 불과
  4. 하지만 Let’s Encrypt 사용을 아래 그래프에서 보듯 매우 빠르게 증가
    (개인적인 생각으로는 무료이기 때문에 테스트로 중복 인증도 많다고 생각)
Let’s Encrypt SSL 인증서 사용 증가 추이, Graph by Let’s Encrypt
Let’s Encrypt SSL 인증서 사용 증가 추이, Graph by Let’s Encrypt

Let’s Encrypt의 정책은 독특합니다. 앞에서 HTTPS의 확산을 위한 비영리단체로 소개했듯이 Let’s Encrypt은 서버운영자들이 인증 관리를 철저히 하지 못한다는 점을 염려(?)해 인증서 설치부터 재발행(갱신)까지 다 책임진다는 자세로 인증관련 업무를 진행하고 있습니다.

인증기간이 90일로 상대적으로 짧은 것은 보안 상황이 계속 변동되므로 이를 반영해 갱신할 수 있도록 짧게 잡았으며 대신 자동으로 인증서가 연장(재발행)되는 기능을 사용하도록 권장하고 있습니다.

자동으로 연장(재발행)된다면 오히려 안심하고 사용할 수 있는 것이 아닌가 싶습니다.

  • HTTPS Everywhere 를 추구하는 비영리 프로젝트
  • 스폰서 : Mozilla, Akamai, Cisco, eff, Identrust
  • IdenTrust cross-sign됨
  • SSL 인증서 100% 무료화
  • 인증기간 연장 및인증서 재발급 무료
  • 사용편리성 : 콘솔상에서 인증서 발급/갱신/설치/세팅 자동화.
  • 멀티도메인 지원, SAN 기능(여러 도메인을 한 인증서로 묶어주는 기능) 지원

2. Let’s Encrypt SSL 인증서 발급 방법 4가지

Let’s Encrypt SSL 인증서 발급 방법은 webroot와 Standalone, DNS의 3가지 방식이 있습니다. 인증서 발급은 사이트에서 인증기관인 Let’s Encrypt에 접속해 이 사이트의 유효성을 검증하는 과정을 거치며 이 과정을 아래 3가지 방법 중 하나를 선택해 진행할 수 있습니다.

  1. webroot : 사이트 디렉토리 내에 인증서 유효성을 확인할 수 있는 파일을 업로드하여 인증서를 발급하는 방법
    . 실제 작동하고 있는 웹서버의 특정 데렉토리의 특정 파일 쓰기 작업을 통해서 인증
    . 이 방식의 장점은 nginx를 중단시킬 필요가 없음.
    . 이 방법의 단점은 인증 명령에 하나의 도메인 인증서만 발급 가능
  2. 웹서버
    . Nginx나 아파치와 같은 웹서버에서 직접 SSL 인증을 실시하고 웹서버에 맞는 SSL세팅값을 부여
    . 발급이나 갱신을 위해 웹서버를 중단시킬 필요가 없음
    . 인증서 갱신 시 상황에 맞게 세팅을 자동으로 업데이트
    . 사용자가 세팅을 변경할 수 있지만 자동 업데이트 시 반영되지는 않음
  3. Standalone : 사이트 작동을 멈추고 이 사이트의 네크워킹을 이용해 사이트 유효성을 확인해 Let’s Encrypt SSL 인증서를 발급하는 방식
    . 80포트로 가상 staandalone 웹서버를 띄워 인증서를 발급
    . 이 방식은 동시에 여러 도메인을 발급 받을 수 있음
    . 그렇지만 인증서 발급 전에 Nginx를 중단하고 발급 완료 후 다시 Nginx를 시작해야 함
  4. DNS : 도메인을 쿼리해 확인되는 TXT 레코드로 사이트 유효성을 확인하는 방법
    . 와일드 카드 방식으로 인증서를 발급 가능
    . 이 방법은 당연하게도 서버 관리자가 도메인 DNS를 관리/수정할 수 있어야 하며
    . 인증서 갱신 시마다 DNS에서 TXT값을 변경해야 하므로
    외부에서 TXT 레코드를 입력할 수 있도록 DNS가 API를 제공하는 경우만 갱신 과정을 자동으로 처리(클라우두플레어 API가 대표적인 사례)

여기에서는 가장 안정적인 방식인 standalone 방식으로 SSL 인증서를 발급하는 방법에 대해서 알아보도록 하겠습니다. 보다 자세한 내용을 아래 글을 참조하시면 좋을 것 같습니다.

3. Let’s Encrypt에서 인증서 생성하기

현재 제 시스템 상황입니다.

  • Ubuntu 20.04
  • Nginx 1.19.64
  • PHP 8.0

Let’s Encrypt에서 제공하는 소프트웨어 클라이언트인 letsencrypt를 사용하면 쉽고 편하게 적용할 수 있습니다.

아파치서버에서는 완전 자동으로 SSL인증을 획득하고 적용할 수 있는 Nginx 서버에서는 이러한 자동화가 조금 늦게 적용되는 것 같습니다. Nginx에서의 자동화 방법은 없는것은 아니므로 이는 뒷부분에서 살펴보도록 하겠습니다.

아무튼 Nginx에서 Let’s Encrypt 인증서 생성에는 몇가지 조건이 있습니다.

  • root 접근 권한을 가지고 있어야 (즉 서버를 운영하고 있어야하므로 일반 웹호스팅은 안된다는 의미)
  • Let’s Encrypt가 아직은 공식적으로 Nginx를 지원하지 않은 상태이므로 아파치보다는 상대적으로 매뉴얼 작업이 필요합니다.

2.1. SSL 인증을 위한 Certbot tool 설치

Let’s Encrypt SSL 인증서 발급은 Certbot을 이용합니다.

Certbot은 우분투 20.04를 설치 후 letsencrypt을 설치했다면 그 안에 포함되어 있기 때문에 별도 Certbot을 설치할 필요가 없습니다.

sudo apt update
sudo apt-get install  letsencrypt -yCode language: PHP (php)

2.2. certbot으로 인증서를 생성

이렇게 Certbot tool이 설치되었다면 SSL 인증을 시작해 보도록 하겠습니다.

우선 웹서버를 중단시킵니다. 이는 80포트를 사용하지 않토록 만들기 위한 것입니다.

아무 디렉토리에서나 가능한 명령이지만 root로 이동해서 진행해 봅니다.

cd /root/
service nginx stopCode language: PHP (php)

이제 certbot 명령을 이용해 SSL 인증을 시작합니다. standalone 명령을 사용하고 도메인 이름만으로 인증이 진행되는 -d 옵션을 적용합니다.

certbot certonly --standalone -d 사이트명.com -d www.사이트명.comCode language: PHP (php)

그러면 아래와 질문들이 나오면서 인증이 진행됩니다. 첫번째로은 이메일 주소를 입력하라고 나옵니다. 이메일을 입력해야 다음 단계로 넘어갈 수 있으니 연락을 받을 수 있는 이메일을 입력합니다.

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator standalone, Installer None
Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel)
:Code language: PHP (php)

그 다음 단계는 서비스 약관에 동의하느냐고 묻습니다. 모든 서비스가 그러하듯이 Y를 누르지 않으면 서비스를 이용할 수 없기 때문에 A를 누릅니다.


 Please read the Terms of Service at
 https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at  https://acme-v02.api.letsencrypt.org/directory
 
 (A)gree/(C)ancel: ACode language: PHP (php)

마지막 질문은 재단에 이메일 주소를 공유할 것인지를 질문 합니다 간혹 귀찮게 하는 경우도 있어 N를 선택하라는 조언도 많은데 저는 이 비영리기관에 도움이 될 수 있다면 이라는 긍정적인 생각으로 Y를 눌렀습니다.


 Would you be willing to share your email address with the Electronic Frontier  Foundation, a founding partner of the Let's Encrypt project and the non-profit  organization that develops Certbot? We'd like to send you email about our work  encrypting the web, EFF news, campaigns, and ways to support digital freedom.
 
 (Y)es/(N)o: YCode language: PHP (php)

그러면 다음과 같이 진행되고 인증을 축하다는 메세지가 나옵니다.

Obtaining a new certificate
Performing the following challenges:
http-01 challenge for example.com
http-01 challenge for www.example.com
Waiting for verification…
Cleaning up challenges

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/example.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/example.com/privkey.pem
   Your cert will expire on 2021-03-25. To obtain a new or tweaked version of this certificate in the future, simply run certbot  again. To non-interactively renew <em>all</em> of your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
Donating to EFF:                    https://eff.org/donate-le 
Code language: PHP (php)

인증이 완료되면 웹서버를 다시 가동시킵니다.

service nginx restartCode language: PHP (php)

2.3. 여러개 도메인을 한번에 인증받기

이 standalone 옵션은 또한 한꺼번에 여러 개의 사이트를 인증 받을 수 있는데요. 아래와 같은 명령을 사용할 수 있습니다. 이는 연속해서 사이트명을 나열해주면 가능합니다.

service nginx stop

certbot certonly --standalone -d 사이트명.com -d www.사이트명.com -d 사이트명2.com -d www.사이트명2.com -d 사이트명3.com -d www.사이트명3.com

service nginx restart
Code language: PHP (php)

단 이렇게 여러개 사이트를 인증 받을 시 인증서 존재 위치가 맨앞 사이트명으로 통일되게 됩니다. 나중에 사이트를 없앨 때 난감할 수도 있습니다.

2.4. DH Param 생성, 적용하기

여기가지 진행하면 SSL 인증서 설치는 끝나지만 보다 보안을 강화하기 위해서 DH Param 생성을 합니다.

DH Param은 일부 암호화 알고리듬에 사용되는 커다란 난수 하나를 미리 생성해 두어서 암호화 성능을 향상시키고 보안을 높이는 방법입니다.

실제로 DH Param을 비적용시와 적용 시 보안 점수를 측정해보니 한등급 차이가 날 정도로 Gap이 컷습니다. DH Param를 적용시는 A+ 보안등급이 나오고 DH Param를 비적용시는 A-가 나오네요.

mkdir /etc/nginx/ssl
cd /etc/nginx/ssl
openssl dhparam -out dhparams.pem 4096  # 2048비트로 하려면 4096대신 2048로 대체 한다.
openssl rand 48
session_ticket.key  # 세션 티켓키도 생성 이는 시간이 거의 걸리지 않는다.
Code language: PHP (php)

3. 암호화 알고리즘 설정하기

XE 분야에서 탁월한 식견을 자랑하는 가지곰님이 Xpress Engine 공홈에 올린 SSL의 정석 (아파치 & nginx) 라는 글에 의하면 실제로 보안을 제공하는 것은 인증서가 아니라 암호화 알고리즘이라고 이야기 하고 있습니다.

인증서를 획득하는게 중요한게 아니고 얼마나 철저한 암호화 설정을 하느냐가 중요하다는 것입니다.

이 중에서 중요한 것은 ssl_ciphers인데요. 이에 대해서는 모질라 재단에서 제공하는 SSL Configuration Generator를 사용하면 좋을 것 같습니다.

여기에서는 nginx 1.17.7을 기준으로 보안 설정을 추천하고 있습니다. 여기서는 NGINX 기준으로 모던 브라우저와 올드 브라오져 중간에 있는 Intermediate를 선택해 설정한 내용을 여기에 옮겨 봅니다.

server {
     listen 443 ssl http2;
     listen [::]:443 ssl http2;

     <code>ssl_certificate /path/to/signed_cert_plus_intermediates; </code>
     <code>ssl_certificate_key /path/to/private_key; </code>
     <code>ssl_session_timeout 1d; </code>
     <code>ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions </code>
     <code>ssl_session_tickets off; </code>

     <code># curl https://ssl-config.mozilla.org/ffdhe2048.txt > /path/to/dhparam </code>
     <code>ssl_dhparam /path/to/dhparam; </code>

    <code># intermediate configuration </code>
    <code>ssl_protocols TLSv1.2 TLSv1.3; </code>
    <code>ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; </code>
    <code>ssl_prefer_server_ciphers off; </code>

    <code># HSTS (ngx_http_headers_module is required) (63072000 seconds) </code>
    <code>add_header Strict-Transport-Security "max-age=63072000" always; </code>

    <code># OCSP stapling ssl_stapling on; </code>
    <code>ssl_stapling_verify on; </code>

    <code># verify chain of trust of OCSP response using Root CA and Intermediate certs</code>
    <code>ssl_trusted_certificate /path/to/root_CA_cert_plus_intermediates; </code>

    <code># replace with the IP address of your resolver </code>
    <code>resolver 127.0.0.1;</code>
 }Code language: PHP (php)

nginx 서비스 재시작

세팅이 완료되었으면 ginx 서비스를 재시작 명령을 주어 설정이 반영되도록 합니다.

nginx -t   # 혹 설정에 문제가 없는지 점검
service nginx restart   # nginx 서비스를 재시작해 설정을 반영시킴
Code language: PHP (php)

보안 점수 확인

그리고 Qualys SSL Labs으로 이동해서 보안점수가 어는정도 나오는지 테스트해봅니다.

SSL Server Test

제대로 세팅만하면 A+은 그냥 나옵니다.

A+이 나온 SSL Test 결과

4. Let’s Encrypt 인증서 자동 갱신

Let’s Encrypt 무료 SSL 인증서는 3개월단위로 인증서가 발급됩니다. 3개월마다 수동으로 이를 업데이트 시키려면 엄청 신경을 써야하고 바쁘다보면 그냥 지나칠 경우가 많겠지요.

다행히도 Let’s Encrypt에서는 인증서 자동 갱신 방법을 제공하고 있습니다.

우선 자동 실행 스크립트 파일을 만듭니다. 크론 실행이 가장 안정적으로 작동하는 경우는 /bin 폴더에 자동 실행 파일이 있는 경우라서 이 폴더에 자동 실행 스크립트 파일을 만듭니다.

cd /bin    
nano letsencrypt.shCode language: PHP (php)

여기에 아래와 같은 내용을 추가합니다.

!/bin/sh
/etc/init.d/nginx stop
/usr/local/bin/certbot renew> /var/log/letsencrypt/le-renew.log
fuser -k 80/tcp
/etc/init.d/nginx startCode language: PHP (php)

이 자동 스크립트 파일에 권한을 부여합니다.

chmod +x letsencrypt.shCode language: PHP (php)

이어 크론탭을 열어 편집 상태로 만듭니다.

ceontab eCode language: PHP (php)

아래처럼 일정 시간마다 이를 시행하라고 명령을 줍니다.

30 4 * * 0 letsencrypt.shCode language: PHP (php)

저장하고 나와서는 크론을 다시 실행 시킵니다.

service cron start Code language: PHP (php)

자동 갱신 모의 테스트

Let’s Encrypt 인증서는 자동 갱신이 제대로 작동하는지 모의 테스트 할 수 있는 기능을 제공하는데요. 바로 –dry-run 옵션을 사용할 수 있습니다.

sudo certbot renew --dry-run Code language: PHP (php)

그러면 다음과 같은 메세지를 출력합니다.

Saving debug log to /var/log/letsencrypt/letsencrypt.log
 
 Processing /etc/letsencrypt/renewal/example.com.conf
 
 Cert not due for renewal, but simulating renewal for dry run
 Plugins selected: Authenticator standalone, Installer None
 Renewing an existing certificate
 Performing the following challenges:
 http-01 challenge for example.com
 http-01 challenge for www.example.com
 Waiting for verification…
 Cleaning up challenges
 
 new certificate deployed without reload, fullchain is
 /etc/letsencrypt/live/example.com/fullchain.pem
 
 
 ** DRY RUN: simulating 'certbot renew' close to cert expiry
 **          (The test certificates below have not been saved.)
 Congratulations, all renewals succeeded. The following certs have been renewed:
   /etc/letsencrypt/live/example.com/fullchain.pem (success)
 ** DRY RUN: simulating 'certbot renew' close to cert expiry
 **          (The test certificates above have not been saved.)
 
 IMPORTANT NOTES:
 Your account credentials have been saved in your Certbot
 configuration directory at /etc/letsencrypt. You should make a
 secure backup of this folder now. This configuration directory will
 also contain certificates and private keys obtained by Certbot so
 making regular backups of this folder is ideal. 
Code language: PHP (php)

5. SSL 사용을 위한 워드프레스 설정하기

워드프레스에서는 별로 할것은 없습니다.
워드프레스 어드민의 설정 – 일반으로 가서 워드프레스 주소와 사이트주소에 S를 붙여줍니다.

워드프레스와 사이트 주소에 S를 붙임

SSL 설정 후 속도 개선하기

SSL을 설정하고 인터넷을 실행하면 속도가 떨어졌다고 느낄 수 있습니다.

이를 해결하는 방법은 OCSP Stapling을 적용하는 방법이라고 합니다.

ssl_dhparam /폴더/경로/아까.생성한.dhparam;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /폴더/경로/2~3번.인증서.붙인거.파일명;
resolver 8.8.8.8 8.8.4.4;
Code language: PHP (php)

resolver는 내부적으로 인증서 발급업체와의 통신을 위해 사용하는 네임서버라고 하구요. 일반 서버호스팅은 IDC에서 제공하는 네임서버 성능이 좋지 않아서 구글에서 제공하는 네임서버로 셋팅한다고 합니다.

6. 마치며

이상으로 간단히 SSL 적용 방법을 적어 보았습니다.
이 분야에의 문외한이 겁없이 시작해서 많은 시행착오 끝에 SSL를 적용했습니다. 참 어려운 여정이었습니다.

이제 적용하고 보니 이게 최선인가하는 회의가 듭니다. 왜냐면 SSL 적용후 속도가 만족스럽지 못하기 때문이죠.
다들 속도때문에 SSL은 로그인이나 회원 가입등 일부 부분에서만 사용한다고 하네요. 네이버도 일부분만 적용한다고.

우선 가상호스팅을 사용하고 있으므로 보안 차원이라도 SSL을 적용하는게 좋을 것 같고, 속도 문제는 차후 어떻게 개선할지 고민해 봐야겠습니다.

SSL 인증서 관련 참고

최신 Let’s Encrypt SSL 인증서 발급 방법 4가지 정리

Let’s Encrypt SSL 인증서 발급 및 자동 갱신 방법(업데이트)

최신 보안 트렌드를 반영한 Let’s Encrypt 인증서 세팅 방법

웹, 브라우저, 서버에서 SSL 인증서 정보 확인 방법, SSL 인증서 만료일 확인 등

서버 보안 관련

랜섬웨어 대응, 서버 및 워드프레스 필수 보안 설정 15가지

워드프레스 보안 강화 NGINX 설정 방법 8가지

리눅스 서버 보안을 위한 포트 사용 최적화

리눅스 서버 root 사용 중지로 리눅스 서버 보안 강화하기

우분투 서버 보안 자동 업데이트 및 업데이트 메일 통보 방법

워드프레스 보안 진단 WPScan 사용법 및 이메일로 결과 받아보기

DDoS 취약 기능 XMLRPC 사용 중지로 워드프레스 보안 강화하기

워드프레스 보안 강화를 위한 사용자명 변경 방법

워드프레스 멀웨어 경험에서 배운 워드프레스 보안 가이드

가상서버호스팅 서버 보안 설정 방법 – Nginx +Ubuntu의 경우

[워드프레스 Tips]웹서버 보안을 위한 무료 SSL 인증서 비교

사이트 운영을 기존 일반 호스팅(shared hosting)에서 VPS라고 불리우는 가상호스팅으로 옮기고나서 보안에 대해서 신경을 써야함으로 보안을 강화할 방안을 고민하였습니다.

처음에는 CloudFlare를 적용하면 보안도 좋아지고 속도도 좋아진다는 이야기가 있어서 이의 적용을 심각하게 고민했고, 실제로도 CloudFlare를 적용했습니다.

당시 제가 알았던 정보는 free plan으로 CloudFlare를 적용시 하면

  • 트래픽 분산이 가능하다
  • 회선 가속
  • DDOS 방어가 가능

지금 다시 확인해보니 잘못된 정보네요. CloudFlare은 business plan에서만 DDOS 방어를 지원해주고 있습니다.

클라우드플레어-CloudFlare-로고

그런데 CloudFlare를 적용하니 서버단에서 대기시간이 너무 길어집니다. 무려 2초가까이 나오더군요.

그러다 hackYa님이 쓰신 클라우드플레어 (CloudFlare) 를 쓰지 말아야 하는이유라는 글을 읽고 최종적으로 CloudFlare를 접었습니다.

그래서 대안(대안이 되는지는 모르겠습니다만)으로 무료로 발급해주는 SSL 인증서를 기반으로 서버 보안을 강화해 보자는 생각을 했습니다.

한번 이쪽으로 방향을 틀게되니 이것 저것 신경쓸게 너무 많네요.. 자꾸 어려운 세계로 들어가는 것 같아서 마음이 불편하긴 합니다.
일반인이 하기에는 시간이 너무 부족하고 지식도 너무 부족하고 그냥 전문가에 맡기는게 최선일지도 모르겠습니다.

1. 웹보안 관련해 몇가지 개념 정리

이와 시작했으니 웹보안 관련 몇가지 필수 개몀 정리를 해보겠습니다.

자세한 개념잡기는 생활코딩님이 정리한 HTTPS와 SSL 인증서라는 글을 참조하면 많은 도움이 될것 같습니다.

그리고 가진곰님이 Xpress Engine 공홈에 올린 SSL의 정석 (아파치 & nginx) 라는 글이 이 족 분야를 이해하는데 도움이 될 것 같네요.

1.1. HHTP와 HTTPS의 차이

일반적으로 인터넷은 HTTP(Hypertext Transfer Protocol의 약자)로 데이타를 전송해왔습니다. 이는 암호화되지 않은 방식으로 데이타를 전송하므로 메세지를 감청하는것이 매우 쉬워 보안에는 취약합니다. 로그인을 위해 비밀번호를 전송시 쉽게 비밀번호를 가로챌 수 있다는 의미이죠.

그래서 보다 보안을 강화한 방식이 HTTPS입니다. 마지막의 S는 Over Secure Socket Layer의 약자로 보안이 강화된 HTTP라고 이해하면 될 것 같습니다.

nginx-letsencrypt-https-featured

1.2. SSL이란

SSL protocol은 Secure Socket Layer protocol의 약자로 (지금은 사라진 브라우져회사인)Netscape사에서 처음으로 웹서버와 브라우저 사이의 보안을 위해 만들었다고 합니다. .

SSL 작동방식에 대해서 SSL Certificates HOW TO라는 글에서 아래와 같이 정리해 주고 있습니다.

  1. [웹브라우저] SSL로 암호화된 페이지를 요청하게 된다. (일반적으로 https://가 사용된다)
  2. [웹서버] Public Key를 인증서와 함께 전송한다.
  3. [웹브라우저] 인증서가 자신이 신용있다고 판단한 CA(일반적으로 trusted root CA라고 불림)로부터 서명된 것인지 확인한다. (역주:Internet Explorer나 Netscape와 같은 웹브라우저에는 이미 Verisign, Thawte와 같은 널리 알려진 root CA의 인증서가 설치되어 있다) 또한 날짜가 유효한지, 그리고 인증서가 접속하려는 사이트와 관련되어 있는지 확인한다.
  4. [웹브라우저] Public Key를 사용해서 랜덤 대칭 암호화키(Random symmetric encryption key)를 비릇한 URL, http 데이터들을 암호화해서 전송한다.
  5. [웹서버] Private Key를 이용해서 랜덤 대칭 암호화키와 URL, http 데이터를 복호화한다.
  6. [웹서버] 요청받은 URL에 대한 응답을 웹브라우저로부터 받은 랜덤 대칭 암호화키를 이용하여 암호화해서 브라우저로 전송한다.
  7. [웹브라우저] 대칭 키를 이용해서 http 데이터와 html문서를 복호화하고, 화면에 정보를 뿌려준다.

1.3. SSL인증서란

SSL 인증서는 보안이 강화된 HTTPS 프로토콜로 서버와 클라이언트간 통신을 제3자가 보증해주는 전자화된 문서입니다.

위 SSL작동방식에서 설명한 것처럼 클라이언트가 서버에 접속한 직후에 서버는 클라이언트에게 이 인증서 정보를 전달하며 클라이언트는 이 인증서 정보가 신뢰할 수 있는 것인지를 검증 한 후에 자료 전송 등등의 작업을 진행합니다.

이 SSL 인증서을 사용하면 서버와 클라인언트간 통신 내용이 공격자에게 노출되는 것을 막을 수 있고, 클라이언트가 접속하려는 서버가 신뢰 할 수 있는 서버인지를 판단할 수 있으며 공격자에 의해서 서버와 크라인언트간 통신 내용의 악의적인 변경을 방지할 수 있다고 합니다.

2. 웹보안의 강제적 적용과 구글의 정책

위에서 설명한것처럼 웹에서 보안을 위해서는 HTTPS 적용이 기본적으로 필요합니다.

이런 저런 이유로 우리나라는 2012년 8월 18일부터 시행된 정보통신망 이용촉진 및 정보보호 등에 관한 법률에 따라 개인정보호를 위해서 보안서버(SSL)를 구축해야합니다. 개인사이트, 커뮤니티를 포함해 회원가입을 받는 국내 모든 웹사이트가 해당된다는 해석입니다.
(이에 대해서 불필요한 규제라는 많은 불만이 있는 것은 사실입니다.)

제28조(개인정보의 보호조치)
① 정보통신서비스 제공자등이 개인정보를 취급할 때에는 개인정보의 분실·도난·누출·변조 또는 훼손을 방지하기 위하여 대통령령으로 정하는 기준에 따라 다음 각 호의 기술적·관리적 조치를 하여야 한다.

  1. 개인정보를 안전하게 취급하기 위한 내부관리계획의 수립·시행
  2. 개인정보에 대한 불법적인 접근을 차단하기 위한 침입차단시스템 등 접근 통제장치의 설치·운영
  3. 접속기록의 위조·변조 방지를 위한 조치
  4. 개인정보를 안전하게 저장·전송할 수 있는 암호화기술 등을 이용한 보안조치
  5. 백신 소프트웨어의 설치·운영 등 컴퓨터바이러스에 의한 침해 방지조치
  6. 그 밖에 개인정보의 안전성 확보를 위하여 필요한 보호조치

② 정보통신서비스 제공자등은 이용자의 개인정보를 취급하는 자를 최소한으로 제한하여야 한다.

또한 구글에서도 2014년부터 HTTPS를 지원 여부를 사이트의 신뢰할 수 있다는 척도로 판단하고 검색 순위에서 올리겠다고 발표했습니다.

구글 Webmaster Central Blog에 발표된 HTTPS as a ranking signal 을 참조해 보시기 바랍니다.

Security is a top priority for Google. We invest a lot in making sure that our services use industry-leading security, like strong HTTPS encryption by default. That means that people using Search, Gmail and Google Drive, for example, automatically have a secure connection to Google.
~ 중략~
For these reasons, over the past few months we’ve been running tests taking into account whether sites use secure, encrypted connections as a signal in our search ranking algorithms. We've seen positive results, so we're starting to use HTTPS as a ranking signal. For now it's only a very lightweight signal — affecting fewer than 1% of global queries, and carrying less weight than other signals such as high-quality content — while we give webmasters time to switch to HTTPS. But over time, we may decide to strengthen it, because we’d like to encourage all website owners to switch from HTTP to HTTPS to keep everyone safe on the web.

3. 무료 SSL인증서에 대해서

그러면 이처럼 보안을 강화하기위해 보안서버(SSL)를 구축하려면 SSL인증이 필요합니다.

그동안 SSL인증에는 일정정도 비용을 수반했기때문에 HTTPS 프로토콜을 적용하는 사이트가 적었지만 HTTPS 확산을 위해서 무료로 발급해주는 곳이 증가하고 잇습니다.

이러한 무료 인증서가 유료 인증서보다 보안에 약하지않을까하는 염려가 있을 수 있는데이는 전혀 걱정할 필요가 없다고 합니다.

무료인증서나 유료인증서나 인증에는 별 차이가 없습니다만 유료인증서에는 사고가나면 배상받을 수 있는 조검이 걸려있습니다. 쉽게 말해서 일종의 보험이 포함되어 비싼진 게 유료인증서라고 보면 될 것 같습니다.

이처럼 무료로 SSL인증서를 발급해주는 곳으로는 Let’s Encrypt, Wosign, StartSSL이 널리 알려져 있습니다. 아래에서 각 업체별 특징을 간략히 알아보겟습니다.

3.1. Let’s Encrypt (https://letsencrypt.org)

SSL-인증기관-lets-encrypt-2

Let’s Encrypt은 HTTPS의 확산이 늦어지는 것은 SSL인증서에 있다고 보고 무료 인증서 보급을 통해 HTTPS의 확산을 늘리겠다는 취지로 시작된 비영리 프로젝트입니다.

Mozilla, Akamai, Cisco, eff, Identrust등이 스폰서로 참여해서 HTTPS Everywhere를 모토로 100% 무료 SSL 인증서를 발급
해주고 있습니다.

Let’s Encrypt의 정책은 독특합니다. 앞에서 HTTPS의 확산을 위한 비영리단체로 소개했듯이 Let’s Encrypt은 서버운영자들이 인증 관리를 철저히 하지 못한다는 점을 염려(?)해 인증서 설치부터 재발행(갱신)까지 다 책임진다는 자세로 인증고나련 업무를 진행하고 있습니다.

인증기간이 90일로 상대적으로 짧은 것은 보안 상황이 계속 변동되므로 이를 반영해 갱신할 수 있도록 짧게 잡았으며 대신 자동으로 인증서가 연장(재발행)되는 기능을 사용하도록 권장하고 있습니다.

자동으로 연장(재발행)된다면 오히려 안심하고 사용할 수 있는 것이 아닌가 싶습니다.

  • HTTPS Everywhere 를 추구하는 비영리 프로젝트
  • 스폰서 : Mozilla, Akamai, Cisco, eff, Identrust
  • IdenTrust cross-sign됨
  • SSL 인증서 100% 무료화
  • 인증기간 연장 및인증서 재발급 무료
  • 사용편리성 : 콘솔상에서 인증서 발급/갱신/설치/세팅 자동화.
  • 멀티도메인 지원, SAN 기능(여러 도메인을 한 인증서로 묶어주는 기능) 지원

3.2. Wosign (https://buy.wosign.com/free/)

SSL-인증기관-Wosign-2

Wosign은 중국의 인증업체 상당히 공격적인 조건으로 사용자를 확보하고 있는 인증업체입니다.
여기서 발급하는 인증서의 브라우저 호환성은 StartSSL과 같은 수준이라고 합니다. (StartSSL cross-sign)

이곳의 장점은

  • 최초 발급이 무료이고 더우기 Revoke/Reissue가 무료 임 (StarSSL은 상당 비용($25)을 받음, Let’s Encrypt는 무료임)
  • 멀티도메인 지원 및 발급 도메인수가 많다. ( Wosig에서는 한 인증서당 SAN 100개까지 지원할정도로(도메인 + 서브도메인 포함해 100개) 많은 도메인을 등록할 수 있었으나 스팸성 도메인들의 증가로 도메인을 5개까지 무료 지원 + 그 이상은 도메인당 1.99달러 가격으로 이용 가능)
  • 인증기간을 3년까지 선택할 수 있음

Wosign의 단점을 꼽자면

  • 중국 인증업체로 신뢰성이 떨어진다는 점
  • 서비스에의 의구심(뚜렸한 사유없이 인증이 취소되었다는 케이스 등등 사례가 있음)

3.3 StarSSL

SSL-인증기관-SrarSSL-2

StarSSL은 이스라엘 보안업체가 운영하는 인증서 발급업체로 비교적 신뢰도가 높은곳으로 알려지고 있습니다.

다만 위 Wosign이나 Let’s Encrypt에서 당연시되는 사항들이 여기에서는 무료로 지원되지 않고 있습니다.

  • 계정당 인증서 1개만 가능
  • 인증서 연장은 무료지만 유효기간이 지나 재발급받을 시 상당한 비용을 받습니다. (25$ of Revoke fee)

3. 어떤 무료인증서를 이용해야 할까?

위에서 무료 SSL 발급업체인 Let’s Encrypt, Wosign, StartSSL의 간략한 특징을 살펴보았는데요.

그러면 이중 어디를 써야할까요?

아마 관리가 귀찮은 분들은 인증기가닝 가장 긴 Wosign의 3년짜리를 쓴 것이 답이 아닐까도 싶구요.
보다 믿을 수 있는 곳을 서야겠어하시는 분은 그래고 권위(?)있는 StarSSL을 쓰시는게 마음 편할 듯 합니다.

저는 여러 조건을 고려해 볼 시 자동으로 연장되는 기능을 사용하는 조건으로 Let’s Encrypt가 가장 경쟁력있다고 판단되었습니다.

원래는 SrarSSL을 사용하려고 인증서까지 받고 서버에 설치하는 중이었는데요. Let’s Encrypt로 바꿔보기로 했습니다.

다음 포스팅에는 Let’s Encrypt 인증서를 적용하고 자동 연장토록 구성하는 방법에 대해서 알아보도록 하겠습니다.

[워드프레스 속도 개선] NGINX에 구글 페이지스피드(mod_PageSpeed)로 속도 개선 방법

기존 아이비호스팅에서 VULTR이라는 해외 VPS(가상서버호스팅)로 이전하면서 어떻게하면 더 속도를 높일 수 있을까 고민하다 찾아낸 게 구글 페이지스피드모듈을 적용하자는 것이었습니다.

어떤 사이트에서는 10배까지 성능이 좋아진다고하는데 과연 어느 정도 성능을 뽑아줄지 기대가 되지 않을 수 없습니다.

1. 구글 모드 페이지스피드’(mod_pagespeed) 소개

잘 알다시피 Google PageSpeed는 웹사이트의 성능을 분석하고 최적화 방법을 알려주는 분석도구로 이와 관련 툴로는 가장 대중적이라 할 수 있습니다.
PageSpeed Insights는 PageSpeed Insights Rules에 따라서 웹 사이트를 분석해주고 점수로 보여주는데 이를 잘 이용하면 어떻게 이트의 성능을 개선해야 하는지를 알 수 있습니다.

이러한 웹사이트에서 사이트를 분석하는 서비스 외 구글은 2010년에 발표한 모드 페이지스피드라는 프로젝트를 토대로 2014년 2월 ‘모드 페이지스피드’(mod_pagespeed)’라는 웹페이지 가속 기술을 발표했습니다.

구글의 설명에 의하면 서버단에서 사이트의 속도를 높이기 위해 페이지 로드 시간을 줄이고 웹 페이지 호출시간과 대역폭 사용을 효율화하는 방식을 적용했다고 합니다. 그것은 캐싱 극대화, 검색 최소화, 단위 요청 오버헤드 최소화, 데이터 크기 최소화 및 브라우저 렌더링 최적화라는 5가지 카테고리로 나누어 구현되었다고 하는데요.

그간 shared hosting 시절에는 생각도 못한 방법인데 이제는 서버를 마음대로 조정할 수 있으니 이러한 기술을 적용해 사이트 속도를 높여보고자 합니다.

2. NGGINX 서버에 모드 페이지스피드’(mod_pagespeed) 설치하기

NGINX 서버에 모드 페이지스피드’(mod_pagespeed)를 설치하는 방법은 주로 아래 내용을 참조하였습니다.

How to Install nginx and google PageSpeed on Ubuntu 16.04 (Xenial Xerus)

Compile Nginx with ngx_pagespeed Module on Ubuntu 16.04

2.1. Nginx 설정 파일 백업 (Back up Nginx Configuration Files)

작업하다보면 무슨 문제가 있을지 모르므로 Nginx 설정 파일을 백업받아 놓습니다.

저는 FTP로 관련 파일을 내려받아 놓았습니다. 백업 받을 파일은 /etc/nginx/nginx.conf과 /etc/nginx/conf.n/default.conf의 파일 2개입니다.

그리고 서버 자체를 백업받아 놓는게 좋을 것 같네요. vultr에서는 Snapshot 기능을 제공하고 있으므로 본격적인 작업에 들어가기 전에 서버 자체를 백업받아 놓을 수 있었습니다.

VULTR-백업가능한-스냅샷Snapshots

2.2. Installing nginx with ngx_pagespeed

리눅스에서는 새로운 모듈을 설치하면 연관된 프로그램도 다시 설치하도록 가이드 하는 것 같습니다.
여기에서도 구글 모드 페이지스피드를 설치하기위해 Nginx 최신 버젼을 같이 설치하고 있습니다.

2.2.1. Add the nginx repository

이 단계는 Nginx 최신버젼을 받을 수 있도록 Nginx 최신 버젼이 있는 위치를 등록하는 것입니다.

여기에서는 아마 앞서 nginx를 설치하면서 설치 위치를 등록했을 것인데(저는 라엘님의 가이드에 따라 Nginx와 maria db 위치를 /etc/apt/sources.list에 업데이트 했는데요.) 이 페이지 스피드 설치 시는 조금 위치에 등록하라고 가이드하고 있습니다.
추가로 nginx repository를 만들어 등록합니다.

  • 이 등록은 nginx.list 파일을 만들고 nginx repository를 등록하는 것입니다.
vi /etc/apt/sources.list.d/nginx.list  
# 위 명령은 vi  편집기로 nginx.lst 파일을 편집하라는 명령입니다.

nginx.list에 아래 내용 추가합니다.

deb http://nginx.org/packages/ubuntu/ xenial nginx
deb-src http://nginx.org/packages/ubuntu/ xenial nginx
  • 파일을 내려받을 수 있는 키를 등록하고 업데이트 진행합니다.
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62  # 저장소 키를 등록
apt-get update  # 저장소 위치를 업데이트
2.2.2. Nginx 최신 버젼을 다운로드, Download nginx 1.10 from ubuntu repository

이번에는 Nginx 최신 버젼을 다운로드 받을 수 있는 폴더를 만들고 여기에 최신 버젼을 다운로드 받습니다.

cd ~   # 루트 디렉토리로 이동
mkdir -p ~/home/nginx/   # 다운받을 디렉토리 생성

chmod -R 744  ~/home/nginx/  # 뒷부분에서 권한 문제로 안되는 경우가 발생하므로 일정 권한

cd ~/home/nginx/   # 디렉토리로 이동
apt-get source nginx   # Nginx 최신버젼을  다운받음

tar -xzvf nginx_1.13.0.orig.tar.gz # Nginx 최신버젼 수치를 확인 필요, 압축을 풀어 준다
  • Nginx 패키지를 만들기 위해서 모든 관련 프로그램을 설치합니다.
apt-get build-dep nginx
2.2.3. 페이지스피드 다운로드, Download Pagespeed

여기에서는 페이지스피드를 다운받을 폴더를 만들고, 최신 페이지스피드 파일을 다운 받습니다.

github에서 ngx_pagespeed 최신 버젼 확인 하기

또는

PageSpeed에서 ngx_pagespeed 최신 버젼 확인 하기

으로 이동해서 최신 버젼을 확인하고 링크 주소를 받습니다.
그런데 제가 해본 경험으로는 최신 베타버젼은 PSOL libraries를 구할 방법이 없더군요(제가 못 찾을 수 도 있습니다) 따라서 최신 안정 버젼만 가능했습니다.

github에서는 버젼명에 상관없이 가장 최신 안정 버젼의 pagespeed 주소는https://github.com/pagespeed/ngx_pagespeed/archive/latest-stable.zip로 항상 일정합니다.

이 안정 버젼의 주소를 사용해 진행하면 됩니다.

mkdir -p ~/home/ngx_pagespeed/  #  페이지스피드를 다운받을 디렉토리 생성
chmod -R 744  ~/home/ngx_pagespeed/  # 뒷부분에서 권한 문제로 안되는 경우가 발생하므로 일정 권한 줌

cd ~/home/ngx_pagespeed/   # 생성한 디렉토리로 이동

wget https://github.com/pagespeed/ngx_pagespeed/archive/latest-stable.zip 
# 최신 버젼의 링크 주소로 최신 안정 버젼을 다운 받음

unzip latest-stable.zip  # 압축을 풀어줍니다.

cd ~/home/ngx_pagespeed/ngx_pagespeed-latest-stable  
# 압축을 풀고 생성된 디렉토리로 이동, 이 디렉토리 주소는 조금씩 바뀌니 ls 명력어로 확인이 필요합니다.

wget https://dl.google.com/dl/page-speed/psol/1.11.33.4.tar.gz 
#  latest-stable 버젼이 1.11.33.4.라서 PSOL libraries 파일을 받았습니다.

tar -xzvf  1.11.33.4.tar.gz
ls
2.2.4. 페이지스피드를 생성하기 위한 Nginx 환경 설정

페이지스피드를 생성하기 위헤서 Nginx 환경 설정을 합니다. 이는 Nginx가 다운 받아진 디렉토리로 이동해 debian 폴더의 rules라는 파일 내용을 수정합니다.

cd ~/home/nginx/nginx-1.13.0/debian/   # debian 디렉토리로 이동
vi rules   # vi라는 편집기로 rules 파일을 수정

rules에 아래 내용을 추가하고 저장합니다.
내용 중 config.status.nginx and config.status.nginx_debug 부분에 각각 이 파라메터를 추가합니다.

--add-module=~/ngx_pagespeed/ngx_pagespeed-latest-stable\
2.2.5. Nginx Ubuntu 패키지를 만들고 설치, Build the nginx Ubuntu package and install it

Nginx를 받아 놓은 디렉토리(/root/nginx/nginx-1.13.0)로 이동합니다.

  • 그리고 Nginx Ubuntu 패키지를 만듭니다.
cd ~/home/nginx/nginx-1.13.0/   # Nginx를 받아 놓은 디렉토리로 이동


servicr nginx stop  # 서버 가동중이라면 nginx를 중단시킨다.  서버 세팅 초기에 설치한다면 문제가 없다.

dpkg-buildpackage -b     # 패키지를 만듭니다.

이때 만들어진 Nginx Ubuntu 패키지는 /root/nginx/ 디렉토리에 저장됩니다.
이 디렉토리에 가보면 관련 여러가지의 파일이 형성되어 있음을 볼 수 있습니다.

google-pagespeed-module-%ec%84%a4%ec%b9%983

  • 다음으로 dpkg 명령어를 사용해 nginx와 페이지스피드 모듈을 설치합니다.
cd ~/home/nginx/   # 앞에서 수행한 dpkg-buildpackage -b 로 만들어진 파일은 ~/home/nginx 폴더에 만들어지므로 이 폴더로 이동한다.

dpkg -i *.deb

여기서 deb 확장자를 가진 전체를 실행시키지 읺고 dpkg -i nginx_1.11.10-1~xenial_amd64.deb(또는 dpkg -i nginx_1.11.10-1~xenial_i386.deb)라는 파일만 실행 시키라는 가이드도 있네요.

저는 그냥 *.deb 명령어를 사용했습니다.

3. 페이지스피드 환경 설정 및 테스트

위 단계가 무사히 끝나면 설치는 완료된 것입니다.
이후는 nginx 환경 설정에 페이지스피드 모듈 부분을 반영하고 테스트 해주는 것입니다.

3.1. Nginx 환경 설정에 반영

환경에 설정에 반영은 두곳에서 설정해야 합니다.

첫째는 Nginx관 관련된 환경을 설정해주는 nginx.conf 에 반영해주는 것인데 여기서는 사용자, HTTP, Module 등을 정의해 줍니다.
둘째는 서버 전체 환경을 제어해주는 default.conf 에서 적용하는 것으로 여기서는 Server, location 등의 정보를 정의해줍니다.

아래는 Nginx 환경 설정에 반영된 내용입니다.

3.1.1. nginx.conf 반영

여기서는 페이지스피드를 작동시키고 (pagespeed on;), 파일 캐시 경로를 지정합니다. 이 캐시 파일 경로 FileCachePath도 필수값으로 반드시 이를 저장할 위치를 반영해야 합니다.

페이지스피드에는 많은 필터가 기본으로 작동하지만 이중에서 성능에 영향을 미찬다고 여겨지는 자바스크립트 지연 실행(pagespeed EnableFilters defer_javascript;) 등을 추가하였습니다.

자바스크립트 지연실행은 자바스크립트가 헤더나 본문 등에 섞여 있는 경우 자바스크립트가 렌더링을 막기 때문에 렌더링 후에 자바 스크립트를 실행토록 명령을 주는 것입니다.

pagespeed on;               # enable pagespeed module on this server block
pagespeed RespectVary on;   # Respecting Vary Headers
pagespeed CreateSharedMemoryMetadataCache "/var/cache/pagespeed/" 51200;
 pagespeed FileCachePath /var/ngx_pagespeed_cache;  # Needs to exist and be writable by nginx.  Use tmpfs for best performance.

pagespeed FileCacheSizeKb            102400000;  # 이 용량만큼 cache를 적용 후 다 차면 비운다
pagespeed FileCacheCleanIntervalMs   3600000;    # 이 시간마다 체크 아마 허용 용량을 따르는 듯
pagespeed FileCacheInodeLimit        50000000;

pagespeed CssFlattenMaxBytes 5120;

pagespeed LRUCacheKbPerProcess     8192;
pagespeed LRUCacheByteLimit        16384;

pagespeed JpegRecompressionQuality 70;

pagespeed RewriteLevel CoreFilters;

# enable additional filters selectively
pagespeed EnableFilters prioritize_critical_css;
pagespeed EnableFilters defer_javascript;
pagespeed EnableFilters combine_css,combine_javascript;
pagespeed EnableFilters add_head,combine_heads;
pagespeed EnableFilters collapse_whitespace;
pagespeed EnableFilters insert_dns_prefetch;
pagespeed EnableFilters move_css_above_scripts;
pagespeed EnableFilters move_css_to_head;

pagespeed EnableFilters sprite_images;
pagespeed EnableFilters recompress_png;
pagespeed EnableFilters convert_png_to_jpeg,convert_jpeg_to_webp;
pagespeed EnableFilters inline_preview_images;
pagespeed EnableFilters collapse_whitespace,remove_comments;

pagespeed EnableFilters make_google_analytics_async,make_show_ads_async;
pagespeed EnableFilters rewrite_images,rewrite_css,rewrite_javascript;  # enable image optimization
pagespeed EnableFilters responsive_images;   # defer the loading of images which are not visible to the client
pagespeed EnableFilters resize_mobile_images;
pagespeed EnableFilters lazyload_images;

pagespeed EnableFilters defer_iframe;
pagespeed EnableFilters defer_javascript;

pagespeed EnableFilters collapse_whitespace;  # enable collapse whitespace filter
pagespeed EnableFilters canonicalize_javascript_libraries;   # enable JavaScript library offload
pagespeed EnableFilters elide_attributes;   # remove tags with default attributes
pagespeed EnableFilters extend_cache;   # improve resource cacheability
pagespeed EnableFilters flatten_css_imports;    # flatten CSS files by replacing @import with the imported file
pagespeed EnableFilters prioritize_critical_css;   # rewrite CSS to load page-rendering CSS rules first.

pagespeed MapOriginDomain "http://localhost" "https://www.happist.com"; # Map the origin domain

pagespeed LoadFromFile "https://www.happist.com" "/home/happist/static/"; # Load static files(Image, CSS, Script파일과 같이 그 내용이 고정되어 응답을 할 때 별도의 처리 없이 파일 내용을 그대로 보내주면 되는 파일을 의미) from disk

# Configuring SSL Certificates
pagespeed SslCertDirectory directory;
pagespeed SslCertFile file;
3.1.2. default.conf 반영

여기에서는 PageSpeed 관련 위치 정보를 설정해 줍니다.
어던 경우는 이 위치 정보도 nginx.conf에 반영해도 무리가 없었는데 먹히지 않은 경우도 있습니다.

location 정보는 default.conf에서 정의해주고 있으므로 여기에 반영해 줍니다.


# Ensure requests for pagespeed optimized resources go to the pagespeed handler
# and no extraneous headers get set.
location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
  add_header "" "";
}
location ~ "^/pagespeed_static/" { }
location ~ "^/ngx_pagespeed_beacon$" { }

3.2. Nginx 페이지스피드 테스트

Nginx 환경 설정에 적용된 항목들이 문제는 없는지 테스트 점검해 보고 문제가 없으면 nginx를 재실행 시킵니다.
마지막으로 curl 명령어로 웹서버 상태를 점검해 봅니다.

nginx -t    
# Nginx를 테스트 해봅니다.  환경 설정에 문제가 있으면 문제점을 출력해주고 없으면 아무 메세지없이 다음 명령을 기다리는 명령 프롬프트로 이동합니다.
systemctl restart nginx  # 시스템을 재시작
curl -I 192.168.1.6

4. 페이지스피드 설치과정에서 만난 오류 및 대처

이 페이지스피드를 설치하면서 몇가지 오류을 만났는데요.
이 오류 및 해결 내용을 간략히 소개합니다.

4.1. internal compiler error

설치중 internal compiler error랄 만났습니다.
이 문제에 봉착하고나서 인터넷을 뒤지다보니 메모리의 문제가 아니냐는 지적이 있었습니다. 거기에서는 4GB 메모리로 업그레이드했다는이야기가 있어서 768MB 메모리를 쓴 저로서는 감당이 안되겠다는 생각에 절망에 빠졌는데요..

혹시 일반 PC처럼 서버를 다시 가동시키면 필요한 메모리가 확보되지 않을까하는 생각이 들어서 서버를 restart시켰습니다.

그랬더니 (필요한 메모리가 확보되었는지) 제대로 작동을 하더군요.

결론 – internal compiler error시 메모리확보를 위해 서버를 재가동해보자.

{standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
cc: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.

4.2. 테스트는 루트사용자로 해보자

설정이 제대로 이루어졌는지 계속 체크하고 있는데 환경 설정 문구를 조금만 바꾸어도 게속 에러가 나더군요.

인터넷등에서 확실한 옵션이라고 주장을 해도 제 사이트에서 적용 후 테스트를 해보면 바로 에러가 뜹니다.

아래 그 생생한 예입니다.

nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2016/09/16 02:55:29 [warn] 14896#14896: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:2
2016/09/16 02:55:29 [info] 14896#14896: [ngx_pagespeed 1.11.33.3-0] No threading detected. Own threads: 1 Rewrite, 1 Expensive Rewrite.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
2016/09/16 02:55:29 [emerg] 14896#14896: open() "/var/run/nginx.pid" failed (13: Permission denied)
nginx: configuration file /etc/nginx/nginx.conf test failed

여러번 삽질을 하다가 일반 사용자가 sudo 명령으로 점검하지말고 그냥 루트사용자로 테스트해보자고 루트 권한으로 들어와 테스트를 해보니 아무 문제없이 통과되더군요..

결론 – 환경 설정 시는 가능하면 루트사용자로 테스트 하자

5. 모드 페이지스피드(mode PageSpeed) 적용 결말

마찬가지로 많은 삽질을 거쳐 페이지스피드를 적용했습니다.
어디에선가 적용하기 전후 차이가 거의 10배나 차이가 난다는 글을 본적이 있는데 저의 경우는 로딩 스피드가 2초이상 빨리진것 같습니다.

유감스럽게 로딩스피드가 5초~6초대로 상당히 늦은 편이었는데 모드 페이지스피드를 설치하고는 3~4초대로 빨라졌습니다. 이러한 속도 개선에는 매우 만족스러웠고 현재 사용하고 있는 WP Rocket 플러그인을 사용하지 않아도 되지 않을까하는 생각이 들었습니다. WP Rocket을 적용하는 것과 비적용하는것의 차이가 크진 않았습니다.

배낭을 매고 여행을 떠나요 – 여행을 부르는 여행 광고 11

2

Ticket.om 광고를 보고나서 여행 관련 광고를 찾아보았습니다. 가슴을 뛰게하고 여행을 떠나고싶게 유혹하는 광고가 무엇이 있을까?

나름 의미를 담은 여행광고를 모아 공유해봅니다.
문득 여행이 떠나고 싶어지는 시간네요.

1. 루이비통 Life is Journey – 매니페스토(Manifesto) 영상

루이비통은 럭셔리 브랜드 최초로 동영상을 이용한 브랜드 이미지 광고를 만들었습니다.
Long Version은 2분 48초 분량이고 많이 알려진 Short Version은 1분 36초 분량으로 ‘인생 그 자체가 여행’이라고 규정하면서 여행이란 단순 히 관광이나 휴가가 아니라 자아를 발견하는 과정이라고 이야기 하고 있습니다.

그저 여행을 떠나세요. 그 매 순간이 바로 인생입니다.

Long Version

Short Version

Directed by Bruno Aveillan, this beautiful film won several awards like Gold Clio Award, Gold London International Award, Epica Award, Mobius Award, World Medal at New York Festival, Top Com d’or, Grand Prix Stratégie, …

what is a journey ? 여행은 무엇일까요 ?
a journey is not a trip. 여행은 단순한 소풍이 아닙니다.
it’s not a vacation. 휴가도 아닙니다.
it’s a process , a discovery . 여행은 과정이며 발견입니다.
it’s a process of self-discovery. 여행은 자아발견의 과정입니다.
a journey brings us face to face with ourselves. 여행은 우리를 우리 자신과 마주보게 합니다.
a journey shows us not only the world , but how we fit in it . 여행은 세상을 보여줄뿐만 아니라 어떻게 우리가 살아가고 있는지도 보여주지요
does the person create the journey ? 인간이 그런 여행을 만드는것일까요 ?
or does the journey create the person ? 아니면 여행이 그런 인간을 만드는것일까요 ?
the journey is life itself. 여행은 인생, 그자체 입니다.
WHERE WILL LIFE TAKE YOU ? 인생은 당신을 어디로 데려갈까요 ?

2. 샘소나이트 – Travel Lighter To Go Further – Samsonite

여행 가방 판매를 주요 비지니스로하는 샘소나이트 광고입니다.

샘소나이트는 아름다운 여행 사진을 정렬하는 것에 비해서 계량할 수 없는 여행의 짐들의 의미를 추억과 모험에 비유하고 있습니다.

샘소나이트에게 있어서 여행의 짐들이란 여행의 경험의 매개자로 포지션되어 스토리를 풀어나가고 있습니다.

3. Corona Extra : A Journey by Taylor Steele – From Where You’d Rather Be

코로나 호주법인에서 공유한 코로나 광고입니다.
자유로운 히피 정신을 엿볼 수 있는 자유로움, 여유 그리고 간간히 비추는 코로나 맥주 한잔!!
그리고 마음을 동하게하는 음악!!

분위기가 다소 옛날처럼 느껴지는 데 1976년 몇몇 친구들과 맥시코 서해안을 따라 떠난 여행을 전설적인 surf 감독인 Taylor Steele이 이를 필름으로 담았다고..

그래서 한편의 영화같은 광고가 태어났나 보네요..

절로 떠나고픈 생각이 듭니다. 그 전에 맥주한잔 해야겠습니다.

2010년 광고인데 HD 파일이 올려져 있네요..

4. Watchtower of Turkey

이탈리안 영화감독 Leonardo Dalessandri가 20일동안 3500km를 여행하면서 담은 이미지를 토대로 작업한 터키에 대한 이야기.

영화감독이 만들어서 그런지 일반 홍보 광고와는 차원이 다른 듯..

5 호주의 여행사 STA Travel Australia의 Move, Eat, Learn series 광고

한국에도 많이 소개된 2011년 온에어된 호주 여행사 STA Travel의 광고입니다.

STA Travel Australia는 이 광고를 위해서 3명(Rick Mereki, Andrew Lees and Tim White)이 세계의 환상적인 여행지를 6주 동안 여행하면서 그 영상을 담아 광고를 제작했다고 합니다.

  • 44일
  • 11개국
  • 18번의 비행
  • 38,000 마일
  • 1테라바이트의 영상

광고는 세계 유명 여행지 사진을 경쾌한 음악과 함께 보여주는 Move 편, 셰게 여행지의 다얄한 음식과 먹는 모습을 보여주면서 여행의 즐거움을 이야기하는 EAT편, 세계를 여행하면서 다양한 기술이나 학습을 통해서 하나씩 배워난가는 과정을 담은 Learn편의 3가지 영상으로 구성되어 있습니다.

아무래도 대표적인 광고이고 가장 흥미있게 편집된 Move편이 가장 인기가 좋네요. (2016년 09.04 현재)

  • Move 조회수 1.6백만
  • EAT 조회수 0.6백만
  • Learn 조회수 0.5백만

6. Travel Alberta, Canada

Rremember to breathe!!

캐나다 앨버타를 홍보하기 위한 광고 영상,
너무 아름다운 풍광의 연속이라 입을 다물 수 없네요.
조회수도 5.5백만을 기록하고 있구요.

아래는 Summer in Alberta라는 동영상입니다.
이 역시 볼만합니다.

7. 호주관광청 There’s Nothing Like Australia

관광대국답게 호주는 호주 관광에 대한 광고 커뮤니케이션을 활발히 하고 있는데요.

호주관광청에서 There’s Nothing Like Australia라는 주제로 호주를 홍보했던 TVC를 소개합니다.

호주의 아름다운 자연을 배경과 경쾌한 음악을 통해서 호주로의 여행을 이야기하고 있습니다.

아래는 There’s Nothing Like Australia라는 주제로 3분짜리 영상입니다. 조용한 음악과 함께 호주의 아름다움을 잔잔하게 그리고 설득력있게 보여주고 있습니다.

아래는 2016년 온에어 된 신규 광고인데요.
Tourism Australia and Chris Hemsworth를 제목으로 온에어되어 2.5백만이상 조회수를 기록하고 있습니다.

How can the colour blue be a feeling?
Well, it’s hard to describe.
But it is.
You see, it’s different down here.
The air just has more life in it.
Sounds touch you.
And the light fills you up somehow.
Yeah, it’s a place that stays with you.
And sometimes, if you’re lucky, it stays forever.
Because Australia isn’t just a place you see…
It’s a place you feel.

8. Incredible India

인도관광청에서 제작하는 Incredible India는 해마다 버젼을 달리하면서 인도를 세계에 소개해 오고 있는데요.

2010년도 버젼이 가장 매력적으로 알려진 것 같습니다.
아래 Incredible India 2010를 HD로 리마스터링한 버젼인데 조금 어색하긴 합니다.

인도 관광청에서 제작한 Incredible India 2013의 감독판이라고 합니다. 무슨 광고가 감독판이 있는지 모르지만 반응이 좋으니 Director’s Cut도 나오는 것이겠지요.

directed by Prakash Varma
produced by Nirvana Films

9. ESTRELLA DAMM

이 역시 ESTRELLA DAMM이라는 맥주회사에서 만든 고아고입니다.

나선곳으로 여행 그리고 만남 한잔의 맥주와 즐기는 즐거운을 겨쾌한 음악과 함게 표현해 내었습니다.
앞에서 소개한 코로나와 같은 컨셉이라고나 할까요..

ESTRELLA DAMM는 해마다 여행이라는 컨셉으로 광고를 제작하고 있습니다. 그 중에서 가장 경쾌한게 여기서 소개하는 2009년 광고로 보여지네요.

아래는 2012년도 버젼… 아주 조금 수위가 있네요.

10. Expedia – Expedia technology connecting you to what matters

이 번에는 Expedia라는 여행사(?) 광고입니다.

테크날러지를 이용해 여행의 모든 것을 누구나 쉽게 이용할 수 있도록한다는 점을 이야기 하고 있습니다.

2015년 온에어 되어 2백만이상 조회된 Zoo편과 2016년 4월 온에어 된 goodby 편을 소개해 봅니다.

Making connections with people and places is why we travel.

Expedia technology connecting you to what matters

2016년 4월에 온에어 한 Goodbye

11. Silja Line: Project Rediscovery

이 Project Rediscovery는 TVC 광고가 아니라 Project Rediscovery라는 프로모션 이벤트에 대한 내용입니다.

발틱해를 주무대로 크루즈 여행에 집중하는 Silja Line에서 핀란드와 스웨덴의 아름다움의 재발견을 목표로 Project Rediscovery를 진행하면서 만든 동영상입니다.

핀란드와 스웨덴이 면해있는 발틱해의 아름다움을 재발견하고자 Silja Line은 아르젠티나와 일본과 미국에서온 3명의 사진가를 보내 발틱해를 크루즈하면서 그 아름다움을 담아 site에 올려 누가 더 많은 호응을 얻어내고 네티즌의 동참을 이끌어내는 이벤트를 통해서 발틱해의 아름다움을 널리 알리려는 캠페인입니다.

이 캠페인은 특이하게 Vimeo 동영상이 주로 돌아다니더군요.

Silja Line: Project Rediscovery from hasan & partners on Vimeo

Silja Line Project Rediscovery from hasan & partners on Vimeo

하나씩 늘리다보니 어찌하나보니 11개가 되었네요…
그냥 제목은 두려구요..

여행, 파라다이스로 가는 비상구 – Ticket.com 광고

0

빡빡한 현실에 질려서 문득 여행을 떠나고 싶지 않나요?
현실에서 도피해서 안주할 파라다이스를 꿈꾸고 있지 않나요?

많은 사람들이 이런 일상의 탈출을 꿈꿉니다. 이런 일상 탕출의 꿈을 파라다이로 가는 티켓을 구매하라고 속삭이는 광고가 있습니다.

2015년에 인도네시아에서 실행된 Ticket.com의 광고가 그것입니다.

인터넷 서칭중에 발견해 간략히 공유해 봅니다.

Creative Director : Lucy Novita Prasmono
Agency : Hakuhodo
Client : Tiket.Com
Location : Indonesia
Date : Nov,2015

이 방의 주인은 서류 뭉치속에서 파묻혀 죽을 것 같은 사우실 직원 쯤 될까요?

문득 푸른 바다에 파라솔이 있는 한적한 파라다이스로 가는 비상 계단이 나타난다면 바로 탈출하지 않을 이유가 있을까요?

인도네시아 광고 Tiket_com-1-1


여기는 전형적인 주부이 공간이네요..

설겆이, 빨래 등 지치 가사일을 뒤로하고
유럽의 베네치아로 떠나는 것은 어떻할까요?

인도네시아 광고 Tiket_com-2-l


여기는 전형적인 컴퓨터 엔지니어의 공간 같습니다.
도대체 컴퓨터가 몇대입니까?

컴퓨터 CPU작동하면 내는 후꾼후꾼한 열기를 피해서 저 시원한 설원으로 떠나자구요.

인도네시아 광고 Tiket_com-3-l

아래는 최근 들어가 본 Ticket.com입니다. 사이트 주소가 자동으로 ticket.se로 리다이렉트되네요..

아마도 벌써 비지니스를 한계를 느끼고 주인이 바뀌었나 봅니다. 이 쪽 비지니스가 터프하긴 하죠..

ticket.com 메인페이지

[워드프레스 Tips]플러그인 없이 유튜브 100% 반응형 적용법

워드프레스에 유튜브동영상을 삽입 시, 요즘 유튜브는 반응형을 지원하고 워드프레스 자체에서도 반응형을 지원해 자동으로 크기를 맞추어줍니다.

그러나 기본적으로 정해진 높이가 있으므로 높이를 높게 설정되어 있는 경우 위아래는 검게 표시되어 알게 모르게 눈에 거슬리는 경우가 왕왕 있습니다.

그리고 일부 테마의 경우 유튜브 반응형 지원에 문제가 있는 경우도 있고 오래전 코드의 경우는 제대로 작동이 안되는 경우도 있습니다.

이를 해결하기 위해서는 이를 해결해주는 플러그인을 쓸 수도 있겠지만 아래와 같이 몇가지만 수정해주면 깔끔하게 좌우, 아래를 정확히 맞추어 유튜브 등 동영상을 재생시켜 볼 수 있습니다.

제간 인터넷 검색을 통해서 발견한 방법은 2가지가 있는데 적절한 방법을 사용해 보시기 바랍니다.

1. functions.php 및 style.css 변경

첫번째 방법은 워드프레스에서 테마의 functions.php 및 style.css의 변경을 통해서 유튜브등의 동영상을 반응형을 구현하는 방안입니다.

이 방법은 iframe code를 사용하는 YouTube or Vimeo등에 유용하다고 할 수 있습니다.

1.1. 테마의 functions.php 수정 – embed codes에 div를 기본으로 붙여주도록 수정

테마의 functions.php파일에 아래 내용을 추가합니다.
아래 기능은 iframe code에 div code를 입혀주도록 해주는 기능정의입니다.

function div_wrapper($content) {
    // match any iframes
    $pattern = '~<iframe.*</iframe>|<embed.*</embed>~';
    preg_match_all($pattern, $content, $matches);

    foreach ($matches[0] as $match) {
        // wrap matched iframe with div
        $wrappedframe = '<div>' . $match . '</div>';

        //replace original iframe with new in content
        $content = str_replace($match, $wrappedframe, $content);
    }

    return $content;    
}
add_filter('the_content', 'div_wrapper');

이는 워드프레스 개발자 포럼의 How to wrap an element around an iframe or embed in content automatically?라는 글을 참조했습니다.

Make WordPress default video embeds responsive라는 글에서도 functions.php 수정 방법도 나오는데 저의 경우는 작동하지 않았고 뎃글을 보면 작동하지않고 추가로 보완이 필요하다는 지적이 있었습니다.

혹시 모르니 여기서 같이 소개해봅니다.

/*  Add responsive container to embeds
/* ------------------------------------ */ 
function alx_embed_html( $html ) {
    return '<div class="video-container">' . $html . '</div>';
}

add_filter( 'embed_oembed_html', 'alx_embed_html', 10, 3 );
add_filter( 'video_embed_html', 'alx_embed_html' ); // Jetpack

1.2. style.css 수정 – 반응형으로 작동하도록 CSS code 수정

이제는 반응형으로 작동하도록 style.css 파일을 수정합니다.

수정 코드는 아래…

.video-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.video-container iframe, .video-container object, .video-container embed, .video-container video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

이 style.css 수정방법은 Make WordPress default video embeds responsive라는 글을 참조하였습니다.

2. Custom Javascript 사용 방법

이 방법은 Fluid Width Video라는 글을 참조로 소개드립니다.

이 글에서 iframe을 사용하는 YouTube or Vimeo의 동영상을 반응형으로 적용하는 것 뿐만이 아니라 object/embed 코드를 사용하는 Viddler or Blip.tv 등 그리고 video 코드를 사용하는 HTML5에서도 적용할 수 있는 방안을 찾고 있습니다.

여기에서 제안하는 코드는 아래와 같습니다.

코드 소개는 DEMO: Fluid Width Video글 참조하세요

$(function() {

    var $allVideos = $("iframe[src^='//player.vimeo.com'], iframe[src^='//www.youtube.com'], object, embed"),
    $fluidEl = $("figure");

    $allVideos.each(function() {

      $(this)
        // jQuery .data does not work on object/embed elements
        .attr('data-aspectRatio', this.height / this.width)
        .removeAttr('height')
        .removeAttr('width');

    });

    $(window).resize(function() {

      var newWidth = $fluidEl.width();
      $allVideos.each(function() {

        var $el = $(this);
        $el
            .width(newWidth)
            .height(newWidth * $el.attr('data-aspectRatio'));

      });

    }).resize();

});

3. WP Rocket과의 호환성

저의 경우 WP rocket 플러그인을 사용하고 있습니다.
이 플러그인은 성능은 몇가지에서 에러를 가지고 있습니다.

  • 첫번째로 JS 압축기능을 사용하면 Disqus 플러그인과 충돌을 일으킵니다.

  • 두번째로는 iframe에 lazy load 기능을 작동시키면 유튜브의 반응형으로 띄워지는 것을 막는 것 같습니다. layout에 상관없이 코드에 적힌 폭대로 띄워버립니다. 그래서 경계를 넘어서 옆과 겹치게 되죠.

WP Rocket - Cache Plugin for WordPress

유튜브 동영상이 반응형으로 작동되지않는 문제를 풀려고 여러 고민을 많이 했는데 업체에서도 모르겟다고 합니다.

위에서 제안한 코드를 적용해도 WP Rocket을 적용하는 경우에는 폭에 대해선 반응을 하지 않습니다.

이는 document를 압축하면서 기능을 생략해버리는지 아무튼 Wp Rocket의 버그로 보입니다.

  • 결론 : WP Rocket 플러그인에서 iframe에 lazy loading 기능 적용 시 유튜브 반응형이 제대로 작동하지 않습니다.

혹 Wp Rocket 플러그인을 사용하시는 경우 참조바랍니다.

100년 콜라전쟁을 선도해 온 펩시 광고 캠페인 6

4

1. 왜 갑자기 펩시 광고인가?

2016년 칸광고제에서 은상을 받은 독일 펩시 광고를 포스팅하면서 펩시 광고에 대해서 한번 정리할 필요를 느꼈습니다.

정의하기 나름이지만 코카콜라와 펩시간의 콜라전쟁은 근 100여년을 거슬어 올라갑니다.

이 기간동안 도전자 였던 펩시는 도전자의 정신으로 새롭고 혁신적인 광고 마케팅 전략을 들고나와 코카콜라를 괴롭혔습니다. 비록 펩시가 코카콜라를 이기지 못하고 비콜라 음료시장에 집중하는 새로운 전략으로 선회하면서 콜라전쟁의 결과는 코카콜라의 승리로 끝났지만 펩시의 도전적인 마케팅 전략을 깊이 살펴볼 필요가 있습니다.

아래에서 최근 시장점유율등 시장 경쟁 상황을 간단히 살펴보고 주목할만한 펩시 광고에 대해서 살펴보도록 하겠습니다.

2. 콜라시장 점유율 추이 – 펩시 점유율의 지속적인 하락

예전에 정리했던 미국 콜라시장 점유율을 2015년까지 업데이트를 해 보았습니다.

점유율 트렌드를 보니 펩시 점유율 하락은 그칠줄을 모르더군요. 코카콜라는 막강한 마케팅 활도을 통해서 시장점유유율을 조금이나마 늘려가고 있었고 떠오르고 있는 닥터 페퍼도 점유율을 늘려갔습니다. 오직 펩시만 큰 폭으로 하락했더군요('14년 27.5%에서 '15년 27%로 0.5p% 하락)

미국 콜라시장점유율 추이(콜라. 펩시, 닥터 페퍼)~2015 resize

펩시의 전략에 대해서는 여러번 정리했었는데 그 때 정리한 전투에서는 패했지만 전쟁에서는 이겼다(펩시는 코라 시장은 어느정도 포기하고 다른 음료시장에서 성장을 도모헤 전체 매출액에서 코카콜라를를 이기고 있음)는 정리가 과연 맞을까 싶기도 합니다.

전에도 서술했다시피 콜라시장에서 닥터 페퍼와 펩사와의 시장 지위가 몇년이 지나면 역적인 될 수 있는 트렌드를 보여주고 있습니다.

펩시 브랜드 원천이 콜라시장에 있다면 이 시장에서의 포기는 곧 펩시 브랜드의 몰락이 아닐까 싶은데…

그런 관점에서 펩시는 위험한 상태가 아닐까 싶습니다.

그래도 애정을 가지고 바라보았던 펩시에 대해서 과거 광고 캠페인들을 간단히 정리해봄으로써 편견을 벗어버리고 새로운 눈으로 이 시장을 바라보도록 하겠습니다.

3. 기억할만한 펩시 광고 캠페인

펩시콜라에서는 그들의 광고 캠페인의 역사에 대해서 간략히 정리해 놓은 글이 있습니다. 이 자료를 보면 펩시 광고 역사에 대해서 좀 더 자세히 알 수 있을 것 같습니다.

펩시에서 정리한 PepsiLegacy_Book 참조

아래는 펩시의 시대별 campaign List 입니다. 참고로 보시길..

1961–1964: Pepsi Generation

  • "Now It's Pepsi for Those Who Think Young"

1969–1975: "Join the Pepsi people, feelin' free."

  • "You've Got a Lot to Live, and Pepsi's Got a Lot to Give"

  • Have a Pepsi Day" and "Catch the Pepsi Spirit"

1975 : Pepsi Challenge

1981–1983: "Pepsi's Got Your Taste For Life"

1984–1991: "Pepsi. The Choice of a New Generation"

1992–1993: "Be Young, Have Fun, Drink Pepsi"

1993–1994: "Right Now"

1997–1998: "Generation Next"

1999–2000: "For Those Who Think Young"

2010~2012: "Refesh project"

2012 : "Live for now", "Now in a Moment"

3.1. 1960s the Pepsi Generation

이 시기는 세계 2차대전이후 태어난 베이비 부머 세대로 기존 미국인들과는 생각, 행동양식 그리고 삶 자체가 완전히 달라지는 세대였습니다. 이전 세대들과 달리 새로운 라이프스타일을 적극적으로 받아드리는 세대였습니다.

펩시는 이들의 태도 변화를 감지하고 미국의 정체성과 시대 정신을 나타내는 하나의 단어로 포착해 냅니다.

이게 바로 첫번째 펩시 제너레이션(Pepsi Generation)입니다.

이 적극적인 행동정신과 즐거움을 좋아하는 현대 미국인을 "Come Alive! You’re in the Pepsi Generation.”라는 슬로건으로 풀어내었습니다.

이 대담한 캠페인은 1960년대 초반 시작되어 광고 캠페인의 새로운 기준이 되었고 미국인들이 가장 좋아하고 인상적인 광고가 되었습니다.

펩시 제너레이션 Pepsi Generation Come alive 1964

펩시 제너레이션 Pepsi Generation Come alive

펩시 제너레이션 Pepsi Generation03

펩시 제너레이션 Pepsi Generation Come alive 옥외광고 OOH

펩시 제너레이션 Pepsi Generation You've got a lot to live Pepsi's got a lot to give

3.2. 1975년 the Pepsi Challenge

이 펩시챌린지 캠페인은 너무도 유명해서 어지간한 마케팅 교과서에서 고전처럼 설명하는 캠페인이죠.

펩시 챌린지 캠페인은 블라인드 테스트를 통해서 펩시와 코크중 누가 더 맛이 좋은가에 대한 비교 광고를 통한 도발이었습니다. 소비자의 눈을 가리고 펩시와 코카콜라를 마시게 한 후 더 맛있는 콜라는 선택하게 하는 것이었습니다.

이 블라인드테스트 결과 테스트에 참영한 사람의 52%가 펩시를, 48%의 사람들이 코카콜라를 선택했습니다. 이 테스트 결과를 광고에 활용하고 실제로 사람들이 많이는 마트앞 등에서 블라인드 테스트를 진행해 실제로 펩시가 낫다는 것을 보여주는 마케팅 캠페인었습니다.

이러한 캠페인 경과 펩시의 점유울은 75년 20%에서 80년 28%까지 치솟습니다.

Pepsi Challenge 펩시와 콜라를 시음하는 장면.jpg

▽ 1979년도에 방영된 펩시 챌린지 광고,
아쉽게도 사운드는 없네요.

3.3. 1984년~ Pepsi 'the choice of next generation'

펩시는 젊은 세대를 집중공략하는 '다음 세대의 선택(the choice of next generation)'을 꾸준히 집행했습니다.

이 전략은 펩시의 타겟 소비자에게 분명한 메세자를 보내고 경쟁사인 코카콜라를 old Geeneration으로 몰아부치는 이미지 포지셔닝 전략이었습니다.

1985년부터 시작된 “Pepsi. The Choice of a New Generation” 캠페인은 가장 성공한 광고 캠페인중의 하나로 일컬어지고 있습니다. 이는 광고에서 그 당시의 가장 핫한 스타들을 동원해서새로운 세대들에게 충분히 어필했기 때문에 가장 성공적인 캠페인으로 증명되었던 것입니다.

처음 2개의 광고는 마이클 잭슨이 등장했습니다. 이후 ionel Richie, Tina Turner, David Bowie, Glen Frey and Gloria Estefan 같은 시대의 아이콘과 같은 스타들이 출연했고 , Joe Montana and Dan Marino와 같은 스포츠 스타들이 그리고 최초의 여성부통령 후보에 올랐던 Geraldine Ferraro가 다이어트 펩시에 그 얼굴을 내밀었습니다.

펩시 마이클잭슨 출연 펩시 광고 the choice of next generation CF.jpg

1989년 the choice of next generation" 캠페인은 The wild Cherry Pepsi 출시에 따라 "A Generation Ahead!"으로 진화되었습니다.

3.4. 1992년 신디 크로포드의 슈퍼볼 광고

이 광고는 전체 캠페인 관점보다는 광고 자체로 유명하다고 해야겠습니다.

1992년 슈퍼볼 시즌에 집행된 이 광고는 신디 크로포드가 출연한 대표적인 광고로 신디 크로포드의 매력을 잘 드러냈고 시대상을 잘 표현한 아이콘적인 광고로 아직까지도 가장 인상적인 슈퍼볼 광고중의 하나로 거론되고 있을 정도입니다.

신디 크로포드 1992년 펩시광고 장면

패션관련 부분에서도 이 광고에서 신디 크로포드가 입고나온 데님을 두고 패션에서도 시대상을 잘 보여주는 아이콘적 광고라고 이야기하고 있습니다. Our 9 Most Iconic Moments

Dive Into the Denim Hall of Fame With Our 9 Most Iconic Moments 참조

이 광고는 후에 JAMES CORDEN에 의해서 광고 패러디 영상에 제작되기도 했습니다.

인터넷에 고화질 CF 동영상이 없어서 나름 고화질 광고를 구해 유튜브 계정에 올려서 공유해봅니다.

3.5. Joy of Pepsi Campaign – Britney Spears, Shakira and Beyoncé Knowles. Oscar winner Halle Berry

브리트니 스피어스가 출연한 2001년 펩시 슈퍼볼 광고입니다.

펩시는 밀레니엄을 맞아 새로운 세대 취향에 맞는 새로운 제품을 출시하고, 광고 캠페인도 당시 아이콘이 되는 슈퍼스타들을 기용해 적극적인 물량 공세를 펼칩니다.

Joy of Pepsi라는 슬로건으로 진행된 이 켐페인은 가장 인기있는 뮤지션과 스포츠 스타들을 동원하여 펩시를 이야기하게 합니다. 이 시기를 장식한 게 Britney Spears, Shakira and Beyoncé Knowles. Oscar winner Halle Berry 등 입니다.

아래는 2001년 브리트니 스피어스의 슈퍼볼 광고입니다.

브리트니 스피어스의 현란한 춤이 압권이죠.

Britney Spears – 'Joy Of Pepsi' Commercial

아래도 브리트니 스피어스가 출연한 펨시 광고인데요. 펩시의 과거 광고중 인상적인 광고를 다시 브리트니 스피어스가 재현해 보여주고 있습니다.

브리트니 스피어스 펩시광고_뉴욕 타임스퀘어 옥외광고 Britney Spears New York Times square resize

△ 뉴욕 타임스퀘어의 브리트니 스피어스 펩시 광고

For Those Who Think Young

1958;

Spokesperson: "You hear something new at fountains today. People who think young say 'Pepsi Please.'"

Britney: "The lively crowd today agrees Those who think young say 'Pepsi Please'

Trio: "Pepsi"

Britney: "For those who think young"

1963:

Britney: "Come alive (bop-shoo-bop-shoo-bop) Come alive (bop-shoo-bop-shoo-bop) Your in the Pepsi Generation

(Your in the Pepsi Generation) Your in the Pepsi Generation"

1966: "Taste that beats the others cold Pepsi pours it on. Pepsi's got that special taste Created for the gold"

1970: "You've got a lot to live And Pepsi's got a lot to give"

Horse: Simply

1989: "Irresistible. Simply Irresistible"

All The Generations:

"Turn It Up! Come feel the joy all around Each generation has found

You got your own and kind of sound so shout it out pa-pa-pa-pa-pa pa-pa-pa-pa-pa (Gotta get that joy of Pepsi)

co… co… cola

Trio: Pepsi

Britney: For those who think young.

3.6. 2010년 Pepsi refresh project

펩시는 2010년부터 확실한 하락세를 격습니다.

2000년 펩시는 밀레니움을 맞아는 브리트니 스피어스 등 당시 최정상의 뮤지션과 스포츠스타를 동원해 엄청난 마케팅 자원을 쏟아부었지만 펩시나 다이어트 펩시 자체의 시장점유율을 지속적으로 하락해 왔습니다.

실제 펩시는 1998년을 정점으로 계속 하락세를 면하지 못했고 다이어트 펩시도 마찬가지 였습니다 마운틴듀등 일부 브랜드의 선전으로 펩시는 가까스로 30%대 시자점유율을 유지해 왔습니다.

그러나 이마저 2010년대에 들어 확연한 하락세를 보여주었기에 펨시는 콜라전쟁에서 패했음을 인정하고 다른 전략에 집중합니다. 즉 콜라전쟁이란는 전투에서는 물러서지만 식품 사업이라는 더 큰 전쟁에서는 승리하겠다는 전략으로 선회한 것이죠. 이런한 전략 2006년부터 꾸준히 전행된 전략이기도 합니다.

이러한 시장 상황속에서 펩시는 새로운 모험을 합니다. 전통적으로 해왔던 마케팅 방식을 버리고 조금은 색다른 접근을 시도합니다. 즉 이게 아래에서 설명하고자하는 pepsi refresh project입니다.

2010년 시작한 pepsi refresh project는 2012년 3월까지 진행되었는데 기존과다른 독특한 접근하는 새로운 기업 광고의 전형으로 관심을 모았습니다.

Pepsi refresh project는 세상을 더 나은 곳으로 만들기 위한 아이디어(refreshing ideas that change the world)를 펩시가 운영하는 온라인 플랫폼에 올리고 소비자들의 지지를 가장 많이 받은 순서대로 펩시가 매달 최고 25만불까지 지원해 아이디어가 실제로 실행될 수 있도록 하는 project였습니다.

이 project는 펩시 마케팅 비용의 30%이상을 차지하던 슈퍼볼 광고를 중단하고 그 대신 Pepsi refresh project에 할애하겠다고 선언해 큰 관심을 받았고, 기존의 기업의 top-down 방식의 기업 자선 방식에서 벗어나 아이디어와 기부금 수헤자등의 모든 과정을 소비자의 적극적인 참여로 이루어지는 bottom-up 방식을 취해서 샐운 모델의 전형으로 큰 관심을 받았습니다.

그러나 2010년이 펩시로서는 성과가 좋지 않은 고통스런 한해였으므로 소비자의 폭발적인 호응으로 진행된 이 refresh project도 오래 지속되지 못하고 22012년 3월 막을 내리고 맙니다. 펩시는 판매 회복을 위해서 2011년 새로운 슈퍼볼광고를 발표하는 등 전통적인 promotion으로 복귀합니다.

▽ refresh project site

Pepsi Refresh project.jpg

▽ Pepsi Refresh Project 소개 동영상

4. 마치며

이상으로 간단하게 펩시 광고 중 나름 주목할만하고 관심이 가는 광고를 살펴보았습니다.

마케팅사에서 한 획을 그어온 펩시이지만 콜라 시장에서 점차 예전의 성과를 잃어가고 있는 모습을 보면서 어떤점에서 반면교사 포인트를 찾아야하는지를 고민하게 합니다.

코카콜라가 꾸준히 콜라를 마시는 즐거움에 대해서 이야기하고 콜레버레이션을 통해서 새로운 관심과 이미지 변신을 강화해왔다고하면 펩시는 조금은 슈퍼스타의 스타성에 의존해오지 않았나 하는 생각이 듭니다.

펩시 마케티의 겉은 화려했으나 오래가는 펩시만의 브랜드 자산을 충분히 쌓지는 못한 것 아닌가하는 생각이 듭니다.

[참고}식음료 관련 글들….

왜 스타벅스는 여전히 잘나가고 있을까? – 근본에 충실한 혁신의 달콤한 열매

빙그레 바나나맛우유의 성공적인 중국 진출과 위기 극복 사례

바나나는 원래 하얗다

라면 전쟁, 농심은 어떻게 라면시장을 장악했을까?

코카콜라 콜라보레이션 역사

펩시의 디자인 경영 사례

연도별 다이어트 펩시 광고

시장점유율로 살펴본 콜라전쟁 승자에 대한 고찰 – 코카콜라와 펩시콜라

만년2등 Pepsi의 변신, 콜라회사에서 종합식음료 회사로 코카콜라를 이기다

100년 콜라전쟁을 선도해 온 펩시 광고 캠페인 6

미원에서 청정원으로. 청정원 브랜드 도입 사례

은우를 홀린 한국식 디저트 카페, 설빙

"허니버터칩의 비밀"에서 발견하는 상품기획의 정석들

허니버터칩 성공 요인과 그 한계

역동적인 익스트림 스포츠의 순간이 펩시 광고로 변신하다. – 펩시의 iconic moments

0

오늘 소개하는 광고는 익사이팅 스포츠 순간포착 이미지를 광고로 연결시킨 펩시 라이트 인쇄광고입니다.

PARKOUR(파쿠르), SKATEBOARD(스케이트보드), BREAKDANCE(브레이크 댄스) 등 Extreme Sports의 강렬한 순간과 레드와 화이트 컬러의 옷의 대비를 통해 펩시의 이미지를 잘 부각시킨 케이스라고 할 수 있습니다.

펩시콜라가 2012년부터 Live for now 캠페인을 진행중인데요. 이 캠페인 중 인쇄광고 부분에서 'iconic moments'라는 주제로 Extreme sports에 관심이 많은 젊은층에 Pepsi light의 칼로리가 적은 특성과 적극적이고 활동적인 Extreme Sports의 퍼포먼스를 연계시켜 펩시 라이트에 새로운 접근을 시도하고 있습니다.

이 광고는 독일 펩시콜라에서 집행한 것으로 BBDO 독일에서 제작했습니다.

또한 이 인쇄광고는 Extreme Sports와 펩시 로고를 연결시키는 참신함을 인정받아 2016년 칸광고제(Cannes Lions International Festival of Creativity) 디자인부분에서 은상을 수상했습니다.

  • BRAND: Pepsi Light
  • ADVERTISER: PepsiCo Inc.
  • COUNTRY: Germany
  • Agency : BBDO Group Germany GmbH

펩시라이트의 아이코닉 모먼트 pepsi iconic moments

스케이트보드(SKATEBOARD)

독일 펩시콜라에서 공개한 광고중에서 가장 눈에 띄였던 광고 이미지라서 맨 위로 올려 소개해봅니다.

스케이트보드를 타고 공중으로 점프한 순간에서 빨간색 상의, 파란색의 하의 그리고 중의 하얀 무늬로 펩시 아이콘을 만들어 넣어 Extreme Sports 의 역동적인 느낌을 펩시와 연결하고 자는 의도로 보입니다.

펩시 라이트(Pepsi Light) 스케이트보드(SKATEBOARD)

PARKOUR(파쿠르)

파쿠르는 조금 생소한 분야입니다.
파쿠르(Parkour)란 말은 '길' 혹은 '과정'이라는 뜻의 불어 'Parcours' 에서 왔으며 1998년 데이비드 벨에 의해 처음 소개된것으로 오직 자신의 신체 능력만으로 지형지물을 자유롭게 활용하여 움직이는 경쟁이 없는 신체 단련 방법입니다.[나무위키 내용을 수정 인용]

이 광고 이미지도 공중 점프하는 순간을 포착해서 좌측 엉덩이 부분에 펩시 마크를 넣었습니다.

펩시 라이트(Pepsi Light) PARKOUR

브레이크댄스(BreakDance)

이 또한 멋진 장면입니다.
마찬가지로 브레이크댄스에서 공중돌기하는 순간을 포착해 펩시 마크를 표현해 놓았습니다.

펩시 라이트(Pepsi Light) 브레이크댄스(BreakDance)