웹사이트 검색

Ubuntu 16.04에서 Apache 웹 루트를 새 위치로 이동하는 방법


소개

Ubuntu에서 기본적으로 Apache2 웹 서버는 /var/www/html에 문서를 저장합니다. 일반적으로 나머지 운영 체제와 함께 루트 파일 시스템에 있습니다. 그러나 때때로 문서 루트를 별도의 마운트된 파일 시스템과 같은 다른 위치로 이동하는 것이 도움이 됩니다. 예를 들어, 동일한 Apache 인스턴스에서 여러 웹 사이트를 제공하는 경우 각각의 문서 루트를 자체 볼륨에 배치하면 특정 사이트 또는 클라이언트의 요구에 따라 확장할 수 있습니다.

이 가이드에서는 Apache 문서 루트를 새 위치로 이동하는 방법을 보여줍니다.

전제 조건

이 가이드를 완료하려면 다음이 필요합니다.

  • sudo 권한이 있는 루트가 아닌 사용자가 있는 Ubuntu 16.04 서버. Ubuntu 16.04 가이드를 사용한 초기 서버 설정에서 이러한 권한을 가진 사용자를 설정하는 방법에 대해 자세히 알아볼 수 있습니다.\n
  • Apache2 웹 서버: 아직 설정하지 않은 경우 심층 문서의 Apache 섹션인 Ubuntu 16.04에 Linux, Apache, MySQL, PHP(LAMP) 스택을 설치하는 방법을 안내할 수 있습니다.\n
  • 문서 루트의 새 위치: 새 문서 루트 위치는 필요에 따라 완전히 구성할 수 있습니다. 문서 루트를 다른 저장 장치로 이동하는 경우 장치의 마운트 지점 아래 위치를 선택해야 합니다.\n

이 예에서는 /mnt/volume-nyc1-01 디렉토리를 사용합니다. DigitalOcean에서 Block Storage를 사용하는 경우 이 가이드는 이 튜토리얼을 계속하기 전에 드라이브를 마운트하는 방법을 보여줍니다.

1단계 - 새 위치에 파일 복사

Apache를 새로 설치하면 문서 루트는 /var/www/html에 있습니다. 그러나 기존 서버로 작업하는 경우 해당 VirtualHost 지시문에 여러 문서 루트를 포함하여 설정이 상당히 다를 수 있습니다.

grep을 사용하여 추가 문서 루트의 위치를 검색할 수 있습니다. 활성 사이트에만 초점을 맞추기 위해 /etc/apache2/sites-enabled 디렉토리에서 검색합니다. -R 플래그는 grep이 출력에 DocumentRoot와 파일 이름을 모두 인쇄하도록 합니다.

  1. grep -R "DocumentRoot" /etc/apache2/sites-enabled

결과는 아래 출력과 비슷하지만 기존 설치에서는 결과의 이름과 수가 다를 수 있습니다.

Output
sites-enabled/000-default.conf DocumentRoot /var/www/html

grep의 피드백을 사용하여 이동하려는 파일을 이동하고 적절한 구성 파일을 업데이트하고 있는지 확인하세요.

이제 문서 루트의 위치를 확인했으므로 rsync를 사용하여 파일을 새 위치에 복사합니다. -a 플래그를 사용하면 권한 및 기타 디렉토리 속성이 유지되는 반면, -v는 자세한 출력을 제공하므로 진행 상황을 확인할 수 있습니다.

참고: 탭 완성을 사용하는 경우 추가될 수 있는 디렉토리에 후행 슬래시가 없는지 확인하십시오. 뒤에 슬래시가 있으면 rsync는 디렉토리의 내용을 포함하는 html 디렉토리로 전송하는 대신 마운트 지점으로 덤프합니다.

  1. sudo rsync -av /var/www/html /mnt/volume-nyc1-01

이제 구성을 업데이트할 준비가 되었습니다.

2단계 - 구성 파일 업데이트

