웹페이지 리다이렉트

 

WordPress나 SuiteCRM 등을 설치해서 사용할 때 Root 폴더에 설치하지 않는 경우가 많습니다.

그런 경우 php의 redirect 기능을 사용하면 편리합니다.

 

index.php

<?php
$host = $_SERVER[‘HTTP_HOST’];
if (($host == ‘community.obcon.biz’) || ($host == ‘community.obcon.co.kr’)) {
header(“Location: http://cafe.naver.com/obcon”);
} elseif (($host == ‘demo.obcon.biz’) || ($host == ‘demo.obcon.co.kr’)) {
header(“Location: http://demo.obcon.biz/demo/suitecrm/index.php”);
} else {
    header(“Location: http://www.obcon.biz/wordpress/suitecrm”);
}
die();
?>

 

오비컨

2018.01.27 ~ 2018.01.27, ver 0.01

 

 

[Plugin] [게시판] KBoard Plugin

 

 

두말할 필요없이 워드프레스 사용자에게 유명한 KBoard 게시판과 댓글 플러그인 입니다. KBoard는 GNU GPL License이므로 KBoard 사이트에서 플러그인을 다운로드 받아 워드프레스의 /wp-content/plugins 폴더에 설치 합니다.
Plugin 설치
먼저 KBorad 사이트에서 설치 프로그램을 다운로드 합니다.
  • “플러그인 > 플러그인 추가하기” 메뉴에서 “플러그인 업로드” 버튼을 선택 합니다.
  • 다운로드 받은 플러그인 파일을 선택하고 “지금 설치하기”를 선택 합니다.
  • 설치가 완료되면 “플러그인을 활성화” 버튼을 선택하여 플러그인을 사용 합니다.
Plugin 재설치 (업그레이드 포함)
먼저 KBorad 사이트에서 다운로드 받은 설치 프로그램을 ftp를 사용하여 서버의 /work/install/ 폴더에 올려놓은 다음에 작업 합니다.

cd  /work/install
unzip  kboard-wordpress-plugin-5.3.4.zip
chown  -R  nginx:nginx  kboard  kboard-comments
mv kboard /usr/share/nginx/html/wordpress/wp-content/plugins

unzip  kboard-comments-wordpress-plugin-4.4.2.zip
chown  -R  nginx:nginx  kboard  kboard-comments
mv kboard-comments /usr/share/nginx/html/wordpress/wp-content/plugins

 

참고 문헌
2017.10.30 ~ 2017.10.30, ver 0.01

[Theme] Enfold Theme 소개 (유료 테마)

 

 

워드프레스 테마중에서 유명한 것은 Avada Theme 입니다. 그런데 Avada는 무거워서 속도가 느립니다. 속도가 빠른 테마를 원할 경우 선택할 수 있는 Theme가 Enfole 테미 입니다.
Enfold Theme 4.2의 기능 (2017년 3월초 출시, Enfold2017)
  • 100개 이상의 데모 제공
    • 단 2분만에 설치 가능 합니다.
  • Avia Layout Builder 제공
    • Visual Composer 페이지 빌더에 비해 속도가 빠름니다.
    • Live Preview : 레이아웃 변경 도중에 실시간으로 변경 사항을 확인할 수 있습니다.
    • 반응형 레이아웃
    • 드래그앤드랍 에디터
    • Enfold의 자체 레이아웃 빌더 입니다.
  • Layer Slider 제공
    • 레볼루션 슬라이더에 비해 속도가 빠릅니다.
  • 쉬운 테마 관리자 화면
    • 20개 이상의 동영상 교육 자료
  • WooCommerce 지원
  • SEO (Search Engine Optiomze, 검색엔진 최적화)
  • 슬라이드쇼, 사이드바 매니저
  • 쇼트코드 에디터
  • 다국어 번역 WPML 호환
Enfold Theme용 추천 Plugin
아래 플러그인인 Enfold 테마와 궁합이 잘 맞는 plugin 입니다.
  • Cache : W3 Total Cache
참고 문헌
2017.10.30 ~ 2017.10.30, ver 0.01

대문을 특정 페이지로 전환

 

 

WordPress를 사용하다보면 테마에서 제공하는 정적인 전면페이지(대문)를 특정 페이지로 전환하고 싶은 경우가 발생 합니다.
테마에서 정적인 전면 페이지를 설정하는 화면을 제공하는데, 여기에서 특정 페이지를 설정하면 원하는 페이지외에 테마에서 제공하는 불필요한 정보가 표시되는 경우가 있습니다. 이런 경우에 아래 방법을 사용할 수 있습니다.
원하는 기능
http://~/wordpress/ 사이트로 접속시 http://~/wordpress/suitecrm/ 페이지로 전환 합니다.
설정 방법
Document Root 폴더(예, /usr/share/nginx/html/)에서 아래와 같이 작업 합니다.

#— Redirect를 위한 index.html 파일을 작성 합니다.
cd  wordpress
vi  index.html                                              #— 아래와 같은 내용으로 index.html 파일을 생성
<script type=”text/javascript”>
window.document.location = “/wordpress/suitecrm/”;
</script>
 
chown  nginx:nginx  index.html
 
 
#— Nginx에서 http://~/wordpress/ 사이트로 접속시 index.html 파일이 실행되도록 합니다.
vi  /etc/nginx/nginx.conf
        location /wordpress/ {
            index index.html;                            #— index.html 파일이 실행되도록 설정
        }
 
nginx  -s  reload                                        #— 변경한 설정 정보를 다시 로딩

 

위와 같이 설정을 마치면
http://~/wordpress/로 접속시 index.html 파일이 호출되고
이 index.html 파일에서 JavaScript가 /wordpress/suitecrm/ 페이지를 호출 합니다.
2017.10.16 ~ 2017.10.18, ver 0.02

 

 

WordPress 한글과 고유 주소 설정

 

 

WordPress 사용 환경
  • Web Server : Nginx
  • DB : MariaDB
  • OS : CentOS 7
WordPress 한글 설정
워드프레스를 본격적으로 사용하기 전에 한글을 설정 합니다.

#— nginx.conf 파일에서 문자셋(charset)을 설정 합니다.
vi /etc/nginx/nginx.conf                         
http {
    charset             UTF-8;                             #— 문자셋을 UTF-8로 설정
    server {
        charset      UTF-8;                                #— WordPress가 설치된 서버의 문자셋을 UTF-8로 설정
    }
}
 
nginx  -s  reload                                          #— 변경한 설정 정보를 다시 로딩
WordPress 관리자 화면에서 “설정 > 일반” 메뉴를 선택하여 아래와 같이 설정 합니다.
  • 사이트 언어 : 한국어
  • 시간대 : 서울
  • 날짜 표시 형식 : 사용자 정의 (Y년 m월 d일)  – 2017년 10월 14일
  • 시간 표시 형식 : 사용자 정의 (a g:i)           – 오전 6:51
  • 시작 요일 : 월요일
WordPress 고유주소 설정
워드프레스에서 글(페이지 등 포함) 기본 주소는 http://~/?p=123 형태를 가집니다.
검색엔진 최적화(SEO, Search Engine Optimizer)를 위해서는 의미없는 주소보다는 글을 지칭하는 의미있는 주소를 사용하는 것이 좋습니다.

#— 404 (Page Not Found 오류)를 방지하기 위해서 Nginx 설정 파일을 아래와 같이 수정 합니다.
vi /etc/nginx/nginx.conf                                 #— 워드프레스를 http://~/ 형태로 접속할 경우 사용
http {
    server {
        location / {
            try_files  $uri  $uri/  /index.php?$args;    #— 이 라인을 추가 합니다.
        }
    }
}
 
vi /etc/nginx/nginx.conf                                #— 워드프레스를 http://~/wordpress/ 형태로 접속할 경우 사용
http {
    server {
        location /wordpress/ {
            try_files  $uri  $uri/  /wordpress/index.php?$args;     #— 이 라인을 추가 합니다.
        }
    }
}
 
nginx  -s  reload                                       #— 변경한 설정 정보를 다시 로딩

 

WordPress 관리자 화면에서 “설정 > 고유주소” 메뉴를 선택하여 고유 주소를 설정 합니다.
제가 권장하는 고유주소(Permalink)는 “글 이름” 입니다.
2017.10.16 ~ 2017.10.18, ver 0.02

 

 

[Theme] 자식 테마 (Child Theme) 만들기

 

 

자식 테마란
자식 테마는 부모 테마를 상속 받은 테마로 주로 아래의 경우에 사용 합니다.
  • 부모 테마를 수정하고 싶지만 원본(부모 테마)은 건드리지 않은채 수정하고 싶은 경우에 사용 합니다.
  • 부모 테마를 직접 수정할 경우, 부모 테마가 업그레이드 되면 자신이 수정한 것이 삭제되어 버릴 수 있습니다. 이런 위험성을 방지하기 위해서 자식 테마를 사용 합니다.
  • 자신이 수정한 파일만 따로 관리하고 싶은 경우에 사용 합니다.
부모 테마에는 많은 파일이 있는데 이를 직접 수정하면 어떤 파일을 수정 하였는데 확인하기가 어렵습니다. 자식 테마를 사용하면 수정하려는 내용만 따로 관리할 수 있어 편리 합니다.
자식 테마 만들기 – 서버 작업
자식 테마를 만드는 방법은 의외로 간단 합니다. 자! 이제 모든 수정은 자식 테마를 만들어서 해 봅시다.
WordPress에서 Theme를 저장하고 있는 폴더는 wp-content/themes/ 폴더 입니다. 여기에 있는 twentyseventeen 테마의 지식 테마를 만들어 보겠습니다.

#— 작업은 wp-content/themes/ 폴더에서 시작 합니다.
mkdir  twentyseventeen_child                                 #— 자식 테마용 폴더 생성
chown  nginx:nginx  twentyseventeen_child                 #— 자식 테마의 폴더의 사용자와 그룹을 지정
 
cd  twentyseventeen_child
vi  style.css                                                    #— 아래 내용으로 style.css 파일을 생성
/*
Theme Name: Twenty Seventeen Child                      #— 자식 테마 이름
Template: twentyseventeen                                   #— 부모 테마 이름
Version: 1.0.0                                                 #— 자식 테마 버전
*/
 
chown  nginx:nginx  style.css                               #— style.css 파일의 사용자와 그룹을 지정
 
vi  functions.php                                             #— 아래의 내용으로 functions.php 파일을 생성
<?php
function theme_enqueue_styles() {
    wp_enqueue_style(‘parent-style’, get_template_directory_uri() . ‘/style.css’);
    wp_enqueue_style(‘child-style’, get_stylesheet_directory_uri() . ‘/style.css’, array(‘parent-style’));
}
 
add_action(‘wp_enqueue_scripts’, ‘theme_enqueue_styles’);
?>
 
chown  nginx:nginx  functions.php                         #— functions.php 파일의 사용자와 그룹을 지정
 
cp  ../twentyseventeen/screenshot.png  .                 #— 부모 테마에 있는 screenshot.png 파일을 복사
chown  nginx:nginx  screenshot.png                       #— screenshot.png 파일의 사용자와 그룹을 지정
 

 

자식 테마 만들기 – WordPress 관리자 화면에서 작업
관리자 화면에서 “외모” 메뉴를 선택 합니다.
새로 추가한 “Twenty Seventeen Child” 테마에 있는 “활성화” 버튼을 선택하면 새로 작성한 자식 테마가 적용이 됩니다
자식 테마 활용 방법
자식 테마를 사용하는 가장 기본적인 방법을 알려 드립니다.
  • functions.php : 자식 테마에서만 동작하는 기능을 정의 합니다.
  • 임의의 파일 : 부모 테마에 있는 파일과 동일한 파일명으로 파일을 작성하면 자식 테마에 있는 파일이 먼저 적용 됩니다.
위에서 작성한 자식 테마의 style.css 파일로 잠깐 설명을 하면 다음과 같습니다.
자식 테마에 style.css 파일이 있으니 부모 테마의 style.css 파일 대신에 자식 테마의 style.css 파일이 사용 됩니다. 그러면 화면이 깨어지지 않게 하기 위해서는 부모 테마의 style.css 파일의 내용을 자식 테마의 style.css 파일에 모두 복사를 하여야 하는데 그러면 파일이 지저분해 집니다.
그래서 functions.php 파일을 사용하여 부모 테마의 style.css 파일을 불러 오도록 설정을 하였습니다. 그러면 자식 테마의 style.css 파일에는 수정하거나 추가하는 내용만 입력하면 되니 파일이 깔끔해 집니다.
Trouble Shooting
혹시 자식 테마를 적용하니 화면이 표시되지 않나요 ?
그러면 functions.php 파일의 내용을 확인 하세요. 철자를 잘못 입력 하였다면 오류가 발생하여 WordPress가 정상 동작하지 않아 화면이 표시되지 않을 수 있습니다.
웹 서버로 Nginx를 사용하였다면 아래 명령어로 오류 로그를 확인할 수 있습니다.

tail  -f  /var/log/nginx/eerror.log
 

2017.10.16 ~ 2017.10.18, ver 0.02