| 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. |