sitemap.xml


Posted by 솔파파 대류

2001년경 처음 만든 동아리 홈페이지는 2012년까지 10년도 넘게 많은 리뉴얼을 거쳤다. 제로보드4로 시작하여 XE로 전환까지 시키며 꾸준히 관리했다.


시간이 흘러 나는 졸업을 했고 후배들의 무관심과 SNS의 발달로 홈페이지는 찬밥신세를 면치 못하였다. 졸업도 했고 일하느라 바쁜 와중에도 후배들을 위해 홈페이지를 꾸준히 운영해 주었지만, 찾는 이 없는 홈페이지는 용량의 압박으로 유지비만 들어가니 더는 운영할 의지도 필요도 없었다.


그렇게 몇 년이 흐르는 사이 나는 NAS에 눈을 뜨게 되었고 NAS에 홈페이지를 복구해 두었다. 언제든 볼 수 있고 언제든 다시 백업할 수 있으니 말이다.


그렇게 NAS를 꽤 오래 운영하며 나름대로 노하우가 생겼고 NAS가 2개로 늘어나면서 공간의 여유와 기술(?)도 생겼다. 두 번째 NAS에 사업장 홈페이지를 운영하면서 게시판 몇 개를 추가하여 동아리 홈페이지를 가져와서 다시 오픈 해야겠다는 욕심(?)이 생겼다.


개인용 나스(비공개 홈페이지) → 사업장 나스 (공개 홈페이지) 


여기부터 문제가 발생한다.


이미 운영 중인 사업장 홈페이지에 지장을 주지 않고 DB를 불러오는 방법도 알지 못하고, 잘 알지도 못하는데 함부로 DB를 건드리다 사업장 홈페이지에 문제가 생기면 큰 일이니 내 입장에서는 할 수 있는 최선은 기존 홈페이지 각 게시판을 XML로 추출해서 가져와 복구하는 것이었다.


그런데, 일부 게시판에서 게시물이 누락되는 현상이 발생했다. 예를 들어 자유 게시판에 3000개의 게시물이 있었는데, 복구는 1112번까지만 되는 것이다. XE 사이트와 XE TOWN에서 해결책이라고 제시된 것들을 이래저래 며칠을 삽질해도 해결되지 않았다.


https://www.xpressengine.com/tip/20486053 ☜ 여기에서 설명하기를 이전 버전과 상위 버전에서 회원 정보와 관련한 문제로 발생하는 문제라는 것이다. 하지만, 나는 이것으로 해결되지 않았다.


▲ 위 이미지에서 보면 문제가 발생하는 1112 게시물에 글쓴이가 나타나지 않는다. 그리고 이후의 게시물들은 복구되지 않았다.


발생하는 문제의 형태로 보아 회원정보와 관련된 문제가 맞긴 맞는 거 같다. 여러 방법을 계속해서 시도해보다 단순하고 무식한 방법을 택하여 해결하게 되었다. 


마이그레이션 작업에서 게시물 누락시 복구하는 무식한 방법


1. 복구 게시판에서 1111까지 정상 복구되고 1112번부터 문제가 발생하고 있다.

2. 복구 게시판에서 1112 게시물을 삭제 한다. 이 게시물 때문에 복구가 안 되는 것이다.

3. 기존 게시판에서 1~1112번까지 삭제한 후 1113 게시물부터 다시 XML을 추출하여 복구 한다.

4. 복구하다 보면 또 중간 문제가 발생하면 위의 형식을 반복 한다.


나는 3000여 개의 게시물이 있는 게시판을 마이그레이션 하는 과정에 위의 과정을 몇 차례 반복한 끝에 복구를 완료할 수 있었다. 그런들 어떠하리.... 기술이 없으면 노동이라도 잘 해야지... 아무튼 성공적으로 자료를 이전했으면 됐다.


회원정보가 없는 XE에 복구할 때는 발생하지 않지만, 회원이 있고 운영되고 있는 홈페이지에 복구할 때 발생하는 문제인 것 같기도 하다. 그러니 원본 게시판이 없으면 회원정보가 없는 깨끗한(?) XE에 복구하면 큰 문제 없이 잘 되지 않을까 싶다.

