출처 : https://www.lesstif.com/pages/viewpage.action?pageId=20775577
워드프레스는 DB에 html과 Css를 집어 넣은걸
호출하여 보여주는 형태이다.
서버 마이스레이션은 뻔하다.
이미지와 html , css의 프론트
웹스크립트언어와 DB의 백엔드 두개만 넣으면 끝아야 된다.
vmware에서 붙여보고 나중에 AWS로 이관 하기로 했다.
우분투에서 vmware에서 우선 진행하였다.
서버 스펙 : ubuntu-16.04.4-server
1] ssh설치
apt-get install openssh-server
service sshd start
2]아파치2 설치
apt-get install apache2 -y
3] php7설치
apt-get install php7.2
apt-add-repository ppa:ondrej/php
apt install php7.2 libapache2-mod-php7.2 php7.2-mbstring php-xml php-mysql php-sqlite3
apt-get update
4] maria 설치
apt-get install mariadb-server
apt-get install mariadb-server-core
apt-get install mariadb-client
테이블을 제작하고 DB를 밀어 넣자.
create database DB명;
리모트mysql-workbench를 이용하기 위해서 외부에서 접근 가능 하도록 구축
create user '계졍명'@'%' identified by '패스워드';
grant all on 계정명.* to '계정명'@'%';
flush privileges;
use 계정명;
show tables;
테이블이 없는걸 확인 하자.
DocumentRoot는 우분투 기본인
/var/www/html
service apache2 start 하여 php7이 잘 올라오는지 확인 해야 된다.
phpinfo로 설치가 완료 되었으면
소스코드(html, css, php) 이미지를 업로드 하자.
여기까지는 그나마 무난했다 30분 이내 생초보도 할수 있는 부분이고 이제 대망의 DB작업을 실사하자 .
문제는 여기서 DB이다. 그것도 html소스가 박힌 DB
왜 html소스가 박힌 DB가 어렵나면 게시판에 내용도
칼럼에 데이터가 너무 길경우 개행문자에 대한 처리 부분과
정규식부분(괄호, 특수문자)에서 처리가 되었다고 하지만
잘 안들어 가게 된다.
한글까지 포함 된다면 머 한줄 한줄 밀어 넣어야 되는 최악의 사태도 발생할수 있다.
덤프는 PhpMyadmin에서 내보내기 하면 된다.
내보내기 한 파일 쿼리 sql
1] 콘솔에서 밀어 넣어보았다
실패 mysqldump -u 계정명 -p 디비명 < 쿼리.sql
2] PhpMyadmin을 구축하였다 30메가인데 덤브파일이
25메가 밖에 업로드가 안된다고 한다. 패스
zip파일에서 압축해서
php.ini에서 용량 늘리기 가능함
file_uploads = On
upload_max_filesize = 100M
post_max_size = 100M
3] mysql콘솔에 복사 붙이기 해보았다.
3시간 정도 걸리던데 결국 html소스들 때문에 삽입은 되었으나
정상적으로 작동이 불가능 했다.
(여기서 너무 많은 시간을 허비 했다)
4] index.html소스만 복사해서 붙여 보았다. 당연 반응형에서
제대로 동작 안하였고 실패
5] mysql-workbench를 구축 하였다.
비주얼 툴도 머 이상한거 설치하고
./mysql/mariadb.conf.d/50-server.cnf:bind-address = 127.0.0.1 ->0.0.0.0
으로 변경하였다.
마리아 DB최신 소스라서 검색한 경로에 없길래 grep으로 문자열 검색 하여 찾았다.
컨넥션이 완료되고 프로그램이 종료 되는것이다.
오라클 토드나,, ms-sql과 왜이렇게 다르지 했는데 프로그램 다시 실행하니
컨넥션 정보가 남아 있다 저길 클릭하고 들어 가야 된다.
덤프뜬 데이타베이스를 이쁘게 잘 밀어 넣었다.
제대로 동작할가?
제대로 동작한다면 서버이관 작업이 빡시다고 하지도 않는다.
이관전 디자이너는 아주 이쁘게도 3가지 타입의 코딩을 하였다
1] 호스팅주소코딩 2] dns코딩 3]상대경로 코딩
모두다 3번으로 코딩하면 아주 쉽게 끝날일을
1,2번을 수정해야 되었다.
여기서 방법이 2가지가 있다.
mysql-workbench에서 찾아 바뀌기 컨트롤+H해서 수정하는 방법이 있고
업로드 후라면 쿼리를 이용하는 방법도 있다.
스타트 URL과 홈페이지 주소이다 WP-admin에 있는것과 같은거다.
UPDATE wp_posts SET guid = replace(guid, '수정전','수정후');
소스코드 html소스이다.
UPDATE wp_posts SET post_content = replace(post_content, '수정전','수정후');
UPDATE wp_postmeta SET meta_value = replace(meta_value, '수정전','수정후');
wp-config.php 내용도 변경해야됨 마지막 부분에
/* DOMAIN SETTING */
/* DOMAIN SETTING */
define('WP_HOME','변경해야됨 ');
define('WP_SITEURL','변경해야됨 ');
vmware에서는 이관이 다 완료 되었다.
문제는 AWS에 이관할려니 mysql-workbench가 당연히 안붙는다 AWS방화벽도 해제 해도 마찬가지다.
phpmyAdmin을 다시 구축하였다 콘솔로는 답이 없기 때문에
문구를 자세히 읽어 보니
압축한 파일에 대해서는 25메가가 가능하다고 나온다. 그래서 내 파일을 zip으로 압축해 보았다.
2메가가 되는것이다.
text다 보니 압축도 잘된다.
바로 import시키니 잘 붙는다.
멘탈만 안나갔으면 2번에서 쉽게 끝날일을 삽질을 좀 많이 했다.
나와 같은 삽질을 하지말라고 이 게시물을 포스팅 한다.
그리고 워드프레스 wp-admin에서 화면 편집이 위저드 처럼 가능하다.
'웹' 카테고리의 다른 글
정규식 표현 정리 (0) | 2019.03.28 |
---|---|
DB에 웹쉘코드 삽입 POC (0) | 2018.12.06 |
PHPMailer 구글 SMTP 메일 보내기 (0) | 2018.08.23 |
리눅스 서버 이관 작업 (0) | 2017.10.26 |
WeB 서버 튜닝 (0) | 2015.12.04 |