apache-win32
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
Name: Apache2 (+ PHP) Short Name: httpd URL: http://www.apache.org Version: 2.4.37 Security Critical: no License: Apache Version 2.0 License File: NOT_SHIPPED Description: This is a checked-in copy of Apache2 with OpenSSL and PHP for Windows. It is used by the Blink layout tests. To update, you'll need to fetch Apache2 and PHP. PHP can be found at http://windows.php.net/downloads/releases/archives/. Make sure your Apache binary matches the PHP one and your PHP build is the TS (thread-safe) one. As of writing, PHP builds against the binaries at https://www.apachelounge.com/download/. The most recent update used: 33afeb018e0cee8592d44abbf72fda37f6a35586aeb5f4b4c1b717c681d82dd8 httpd-2.4.37-win64-VC15.zip cf4f192bfab0b59b6af64a2ce9f4a0394ebce1a695d0f1a478c4443e601f9f87 php-7.2.12-Win32-VC15-x64.zip To update: 1. Go to the Chromium third_party directory and back up apache-win32, for example by renaming it as apache-win32.bak. 2. Download Apache2, unpack, and move to "apache-win32". This directory should contain metadata files and bin/ and modules/ subdirectories. 3. Copy ".gitignore" and "README.chromium" to the new apache-win32 directory. 4. Download PHP and unpack; copy "readme-redist-bins.txt" to your Apache directory, copy "php*ts.dll" to bin/, and copy "php*apache2_*.dll" to modules/. 5. It might be necessary to copy other DLL files to the directories where the relevant binaries are present. Update remove_files_not_needed_for_chromium.sh accordingly. 6. Verify that Apache2 works, for example by running "run-blink-httpd" in the Blink tools directory. Update the win-httpd.conf configuration file if necessary. 7. Update filenames as necessary and delete files that aren't need for Chromium using remove_files_not_needed_for_chromium.sh. 8. Copy vsruntime{version}.dll from the corresponding MSVC version to bin/. (Note VC15/MSVC2017 and VC14/MSVC2015 are both version 140.) See also Microsoft's documentation: https://docs.microsoft.com/en-us/cpp/ide/determining-which-dlls-to-redistribute?view=vs-2017 9. Copy the UCRT DLLs from the Windows SDK. Note this includes both api-ms-win-*.dll and ucrtbase.dll. See also Microsoft's documentation: https://docs.microsoft.com/en-us/cpp/ide/universal-crt-deployment?view=vs-2017 We use the Local Deployment option because some of Chromium's bots do not include a full install. https://crbug.com/910745 10. Upload the executables and DLLs to Google Storage, to the chromium-apache-win32 bucket. See http://g.co/bugatrooper in order to get permission to upload. Upload all exe, dll and so binaries, e.g.: % find apache-win32/bin -name '*.exe' | upload_to_google_storage.py --bucket chromium-apache-win32 - % find apache-win32/bin -name '*.dll' | upload_to_google_storage.py --bucket chromium-apache-win32 - % find apache-win32/modules -name '*.so' | upload_to_google_storage.py --bucket chromium-apache-win32 - % find apache-win32/modules -name '*.dll' | upload_to_google_storage.py --bucket chromium-apache-win32 - 11. Optionally, prune the files that were uploaded and run gclient runhooks to verify that they are re-downloaded. Remember to clean up any temp files used in the above process before uploading a CL. The CL should contain sha1 files but not actual binaries.