호스팅 중인 XE를 서버 개인 CentOS 서버로 백업(및 이전)

|


백업용으로 진행하기 때문에 보안성보단 사용성에 촛점을 맞춰 진행하였다.




1. CentOS 6.6 minimal 설치 및 셋팅


CentOS 설치 후 진행

나는 hostname : localhost, 시간 : Seoul 로 진행하였다.



1) SELinux 해제


# vi /etc/sysconfig/selinux

      7 SELINUX=disabled


*

라인 넘버 나타내기는 esc를 누른 뒤 :se nu 를 입력

입력 모드로 넘어갈 때엔 i 버튼

vi 편집기 저장 후 나가기는 esc를 누른 뒤 :wq 를 입력하면 된다.



2) iptables 해제


# iptables -X

# iptables -F

# chkconfig iptables off



3) 필요 패키지 설치 및 자동실행 설정


# yum install -y ntp vsftpd httpd mysql* php*

# chkconfig ntpd on

# chkconfig vsftpd on

# chkconfig httpd on

# chkconfig mysqld on


설정 적용을 위해 재시작

# reboot




2. 백업본 다운로드 및 업로드


1) 다운로드


백업본은 호스팅 업체에서 제공해준다.




2) 업로드


아래처럼 수정 후 재시작

# vi /etc/vsftpd/user_list

      7 #root


# vi /etc/vsftpd/ftpusers

      2 #root


# service vsftpd restart


이제 파일질라 등의 ftp client 프로그램을 이용하여 root 계정으로 업로드




3) 웹페이지 설정


백업받은 파일을 압축 풀어 웹 root 페이지로 이동


# tar xvfz u347840964.tar.gz

# rm -rf /var/www/html/

# mv u347840964/public_html/ /var/www/html





3. DB 설정


1) 사용할 DB 생성


# mysqladmin -u root password xxxx

# mysql -u root -p

mysql> CREATE DATABASE xe;

mysql> GRANT ALL PRIVILEGES ON xe.* TO root@localhost IDENTIFIED BY 'xxxx' WITH GRANT OPTION;

mysql> FLUSH PRIVILEGES;

mysql> quit



2) 업로드 한 DB 파일을 내 DB에 연결


# gzip -d u347840964_data.sql.gz

# mysql -u root -p xe < u347840964_data.sql





4. 허가권 및 xe 설정


1) 허가권 설정


# chmod 777 /var/www/html/



2) xe 설정 - db


# cd /var/www/html/files/config/


자신의 환경에 맞게 수정

# vi db.config.php

      3   'master_db' =>

      4   array (

      5     'db_type' => 'mysqli',

      6     'db_port' => '3306',

      7     'db_hostname' => 'localhost',

      8     'db_userid' => 'root',

      9     'db_password' => 'xxxx',

     10     'db_database' => 'xe',

     11     'db_table_prefix' => 'xe_',

     12   ),

     13   'slave_db' =>

     14   array (

     15     0 =>

     16     array (

     17       'db_type' => 'mysqli',

     18       'db_port' => '3306',

     19       'db_hostname' => 'localhost',

     20       'db_userid' => 'root',

     21       'db_password' => 'xxxx',

     22       'db_database' => 'xe',

     23       'db_table_prefix' => 'xe_',

     26   'default_url' => 'http://3.3.3.4',




3) xe 설정 - ftp


자신의 설정에 맞게 수정하여 기재

# vi ftp.config.php

      1 <?php if(!defined("__XE__")) exit();

      2 $ftp_info = new stdClass;

      3 $ftp_info->ftp_user = 'root';

      4 $ftp_info->ftp_port = '21';

      5 $ftp_info->ftp_host = '3.3.3.4';

      6 $ftp_info->ftp_pasv = 'Y';

      7 $ftp_info->sftp = 'N';

      8 $ftp_info->ftp_root_path = '/var/www/html/';

      9 ?>




4) 짧은 주소 사용 - httpd


아래처럼 수정하면 짧은 주소를 사용할 수 있다.

(호스팅 업체에서 짧은 주소를 사용하고 있던 경우)

(참고 : http://www.xeschool.com/xe/xenote_module_urls)


# vi /etc/httpd/conf/httpd.conf

    304     AllowOverride ALL

    338     AllowOverride ALL




5) 설정들 적용을 위하여 서비스 재시작


# service mysqld restart

# service httpd restart

# service vsftpd restart





5. 웹 상에서의 재설정


1) 캐쉬파일 재 생성


리눅스 재부팅이 완료 되면 웹 브라우저를 통해 http://3.3.3.4/?module=admin 접속하여 로그인 한다.

화면 맨 밑 캐쉬파일 재생성 버튼을 누른다.



2) 설정 - 일반 - 고급


관리자 IP대역 설정



3) 설정 - FTP 설정


기본

설치된 XE의 FTP 경로 : / (목록 가져오기 클릭)


고급

Passive 모드 사용 : 아니오




* '요청한 기능을 실행할 수 있는 권한이 없습니다.' 의 경우


(출처 : https://www.xpressengine.com/tip/22751988)

ModuleHandler.class.php

파일 다운로드


FTP 접속하여 이 파일을 /var/www/html/classes/module/ 경로에 업로드하면 관리페이지에 접속이 가능




And