[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 nano
a로 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>
지금있는 가상 호스트 설정 파일, 사용하거나 사용하지 않도록 설정하는 두 가지 명령이 있습니다 a2ensite
및 a2dissite
각각이. 우리 이제부터 example.com.conf
파일 (동일한 포트를 사용하여 80
기본 구성 파일 (에 의해 사용되는) 000-default.conf
), 우리는 명령을 실행하여 기본 구성 파일을 해제해야 sudo a2dissite 000-default.conf
의해 우리의 가상 호스트의 conf 파일을 사용 가능sudo a2ensite example.com.conf
이제 명령으로 서버를 다시 시작하거나 다시로드하십시오 sudo service apache2 restart
. 이제 아파치는 기본 포트 인의 디렉토리 example.com
에서 파일을 제공합니다 .localhost
80
이 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 8080
Listen 80
example.com 디렉토리가 포트 8080을 사용하므로 포트 80에서 실행되는 기본 virtualhost conf 파일을 활성화 할 수 있습니다. sudo a2ensite 000-default.conf
이제 명령으로 서버를 다시 시작하거나 다시로드하십시오 sudo service apache2 restart
. 이제 두 디렉토리에서 액세스 할 수 localhost
및localhost: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