1. Если ещё не установлен корневой сертификат, то в папке userdata\config\cert_files кликнуть на rootCA.crt и нажать установить. Выбор хранилища - доверенные корневые центры сертификации.
2. В папке userdata создать файл pre_start.tpl.bat со следующим содержанием:
@echo OFF
setlocal enableextensions enabledelayedexpansion
set OPENSSL_CONF=%realprogdir%\modules\http\%httpdriver%\conf\openssl.cnf
set PATH=%PATH%;%realprogdir%\modules\http\%httpdriver%\bin
set CERTS_PATH=%realprogdir%\userdata\config\cert_files
set days=3660
set key_bits=2048
set dname=server
echo [trust_cert] > %dname%.cnf
echo subjectAltName=@alt_names >> %dname%.cnf
echo keyUsage=digitalSignature,keyEncipherment,dataEncipherment >> %dname%.cnf
echo extendedKeyUsage=serverAuth,clientAuth >> %dname%.cnf
echo [alt_names] >> %dname%.cnf
set /a count = 1
for /f "tokens=*" %%G in ('dir %realprogdir%\domains\ /b') do (
echo DNS.!count! = %%G >> %dname%.cnf
set /a count += 1
rem echo DNS.!count! = www.%%G >> %dname%.cnf
rem set /a count += 1
)
openssl genrsa -out %CERTS_PATH%\%dname%.key %key_bits%
openssl req -sha256 -new -utf8 -key %CERTS_PATH%\%dname%.key -out %dname%.csr -subj /emailAddress="info\@ospanel\.io"/C=RU/stateOrProvinceName="Russian Federation"/L=Moscow/O="Open Server Panel"/OU=Software/CN=%dname%
openssl x509 -sha256 -req -days %days% -in %dname%.csr -extfile %dname%.cnf -extensions trust_cert -CA %CERTS_PATH%\rootCA.crt -CAkey %CERTS_PATH%\rootCA.key -out %CERTS_PATH%\%dname%.crt
openssl x509 -in %CERTS_PATH%\%dname%.crt -noout -purpose
del %dname%.csr
del %dname%.cnf
Кому нужны алиасы с www, уберите rem'ы в цикле.
3. При запуске Open Server будет ругаться, что файл pre_start.bat не найден. Это давний баг (привет, Максим
Теперь при запуске Open Server все домены будут добавляться в файл server.crt как алиасы, после создания нового домена останется только перезапустить Open Server.
