"WordPress"의 두 판 사이의 차이

오픈소스 비즈니스 컨설팅
둘러보기로 가기 검색하러 가기
잔글
 
(같은 사용자의 중간 판 30개는 보이지 않습니다)
52번째 줄: 52번째 줄:
  
 
WordPress 4.0 다운로드
 
WordPress 4.0 다운로드
 +
 +
*다운로드 사이트 : https://ko.wordpress.org/releases/
 +
*최신 릴리즈 : https://ko.wordpress.org/wordpress-4.9.1-ko_KR.zip
  
 
{| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;"
 
{| cellspacing="1" cellpadding="1" style="color: rgb(0, 0, 0); font-family: sans-serif; line-height: 19.0499992370605px; width: 853px;"
221번째 줄: 224번째 줄:
 
*WordPress Popular Posts : 인기글 목록 표시
 
*WordPress Popular Posts : 인기글 목록 표시
 
*List category posts :
 
*List category posts :
 
+
<div class="table-wrap" style="margin: 10px 0px 0px; padding: 0px; overflow-x: auto; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px;">
 
+
{| class="wrapped confluenceTable tablesorter tablesorter-default" role="grid" style="border-collapse: collapse; margin: 0px; overflow-x: auto;"
 +
|}
 +
</div>
  
 
== 관리자 가이드 ==
 
== 관리자 가이드 ==
242번째 줄: 247번째 줄:
  
 
"도구 -> 내보내기" 메뉴에서 xml 파일로 다운로드 한 후, "도구 -> 가져오기"로 xml 파일을 가져 옵니다.
 
"도구 -> 내보내기" 메뉴에서 xml 파일로 다운로드 한 후, "도구 -> 가져오기"로 xml 파일을 가져 옵니다.
 +
 +
=== 설치시 데이터베이스 연결중 오류 발생 ===
 +
 +
 +
 +
Database 접속 오류 코드 확인 방법
 +
<pre><?php
 +
$hostIn    = '';
 +
$dbIn      = '';
 +
$userIn    = '';
 +
$passwordIn = '';
 +
try {
 +
    $MySQLDataBaseLink = new PDO(
 +
                    "mysql:host=" . $hostIn . ";dbname=" . $dbIn, $userIn, $passwordIn);
 +
    $MySQLDataBaseLink->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 +
    echo 'Yippee - good connection' . "\r\n";
 +
} catch(PDOException $e) {
 +
    echo '<h3>Catch Connect Error--->>> ' . $e->getMessage() . '</h3>' . "\r\n";
 +
    return false;
 +
}
 +
?></pre>
 +
13번 오류가 발생할 경우
 +
 +
SELinux에 의해서 network로 접속이 차단됨 상태 입니다. 다음 명령을 실행 하세요.
 +
<pre>getenforce                                  #--- SELinux 모드 확인
 +
setsebool -P httpd_can_network_connect=1</pre>
 +
 +
== Enfold Theme 한글화 방법 ==
 +
 +
 +
 +
&nbsp;
 +
 +
여러 사이트를 구성하기 위해서 WordPress를 사용하고 있습니다. 최근에 만든 사이트는 Enfold Theme를 사용하고 있는데 한글이 표시되지 않아 불편한 점이 있습니다. 그래서 한글을 적용하니 편리 합니다.
 +
 +
&nbsp;
 +
 +
<span style="font-size: 14pt;">'''한글을 적용한 Enfold Theme'''</span>
 +
 +
http://www.obcon.biz/wordpress/wp-content/uploads/2018/02/enfold_ko_KR.png
 +
 +
&nbsp;
 +
 +
<span style="font-size: 14pt;">'''서비스 운영 환경'''</span>
 +
 +
홈페이지 구성을 위해서 아래와 같은 환경을 사용하고 있습니다.
 +
<ul style="list-style-type: square;">
 +
<li>OS : CentOS</li>
 +
<li>DOCUMENT_ROOT :&nbsp;/usr/share/nginx/html</li>
 +
<li>WordPress 설치 폴더 :&nbsp;/usr/share/nginx/html/wordpress</li>
 +
<li>Enfold Theme<br/><ul style="list-style-type: square;">
 +
<li>/usr/share/nginx/html/wordpress/wp-content/themes/enfold</li>
 +
<li>Version : 4.2.3</li>
 +
</ul></li>
 +
<li>Enfold Chield Theme 사용<br/><ul style="list-style-type: square;">
 +
<li>/usr/share/nginx/html/wordpress/wp-content/themes/enfold_child</li>
 +
</ul></li>
 +
</ul>
 +
 +
&nbsp;
 +
 +
<span style="font-size: 14pt;">'''Enfold Theme 한글화&nbsp; 방법'''</span>
 +
 +
{| 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;" | &nbsp;
 +
| 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&nbsp;/usr/share/nginx/html/wordpress/wp-content
 +
 +
#--- Enfold Theme POT 파일로 Enfold Theme용 한글 파일 생성<br/>cp&nbsp; themes/enfold/lang/enfold.pot&nbsp; languages/themes/avia_framework-ko_KR.po
 +
 +
#--- Enfold Theme에 포함된 LayerSlider Plugin용 한글 파일 생성<br/>cp themes/enfold/config-layerslider/LayerSlider/locales/LayerSlider-en_US.pot<br/>&nbsp; &nbsp; languages/plugins/LayerSlider-ko_KR.po
 +
 +
vi&nbsp; themes/enfold_child/functions.php&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #--- 아래 내용을 추가 합니다.<br/>&nbsp; &nbsp; //--- Enfold Theme에 있는 LayerSlider Plugin의 한글 파일을 사용하도록 설정<br/>&nbsp; &nbsp; function enfoldLayerSlider() {<br/>&nbsp; &nbsp; &nbsp; &nbsp; if (!current_theme_supports('deactivate_layerslider')) {<br/>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; load_plugin_textdomain('LayerSlider');&nbsp;<br/>&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp;<br/>&nbsp; &nbsp; }<br/>&nbsp; &nbsp; add_action('wp', 'enfoldLayerSlider', 11);
 +
 +
|}
 +
 +
&nbsp;
 +
 +
위 작업을 마치면 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;" | &nbsp;
 +
| 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를 설치 합니다. 한번만 설치하면 됩니다.<br/>yum&nbsp; install&nbsp; gettext&nbsp;
 +
#--- Enfold Theme를 번역한 후 mo 파일을 생성 합니다.<br/>cd&nbsp; /usr/share/nginx/html/wordpress/wp-content/languages/themes<br/>vi&nbsp;&nbsp;avia_framework-ko_KR.po&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;#--- 편집기에서 번역 작업을 진행하세요.<br/>msgfmt&nbsp; avia_framework-ko_KR.po&nbsp; -o&nbsp; avia_framework-ko_KR.mo
 +
 +
&nbsp;
 +
 +
#--- LayerSlider Plugin을 번역한 후 mo 파일을 생성 합니다.<br/>cd&nbsp; /usr/share/nginx/html/wordpress/wp-content/languages/plugins<br/>vi&nbsp;&nbsp;LayerSlider-ko_KR.po&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #--- 편집기에서 번역 작업을 진행하세요.<br/>msgfmt&nbsp; LayerSlider-ko_KR.po&nbsp; -o&nbsp; LayerSlider-ko_KR.mo
 +
 +
|}
 +
 +
&nbsp;
 +
 +
<span style="font-size: 14pt;">'''참고 문헌'''</span>
 +
<ul style="list-style-type: square;">
 +
<li>[http://www.jopenbusiness.com/mediawiki/Poedit poedit]</li>
 +
<li>[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 오픈소스 한글화]</li>
 +
</ul>
 +
 +
&nbsp;&nbsp;
 +
 +
 +
 +
&nbsp;
 +
 +
&nbsp;
 +
 +
==기술지원==
 +
 +
===WP Mail SMTP Plugin 설정===
 +
 +
WordPress를 사용할 때 WP Mail SMTP 플러그인을 사용 합니다.
 +
 +
메일 서버에서 TLS 방식의 접속을 허용하는데 공인 CA가 없어서 오류가 발생 합니다. 이런 경우 아래와 같이 설정할 수 있습니다.
 +
 +
 +
<span style="color: #008000;"><strong><span style="font-size: 14pt;">보안 설정</span></strong></span>
 +
 +
 +
WP Mail SMTP 설정 화면에서 비밀번호를 등록하면 Plain Text로 저장이 되기 때문에 보안상 위험 합니다. 아래와 같이 설정 파일에 설정하여 사용하세요.
 +
 +
vi  wp-config.php
 +
<table style="width: 98%; margin: 2px 2px 2px 2px; border: 0px solid black; border-spacing: 0px; border-collapse: collapse; padding: 2px 2px 2px 16px;">
 +
<tr>
 +
<td style="width: 10px; margin: 2px 2px 2px 2px; border: 1px solid gray; border-spacing: 0px; border-collapse: collapse; padding: 2px 2px 2px 2px; font-style: normal; font-size: 8px; font-weight: normal; line-height: normal; color: black; background-color: gray; text-align: left; vertical-align: middle;"></td>
 +
<td style="margin: 2px 2px 2px 2px; border: 1px solid gray; border-spacing: 0px; border-collapse: collapse; padding: 2px 2px 2px 12px; font-style: normal; font-size: 14px; font-weight: normal; line-height: normal; color: black; background-color: white; text-align: left; vertical-align: middle;">define( 'WPMS_ON', true );<br/>
 +
define( 'WPMS_SMTP_PASS', 'SMTP_비밀번호' );</td>
 +
</tr>
 +
</table>
 +
&nbsp;
 +
 +
http://www.obcon.biz/wordpress/wp-content/uploads/2018/03/WP_Mail_SMTP_options.png
 +
 +
<span style="color: #008000;"><strong><span style="font-size: 14pt;">오류 조치</span></strong></span>
 +
 +
 +
<strong>오류 메시지</strong>
 +
<table style="width: 98%; margin: 2px 2px 2px 2px; border: 0px solid black; border-spacing: 0px; border-collapse: collapse; padding: 2px 2px 2px 16px;">
 +
<tr>
 +
<td style="width: 10px; margin: 2px 2px 2px 2px; border: 1px solid gray; border-spacing: 0px; border-collapse: collapse; padding: 2px 2px 2px 2px; font-style: normal; font-size: 8px; font-weight: normal; line-height: normal; color: black; background-color: gray; text-align: left; vertical-align: middle;"></td>
 +
<td style="margin: 2px 2px 2px 2px; border: 1px solid gray; border-spacing: 0px; border-collapse: collapse; padding: 2px 2px 2px 12px; font-style: normal; font-size: 14px; font-weight: normal; line-height: normal; color: black; background-color: white; text-align: left; vertical-align: middle;">CLIENT -&gt; SERVER: STARTTLS<br/>
 +
SERVER -&gt; CLIENT: 220 ready for tls<br/>
 +
SMTP Error: Could not connect to SMTP host.<br/>
 +
CLIENT -&gt; SERVER: QUIT<br/>
 +
SERVER -&gt; CLIENT:  TLS connection failed: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca (#4.3.0)<br/>
 +
SMTP ERROR: QUIT command failed: 454 TLS connection failed: error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca (#4.3.0)<br/>
 +
Connection: closed</td>
 +
</tr>
 +
</table>
 +
 +
<strong>조치 내역</strong>
 +
 +
Chield Theme를 사용하고 있으므로 functions.php 파일에 필터를 추가 합니다.
 +
 +
vi  wp-content/themes/챠일드_테마_폴더/functions.php
 +
<table style="width: 98%; margin: 2px 2px 2px 2px; border: 0px solid black; border-spacing: 0px; border-collapse: collapse; padding: 2px 2px 2px 16px;">
 +
<tr>
 +
<td style="width: 10px; margin: 2px 2px 2px 2px; border: 1px solid gray; border-spacing: 0px; border-collapse: collapse; padding: 2px 2px 2px 2px; font-style: normal; font-size: 8px; font-weight: normal; line-height: normal; color: black; background-color: gray; text-align: left; vertical-align: middle;"></td>
 +
<td style="margin: 2px 2px 2px 2px; border: 1px solid gray; border-spacing: 0px; border-collapse: collapse; padding: 2px 2px 2px 12px; font-style: normal; font-size: 14px; font-weight: normal; line-height: normal; color: black; background-color: white; text-align: left; vertical-align: middle;">add_filter('wp_mail_smtp_custom_options', function( $phpmailer ) {<br/>
 +
$phpmailer-&gt;SMTPOptions = array(<br/>
 +
'ssl' =&gt; array(<br/>
 +
'verify_peer' =&gt; false,                                           #—false. peer 확인 않음<br/>
 +
'verify_peer_name' =&gt; false,                              #— false, peer 이름 확인 않음<br/>
 +
'allow_self_signed' =&gt; true                                #— true. 사설 인증 허용<br/>
 +
)<br/>
 +
);return $phpmailer;<br/>
 +
} );</td>
 +
</tr>
 +
</table>
 +
 +
<span style="font-size: 14pt; color: #008000;"><strong>WordPress의 관련 파일</strong></span>
 +
 +
<ul style="list-style-type: square;">
 +
<li>wp-includes/class-smtp.php</li>
 +
<li>wp-includes/class-phpmailer.php
 +
<ul style="list-style-type: square;">
 +
<li>WP Mail Plugin을 사용하지 않는 경우, $SMTPOptions 값을 직접 수정할 수도 있습니다.</li>
 +
</ul>
 +
</li>
 +
<li>wp-mail.php</li>
 +
</ul>
  
 
== 참고 문헌 ==
 
== 참고 문헌 ==
  
 +
*OBCon
 +
**[http://www.obcon.biz/wordpress/archives/1641 Enfold Theme 한글화 방법]
 +
**[http://www.obcon.biz/wordpress/archives/1501 Markdown 문법]
 +
**[http://www.obcon.biz/wordpress/archives/1489 WordPress KBoard content 편집]
 +
**[http://www.obcon.biz/wordpress/archives/1478 WordPress Dropin의 종류]
 +
**[http://www.obcon.biz/wordpress/archives/1441 페이지 로딩 속도 측정]
 +
**[http://www.obcon.biz/wordpress/archives/1444 WordPress 속도 향상]
 +
**[http://www.obcon.biz/wordpress/archives/1434 웹페이지 리다이렉트]
 +
**[http://www.obcon.biz/wordpress/archives/1424 웹마스터 도구]
 
*[http://www.cmsfactory.net/node/10037 http://www.cmsfactory.net/node/10037]
 
*[http://www.cmsfactory.net/node/10037 http://www.cmsfactory.net/node/10037]
*http://enterkey.tistory.com/315
+
*[http://enterkey.tistory.com/315 http://enterkey.tistory.com/315]
 +
*[http://www.linchpinsoft.com/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%ED%85%9C%ED%94%8C%EB%A6%BF-%EA%B3%84%EC%B8%B5%EA%B5%AC%EC%A1%B0/ http://www.linchpinsoft.com/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%ED%85%9C%ED%94%8C%EB%A6%BF-%EA%B3%84%EC%B8%B5%EA%B5%AC%EC%A1%B0/]
 +
 
 
[[Category:WebSite|Category:WebSite]]<br/>[[Category:CMS|Category:CMS]]
 
[[Category:WebSite|Category:WebSite]]<br/>[[Category:CMS|Category:CMS]]

2018년 3월 7일 (수) 17:35 기준 최신판

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

CentOS에 WordPress 설치

CentOS에 WordPress 3.5.1 설치

CentOS에서 WordPress를 설치 합니다.

  • 사전 준비 사항
  • WordPress를 다운로드하여 원하는 위치에 놓고 압축을 풉니다.
cd /cloudnas/install
wget http://wordpress.org/latest.tar.gz

tar xvzf latest.tar.gz
chown -R apache:apache wordpress
mv wordpress /cloudnas/www/html
  • URL로 접속하여 설치를 진행 합니다.
cd /cloudnas/install
wget 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 다운로드

cd install
### wget 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의 종류
  • Actions : 실행
  • Filters : 실행 후 결과 반환
  • 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

  • 폴더 : wp-content/themes/테마폴더/
  • index.php
  • 참고 문헌

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



  • WordPress Related Posts : 관련 Post 글 목록 표시
  • WordPress Popular Posts : 인기글 목록 표시
  • List category posts :

관리자 가이드

Port 변경

mysql -uwordpress -p wordpress

update wp_options
           set option_value = 'http://www.jopenbusiness.com:90/wordpress'
           where option_name = 'siteurl' or option_name = 'home';


WordPress 이관

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

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

Database 접속 오류 코드 확인 방법

<?php
$hostIn     = '';
$dbIn       = '';
$userIn     = '';
$passwordIn = '';
try {
    $MySQLDataBaseLink = new PDO(
                    "mysql:host=" . $hostIn . ";dbname=" . $dbIn, $userIn, $passwordIn);
    $MySQLDataBaseLink->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo 'Yippee - good connection' . "\r\n";
} catch(PDOException $e) {
    echo '<h3>Catch Connect Error--->>> ' . $e->getMessage() . '</h3>' . "\r\n";
    return false;
}
?>

13번 오류가 발생할 경우

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

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

Enfold Theme 한글화 방법

 

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

 

한글을 적용한 Enfold Theme

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 한글화  방법

 

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
  1. --- 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 파일을 생성하려면 아래와 같이 작업 하세요.

  #--- 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

 

참고 문헌

  


 

 

기술지원

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_비밀번호' );

 

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

참고 문헌