본문 바로가기
Linux/Pogoplug

포고플러그 시리즈4에 아치리눅스 사용하기 (8-1) - 아파치 웹서버 DocumentRoot 변경하기

by 달토끼남편 2022. 10. 4.
앞서 아파치 웹서버를 설치했는데, USB  메모리에 설치가 되었다.
그냥 간단한 소개 페이지 정도만 만든다면 관계없지만 게시판도 설치하고 이런저런 데이터가 올라가다 보면 아무래도 서비스를 하려면 USB 메모리보다는 외장하드가 낫겠다.
 
먼저 /srv/http 에서 서비스하고 있는 파일들을 모두 외장하드로 옮겨준다.
그리고 소유권이 http에 있는지 확인 후 그렇지 않다면 바꿔준다.
 
chown -R http:http [외장하드 경로]/http
 
그리고 httpd.conf 파일을 열어 2군데를 수정한다.
 
nano /etc/httpd/conf/httpd.conf
 
 
DocumentRoot "[외장하드 경로]/http"
<Directory "[외장하드 경로]/http"> (원래 경로인 /srv/http 라고 되어 있는 부분을 찾아 수정한다.)
 
 
만약 index.html 파일만 가지고 있다면 접속했을 때 특별한 문제가 없지만 index.php 처럼 php 파일을 사용하고 있었다면 php.ini 파일도 수정을 해주어야 제대로 보인다.
 
nano /etc/php/php.ini
 
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:[외장하드 경로]/http
 
systemctl restart httpd
 
이제 접속해 보면 옮겨진 디렉토리에서 정상적으로 서비스되고 있음을 알 수 있다.
 
 
--------------------------
[2013.08.13 업데이트]
FTP로 연결 시 이전 /srv/http 로 연결이 되는 문제가 있었다.
 
/etc/passwd 에 보면 http 계정 정보가 있다.
여기서도 디렉토리 경로를 수정해주어야 http 계정으로 FTP에 연결했을 때 변경된 디렉토리로 접속이 된다.
 
 
nano /etc/passwd
 
 
http:x:33:33:http:[변경된 경로]/http:/bin/false
--------------------------
 
[2013.08.17 업데이트]
 
혹시라도 DocumentRoot를 변경한 후에 phpMyAdmin에서 사용자 추가 시 can't create file/write to "/tmp ..." 하면서 안되는 경우가 발생한다면 설정파일을 수정하자.
 
nano /etc/httpd/conf/extra/httpd-phpmyadmin.conf
 
 
php_admin_value open_basedir "[수정한 DocumentRoot]/:srv/:...... "
 
 
systemctl restart mysqld
systemctl restart httpd