Корневая переменная среды документа Apache / Nginx

RAID всегда нуждается в устройстве (по крайней мере, если вы используете md). Есть два пути. Вероятно, лучше использовать сетевое блочное устройство:

https://en.wikipedia.org/wiki/Network_block_device

Вы можете указать md использовать такое устройство только для записи (потому что оно слишком медленно для чтения ) с помощью mdadm ... --write-most .

Другой вариант - создать файл на сетевом томе (уровень файловой системы) и использовать его для устройства петли.

1
18.01.2019, 00:16
2 ответа

Вот одна из идей, так как я не нашел признаков переменной окружения --только конфигурации по умолчанию в различных дистрибутивах:

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
27.01.2020, 23:23

В Debian есть множество переменных среды Apache, но ни одной для корня документа.

Что /usr/sbin/apachectlделает, так это:

  1. найдите APACHE_CONFDIRи установите для него значение по умолчанию /etc/apache2, если оно не установлено.

  2. найдитеAPACHE_ENVVARS(файл переменных среды )и установите для него значение по умолчанию "$APACHE_CONFDIR/envvars", если оно не установлено. этот файл затем является источником.

  3. измените APACHE_ARGUMENTS, чтобы включить путь к каталогу конфигурации, если он был переопределен.

  4. установить путь по умолчанию к двоичному файлу/usr/sbin/apache2

  5. установить несколько других переменных...

Файл переменных среды по умолчанию содержит эти переменные:

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на другой каталог
  • ...

Вариантов так много! И, честно говоря, я не думаю, что ребята из Debian изменятся /var/www/htmlв ближайшем будущем. Почему они?

Но если они это сделают, вы, вероятно, увидите что-то вроде

This is the default welcome page used to test the correct operation of the Apache2 server after installation on Debian systems. If you can read this page, it means that the Apache HTTP server installed at this site is working properly. You should replace this file (located at /xxx/yyy/html/index.html) before continuing to operate your HTTP server.

К сожалению, я не могу сказать, как это делается в nginx.

1
27.01.2020, 23:23

Теги

Похожие вопросы