Created
February 21, 2025 13:45
-
-
Save suiramus/070862f0d4ee7888b467a290b935103d to your computer and use it in GitHub Desktop.
Creeaza certificate ssl in acelasi director si instructiuni pentru vhost si host. De verificat.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| @echo off | |
| setlocal enableDelayedExpansion | |
| :: Setează variabilele | |
| set DOMAIN=mrk.local | |
| set WWW_DOMAIN=www.%DOMAIN% | |
| set COMPANY_NAME=My Company | |
| set COUNTRY=RO | |
| set STATE=Some-State | |
| set LOCALITY=Some-City | |
| set ORGANIZATION=%COMPANY_NAME% | |
| set ORGANIZATIONAL_UNIT=IT | |
| set EMAIL=admin@%DOMAIN% | |
| :: Calea către XAMPP | |
| set XAMPP_DIR=C:\xampp | |
| set OPENSSL_PATH=%XAMPP_DIR%\apache\bin\openssl.exe | |
| :: Directorul pentru site | |
| set BASE_DIR=%~dp0%DOMAIN% | |
| mkdir %BASE_DIR% | |
| :: Directorul pentru certificate | |
| set OUTPUT_DIR=%BASE_DIR%\ssl-certificates | |
| mkdir %OUTPUT_DIR% | |
| :: Creare fișier temporar pentru extensii | |
| set EXT_FILE=%~dp0san.ext | |
| echo [ req ] > %EXT_FILE% | |
| echo default_bits = 2048 >> %EXT_FILE% | |
| echo prompt = no >> %EXT_FILE% | |
| echo default_md = sha256 >> %EXT_FILE% | |
| echo distinguished_name = req_distinguished_name >> %EXT_FILE% | |
| echo x509_extensions = v3_req >> %EXT_FILE% | |
| echo [ req_distinguished_name ] >> %EXT_FILE% | |
| echo C = %COUNTRY% >> %EXT_FILE% | |
| echo ST = %STATE% >> %EXT_FILE% | |
| echo L = %LOCALITY% >> %EXT_FILE% | |
| echo O = %ORGANIZATION% >> %EXT_FILE% | |
| echo OU = %ORGANIZATIONAL_UNIT% >> %EXT_FILE% | |
| echo CN = %DOMAIN% >> %EXT_FILE% | |
| echo emailAddress = %EMAIL% >> %EXT_FILE% | |
| echo [ v3_req ] >> %EXT_FILE% | |
| echo subjectAltName = @alt_names >> %EXT_FILE% | |
| echo [ alt_names ] >> %EXT_FILE% | |
| echo DNS.1 = %DOMAIN% >> %EXT_FILE% | |
| echo DNS.2 = %WWW_DOMAIN% >> %EXT_FILE% | |
| :: Generare certificat SSL auto-semnat pentru toate variantele | |
| %OPENSSL_PATH% req -x509 -nodes -days 365 -newkey rsa:2048 -keyout %OUTPUT_DIR%\%DOMAIN%.key -out %OUTPUT_DIR%\%DOMAIN%.crt -subj "/C=%COUNTRY%/ST=%STATE%/L=%LOCALITY%/O=%ORGANIZATION%/OU=%ORGANIZATIONAL_UNIT%/CN=%DOMAIN%/emailAddress=%EMAIL%" -config %EXT_FILE% 2>> "%~dp0openssl_error.log" | |
| :: Creare fișier de instrucțiuni | |
| set INSTRUCTIONS_FILE=%BASE_DIR%\%DOMAIN%-instructions.conf | |
| ( | |
| echo ######################################################## | |
| echo # Instrucțiuni pentru configurarea VirtualHost | |
| echo ######################################################## | |
| echo. | |
| echo ------------------------- | |
| echo # 1. Adaugă în httpd-vhosts.conf | |
| echo ------------------------- | |
| echo. | |
| echo ^<VirtualHost *:80^> | |
| echo ServerName %DOMAIN% | |
| echo ServerAlias %WWW_DOMAIN% %MAIL_SUBDOMAIN% %WWW_MAIL_SUBDOMAIN% | |
| echo DocumentRoot "%BASE_DIR%" | |
| echo ^</VirtualHost^> | |
| echo. | |
| echo ^<VirtualHost *:443^> | |
| echo ServerName %DOMAIN% | |
| echo ServerAlias %WWW_DOMAIN% %MAIL_SUBDOMAIN% %WWW_MAIL_SUBDOMAIN% | |
| echo DocumentRoot "%BASE_DIR%" | |
| echo SSLEngine on | |
| echo SSLCertificateFile "%OUTPUT_DIR%\%DOMAIN%.crt" | |
| echo SSLCertificateKeyFile "%OUTPUT_DIR%\%DOMAIN%.key" | |
| echo ^</VirtualHost^> | |
| echo. | |
| echo ------------------------- | |
| echo # 2. Adaugă în C:\Windows\System32\drivers\etc\hosts | |
| echo ------------------------- | |
| echo. | |
| echo 127.0.0.1 %DOMAIN% | |
| echo 127.0.0.1 %WWW_DOMAIN% | |
| echo. | |
| echo ------------------------- | |
| echo # 3. Restart Apache după modificări | |
| echo ------------------------- | |
| echo. | |
| echo Deschide XAMPP Control Panel și apasă "Stop" apoi "Start" pe Apache. | |
| echo SAU rulează comanda: | |
| echo %XAMPP_DIR%\apache\bin\httpd.exe -k restart | |
| ) > %INSTRUCTIONS_FILE% | |
| :: Șterge fișierul temporar de extensii | |
| del %EXT_FILE% | |
| :: Confirmare | |
| echo Configurația a fost generată cu succes. | |
| echo Verifică fișierul: %INSTRUCTIONS_FILE% | |
| pause | |
| endlocal |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment