[linux] Apache 서버의 루트 디렉토리를 어떻게 변경합니까? [닫은]

아파치 서버의 문서 루트를 변경하는 방법을 아는 사람이 있습니까? 기본적으로 대신 디렉토리 localhost에서오고 싶습니다 ./users/spencer/projects/var/www

편집하다

나는 그것을 알아 냈습니다. 일부는 httpd.conf파일 변경을 제안 했지만 결국 파일을 찾고 /etc/apache2/sites-available/default루트 디렉토리를에서 /var/www로 변경 /home/myusername/projects_folder했습니다.



답변

파일 에서 DocumentRoot설정 을 변경 해야 httpd.conf합니다. 다음과 같은 상태 일 가능성이 있습니다./etc/apache2/conf/httpd.conf

좋아하는 편집기 ( Vim을 권장 함 )를 사용하여를 찾아로 DocumentRoot변경하십시오 /users/spencer/projects. 또한 다음과 같은 설정을 조금 더 살펴보십시오.

<Directory "/var/www">

또한 따옴표 안에있는 내용을 새 디렉토리로 변경하려고합니다. 이것은 사용자가 요청을 할 때 Apache가 해당 디렉토리에서 읽을 수있는 액세스 권한을 제공합니다.

이제 아파치 서비스 ( httpd -k restart)를 다시 시작 하면 좋습니다.

편집 : Apache2 사이트 설정 파일은 일반적으로 /etc/apache2/sites-available/ 데비안, 우분투 등 으로 유지됩니다 .


답변

이것은 Ubuntu 14.04 LTS 및 최신 릴리스에만 적용됩니다.

내 우분투 14.04 LTS에서 문서 루트는로 설정되었습니다 /var/www/html. 다음 파일에서 구성되었습니다.

/etc/apache2/sites-available/000-default.conf

그러니 그냥

sudo nano /etc/apache2/sites-available/000-default.conf

다음 줄을 원하는 것으로 변경하십시오.

DocumentRoot /var/www/html

또한

sudo nano /etc/apache2/apache2.conf

이것을 찾으십시오

<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

/var/www/html원하는 디렉토리로 변경 하십시오.

저장하십시오.

변경 사항을 저장 한 후 apache2 웹 서버를 다시 시작하면 완료됩니다. 🙂

sudo service apache2 restart


당신은 그래픽 텍스트 편집기를 선호하는 경우, 당신은 단지를 대체 할 수 sudo nanoa로 gksu gedit.


답변

편집해야했습니다 /etc/apache2/sites-available/default. 라인은 RDL에서 언급 한 것과 동일합니다.


답변

이것은 Ubunutu 14.04 용입니다.

파일 /etc/apache2/apache2.conf에서 디렉토리 이름이 없으면 다음과 같아야합니다.

<Directory /home/username>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

그리고 파일 /etc/apache2/sites-available/000-default.conf에 사용자 정의 디렉토리 이름, 즉 www를 포함해야합니다 :

DocumentRoot /home/username/www

위와 같지 않으면 서버를로드 할 때 오류가 발생합니다.
Forbidden You don't have permission to access / on this server


답변

apache2의 다른 포트에서 디렉토리를 변경하거나 여러 디렉토리에서 실행하는 올바른 방법은 다음과 같습니다.

apache2의 경우 구성 파일은 /etc/apache2이전 버전에서와 같이 단일 구성 파일 아래에 있으며 단일 구성 파일을 사용하지 않지만 /etc/apache2/apache2.conf기본 구성 파일 인 더 작은 구성 파일로 분할 됩니다. 다른 디렉토리에서 파일을 제공하려면 새로운 virtualhost conf 파일이 필요합니다. virtualhost conf 파일은 /etc/apache2/sites-available(사이트에서 활성화 된 파일을 편집하지 마십시오)에 있습니다. 기본 아파치 설치는 virtualhost conf 파일을 사용합니다 000-default.conf.