Posted by 솔파파 대류

본업에 바빠 다른 것에 신경 쓸 겨를이 없다 보니 웹 생태계가 많이 바뀌어 뭐 하나 하려 해도 공부하고 폭풍검색을 해야 한다. ㅜ.ㅜ


사실 이것은 내가 하는 방식이 맞는지 확신이 서지 않는다. 다만, 나는 잘 사용하고 있기에 정보를 찾아 헤매는 하이에나에게는 꿀팁일 수도 있기에 나름 정리해 보았다. 물어봐도 잘 모르니 안 된다고 물어보기 없기!

  

시놀로지 NAS에 XpressEngine을 설치하고 이것은 개인이 가지고 있는 도메인(aaa.com)과 연결하는 방법이다. 예전에는 제법 절차가 복잡해서 엄두를 못 내고 있다가... DSM이 업데이트되면서 쉽게 설정할 수 있도록 바뀌었나 보다.


시놀로지 포럼카페에 있는 글을 보고 참조했다. https://cafe.naver.com/synologynas/73464


나는 'XE'나 별도의 폴더를 만들지 않고 WEB 폴더에 XE 파일을 그대로 올렸다. 홈페이지를 여러 개 사용한다면 폴더를 만들어서 나눠야 하지만, 나는 하나만 운영할 것이기에….




일단 외부접속을 위한 DDNS 설정을 해놓은 상태다. abc.synology.me 뭐 이런 거….





▲ 도메인등록 사이트에서 DNS 설정 화면으로 들어가서 위 그림과 같이 설정을 해준다.

이때 TTL 값(위 그림의 1800)을 기억해 둔다. 이것은 같은 도메인 없체라도 [레코드 추가]할 때 설정에 따라 다르다.




http://www.Dynu.com 홈페이지에 가입한다.



 로그인 후 관리 화면으로 들어가 [DDNS SERVICE]를 선택한다.





 'Option2'란에 본인의 도메인을 입력하고 [Add] 로 들어간다.





 IPv4 Address에 NAS 외부 접속 IP를 적고 [Save] 선택.

IP 모르면 NAS의 [제어판]-[외부엑세스]에서 확인할 수 있다.





 [Type]에 'CNAME' 선택하고 [TTL]에 도메인 등록 사이트에서 확인했던 TTL 값을 넣어 준다.

[Hostname]은 도메인 주소다.




여기까지 설정한 후 [DDNS]-[SETUP] 메뉴로 들어간다.



 우측 하단에 있는 서브 메뉴들을 눌러 다음과 같이 들어 간다. [Router/Firewall]-[SynologyNAS]





 Query URL: http://api.dynu.com/nic/update?

쿼리 URL 값을 복사한다.


이제 시놀로지 설정으로 들어 간다.



 DSM에서 [제어판]-[외부 엑세스]-[사용자 지정]을 선택한다.





 서비스 제공업체에 dynu.com을 입력하고

쿼리 URL에 좀 전에 복사했던 값을 붙여 넣고 저장한다.

http://api.dynu.com/nic/update?





 DDNS 등록하면서 서비스 제공업체에 방금 등록한 dynu.com이 들어 있다.

본인 도메인을 등록하면 된다.




- 끝 -

Posted by 솔파파 대류

전체 방문자수 출력하기 : {number_format($total_counter->unique_visitor)}

오늘 방문자수 출력하기 : {number_format($today_counter->unique_visitor)}
어제 방문자수 출력하기 : {number_format($yesterday_counter->unique_visitor)}

전체 페이지뷰 출력하기 : {number_format($total_counter->pageview)}
오늘 페이지뷰 출력하기 : {number_format($today_counter->pageview)}
어제 페이지뷰 출력하기 : {number_format($yesterday_counter->pageview)}

"제로카운터"에서는 최고방문자와 최고페이지뷰 기능도 있었는데 XE기본 카운터에는 없는 것 같다? 위에서 방문자수나 페이지뷰 수를 조절하기 위해서는 DB를 손대는 방법도 있지만, 간편하게 할 수도 있다.

전체 방문자수 출력하기 : {number_format(530107+$total_counter->unique_visitor)}

위와 같이 빨간색 부분의 숫자를 통해 자유롭게 수정할 수 있다. 제로카운터에서도 같은 방법을 사용했었는데... ^^


Posted by 솔파파 대류

보통 게시물이 하나 둘이면 문제 없겠지만, 다수의 게시물을 등록할 경우 일일이 카테고리를 선택하는 것은 여간 번거로운 일이 아니다. 소스를 수정을 통해 기본 카테고리를 지정해 주는 방법도 있지만, 이 또한 특정 카테고리만 지정을 해 놓은 것이니 불편할 수 있다. 이럴 때 소스 수정도 필요없이 원할 때 원하는 카테고리에 카테고리 선택없이 등록할 수 있는 벙법!



▲ 게시물 등록에 앞서 카테고리를 먼저 선택한다.

▼ 카테고리를 먼저 선택하고 게시물 등록을 선택하면 카테고리가 선택된 상태에서 글을 등록할 수 있다.


Posted by 솔파파 대류

RewriteCond $1 !^(daerew\.php|image|css|daerew\.txt)


위 구문은 daerew.php, daerew.txt, image폴더, css폴더 다음 라인에서 나오는 rewrite rule에서 예외하라는 의미이다.

Posted by 솔파파 대류



XE에서는 위 그림과 같이 이미지를 좌측으로 정렬하면 내용 아래에 있어야 할 첨부파일 부분이 올라오는 현상이 있다. html 작성으로 태그로 커버할 수 있지만 매번 그렇게 하는 것이 번거롭다면 스킨파일을 약간 손 보면 된다. 위의 문제는 div + css 조합으로 스킨이 만들어지다보니 생기는 문제인 것 같다.


스킨파일의 view_document.html 파일을 열어 102 라인 쯤의 {$oDocument->getContent()} 를 찾아 아래와 같이 소스를 삽입하면 된다.


<!--@else-->

{$oDocument->getContent()}

        <div style="clear:both;"></div>

<!--@end-->


여기에서는 view_document.html 파일에 직접 스타일을 적용했지만, css와 따로 분리해서 넣어도 된다. css 에 클래스를 만들어 넣고 <div class="클래스명"></div> 이 부분만 넣어도 된다.


게시물별로 따로 설정하고 싶으면 위의 소스를 html작성에서 맨 아래에 넣어주면 된다.

Posted by 솔파파 대류




파일 다운로드

status.zip


첨부된 파일을 다운받아 압축을 풀고 에디터로 열어 자신의 환경에 맞게 수정해야 한다.


$host="localhost";       // 호스트명.

$user_name="";     // 자신의 계정 아이디를 적으시면 됩니다.

$db_name="";       // 자신의 MySQL DB 아이디를 적으세요. 

$db_password=""; // 자신의 DB의 패스워드 입니다.


그리고 트래픽 사용량을 출력하기 위해 아래의 부분을 찾아 자신의 홈페이지 주소를 입력한다.  'http://' 부터 모두 입력해야 합니다.


$throttle = "자신의 홈페이지주소/throttle-me/";


트래픽 사용량을 확인하기 위해서는 계정에 'throttle-me'가 설치되어 있어야 한다. 비누넷 웹호스팅을 이용하시는 분들은 그냥 사용하면 되고 다른 계정에서는 잘 모르겠다.

 

자신의 환경과 맞지 않는 부분이 있을 경우 해당 부분을 주석처리 하거나 삭제한 후에 환경에 맞는 부분만 사용하면 된다.

 

XpressEngine 레이아웃에 적용할 때는 아래의 코드를 원하는 위치에 넣으면 된다.


<!--#include("./status.html")-->


나는 아래와 같이 로그인 출력 아래 부분에 넣었다. 


<img class="zbxe_widget_output" widget="counter_status" skin="daerew_counter" colorset="white" />

<!--#include("./status.html")-->


Posted by 솔파파 대류