Apache/Nginx "기본" 문서 루트 경로는 일반적으로 이지만 /var/www/html
이론적으로는 내일 변경될 수 있습니다.
배포 기본 및 공개적으로 유지 관리되는 환경 변수를 갖습니다(물론 기존 대문자 환경 변수와 충돌하지 않도록 직접 생성하는 대신 소문자로).그러면 내 기분이 훨씬 더 편안해질 거예요왜냐하면 나는 다음을 수행할 필요가 없기 때문입니다.
cat <<-EOF >> "$HOME"/.profile
export drt="/var/www/html"
drt() {
cd $drt/
}
EOF
문서 루트에 공통 배포판에 envar가 있습니까? 특히 데비안/아치?
답변1
환경 변수에 대한 증거를 찾지 못했기 때문에 다음과 같은 생각이 듭니다. 다양한 배포판의 기본 구성만 있습니다.
case $(lsb_release -i) in
(*Debian) conf=/etc/apache2/sites-available/000-default.conf;;
(*Arch) conf=/etc/httpd/conf/httpd.conf;;
esac
awk '/^[^#]*DocumentRoot/ { print "export drt=\""$2"\"" ORS
"drt() {" ORS
" cd \"$drt\"/" ORS
"}" }' "$conf" >> "$HOME"/.profile
모든 배포가 괜찮습니다.기본값을 결정합니다., 따라서 위의 방법에서도 기본 HTTPD 구성 파일이 어디에 있는지 알아야 합니다.
답변2
Debian에는 Apache 환경 변수가 많지만 문서 루트에 대한 환경 변수는 없습니다.
이것이 하는 일은 /usr/sbin/apachectl
:
설정되어 있지 않은 경우 찾아서
APACHE_CONFDIR
기본값으로 설정하세요/etc/apache2
.(환경 변수 파일)을 찾아
APACHE_ENVVARS
기본값으로 설정합니다("$APACHE_CONFDIR/envvars"
설정되지 않은 경우). 그런 다음 파일을 가져옵니다.APACHE_ARGUMENTS
재정의된 경우 구성 디렉터리에 대한 경로를 포함하도록 수정합니다 .바이너리의 기본 경로 설정
/usr/sbin/apache2
다른 변수를 설정하세요...
기본 환경 변수 파일에는 다음 변수가 포함되어 있습니다.
root@x250:/# grep export /etc/apache2/envvars
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
export APACHE_PID_FILE=/var/run/apache2$SUFFIX/apache2.pid
export APACHE_RUN_DIR=/var/run/apache2$SUFFIX
export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX
export LANG=C
export LANG
#export APACHE_LYNX='www-browser -dump'
#export APACHE_ARGUMENTS=''
#export APACHE2_MAINTSCRIPT_DEBUG=1
그래서 당신은 할 수 있습니다
MY_HACKED_APACHE_DOCUMENT_ROOT
변수 " " 추가/etc/apache2/envvars
및 *.conf 파일 수정- 또는 경로를 밀수입하여
APACHE_ARGUMENTS
수정된 *.conf에서 확인/설정하세요.<IfDefine>
- 또는 구성 디렉터리를
APACHE_CONFDIR
다른 경로로 변경하세요. <VirtualHost>
또는 다른 구성 파일을 포함하십시오.DocumentRoot
- 또는
/var/www/html
다른 디렉토리에 대한 심볼릭 링크 - ...
많은 옵션이 있습니다! 솔직히 말해서 데비안 사람들이 /var/www/html
가까운 미래에 바뀔 것이라고는 생각하지 않습니다. 왜 이런 일을 할까요?
하지만 그렇게 했다면 다음과 같은 내용이 표시될 수 있습니다.
이는 Debian 시스템에 설치한 후 Apache2 서버의 올바른 작동을 테스트하는 데 사용되는 기본 시작 페이지입니다. 이 페이지를 읽을 수 있다면 이 사이트에 설치된 Apache HTTP 서버가 제대로 작동하고 있다는 의미입니다. 당신은해야이 파일을 교체하세요(/xxx/yyy/html/index.html에 위치) 그런 다음 HTTP 서버로 진행합니다.
죄송합니다. nginx에서 어떻게 수행되는지 모르겠습니다.