Консоль после установки гостей с KVM и virt-install

Я пытаюсь установить несколько виртуальных машин с KVM в мою систему Debian Jessie. Я много исследовал, но пока не нашел полезного ответа на мою проблему.

Я подключился через ssh к своей главной машине и пытаюсь установить новую гостевую машину, выполнив следующую команду от имени пользователя root:

virt-install --connect qemu:///system -n vpsName --memory=5000 --vcpus=4 --disk path=/var/lib/libvirt/images/nix.img,size=125 -c /home/localuser/images/debian-8.6.0-amd64-netinst.iso --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type linux --os-variant generic --accelerate --network=bridge:br0 --hvm

После Через несколько секунд я получаю следующее сообщение:

Установка домена все еще выполняется. Вы можете повторно подключиться к консоль, чтобы завершить процесс установки.

У меня точный вопрос: как мне попасть в консоль установщика со стандартными подсказками установки (имя хоста, страна, ...) установщика Debian?

Один Метод, который я пробовал, был VNC на открытом порту, но я не могу подключиться. Он запрашивает пароль и затем зависает после ввода пароля.

Еще я попытался открыть соединение ssh с параметром -Y , а затем установить его, указав —- graphics none - -console pty, target_type = serial . Это тоже не сработало; Я застрял в зависшей командной строке.

Я уверен, что я не единственный, у кого была эта проблема. К сожалению, мне пока не удалось найти похожий пост с полезным ответом.

Спасибо за помощь!

С уважением. Текущий файл конфигурации довольно длинный и имеет много дубликатов, так как у меня есть 20 блоков , в основном ...

У меня есть веб-сайт с 20 различными сертификатами SSL, обслуживаемыми с помощью SNI. Текущий файл конфигурации довольно длинный и имеет много дубликатов, так как у меня есть 20 блоков с почти одинаковыми значениями для ServerAdmin , DocumentRoot ], ErrorLog и т. Д.

Единственными разными значениями являются ServerName, ServerAlias, SSLCertificateFile, SSLCertificateKeyFile .

Существует ли решение DRY (Don't Repeat Yourself) для этот набор конфигурации?

2
задан 27 December 2016 в 15:46
1 ответ

Из apache 2.4 можно использовать mod_macro

Пример использования:

a2enmod macro

Создайте файл /etc/apache2/conf-available/001-macro. conf:

<IfModule !macro_module>
  Error "mod_macro is required. To enable it run:  a2enmod macro"
</IfModule>

<Macro VHostLog $domain $port>
  LogLevel warn
  ErrorLog ${APACHE_LOG_DIR}/error_$domain_$port.log
  CustomLog ${APACHE_LOG_DIR}/access_$domain_$port.log vhost_combined
</Macro>

<Macro RedirectTo $protocol $domain>
  <If "'${well_known_enabled}' == 'On' && %{REQUEST_URI} =~ m#^/\.well-known(/|$)#">
    # Do nothing
  </If>
  <ElseIf "tolower(req('Host')) != '$domain' || tolower(%{REQUEST_SCHEME}) != '$protocol'">
    Redirect permanent / $protocol://$domain/
  </ElseIf>
</Macro>

<Macro EnableSSL>
  <IfModule !ssl_module>
    Error "mod_ssl is required. To enable it run:  a2enmod ssl"
  </IfModule>
  SSLEngine On
  SSLCertificateFile /opt/letsencrypt/${hostname}-fullchain.crt
  SSLCertificateKeyFile /opt/letsencrypt/${hostname}.key
</Macro>

<Macro DirGrantAll $dir>
  <Directory "$dir">
    Require all granted
  </Directory>
</Macro>

### VHostStandard

<Macro VHost $port $domain>
  Use VHostCustom $port $domain ${doc_root}/$domain
  Use DirGrantAll ${doc_root}/$domain
</Macro>

<Macro VHostHTTP $domain>
  Use VHostCustomHTTP $domain ${doc_root}/$domain
  Use DirGrantAll ${doc_root}/$domain
</Macro>

<Macro VHostHTTPS $domain>
  Use VHostCustomHTTPS $domain ${doc_root}/$domain
  Use DirGrantAll ${doc_root}/$domain
</Macro>

### VHostCustom

<Macro VHostCustom $port $domain $dir>
  ServerName $domain
  DocumentRoot "$dir"
  Use VHostLog $domain $port
</Macro>

<Macro VHostCustomHTTP $domain $dir>
  Use VHostCustom 80 $domain $dir
</Macro>

<Macro VHostCustomHTTPS $domain $dir>
  Use VHostCustom 443 $domain $dir
  Use EnableSSL
</Macro>

### VHostRedirect

<Macro VHostRedirect $port $server $redirect_protocol $redirect_domain>
  Use VHostCustom $port $server ${safe_doc_root}
  <Location />
    Require all granted
  </Location>
  Use RedirectTo $redirect_protocol $redirect_domain
</Macro>

<Macro VHostRedirectHTTP $server $redirect_protocol $redirect_domain>
  Use VHostRedirect 80 $server $redirect_protocol $redirect_domain
</Macro>

<Macro VHostRedirectHTTPS $server $redirect_protocol $redirect_domain>
  Use VHostRedirect 443 $server $redirect_protocol $redirect_domain
</Macro>

### VHostAlias
<Macro VHostAlias $port $server $redirect_protocol $redirect_domain>
  <VirtualHost *:$port>
    Use VHostRedirect $port $server $redirect_protocol $redirect_domain
  </VirtualHost>
</Macro>

<Macro VHostAliasHTTP $server $redirect_protocol $redirect_domain>
  Use VHostAlias 80 $server $redirect_protocol $redirect_domain
</Macro>

<Macro VHostAliasHTTPS $server $redirect_protocol $redirect_domain>
  Use VHostAlias 443 $server $redirect_protocol $redirect_domain
</Macro>

Включите conf

a2enconf 001-macro.conf

В вашем VHost-конфигураторе, например, запишите:

Use VHostHTTP www.example.com

Для работы некоторых макросов, описанных выше, необходимы некоторые директивы.

В /etc/apache2/apache2.conf:

PassEnv hostname
PassEnv doc_root
PassEnv safe_doc_root

В /etc/apache2/envars:

export hostname=$(hostname -s)
export doc_root=/var/www/html
export safe_doc_root=/var/www/empty

Перезапустите apache

systemctl restart apache2

Это всего лишь пример моих ранних экспериментов. Я также проверю, подходит ли, например, asible.

В макросах выше я всегда использую один сертификат на имя хоста. Конечно, это нужно адаптировать, чтобы использовать различные сертификаты на VHosts.

Смотрите https://httpd.apache.org/docs/2.4/mod/mod_macro.html

1
ответ дан 3 December 2019 в 12:37

Теги

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