상단

Blog 솔루션인 WordPress를 정리 합니다.

 
 
 

CentOS에 WordPress 설치


 

CentOS에 WordPress 3.5.1 설치

 

CentOS에서 WordPress를 설치 합니다.

 
  • 사전 준비 사항

    • MySQL 설치

    • [Apache HTTP Server](Apache HTTP Server.md) 설치

    • PHP 설치

     
  • WordPress를 다운로드하여 원하는 위치에 놓고 압축을 풉니다.

 
 
 cd /cloudnas/install
 wget [http://wordpress.org/latest.tar.gz](http://wordpress.org/latest.tar.gz)
 
 tar xvzf latest.tar.gz
 chown -R apache:apache wordpress
 mv wordpress /cloudnas/www/html
 
 
 
 cd /cloudnas/install
 wget [http://ko.wordpress.org/wordpress-3.6-ko_KR.tar.gz](http://ko.wordpress.org/wordpress-3.6-ko_KR.tar.gz)
 
 tar xvzf wordpress-3.6-ko_KR.tar.gz
 cd wordpress/wp-content
 chown -R apache:apache languages
 mv languages /cloudnas/www/html/wordpress/wp-content
 
 cd /cloudnas/www/html/wordpress
 vi wp-config.php
   define('WPLANG', 'ko_KR');
 
 
 

WordPress 4.0 설치

 

WordPress 4.0 다운로드

 
 
 

{| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;" 
|- | style="background-color: rgb(241, 241, 241);" | cd install
### wget [https://wordpress.org/latest.tar.gz https://wordpress.org/latest.tar.gz
]wget 
https://downloads.wordpress.org/release/ko_KR/wordpress-4.0.zip
 
|}

 

createDatabase ossblog ossblog ossblog ????

 

WordPress 구조


 

파일 구조

 
  • index.php

    • wp-blog-header.php

      • wp-load.php

        • wp-config.php : DB 등 정보 설정
          :*wp-settings.php 
          ::*wp-includes/load.php 
          ::*wp-includes/default-constant.php 
          ::*wp-includes/version.php ::*wp-includes/compat.php ::*wp-includes/functions.php ::*wp-includes/class-wp.php ::*wp-includes/class-wp-error.php ::*wp-includes/plugin.php ::*wp-includes/pomo/mo.php ::*wp-includes/default-filters.php ::*wp-includes/ms-blogs.php ::*wp-includes/ms-settings.php ::*wp-includes/l10n.php ::*wp-includes/class-wp-walker.php ::*wp-includes/class-wp-ajax-response.php ::*wp-includes/formatting.php ::*wp-includes/capabilities.php ::*wp-includes/query.php ::*wp-includes/date.php ::*wp-includes/theme.php ::*wp-includes/class-wp-theme.php ::*wp-includes/template.php ::*wp-includes/user.php ::*wp-includes/meta.php ::*wp-includes/general-template.php ::*wp-includes/link-template.php ::*wp-includes/author-template.php ::*wp-includes/post.php ::*wp-includes/post-template.php ::*wp-includes/revision.php ::*wp-includes/post-formats.php ::*wp-includes/post-thumbnail-template.php ::*wp-includes/category.php ::*wp-includes/category-template.php ::*wp-includes/comment.php ::*wp-includes/comment-template.php ::*wp-includes/rewrite.php ::*wp-includes/feed.php ::*wp-includes/bookmark.php ::*wp-includes/bookmark-template.php ::*wp-includes/kses.php ::*wp-includes/cron.php ::*wp-includes/deprecated.php ::*wp-includes/script-loader.php ::*wp-includes/taxonomy.php ::*wp-includes/update.php ::*wp-includes/canonical.php ::*wp-includes/shortcodes.php ::*wp-includes/class-wp-embed.php ::*wp-includes/media.php ::*wp-includes/http.php ::*wp-includes/class-http.php ::*wp-includes/widgets.php ::*wp-includes/nav-menu.php ::*wp-includes/nav-menu-template.php ::*wp-includes/admin-bar.php ::*wp-includes/ms-functions.php ::*wp-includes/ms-default-filters.php ::*wp-includes/ms-deprecated.php ::*wp-includes/vars.php ::*wp-includes/pluggable.php ::*wp-includes/pluggable-deprecated.php ::*wp-includes/locale.php ::*STYLESHEETPATH/functions.php 또는 TEMPLATEPATH/functions.php

      • wp()

      • wp-includes/template-loader.php

 
 

Plugin

 
  • Hooks 방식으로 제작되는 Plugin의 종류

     
  • Plugin 적용 방법

    • wp-includes/functions.php, ms-functions.php 파일에 추가

      • 'include', 'include_once', 'require', 'require_once' 등을 사용하여 Plugin 파일 추가

    • wp-includes/themes/테마명/functions.php 파일에 추가

      • STYLESHEETPATH/functions.php 또는 TEMPLATEPATH/functions.php

     
  • 폴더 : wp-content/plugins/플러그인폴더/

  • 참고 문헌

 
 

Thema

 
 
 

Language

 
  • 폴더 : wp-content/languages/

    • ko_KR.po, ko_KR.mo

    • admin-ko_KR.po, admin-ko_KR.mo

    • plugins/~.po, ~.mo

    • themes/~.po, ~.mo

 
 

Database 구조

 
  • WordPress용 주요 테이블

    • wp_users : 사용자

    • wp_usermeta : 사용자의 메타데이터

    • wp_options : 설정 메뉴의 옵션값

    • wp_posts : 포스트

    • wp_postmeta : 포스트의 메타데이터, Post의 부가적인 속성

    • wp_comments : 댓글

    • wp_commentsmeta : 댓글의 메타테이터

    • wp_links : 링크 관리자 기능에서 추가한 링크

    • wp_terms : 용어

    • wp_term_taxonomy : 각 용어에 할당된 텍사노미 (분류 계층도)

    • wp_term_relationships : 포스트와 링크 등의 콘텐츠와 텍사노미 결합

 
 

유용한 Plugin


 
 
{| class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="border-collapse: collapse; margin: 0px; overflow-x: auto;" |}

관리자 가이드


 

Port 변경

 

mysql -uwordpress -p wordpress

 

{| cellspacing="1" cellpadding="1" style="font-size: 14px; color: rgb(37, 37, 37); font-family: sans-serif; line-height: 20.7999992370605px; width: 771px;" 
|- | style="background-color: rgb(241, 241, 241);" | update wp_options
           set option_value = 'http://www.jopenbusiness.com:90/wordpress'
           where option_name = 'siteurl' or option_name = 'home';

 

|}

 
 
 

WordPress 이관

 

"도구 -> 내보내기" 메뉴에서 xml 파일로 다운로드 한 후, "도구 -> 가져오기"로 xml 파일을 가져 옵니다.

 

설치시 데이터베이스 연결중 오류 발생

 
 
 

Database 접속 오류 코드 확인 방법

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo 'Yippee - good connection' . "\r\n";
```
} catch(PDOException $e) {
```
    echo '

Catch Connect Error--->>> ' . $e->getMessage() . '

' . "\r\n"; return false; ``` } ?>

13번 오류가 발생할 경우

 

SELinux에 의해서 network로 접속이 차단됨 상태 입니다. 다음 명령을 실행 하세요.

getenforce                                  #--- SELinux 모드 확인
setsebool -P httpd_can_network_connect=1
 

Enfold Theme 한글화 방법


 
 
 

 

 

여러 사이트를 구성하기 위해서 WordPress를 사용하고 있습니다. 최근에 만든 사이트는 Enfold Theme를 사용하고 있는데 한글이 표시되지 않아 불편한 점이 있습니다. 그래서 한글을 적용하니 편리 합니다.

 

 

 

'''한글을 적용한 Enfold Theme'''

 

http://www.obcon.biz/wordpress/wp-content/uploads/2018/02/enfold_ko_KR.png

 

 

 

'''서비스 운영 환경'''

 

홈페이지 구성을 위해서 아래와 같은 환경을 사용하고 있습니다.

  • OS : CentOS
  • DOCUMENT_ROOT : /usr/share/nginx/html
  • WordPress 설치 폴더 : /usr/share/nginx/html/wordpress
  • Enfold Theme
    • /usr/share/nginx/html/wordpress/wp-content/themes/enfold
    • Version : 4.2.3
  • Enfold Chield Theme 사용
    • /usr/share/nginx/html/wordpress/wp-content/themes/enfold_child

 

 

'''Enfold Theme 한글화  방법'''

 

{| style="width: 98%; margin: 2px 2px 2px 2px; border: 0px solid black; border-spacing: 0px; border-collapse: collapse; padding: 2px 2px 2px 16px;" 
|- | style="width: 10px; margin: 2px; border: 1px solid gray; border-spacing: 0px; border-collapse: collapse; padding: 2px; font-size: 8px; line-height: normal; color: black; background-color: gray; vertical-align: middle;" |   | style="margin: 2px; border: 1px solid gray; border-spacing: 0px; border-collapse: collapse; padding: 2px 2px 2px 12px; font-size: 14px; line-height: normal; color: black; vertical-align: middle;" | cd /usr/share/nginx/html/wordpress/wp-content

 
  1. --- Enfold Theme POT 파일로 Enfold Theme용 한글 파일 생성
    cp  themes/enfold/lang/enfold.pot  languages/themes/avia_framework-ko_KR.po

  2. --- Enfold Theme에 포함된 LayerSlider Plugin용 한글 파일 생성
    cp themes/enfold/config-layerslider/LayerSlider/locales/LayerSlider-en_US.pot
        languages/plugins/LayerSlider-ko_KR.po

 
 

vi  themes/enfold_child/functions.php                                  #--- 아래 내용을 추가 합니다.
    //--- Enfold Theme에 있는 LayerSlider Plugin의 한글 파일을 사용하도록 설정
    function enfoldLayerSlider() {
        if (!current_theme_supports('deactivate_layerslider')) {
            load_plugin_textdomain('LayerSlider'); 
        } 
    }
    add_action('wp', 'enfoldLayerSlider', 11);

 

|}

 

 

 

위 작업을 마치면 po 파일은 생성이 되지만 실제로 작업하는 mo 파일이 존재하지 않습니다. po 파일에서 번역한 후 mo 파일을 생성하려면 아래와 같이 작업 하세요.

 

{| style="width: 98%; margin: 2px 2px 2px 2px; border: 0px solid black; border-spacing: 0px; border-collapse: collapse; padding: 2px 2px 2px 16px;" 
|- | style="width: 10px; margin: 2px; border: 1px solid gray; border-spacing: 0px; border-collapse: collapse; padding: 2px; font-size: 8px; line-height: normal; color: black; background-color: gray; vertical-align: middle;" |   | style="margin: 2px; border: 1px solid gray; border-spacing: 0px; border-collapse: collapse; padding: 2px 2px 2px 12px; font-size: 14px; line-height: normal; color: black; vertical-align: middle;" | #--- PO 파일을 MO 파일로 컴파일하기 위해서 gettext를 설치 합니다. 한번만 설치하면 됩니다.
yum  install  gettext 

  1. --- Enfold Theme를 번역한 후 mo 파일을 생성 합니다.
    cd  /usr/share/nginx/html/wordpress/wp-content/languages/themes
    vi  avia_framework-ko_KR.po                                                         #--- 편집기에서 번역 작업을 진행하세요.
    msgfmt  avia_framework-ko_KR.po  -o  avia_framework-ko_KR.mo

 
 

 

 
  1. --- LayerSlider Plugin을 번역한 후 mo 파일을 생성 합니다.
    cd  /usr/share/nginx/html/wordpress/wp-content/languages/plugins
    vi  LayerSlider-ko_KR.po                                                                  #--- 편집기에서 번역 작업을 진행하세요.
    msgfmt  LayerSlider-ko_KR.po  -o  LayerSlider-ko_KR.mo

 
 

|}

 

 

 

'''참고 문헌'''

  • [poedit](http://www.jopenbusiness.com/mediawiki/Poedit)
  • [오픈소스 한글화](http://www.jopenbusiness.com/mediawiki/%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4_%ED%95%9C%EA%B8%80%ED%99%94)

  

 
 
 

 

 

 

 

기술지원


 

WP Mail SMTP Plugin 설정

 

WordPress를 사용할 때 WP Mail SMTP 플러그인을 사용 합니다.

 

메일 서버에서 TLS 방식의 접속을 허용하는데 공인 CA가 없어서 오류가 발생 합니다. 이런 경우 아래와 같이 설정할 수 있습니다.

 
 

보안 설정

 
 

WP Mail SMTP 설정 화면에서 비밀번호를 등록하면 Plain Text로 저장이 되기 때문에 보안상 위험 합니다. 아래와 같이 설정 파일에 설정하여 사용하세요.

 

vi  wp-config.php

define( 'WPMS_ON', true );
define( 'WPMS_SMTP_PASS', 'SMTP_비밀번호' );
 

http://www.obcon.biz/wordpress/wp-content/uploads/2018/03/WP_Mail_SMTP_options.png

 

오류 조치

 
 

오류 메시지

CLIENT -> SERVER: STARTTLS
SERVER -> CLIENT: 220 ready for tls
SMTP Error: Could not connect to SMTP host.
CLIENT -> SERVER: QUIT
SERVER -> CLIENT:  TLS connection failed: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca (#4.3.0)
SMTP ERROR: QUIT command failed: 454 TLS connection failed: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca (#4.3.0)
Connection: closed

조치 내역

 

Chield Theme를 사용하고 있으므로 functions.php 파일에 필터를 추가 합니다.

 

vi  wp-content/themes/챠일드_테마_폴더/functions.php

add_filter('wp_mail_smtp_custom_options', function( $phpmailer ) {
$phpmailer->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,                                           #—false. peer 확인 않음
'verify_peer_name' => false,                              #— false, peer 이름 확인 않음
'allow_self_signed' => true                                #— true. 사설 인증 허용
)
);return $phpmailer;
} );

WordPress의 관련 파일

 
    ```
  • wp-includes/class-smtp.php
  • wp-includes/class-phpmailer.php ```
      ```
    • WP Mail Plugin을 사용하지 않는 경우, $SMTPOptions 값을 직접 수정할 수도 있습니다.
    • ```
  • ```
  • wp-mail.php
  • ```

참고 문헌


 
 
 

[[Category:WebSite|Category:WebSite]]
분류: CMS

최종 수정일: 2024-09-30 12:26:18

이전글 :
다음글 :