The shared web layer: Apache, PHP and Adminer on core #1
No reviewers
Labels
No labels
accessibility
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Keel-Linux/keel-apache-php!1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/the-shared-web-layer"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The third step of decision 0013's layer model, after the two database components. Upstream, LAMP and LAPP each install the same web stack, because each is built around its own database; with the database carried by a unit instead of being a parent layer, the web half is built once and both stacks are built on it. That sharing is the reason the unit work of decision 0010 exists, so this is where it pays off.
What is here
The intersection of the two upstream recipes and nothing either one does not have:
commonapache.mk,php.mk,adminer.mk,composer.mk, and the conf scriptsapache-vhost,apache-headers,apache-security,apache-ssl,php,adminer,adminer-apache,apache-cgi,tkl-webcp/var/wwwon 80 and 443,status.conf,phpinfo.php,cgi-bin/test.cgi, the files both stacks carry byte for byteconf.d/mainListenlines, five enabled modules and mod_php, the two enabled sites, the document root, PHP on the command lineWhat is left to the stacks, with the reason for each, is in README.rst: the database unit, the Adminer configuration that names a database, the landing page, the confconsole overlay, each stack's extra drivers, and LAMP's Upgrade header.
Built and booted on the build host
bt-layer apache-php --parent coreatSOURCE_DATE_EPOCH=1700000000, fab 1.1.1+keel2, parentcore7acf2c53: 129 seconds, 492 packages, 37,362 files, 3,540 symlinks, 56,133,883 bytes, sha256b9dd64db.bt-layerputturnkey.d/zz-ssl-ciphersin the child conf list on its own, becauseconf/apache-sslcarries the mark, which is the fix merged into buildtasks earlier today doing its job.The boot test, on a container assembled from
coreplus this layer, everything over the container's global IPv6 address, 25 seconds from boot to verdict:The first run of that test failed, and the failure was the test's: Adminer's vhost opens with
SSLEngine on, so 12322 is TLS only and a plain HTTP request there is answered 400 by Apache rather than by Adminer. The second commit fixes it and checks the page as well as the code.Tests
45 bats tests, kcov 100 percent (177/177) on
tests/lib/boot-test-lib.sh, gate raised from the bootstrap 0 to 100. COVERAGE.md records that this is the fifth copy of that library and that moving its shared half intokeel-linux/.githubis now due, before LAMP and LAPP add a sixth and a seventh.Test plan:
bats tests/boot-test.bats, 45 testsCOVERAGE_THRESHOLD=100 tests/coverage.shappliance / build-and-boot, which fetches the published layer: it becomes a required status once the layer is on the mirror. Nothing was published, the layer is staged in/mnt/builds/layers.