Fedora 16에서 /var/www/를 /srv/www/로 이동합니다.

Fedora 16에서 /var/www/를 /srv/www/로 이동합니다.

저는 Linux, Apache, PHP, mysql을 구성하는 방법을 배우고 있습니다.

나는 이것을 따라 갔다속도. /var/www/ 아래의 파일 및 폴더에 대한 root:www-dev의 권한을 설정하는 방법

이제 /var/www/ 디렉토리를 이동하는 방법을 알고 싶고 내가 설정한 권한이 유지될 것이라고 가정합니다. 나는 아파치에게 해당 디렉토리의 위치가 변경되었음을 알리기 위해 일부 아파치 구성을 편집해야 한다고 확신합니다.

mysql이 어디에 있는지 잘 모르겠습니다. 또한 php가 apache 모듈이므로 /var/www/ 어딘가에 있을 것이라고 가정합니다.

저는 단지 일반적인 Linux와 간단한 웹 서버 구성 방법을 이해하려고 노력하고 있습니다.


현재 구성은 내가 설정한 권한을 제외하고 기본값입니다.

# yum install httpd
# yum install mysql mysql-server
# yum install php php-mysql

답변1

안전한 방법으로 하세요!

cp -pr /var/www /srv/www

전체 권한(-p 스위치)을 유지하면서 /var/www의 내용을 새 폴더/srv/www에 재귀적으로(-r 스위치) 복사합니다.

당신은 변화해야

DocumentRoot 

웹사이트 또는 웹 호스팅 구성 파일의 설정입니다.

어떤 php 모듈이나 mysql 모듈이 귀하의 상황에 적합한지 걱정할 필요가 없습니다.

답변2

/var및 가 /srv동일한 파일 시스템에 있는 경우 www디렉터리를 한 파일 시스템에서 다른 파일 시스템으로 원자적으로 이동할 수 있습니다.

mv /var/www /srv/

이렇게 하면 파일이 열려 있는 모든 프로세스에서 www파일이 열린 상태로 유지됩니다.

/var과(가) 다른 파일 시스템에 있는 경우 파일을 복사한 후 삭제하는 동안 전환 기간이 있으므로 파일을 이동하기 전에 해당 파일을 사용하는 서비스를 중지하는 /srv것이 좋습니다 .www

이 경우 가동 중지 시간을 최소화하려면 다음을 수행하세요.

  1. 권한을 고려하여 파일을 복사합니다.

    cp -a /var/www /srv/
    
  2. /srv/www대신 를 가리키도록 구성 파일을 편집합니다 /var/www.
  3. 아래 파일을 삭제하세요 /var/www.

먼저 복사한 다음 삭제하면 파일 복사본이 두 개 존재하는 전환 기간이 있습니다. 따라서 www전환 중에 이 디렉터리에 아무것도 기록되지 않도록 해야 합니다. 그렇지 않으면 두 복제본이 동기화되지 않고 일부 데이터가 손실될 수 있습니다.

변경해야 할 사항을 확인하세요.

  • 다음에 대한 참조를 위해 아래의 파일 /etc또는 /var/www그 자체 아래의 파일을 검색하십시오 /var/www.

    grep -r '/var/www' /etc /var/www
    
  • 참조된 절대 심볼릭 링크를 찾으세요 /var/www.

    find /etc /var/www -lname '/var/www*'
    

답변3

이를 변경해야 DocumentRoot하지만 다음과 같이 할 수도 있습니다.

ln -si /var/www /srv/www

그러면 첫 번째에서 두 번째로 심볼릭 링크가 생성됩니다. 또는 kaji가 말했듯이 /var/www를 /srv/www로 심볼릭 링크하는 대신 위 명령에서 두 매개 변수를 바꾸면 됩니다.

관련 정보