현재 사이트의 자료실에 DATA를 업로드가 빈번해지면 디스크 부족 현상이 우려되는 바, 워드프레스의 미디어 폴더의 업로드 위치를 다른 디스크로 변경하려고 알아봤다
검색을 통해서 여러가지 대안을 구할 수 있었지만, 내가 원하는 다른 디스크로의 변경은 찾기 어려웠다
만약 워드프레스 설치 경로와 동일한 곳에 이름만 바꾸고 싶다면 아래 소개되는 워드프레스 업로드 폴더 위치 변경 방법을 활용해보고, 다른 디스크로의 업로드 폴더 변경은 심볼릭 링크 이용하여 워드프레스 업로드 폴더 위치 변경 방법 예제를 통해 알아보도록 하자
워드프레스 업로드 폴더 위치 변경 방법
앞서 소개했듯이 이 방법은 미디어 폴더의 위치를 다른 디스크 경로로 바꿀 수 없으며, 반드시 워드프레스 폴더 내 종속하게 되어서 사실 상 업로드 폴더 위치만 바꾸게 되는 것이다
미디어 폴더의 기본 업로드 위치는 아래와 같다
워드프레스 설치경로\wp-content\uploads
만약 자신이 멀티 사이트를 운영 중이라고 가정한다면 각 멀티 사이트의 업로드 폴더는 아래와 같다
워드프레스 설치경로\wp-content\uploads\sites
uploadpds라는 폴더를 uploads 폴더 대신에 쓰고 싶을 경우 워드프레스 설치경로\wp-content\uploadpds 를 디렉토리 생성한다
미디어 폴더를 변경하기 위해서는 wp-config.php 파일을 변경해줘야 한다
wp-config.php 파일은 워드프레스 설치경로\wp-config.php에 위치하고 있으며, 메모장 또는 윈도우10의 코드 에디터로 수정을 해보자
define( 'UPLOADS', 'wp-content/uploadpds' );
uploads 의 경로가 워드프레스 설치경로\wp-content\uploads → 워드프레스 설치경로\wp-content\uploadpds 로 변경이 된다
wp-content 폴더에 종속하지 않고 사용할 경우에는
define( 'UPLOADS', 'uploadpds' );
이렇게 입력하게 되면 워드프레스 설치경로\uploadpds로 변경되며
define( 'UPLOADS', '//root/uploadpds' );
이렇게 입력하더라도 워드프레스 설치경로\root\uploadpds 로 변경이 되어서 워드프레스 설치경로를 벗어나서 다른 디스크로의 할당이 불가능하다
심볼릭 링크를 이용하여 워드프레스 미디어 폴더 변경 방법
사실 편법에 해당하는 방법이기도 하며 일종의 가상폴더를 만드는 것이다
여기서 소개되는 방법은 윈도우10 기준으로 설명한다
심볼릭 링크는 쉽게 말하면 game이라는 폴더를 c드라이브에 만들어서 그동안 사용하고 있었는데 20tb(?)가 넘는 공간을 사용 중이었는데, 다른 사람들에게 공유를 하고 싶었다 하지만 c드라이브의 루트 폴더 접근 권한의 문제로 d드라이브의 game이라는 폴더를 만들어야 하는데 d드라이브는 전체 용량이 1tb 밖에 없기 때문에 c드라이브의 data를 이동하는 것은 불가능하다
이 때 c드라이브의 game폴더를 심볼릭 링크를 걸어주면 d드라이브에는 game이라는 폴더가 보이게 되고 사람들이 실제 game폴더에 data를 읽기,쓰기,수정,삭제 하더라도 사실 c드라이브의 game폴더의 data가 변하게 되고 d드라이브는 위치만 가상으로 표현해 준 것이다
예제로 위에 알려줬던 멀티 사이트 업로드 폴더를 변경해보기로 하겠다
c:\워드프레스 설치경로\wp-content\uploads\sites\14 폴더의 업로드 경로를 d:\uploads\sites\14 폴더로 바꿔 보도록 하겠다
실제 d드라이브 경로를 사용 가능하도록 가상 폴더인 ’14’ 폴더를 c드라이브에 만들어 주는 것이다
사전에 c:\워드프레스 설치경로\wp-content\uploads\sites\14 폴더에 있는 DATA를 d:\uploads\sites\14 폴더에 복사한다
사용방법은 시작 -> powershell 입력 -> 우클릭 -> 관리자 권한 실행을 한다
명령어는 다음과 같다
New-Item -ItemType SymbolicLink -Path "폴더 위치" -Name "가상 폴더명" -Target "가상 폴더명의 실제 폴더 위치"
폴더 위치는 가상 폴더를 만들 폴더 위치를 뜻한다
명령어를 예제와 같이 사용하면
New-Item -ItemType SymbolicLink -Path "c:\wp\wp-content\upload\sites" -Name "14" -Target "d:\uploads\sites\14"
이제 워드프레스 미디어 폴더에 파일을 업로드하면 d드라이브에 저장되는 것을 확인 할 수 있다