fix install sh
This commit is contained in:
43
install.sh
43
install.sh
@@ -81,8 +81,8 @@ ${BOLD}Режим локальной сети (без интернета / AD-д
|
|||||||
--intranet Локальная сеть: HTTP или самоподписанный HTTPS
|
--intranet Локальная сеть: HTTP или самоподписанный HTTPS
|
||||||
--ssl TYPE none | selfsigned | custom | letsencrypt
|
--ssl TYPE none | selfsigned | custom | letsencrypt
|
||||||
--cert-dir PATH Папка со своими сертификатами (для --ssl custom)
|
--cert-dir PATH Папка со своими сертификатами (для --ssl custom)
|
||||||
--cert-fullchain FILE Файл сертификата в --cert-dir (по умолчанию: fullchain.pem / cert.pem)
|
--cert-fullchain FILE Файл сертификата (fullchain.pem, _wildcard.domain.pem, …)
|
||||||
--cert-key FILE Файл ключа в --cert-dir (по умолчанию: privkey.pem / key.pem)
|
--cert-key FILE Файл ключа (privkey.pem, _wildcard.domain-key.pem, …)
|
||||||
--nginx-http-port PORT HTTP-порт Nginx (если 80 занят, например 8080)
|
--nginx-http-port PORT HTTP-порт Nginx (если 80 занят, например 8080)
|
||||||
--nginx-https-port PORT HTTPS-порт Nginx (если 443 занят, например 8443)
|
--nginx-https-port PORT HTTPS-порт Nginx (если 443 занят, например 8443)
|
||||||
--offline Не скачивать Docker из интернета (только если уже установлен)
|
--offline Не скачивать Docker из интернета (только если уже установлен)
|
||||||
@@ -1426,6 +1426,36 @@ find_custom_cert_file() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
find_custom_cert_file_auto() {
|
||||||
|
local dir="$1"
|
||||||
|
local kind="$2"
|
||||||
|
local f base
|
||||||
|
|
||||||
|
shopt -s nullglob
|
||||||
|
if [[ "$kind" == "key" ]]; then
|
||||||
|
for f in "$dir"/*-key.pem "$dir"/*_key.pem "$dir"/*.key; do
|
||||||
|
if [[ -f "$f" ]]; then
|
||||||
|
shopt -u nullglob
|
||||||
|
echo "$f"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
shopt -u nullglob
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
for f in "$dir"/_wildcard*.pem "$dir"/*wildcard*.pem "$dir"/*.pem "$dir"/*.crt; do
|
||||||
|
[[ -f "$f" ]] || continue
|
||||||
|
base="$(basename "$f")"
|
||||||
|
[[ "$base" == *-key.pem || "$base" == *_key.pem ]] && continue
|
||||||
|
shopt -u nullglob
|
||||||
|
echo "$f"
|
||||||
|
return 0
|
||||||
|
done
|
||||||
|
shopt -u nullglob
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
resolve_custom_cert_source_dir() {
|
resolve_custom_cert_source_dir() {
|
||||||
if [[ -n "$CLI_CERT_DIR" ]]; then
|
if [[ -n "$CLI_CERT_DIR" ]]; then
|
||||||
SSL_CERT_DIR="$CLI_CERT_DIR"
|
SSL_CERT_DIR="$CLI_CERT_DIR"
|
||||||
@@ -1455,7 +1485,8 @@ prompt_custom_cert_settings() {
|
|||||||
echo ""
|
echo ""
|
||||||
echo -e "${BOLD}Свои SSL-сертификаты:${NC}"
|
echo -e "${BOLD}Свои SSL-сертификаты:${NC}"
|
||||||
echo " Положите на сервер файлы сертификата и ключа, затем укажите папку."
|
echo " Положите на сервер файлы сертификата и ключа, затем укажите папку."
|
||||||
echo " Поддерживаются имена: fullchain.pem / cert.pem и privkey.pem / key.pem"
|
echo " Поддерживаются имена: fullchain.pem, cert.pem, _wildcard.domain.pem"
|
||||||
|
echo " и ключи: privkey.pem, key.pem, _wildcard.domain-key.pem"
|
||||||
echo " Рекомендуемая папка: ${DEFAULT_CERT_UPLOAD_DIR}/"
|
echo " Рекомендуемая папка: ${DEFAULT_CERT_UPLOAD_DIR}/"
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
@@ -1513,10 +1544,12 @@ install_custom_certificates() {
|
|||||||
local src_fullchain src_key
|
local src_fullchain src_key
|
||||||
src_fullchain="$(find_custom_cert_file "$SSL_CERT_DIR" "$SSL_CERT_FULLCHAIN" \
|
src_fullchain="$(find_custom_cert_file "$SSL_CERT_DIR" "$SSL_CERT_FULLCHAIN" \
|
||||||
fullchain.pem cert.pem certificate.pem server.crt)" \
|
fullchain.pem cert.pem certificate.pem server.crt)" \
|
||||||
|| fail "Не найден файл сертификата в ${SSL_CERT_DIR}. Положите fullchain.pem или cert.pem, либо укажите --cert-fullchain"
|
|| src_fullchain="$(find_custom_cert_file_auto "$SSL_CERT_DIR" cert)" \
|
||||||
|
|| fail "Не найден файл сертификата в ${SSL_CERT_DIR}. Положите fullchain.pem, _wildcard.domain.pem и т.п., либо укажите --cert-fullchain"
|
||||||
src_key="$(find_custom_cert_file "$SSL_CERT_DIR" "$SSL_CERT_KEY" \
|
src_key="$(find_custom_cert_file "$SSL_CERT_DIR" "$SSL_CERT_KEY" \
|
||||||
privkey.pem key.pem server.key)" \
|
privkey.pem key.pem server.key)" \
|
||||||
|| fail "Не найден файл ключа в ${SSL_CERT_DIR}. Положите privkey.pem или key.pem, либо укажите --cert-key"
|
|| src_key="$(find_custom_cert_file_auto "$SSL_CERT_DIR" key)" \
|
||||||
|
|| fail "Не найден файл ключа в ${SSL_CERT_DIR}. Положите privkey.pem, domain-key.pem и т.п., либо укажите --cert-key"
|
||||||
|
|
||||||
validate_custom_certificate_pair "$src_fullchain" "$src_key"
|
validate_custom_certificate_pair "$src_fullchain" "$src_key"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user