May 262012
 

만 2년 동안 블로그를 운영해오던 synology nas ds-710+를 정리해야 할 일이 생겼습니다.
그동안 하루도 쉬지 않고 거의 아무 이상없이 블로그를 운영할 수 있었던건 안정적인 성능을 제공해주는 ds-710+ 덕분일겁니다.
a/s 보증기간도 3년이라 중고판매를 위해서도 더 늦기전에 정리하기 위해 대안을 찾아보았습니다.

일반적인 웹호스팅은 전혀 맘에 들지 않았고, 요즘 유행하는 클라우드 호스팅은 아직 비싸더군요.
그러다가 codeIgniter 커뮤니티에서 카페24의 가상서버 호스팅 관련 글을 보았습니다.
가격도 적당하고, 마음대로 서버를 만질 수 있어서 일단 한달을 신청하고 블로그를 이전해봤습니다.

제일 저렴한 걸로 해서인지, 가상서버 방식의 호스팅의 한계인지는 몰라도, nas로 운영할 때에 비해 그렇게 빠르지는 않습니다.
그래도 제약없이 서버를 꾸밀 수 있어서, 리눅스 서버를 직접 만질 수 있거나, 만져야 하는 사람에게는 괜찮은 선택으로 보입니다.

다음 작업내역은 가상서버 신청 후 워드프레스 블로그를 이전하기까지의 과정입니다.
평소 다루던 리눅스가 아니라서 이것저것 검색해가면 정리해봤습니다.
비슷한 일을 하시는 분께 도움이 되었으면 합니다.

 

#가상서버 호스팅 신청 후 10~30분 경과하면 서버 os 설치가 완료됨

 

#putty 등을 이용해서 아이디.cafe24.com으로 ssh 접속

 

#설치 작업 전 우분투 11.10 update & upgrade 실시
$sudo apt-get update
$sudo apt-get upgrade

 

#아파치2 설치
$sudo apt-get install apache2 libapache2-mod-auth-mysql

 

#mysql 설치
$sudo apt-get install mysql-server mysql-client 
[참고] 중간에 나오는 화면에서 반드시 비번 설정해야 함

 

#php5 설치
$sudo apt-get install php5 libapache2-mod-php5 php5-mysql phpmyadmin
[참고] db 선택 화면에서 apache2 선택
[참고] phpMyAdmin 설치 중 나오는 화면에서 dbconfig-common 사용함 선택

 

#워드프레스용 데이타베이스 생성
$mysql -uroot -p
mysql> create database db이름;
mysql> GRANT ALL PRIVILEGES on db이름.*  to root@'localhost' IDENTIFIED BY '암호' WITH GRANT OPTION;
mysql> flush privileges;

 

#umask 설정
$vi /etc/skel/.profile -> umask 022 앞의 # 제거해서 활성화
$vi /etc/skel/.bashrc -> 맨 아래 줄에 umask 022 추가

 

#ftp daemon 설치 & 설정
$sudo apt-get install vsftpd

$vi /etc/vsftpd.conf
[작업 1] 다음 줄 앞의 # 제거해서 활성화
———————-
local_enable=YES
write_enable=YES
local_umask=022
———————–

[작업 2] 맨 아래 줄에 file_open_mode=0644 추가

$sudo vi /etc/ftpusers -> root앞에 # 추가해서 root 로그인이 가능하도록 변경

$sudo /etc/init.d/vsftpd restart -> 데몬 재기동

 

#mysql utf-8 설정
$sudo vi /etc/mysql/my.cnf
[작업] 각각의 항목 뒤에 해당 내용을 추가(참고 : 취소처리된 부분은 mysql 5.5를 위한 부분임)
[client]
default-character-set=utf8

[mysqld]
character-set-client-handshake=FALSE
init_connect="SET collation_connection = utf8_general_ci"
init_connect="SET NAMES utf8"
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci

[mysqldump]
default-character-set=utf8

[mysql]
default-character-set=utf8

 

==> 다음 내용을 찾아서 주석처리하면 localhost 이외에서도 접속이 가능할 수 있게 됨(물론 user, host, 권한 설정된 상태에서만)
# bind-address 127.0.0.1

 

 

$sudo /etc/init.d/mysql restart -> 데몬 재기동

 

#기존 서버에서 워드프레스 db & 파일 백업 후 새로운 서버로 업로드(파일질라 등의 sftp 가능한 어플 사용)
$mysqldump -u아이디 -p암호 db명 > 파일명
$tar cvzf 파일명.tar.gz 워드프레스파일위치

 

#새로운 서버에서 db 입력
$mysql -u아이디 -p암호 db명 < sql파일명

 

#새로운 서버로 워드프레스 파일 업로드 후 압축해제 -> /var/www밑으로 이동처리
$tar xvzf 파일명.tar.gz

 

#워드프레스 설정 변경
$vi /var/www/wp_pointbre/wp-config.php 수정 : db계정, 암호, db명 반영

 