apache의 기본 설치 (포트 80의 localhost에서 실행되는 파일)에 사용되는 기본 가상 호스트 파일을 복사하여 새 가상 호스트 파일을 작성하여 시작하십시오. 디렉토리로 변경 /etc/apache2/sites-available한 다음로 복사 sudo cp 000-default.conf example.com.conf하여 파일 sudo gedit example.com.conf을 다음으로 편집하십시오 .

<VirtualHost *:80>
    ServerAdmin example@localhost
    DocumentRoot /home/ubuntu/example.com
</VirtualHost>

간결성을 위해 위 파일에서 중요하지 않은 행을 삭제했습니다. DocumentRoot웹 사이트 파일이 제공되는 디렉토리 경로는 다음과 같습니다 index.html.

예를 들어 파일을 제공 할 디렉토리를 작성하십시오. mkdir example.com로그인 한 사용자 이름이로 ubuntu변경 권한 인 경우와 같이 디렉토리의 소유자 및 기본 그룹을 변경합니다 sudo chown ubuntu:www-data example.com. 이것은 사용자에게 모든 액세스 권한을 부여 ubuntu하고 그룹에 대한 읽기 및 실행 액세스를 허용합니다 www-data.

이제 /etc/apache2/apache2.conf명령을 실행 하여 apache conf 파일 을 편집하고 닫는 태그 아래 sudo gedit apache2.conf줄을 찾아 <Directory /var/www/>아래 </Directory>에 다음을 추가하십시오.

<Directory /home/ubuntu/example.com>
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
</Directory>

지금있는 가상 호스트 설정 파일, 사용하거나 사용하지 않도록 설정하는 두 가지 명령이 있습니다 a2ensitea2dissite각각이. 우리 이제부터 example.com.conf파일 (동일한 포트를 사용하여 80기본 구성 파일 (에 의해 사용되는) 000-default.conf), 우리는 명령을 실행하여 기본 구성 파일을 해제해야 sudo a2dissite 000-default.conf의해 우리의 가상 호스트의 conf 파일을 사용 가능sudo a2ensite example.com.conf

이제 명령으로 서버를 다시 시작하거나 다시로드하십시오 sudo service apache2 restart. 이제 아파치는 기본 포트 인의 디렉토리 example.com에서 파일을 제공합니다 .localhost80

a2ensite명령은 기본적으로 사이트 사용 디렉토리 아래에 conf 파일에 대한 심볼릭 링크를 만듭니다.

이 답변 https://stackoverflow.com/a/41568701/2532763 에서 지적한 것처럼 사이트 사용 가능 또는 * 사용 가능 Directoy 내에서 파일을 편집하지 마십시오.

포트를 변경하고 다른 포트의 여러 디렉토리에서 실행하려면 다음을 수행하십시오.

이제 다른 포트에서 디렉토리를 실행해야하는 경우 virtualhost 파일을 다음과 같이 편집하여 포트 번호를 80에서 8080으로 변경하십시오.

<VirtualHost *:8080>
    ServerAdmin user@localhost
    DocumentRoot /home/ubuntu/work
</VirtualHost>

바로 아래에 편집 /etc/apache2/ports.conf및 추가Listen 8080Listen 80

example.com 디렉토리가 포트 8080을 사용하므로 포트 80에서 실행되는 기본 virtualhost conf 파일을 활성화 할 수 있습니다. sudo a2ensite 000-default.conf

이제 명령으로 서버를 다시 시작하거나 다시로드하십시오 sudo service apache2 restart. 이제 두 디렉토리에서 액세스 할 수 localhostlocalhost:8080


답변

LAMP로 작업하고 있었고 문서 루트 폴더를 변경하려면 / etc / apache2 / sites-available 폴더에 있는 기본 파일을
편집했습니다 . 동일한 작업을 수행하려면 다음과 같이 편집하십시오.

DocumentRoot /home/username/new_root_folder
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/username/new_root_folder>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

그런 다음 브라우저에 localhost를 입력하면 * / home / username / new_root_folder * 내용 이로드 됩니다.


답변

http.conf닉의 길을 찾지 못했다면

다음을 사용하여 Apache를 다시 시작하십시오. sudo service apache2 restart