Apache2는 전역 및 사이트별 구성 파일을 모두 사용합니다. 구성 파일의 계층 구조에 대한 배경 정보는 Ubuntu 또는 Debian VPS에서 Apache 웹 서버를 구성하는 방법을 살펴보십시오.

기존 설치로 작업하는 경우 grep 명령을 사용하여 이전에 찾은 가상 호스트 파일을 수정해야 합니다. 이 예에서는 기본적으로 Apache와 함께 제공되는 두 개의 가상 호스트 파일인 000-default.confdefault-ssl.conf를 살펴보겠습니다.

000-default.conf 파일을 편집하여 시작하겠습니다.

  1. sudo nano /etc/apache2/sites-enabled/000-default.conf

다음으로 DocumentRoot로 시작하는 줄을 찾아 새 위치로 업데이트합니다.

참고: 원래 경로가 표시된 다른 위치를 찾아 새 위치로 변경해야 합니다. 기본 설치에는 변경해야 하는 DocumentRoot 및 Directory 블록이 있습니다. 기존 설치에서 업데이트가 필요한 별칭 및 다시 쓰기와 같은 항목도 찾을 수 있습니다. grep의 출력에서 원본 문서 루트의 경로가 표시될 때마다 조사해야 합니다.

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
       DocumentRoot /mnt/volume-nyc1-01/html
        <Directory />
                Options FollowSymLinks
                AllowOverride None
       </Directory>
      <Directory /mnt/volume-nyc1-01/html/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Require all granted
        </Directory>

이러한 변경 사항을 저장한 후 SSL 구성으로 주의를 돌립니다. 새로 설치하는 경우 SSL이 아직 구성되지 않지만 나중에 만들어야 한다는 것을 기억하지 못하는 경우 나중에 일부 문제 해결을 방지하기 위해 ssl-default.conf를 업데이트하는 것이 좋습니다. 변화.

  1. sudo nano /etc/apache2/sites-available/ssl-default.conf
<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin webmaster@localhost
                DocumentRoot /mnt/volume-nyc1-01
 . . .

참고: SSL이 활성화되지 않은 경우 ssl-default.conf 파일은 /etc/apache2/sites-available에만 있습니다. a2ensite, sites-available의 파일에서 /etc/apache2/sites-enabled로 심볼릭 링크가 생성됩니다. 이 경우 어느 디렉토리에서나 파일을 편집할 수 있습니다.

3단계 - 아파치 재시작

구성 변경을 완료하면 configtest를 사용하여 구문이 올바른지 확인할 수 있습니다.

  1. sudo apachectl configtest

새로 설치하면 apachectl configtest에서 피드백을 받게 됩니다.

Output
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message Syntax OK

Syntax OK가 표시되면 웹 서버를 다시 시작합니다. 그렇지 않으면 보고된 문제를 추적하고 수정합니다.

다음 명령을 사용하여 Apache를 다시 시작하십시오.

  1. sudo systemctl reload apache2

서버가 다시 시작되면 영향을 받는 사이트를 방문하여 예상대로 작동하는지 확인하십시오. 편안하게 모든 것이 정돈되면 데이터의 원본을 제거하는 것을 잊지 마십시오.

결론

이 자습서에서는 Apache 문서 루트를 새 위치로 변경하는 방법을 설명했습니다. 이것은 단일 서버에서 여러 사이트를 효과적으로 호스팅하는 것과 같은 기본적인 웹 서버 관리에 도움이 될 수 있습니다. 또한 네트워크 블록 스토리지와 같은 대체 스토리지 장치를 활용할 수 있으며, 이는 요구 사항이 변경됨에 따라 웹 사이트를 확장하는 중요한 단계입니다.

바쁘거나 성장하는 웹 사이트를 관리하는 경우 프로덕션 웹 응용 프로그램 서버 설정을 개선하는 5가지 방법을 배우는 데 관심이 있을 수 있습니다.