- ๐งญ ืืงืืื
- ๐งฉ ืืชืงื ืช XAMPP
- ๐ข ืืคืขืื ืจืืฉืื ื ืฉื Apache
- โ ืืขืืืช ื ืคืืฆืืช ืืคืชืจืื ื
- โ๏ธ 1. โื ืืฉืื ืืคืขืืช ืืฉืืจืืช Apache2.4. ืงืื ืฉืืืื 1โ
- ๐ 2. โืืืืืืจ ืฉืื ืืื ื ืคืจืืโ ืื
NET::ERR_CERT_COMMON_NAME_INVALID - ๐ 3. โืืคืืจื 80 ืื 443 ืืืจ ืืฉืืืืฉโ
- ๐ฅ 4. โService Control Manager 7024: ืคืื ืงืฆืื ืื ืืืงืืชโ
- ๐ 5. ืงืืืฆื ืืืื (Log) ืฉื Apache
- โ๏ธ ืคืงืืืืช ืฉืืืืฉืืืช ืืืืืื
- ๐ ืืืืจืช Virtual Hosts (ืืืืืื ืื ืืงืืืืื)
- ๐ง ืืืคืื ืืืขืืืืช ื ืคืืฆืืช
- ๐ฏ ืกืืืื
- ๐ ืกืืื
๐งญ ืืงืืื
XAMPP ืืื ืืืืืช ืฉืจืช ืืงืืืืช ืืืืืืช ืืช Apache, MySQL (MariaDB), PHP ืึพPerl.
ืฉืืจืืช Apache ืืื ืืืืื โ ืืื ืื ืฉืืืืฉ ืืช ืืืชืจ ืฉืื ืืฉืืชื ืคืืชื http://localhost.
ืขื ืืืช, ืืคืชืืื ืจืืื ื ืชืงืืื ืืฉืืืืืช ืืืฉืจ ืื ืื ืกืื ืืืคืขืื ืืช Apache:
- โ โื ืืฉืื ืืคืขืืช ืืฉืืจืืช Apache2.4. ืงืื ืฉืืืื 1โ
- โ ๏ธ โืืคืืจื 80 ืชืคืืกโ
- ๐ โืืืืืืจ ืฉืื ืืื ื ืคืจืืโ ืื โNET::ERR_CERT_COMMON_NAME_INVALIDโ
ืืืจืื ืื ืืกืืืจ ืฉืืึพืืืจึพืฉืื โ ืืืืชืงื ื ืืขื ืคืชืจืื ืื ืืืขืืืช ืื ืคืืฆืืช.
๐งฉ ืืชืงื ืช XAMPP
- ืืืจื ืืช ืืืจืกื ืืืืจืื ื ืฉื XAMPP ืืืืชืจ ืืจืฉืื:
๐ https://www.apachefriends.org/download.html - ืืชืงื ืืช XAMPP ืื ืชืื ืคืฉืื (ืืื ืจืืืืื ืื ืชืืืื ืืืืืืื), ืืืืืื:
E:\xampp - ืืืืจ ืืืชืงื ื, ืืคืขื ืืช XAMPP Control Panel ืืื ืื ืืขืจืืช (Administrator).
๐ข ืืคืขืื ืจืืฉืื ื ืฉื Apache
- ืืืื ืืืงืจื ืฉื XAMPP ืืืฅ ืขื Start ืืื Apache.
- ืื ืืืื ืชืงืื, ืชืจืื:
Apache ... running - ืคืชื ืืช ืืืคืืคื ืืขืืืจ ืืืชืืืช:
http://localhost/ืืืืจื ืืืืคืืข ืืฃ ืืจืื ืืื ืฉื XAMPP.
ืื Apache ืื ื ืืืง โ ืืืฉื ืืงืจืื.
โ ืืขืืืช ื ืคืืฆืืช ืืคืชืจืื ื
โ๏ธ 1. โื ืืฉืื ืืคืขืืช ืืฉืืจืืช Apache2.4. ืงืื ืฉืืืื 1โ
ืกืืื: ืงืืืฅ ืืชืฆืืจื ืคืืื ืื ืืคืชื ืึพSSL ืืกืจ.
ืืืืงื:
ืคืชื PowerShell ืื CMD ืืื ืื ืืขืจืืช:
cd E:\xampp\apache\bin
.\httpd.exe -t
ืื ืืืคืืขื ืืืืขื:
AH00526: Syntax error on line 158 of E:/xampp/apache/conf/extra/httpd-ssl.conf:
SSLCertificateKeyFile: file 'E:/xampp/apache/conf/ssl/server.key' does not exist or is empty
ืืืฉืืขืืช ืืื ืฉืืกืจ ืงืืืฅ ืึพSSL.
ืคืชืจืื:
ืฆืืจ ืชืขืืืช SSL ืขืฆืืืช ืืืฉื:
cd E:\xampp\apache\bin
.\openssl.exe req -x509 -nodes -days 1095 -newkey rsa:2048 `
-keyout "../conf/ssl/server.key" `
-out "../conf/ssl/server.crt"
ืืคืฉืจ ืคืฉืื ืืืืืฅ ืขื Enter ืืื ืฉืืจื ืื ืืืืื ืคืจืืื:
ืืืื ื: IL ืืืืจ: ืืฉืจืื ืขืืจ: ืชื ืืืื ืืจืืื: hypo69 ืฉื ืืืืืื (CN): localhost
๐ 2. โืืืืืืจ ืฉืื ืืื ื ืคืจืืโ ืื NET::ERR_CERT_COMMON_NAME_INVALID
ืกืืื: ืืคืืคื ืื ืืืืจื ืืื (Chrome, Edge, Firefox) ืืืจ ืื ืืงืืืื ืชืขืืืืช ืืืืืืืช ืจืง CN=localhost.
ื ืืจืฉ ืฉืื ื ืืกืฃ subjectAltName (SAN).
ืคืชืจืื:
- ืฆืืจ ืงืืืฅ ืืืฉ:
E:\xampp\apache\conf\openssl-local.cnf - ืืืืง ืื ืืช ืืชืืื ืืื:
[ req ] default_bits = 2048 prompt = no default_md = sha256 x509_extensions = v3_req distinguished_name = req_distinguished_name [ req_distinguished_name ] C = IL ST = Israel L = Tel Aviv O = hypo69 OU = Dev CN = localhost [ v3_req ] subjectAltName = @alt_names [ alt_names ] DNS.1 = localhost IP.1 = 127.0.0.1 - ืฆืืจ ืืช ืืชืขืืื:
cd E:\xampp\apache\bin .\openssl.exe req -config "E:\xampp\apache\conf\openssl-local.cnf" ` -x509 -nodes -days 1095 -newkey rsa:2048 ` -keyout "../conf/ssl/server.key" ` -out "../conf/ssl/server.crt" - ืืืกืฃ ืืช ืืชืขืืื ืืืืกืื ืืชืขืืืืช ืืืืืื ืืช ืฉื Windows:
Import-Certificate -FilePath "E:\xampp\apache\conf\ssl\server.crt" ` -CertStoreLocation Cert:\LocalMachine\Root(ืื ืืื ืืช: ืืชืงื ืชืขืืื โ ืืืฉื ืืงืืื โ ืจืฉืืืืช ืืืฉืืจ ืืืืื ืืช) - ืืคืขื ืืืืฉ ืืช Apache:
net stop apache2.4 net start apache2.4
โ
ืขืืฉืื https://localhost ืึพhttps://127.0.0.1 ืืขืืื ืืื ืืืืจืืช ืืืืื.
๐ 3. โืืคืืจื 80 ืื 443 ืืืจ ืืฉืืืืฉโ
ืืืืงื:
netstat -ano | findstr :80
netstat -ano | findstr :443
ืื ืืคืืจื ืชืคืืก, ืืื ืื ืืฉืชืืฉ ืื:
tasklist | findstr <PID>
ืืฉืืื ื ืคืืฆืื:
- Skype
- IIS (World Wide Web Publishing Service)
- VMware
- Edge Update Service
ืคืชืจืื:
- ืกืืืจ ืื ืืฉืืช ืืช ืืฉืืจืืช ืฉืืฉืชืืฉ ืืคืืจื.
- ืื ืฉื ื ืืช ืืคืืจืืื ืฉื Apache:
ืขืจืื ืืช ืืงืืืฅ E:\xampp\apache\conf\httpd.conf:
Listen 80
โ ืืืืฃ ื:
Listen 8080
ืืืงืืืฅ E:\xampp\apache\conf\extra\httpd-ssl.conf:
Listen 443
โ ืืืืฃ ื:
Listen 8443
ืืขืช ืคืชื:
http://localhost:8080
https://localhost:8443
๐ฅ 4. โService Control Manager 7024: ืคืื ืงืฆืื ืื ืืืงืืชโ
ืกืืื: ืจืืฉืื ืืฉืืจืืช ืฉื Apache ืึพWindows ืคืืื.
ืคืชืจืื:
ืจืฉืื ืืืืฉ ืืช ืืฉืืจืืช:
cd E:\xampp\apache\bin
httpd.exe -k uninstall
httpd.exe -k install
๐ 5. ืงืืืฆื ืืืื (Log) ืฉื Apache
ืื ืืฉืืืืืช ื ืจืฉืืืช ืืื:
E:\xampp\apache\logs\error.log
ืืื ืืืืืง ืืช ืืฉืืจืืช ืืืืจืื ืืช:
Get-Content E:\xampp\apache\logs\error.log -Tail 30
โ๏ธ ืคืงืืืืช ืฉืืืืฉืืืช ืืืืืื
| ืคืงืืื | ืชืืืืจ |
|---|---|
httpd.exe -t | ืืืืงืช ืชืงืื ืืช ืงืืืฅ ืืงืื ืคืืืืจืฆืื |
httpd.exe -S | ืืฆืื ืืช ืจืฉืืืช ืึพVirtual Hosts |
net start apache2.4 | ืืคืขืื ืืช ืืฉืืจืืช |
net stop apache2.4 | ืขืืฆืจ ืืช ืืฉืืจืืช |
netstat -ano | ืืฆืื ืคืืจืืื ืคืชืืืื |
| `tasklist | findstr PID` |
certmgr.msc | ืคืืชื ืืช ืื ืื ืืชืขืืืืช |
services.msc | ืคืืชื ืืช ืจืฉืืืช ืืฉืืจืืชืื ืึพWindows |
๐ ืืืืจืช Virtual Hosts (ืืืืืื ืื ืืงืืืืื)
ืืคืฉืจ ืืืืืืจ ืฉืืคืจืืืงื ืฉืื billing-crm ืืืคืชื ืืืชืืืช https://crm.local ืืืงืื localhost/billing-crm.
- ืขืจืื ืืช ืืงืืืฅ:
C:\Windows\System32\drivers\etc\hostsืืืกืฃ ืฉืืจื:127.0.0.1 crm.local - ืขืจืื ืืช ืืงืืืฅ:
E:\xampp\apache\conf\extra\httpd-vhosts.confืืืืกืฃ:<VirtualHost *:443> ServerName crm.local DocumentRoot "E:/xampp/htdocs/billing-crm" SSLEngine on SSLCertificateFile "E:/xampp/apache/conf/ssl/server.crt" SSLCertificateKeyFile "E:/xampp/apache/conf/ssl/server.key" </VirtualHost> - ืืืืง ืืช ืืชืฆืืจื:
httpd.exe -t - ืืคืขื ืืืืฉ ืืช Apache ืืืฉ ืืืชืืืช:
https://crm.local
๐ง ืืืคืื ืืืขืืืืช ื ืคืืฆืืช
| ืืขืื | ืกืืื | ืคืชืจืื |
|---|---|---|
| Apache ืื ื ืืืง ืขื ืขืืืืช Windows | ืงืื ืคืืืงื ืคืืจืืื | ืืคืขื ืืื ืืช |
| โืืืืืืจ ืืื ื ืืืืืืโ | ืืกืจ ืฉืื SAN | ืฆืืจ ืชืขืืื ืขื alt_names |
| HTTPS ืื ืขืืื | ืคืืจื ืื ืืคืชื ืฉืืื | ืืืืง ืืช httpd-ssl.conf |
| Firefox ืขืืืื ืืฆืื ืืืืจื | ืืฉืชืืฉ ืืืืกืื ืชืขืืืืช ืืฉืื | ืืืื ืืื ืืช ืืช server.crt |
index.php ืจืืง | ืืขืืืช ืงืื ืื ืงืืืฅ ืืกืจ | ืฉืืืจ ืืืืืื ืื ืึพGit |
๐ฏ ืกืืืื
| ืฉืื | ืืืจื | ืคืงืืื |
|---|---|---|
| ืืืืง ืงืื ืคืืืืจืฆืื | ืืืืง ืชืงืื ืืช ืชืืืืจ | httpd.exe -t |
| ืฆืืจ SSL | ืฆืืจ ืชืขืืืช localhost | openssl req -config ... |
| ืืืกืฃ ืืชืขืืืืช ืืืืื ืืช | ืืกืจ ืืืืจืืช HTTPS | Import-Certificate |
| ืืืืง ืคืืจืืื | ืืื ืฉึพ80/443 ืคื ืืืื | netstat -ano |
| ืืคืขื ืืช Apache | ืืคืขื ืืช ืืฉืืจืืช | net start apache2.4 |
๐ ืกืืื
ืืืืจ ืืืฆืืข ืืฉืืืื ืืืื:
- Apache ืืคืขื ืืื ืฉืืืืืช.
- HTTPS ืืขืืื ืืื ืืืืจืืช ืืืคืืคื.
localhost,127.0.0.1ืืืืืืื ืื ืืืcrm.localืืืื ืืืืืืืื ืืืืื ืื.- ืชืืื ืืคืชื ืืืืืืง ืืชืจืื ืืงืืืืช ืืืืื ืืื ืขื ืฉืจืช ืืืืชื.