#dnsever 갱신용 스크립트 생성(다른 네임서버 이용시는 skip할 것)
$vi /usr/local/dnsever/dnsever.sh

#!/bin/sh
wget -O – –http-user=pointbre –http-passwd=암호 'http://dyna.dnsever.com/update.php?host[*.pointbre.com]&host[www.pointbre.com]&host[pointbre.com]'

$chmod 707 dnsever.sh

 

#crontab에 등록
$sudo crontab -e

0       *       *       *       *       root    /usr/local/dnsever/dnsever.sh

 

#스크립트를 바로 실행해서 ip 갱신 결과 확인

 

#virtual host 추가(외부 링크 방지)
$vi /etc/apache2/httpd.conf

<VirtualHost *:80>
ServerName      www.madforfamily.com
DocumentRoot    /var/www/wp_pointbre
#  외부링크방지
SetEnvIfNoCase Referer blog\.pointbre\.com link_allow
SetEnvIfNoCase Referer ^$ link_allow
<FilesMatch "\.(jpe?g|gif|png|bmp|avi|swf|mpe?g|zip|z[00-99]|rar|mp[1-9]|arj|exe|asf|wm[a-z]*|ra[a-z]*|alz|ZIP|Z[00-99])$">
Order Deny,Allow
Allow from env=link_allow
Deny from all
ErrorDocument 403 /error_page.php
</FilesMatch>
CustomLog /var/log/apache2/pointbre.com.access.log combined
</VirtualHost>

<VirtualHost *:80>
ServerName      pointbre.com
ServerAlias     www.pointbre.com
DocumentRoot    /var/www/
#  외부링크방지
SetEnvIfNoCase Referer pointbre\.com link_allow
SetEnvIfNoCase Referer www\.pointbre\.com link_allow
SetEnvIfNoCase Referer ^$ link_allow
<FilesMatch "\.(jpe?g|gif|png|bmp|avi|swf|mpe?g|zip|z[00-99]|rar|mp[1-9]|arj|exe|asf|wm[a-z]*|ra[a-z]*|alz|ZIP|Z[00-99])$">
Order Deny,Allow
Allow from env=link_allow
Deny from all
ErrorDocument 403 /error_page.php
</FilesMatch>
CustomLog /var/log/apache2/pointbre.com.access.log combined
</VirtualHost>

$vi /etc/apache2/conf.d/charset -> AddDefaultCharset UTF-8 앞의 # 제거

 

#mod_rewrite 설치
$sudo a2enmod rewrite 
$vi /etc/apache2/site-available/default
<Directory /var/www> 에서 AllowOverride None -> AllowOverride All 변경 

 

#워드프레스 permalink용 htaccess 설정
$vi /var/www/wp_pointbre/.htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

 

#curl 설치
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl php5-mcrypt

 

#아파치 재기동
$sudo /etc/init.d/apache2 restart

 

#워드프레스 접근 테스트

 

#chCounter 설정 변경(사용하지 않으면 skip)
$vi /var/www/wp_pointbre/chCounter/includes/config.inc.php

 

참고 문서
http://www.google.co.kr/search?sugexp=chrome,mod=1&sourceid=chrome&ie=UTF-8&q=%EA%B0%80%EC%83%81%EC%84%9C%EB%B2%84+%EB%A9%94%EB%89%B4%EC%96%BC

  3 Responses to “워드프레스 블로그 이전 작업 정리 : NAS -> cafe24 가상서버 ubuntu 11.10”

  1. 안녕하세요^^ 저는 이제서야 NAS에 워드프레스 블로그를 만들어 볼 생각을 하고 있는 사람입니다.
    그냥 검색하다가 방문하게 되었구요~ 클라우드용 외장하드를 꾸려볼까 하다가 최근에 블로그를 운영을 시작해서 한번 NAS에 블로그를 생성해보면 어떨까 했습니다. 어차피 개인블로그라 보안이나 이런건 걱정은 별로 안하는데

    이미 운영을 해보신 경험이 있으시니 그동안 큰 문제 없었는지 제가 NAS로 웹서버용도로 사용하려는걸 어떻게 생각하시는지 궁금해서 대뜸 글을 남겨봅니다^^; 블로그도 더 구경해보겠습니다!

    MadForFamily Reply:

    @김도현,
    이 블로그는 시놀로지 Nas DS-710+에서 약 2년간 실제로 운영되었습니다.
    개인적인 용도로 사용하기에는 전혀 문제가 없습니다.
    유효방문수 20만이 넘어가는 동안에도 전혀 문제없이 잘 돌렸습니다.
    다만 UPS와 이중백업, 주기적인 DB/파일 백업은 언제 어느 환경에서도 필수입니다.

  2. […] 포스팅한 카페24로의 워드프레스 이전하기 내용을 참조해서 작업을 진행했다. 다만 몇가지 서버 세팅한 것들만 따로 […]

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)