📄 configure.bat
字号:
print "$prefixe creating: [DIR] modules\\ssl\n" if ($verbose); system("md $apache\\src\\modules\\ssl");}print "$prefixe creating: [FILE] modules\\ssl\\Makefile\n" if ($verbose);my $first2 = $ssl;if ($first2 =~ m|^\.\.|) { $ssl = '..\\..\\..\\'.$ssl;}open(SRC, "<pkg.sslmod\\Makefile.win32") or die "$!";open(DST, ">$apache\\src\\modules\\ssl\\Makefile") or die "$!";while (<SRC>) { s|^(SSL_INC\s*)=.*|$1=$ssl\\include|g; s|^(SSL_LIB\s*)=.*|$1=$ssl\\lib|g; s|^(MOD_SSL_VERS_NUM\s*)=.*|$1=$V_MODSSL_NUM|g; s|^(MOD_SSL_VERS_STR\s*)=.*|$1=$V_MODSSL|g; print DST $_;}close(SRC);close(DST);my @F = glob("pkg.sslmod\\*");foreach $f (@F) { my $b = $f; $b =~ s|^pkg.sslmod\\||; next if ($b =~ m|^Makefile\..+|); print "$prefixe creating: [FILE] src\\modules\\ssl\\$b\n" if ($verbose); system("copy /b pkg.sslmod\\$b $apache\\src\\modules\\ssl >nul:");}## Applying: SSL Support#print "$prefixo SSL Support\n";open(FP, "$patch --forward --directory=$apache <pkg.sslsup\\sslsup.patch |") || die "$!";while (defined($line = <FP>)) { if ($line =~ m/^\|Index:\s+(\S+).*/) { my $f = $1; $f =~ s|/|\\|g; print "$prefixe patching: [FILE] $f\n" if ($verbose); }}close(FP);print "$prefixe creating: [FILE] src\\support\\mkcert.sh\n" if ($verbose);system("copy /b pkg.sslsup\\mkcert.sh $apache\\src\\support\\mkcert.sh >nul:");## Applying: SSL Configuration Additions#print "$prefixo SSL Configuration Additions\n";open(FP, "$patch --forward --directory=$apache <pkg.sslcfg\\sslcfg.patch |") || die "$!";while (defined($line = <FP>)) { if ($line =~ m/^\|Index:\s+(\S+).*/) { my $f = $1; $f =~ s|/|\\|g; print "$prefixe patching: [FILE] $f\n" if ($verbose); }}close(FP);if (not -d "$apache\\conf\\ssl.crt") { print "$prefixe creating: [DIR] conf\\ssl.crt\n" if ($verbose); system("md $apache\\conf\\ssl.crt");}print "$prefixe creating: [FILE] conf\\ssl.crt\\README.CRT\n" if ($verbose);system("copy /b pkg.sslcfg\\README.CRT $apache\\conf\\ssl.crt\\README.CRT >nul:");print "$prefixe creating: [FILE] conf\\ssl.crt\\Makefile\n" if ($verbose);system("copy /b pkg.sslcfg\\Makefile.crt $apache\\conf\\ssl.crt\\Makefile >nul:");print "$prefixe creating: [FILE] conf\\ssl.crt\\ca-bundle.crt\n" if ($verbose);system("copy /b pkg.sslcfg\\ca-bundle.crt $apache\\conf\\ssl.crt\\ca-bundle.crt >nul:");print "$prefixe creating: [FILE] conf\\ssl.crt\\snakeoil-ca-rsa.crt\n" if ($verbose);system("copy /b pkg.sslcfg\\snakeoil-ca-rsa.crt $apache\\conf\\ssl.crt\\snakeoil-ca-rsa.crt >nul:");print "$prefixe creating: [FILE] conf\\ssl.crt\\snakeoil-ca-dsa.crt\n" if ($verbose);system("copy /b pkg.sslcfg\\snakeoil-ca-dsa.crt $apache\\conf\\ssl.crt\\snakeoil-ca-dsa.crt >nul:");print "$prefixe creating: [FILE] conf\\ssl.crt\\snakeoil-rsa.crt\n" if ($verbose);system("copy /b pkg.sslcfg\\snakeoil-rsa.crt $apache\\conf\\ssl.crt\\snakeoil-rsa.crt >nul:");print "$prefixe creating: [FILE] conf\\ssl.crt\\snakeoil-dsa.crt\n" if ($verbose);system("copy /b pkg.sslcfg\\snakeoil-dsa.crt $apache\\conf\\ssl.crt\\snakeoil-dsa.crt >nul:");print "$prefixe creating: [FILE] conf\\ssl.crt\\server.crt\n" if ($verbose);system("copy /b pkg.sslcfg\\server.crt $apache\\conf\\ssl.crt\\server.crt >nul:");if (not -d "$apache\\conf\\ssl.csr") { print "$prefixe creating: [DIR] conf\\ssl.csr\n" if ($verbose); system("md $apache\\conf\\ssl.csr");}print "$prefixe creating: [FILE] conf\\ssl.csr\\README.CSR\n" if ($verbose);system("copy /b pkg.sslcfg\\README.CSR $apache\\conf\\ssl.csr\\README.CSR >nul:");print "$prefixe creating: [FILE] conf\\ssl.csr\\server.csr\n" if ($verbose);system("copy /b pkg.sslcfg\\server.csr $apache\\conf\\ssl.csr\\server.csr >nul:");if (not -d "$apache\\conf\\ssl.prm") { print "$prefixe creating: [DIR] conf\\ssl.prm\n" if ($verbose); system("md $apache\\conf\\ssl.prm");}print "$prefixe creating: [FILE] conf\\ssl.prm\\README.PRM\n" if ($verbose);system("copy /b pkg.sslcfg\\README.PRM $apache\\conf\\ssl.prm\\README.PRM >nul:");print "$prefixe creating: [FILE] conf\\ssl.csr\\snakeoil-ca-dsa.prm\n" if ($verbose);system("copy /b pkg.sslcfg\\snakeoil-ca-dsa.prm $apache\\conf\\ssl.prm\\snakeoil-ca-dsa.prm >nul:");print "$prefixe creating: [FILE] conf\\ssl.csr\\snakeoil-dsa.prm\n" if ($verbose);system("copy /b pkg.sslcfg\\snakeoil-dsa.prm $apache\\conf\\ssl.prm\\snakeoil-dsa.prm >nul:");if (not -d "$apache\\conf\\ssl.crl") { print "$prefixe creating: [DIR] conf\\ssl.crl\n" if ($verbose); system("md $apache\\conf\\ssl.crl");}print "$prefixe creating: [FILE] conf\\ssl.crl\\Makefile\n" if ($verbose);system("copy /b pkg.sslcfg\\Makefile.crl $apache\\conf\\ssl.crl\\Makefile >nul:");print "$prefixe creating: [FILE] conf\\ssl.crl\\README.CRL\n" if ($verbose);system("copy /b pkg.sslcfg\\README.CRL $apache\\conf\\ssl.crl\\README.CRL >nul:");if (not -d "$apache\\conf\\ssl.key") { print "$prefixe creating: [DIR] conf\\ssl.key\n" if ($verbose); system("md $apache\\conf\\ssl.key");}print "$prefixe creating: [FILE] conf\\ssl.key\\README.KEY\n" if ($verbose);system("copy /b pkg.sslcfg\\README.KEY $apache\\conf\\ssl.key\\README.KEY >nul:");print "$prefixe creating: [FILE] conf\\ssl.key\\snakeoil-ca-rsa.key\n" if ($verbose);system("copy /b pkg.sslcfg\\snakeoil-ca-rsa.key $apache\\conf\\ssl.key\\snakeoil-ca-rsa.key >nul:");print "$prefixe creating: [FILE] conf\\ssl.key\\snakeoil-ca-dsa.key\n" if ($verbose);system("copy /b pkg.sslcfg\\snakeoil-ca-dsa.key $apache\\conf\\ssl.key\\snakeoil-ca-dsa.key >nul:");print "$prefixe creating: [FILE] conf\\ssl.key\\snakeoil-rsa.key\n" if ($verbose);system("copy /b pkg.sslcfg\\snakeoil-rsa.key $apache\\conf\\ssl.key\\snakeoil-rsa.key >nul:");print "$prefixe creating: [FILE] conf\\ssl.key\\snakeoil-dsa.key\n" if ($verbose);system("copy /b pkg.sslcfg\\snakeoil-dsa.key $apache\\conf\\ssl.key\\snakeoil-dsa.key >nul:");print "$prefixe creating: [FILE] conf\\ssl.key\\server.key\n" if ($verbose);system("copy /b pkg.sslcfg\\server.key $apache\\conf\\ssl.key\\server.key >nul:");## Applying: SSL Module Documentation#print "$prefixo SSL Module Documentation\n";open(FP, "$patch --forward --directory=$apache <pkg.ssldoc\\ssldoc.patch |") || die "$!";while (defined($line = <FP>)) { if ($line =~ m/^\|Index:\s+(\S+).*/) { my $f = $1; $f =~ s|/|\\|g; print "$prefixe patching: [FILE] $f\n" if ($verbose); }}close(FP);if (not -d "$apache\\htdocs\\manual\\mod\\mod_ssl") { print "$prefixe creating: [DIR] htdocs\\manual\\mod\\mod_ssl\n" if ($verbose); system("md $apache\\htdocs\\manual\\mod\\mod_ssl");}@F = glob("pkg.ssldoc\\ssl_*");push(@F, "pkg.ssldoc\\index.html");foreach $f (@F) { my $b = $f; $b =~ s|^pkg.ssldoc\\||; print "$prefixe creating: [FILE] htdocs\\manual\\mod\\mod_ssl\\$b\n" if ($verbose); system("copy /b pkg.ssldoc\\$b $apache\\htdocs\\manual\\mod\\mod_ssl >nul:");}print "$prefixe creating: [FILE] htdocs\\manual\\images\\apache_pb.gif\n" if ($verbose);system("copy /b pkg.ssldoc\\apache_pb.gif $apache\\htdocs\\manual\\images\\apache_pb.gif >nul:");print "$prefixe creating: [FILE] htdocs\\manual\\images\\feather.jpg\n" if ($verbose);system("copy /b pkg.ssldoc\\feather.jpg $apache\\htdocs\\manual\\images\\feather.jpg >nul:");print "$prefixe creating: [FILE] htdocs\\manual\\images\\mod_ssl_sb.gif\n" if ($verbose);system("copy /b pkg.ssldoc\\mod_ssl_sb.gif $apache\\htdocs\\manual\\images\\mod_ssl_sb.gif >nul:");print "$prefixe creating: [FILE] htdocs\\manual\\images\\openssl_ics.gif\n" if ($verbose);system("copy /b pkg.ssldoc\\openssl_ics.gif $apache\\htdocs\\manual\\images\\openssl_ics.gif >nul:");## Applying: Addons#print "$prefixo Addons\n";open(FP, "$patch --forward --directory=$apache <pkg.addon\\addon.patch |") || die "$!";while (defined($line = <FP>)) { if ($line =~ m/^\|Index:\s+(\S+).*/) { my $f = $1; $f =~ s|/|\\|g; print "$prefixe patching: [FILE] $f\n" if ($verbose); }}print "$prefixe creating: [FILE] src\\modules\\extra\\mod_define.c\n";system("copy /b pkg.addon\\mod_define.c $apache\\src\\modules\\extra\\mod_define.c >nul:");print "$prefixe creating: [FILE] htdocs\\manual\\mod\\mod_define.html\n";system("copy /b pkg.addon\\mod_define.html $apache\\htdocs\\manual\\mod\\mod_define.html >nul:");## Apply: Win32 DevStudio-generated Makefiles#print "$prefixo DevStudio Makefiles\n";print "$prefixe patching: [FILE] src\\makefile.win\n" if ($verbose);open(FP, "<$apache\\src\\makefile.win") || die "$!";$data = '';$data .= $_ while (<FP>);close(FP);$data =~ s|(\n\s+)(cd \.\.\\\.\.\n)(\n)(_install:)|$1$2\tcd modules\\ssl$1\$\(MAKE\) \$\(MAKEOPT\) -f makefile RECURSE=0 \$\(CTARGET\)$1$2$3$4|s;$data =~ s|(\n\s+)(copy os\\win32\\\$\(LONG\)\\mod_proxy.*)|$1copy modules\\ssl\\mod_ssl.so \"\$\(INSTDIR\)\\modules\"$1$2|s;open(FP, ">$apache\\src\\makefile.win") || die "$!";print FP $data;close(FP);sub patch_mak { my ($ssl_base, $apache_base, $mak) = @_; my ($data, $src_base); # display action print "$prefixe patching: [FILE] src\\$mak\n" if ($verbose); # determine relative path to Apache src dir $src_base = ''; my @s = split(/\\/, $mak); $src_base = "..\\" x $#s; $src_base =~ s|\\$||; $src_base = "." if ($src_base eq ""); # read Makefile open(FP, "<$apache_base\\src\\$mak") || die "$!"; $data = ''; $data .= $_ while (<FP>); close(FP); # write backup file open(FP, ">$apache_base\\src\\$mak.orig") || die "$!"; print FP $data; close(FP); # patch Makefile $data =~ s|^(CPP_PROJ\s*)=|$1=/D \"EAPI\" /DMOD_SSL=$V_MODSSL_NUM |mg; # write Makefile open(FP, ">$apache_base\\src\\$mak") || die "$!"; print FP $data; close(FP);}my $mak;foreach $mak (qw( Apache.mak ApacheCore.mak ap\ap.mak main\gen_test_char.mak main\gen_uri_delims.mak os\win32\mod_proxy.mak os\win32\mod_auth_anon.mak os\win32\mod_cern_meta.mak os\win32\mod_digest.mak os\win32\mod_expires.mak os\win32\mod_headers.mak os\win32\mod_info.mak os\win32\mod_rewrite.mak os\win32\mod_speling.mak os\win32\mod_status.mak os\win32\mod_usertrack.mak os\win32\ApacheOS.mak regex\regex.mak)) { patch_mak($ssl, $apache, $mak);}## Final message#print "Done: source extension and patches successfully applied.\n";## Final hints#print "\n";print "Now proceed with the following commands:\n";print " \$ cd $apache\\src\n";print " \$ nmake /f makefile.win\n";print " \$ nmake /f makefile.win installr\n";print "\n";exit(0);__END__:endofperl
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -