{"id":17369640,"url":"https://github.com/jblond/debian_build_apache24","last_synced_at":"2025-04-15T03:26:50.469Z","repository":{"id":27446167,"uuid":"30924694","full_name":"JBlond/debian_build_apache24","owner":"JBlond","description":"Build apache 2.4 on debian from scratch","archived":false,"fork":false,"pushed_at":"2025-03-03T09:19:38.000Z","size":211,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-28T15:05:56.733Z","etag":null,"topics":["apache","c","debian","httpd","shell"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JBlond.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-02-17T16:04:11.000Z","updated_at":"2025-03-02T07:55:25.000Z","dependencies_parsed_at":"2023-11-25T20:27:29.500Z","dependency_job_id":"98c652a2-b0d2-431f-bb5b-a62f89ab174f","html_url":"https://github.com/JBlond/debian_build_apache24","commit_stats":{"total_commits":377,"total_committers":2,"mean_commits":188.5,"dds":"0.37135278514588854","last_synced_commit":"93812641b9937d4a562f7bead387ed921cdc5ec0"},"previous_names":[],"tags_count":55,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JBlond%2Fdebian_build_apache24","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JBlond%2Fdebian_build_apache24/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JBlond%2Fdebian_build_apache24/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JBlond%2Fdebian_build_apache24/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JBlond","download_url":"https://codeload.github.com/JBlond/debian_build_apache24/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248999342,"owners_count":21196186,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache","c","debian","httpd","shell"],"created_at":"2024-10-16T00:05:59.231Z","updated_at":"2025-04-15T03:26:50.436Z","avatar_url":"https://github.com/JBlond.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Build last apache2.4.x + mod fcgid + last OpenSSL + mod_security\n\nBuild apache 2.4 on debian from scratch with a semi automatic setup. Since OpenSSL 3.0.x this works only on x86_64 Systems. 32 bit is no longer supported.\n\n```bash\n#clone\ngit clone https://github.com/JBlond/debian_build_apache24.git\ncd debian_build_apache24\n```\n\n## Inastall \u0026\u0026 Update \u0026\u0026 manage existing Installation\n\nUse the make script\n\n```ini\n make prepare       prepares the system for building\n make build         build from sources, but no daemon installation\n make clean         clear build artifacts\n make purge         Removes everything from this on the system.\n make install       install as daemon\n make uninstall     uninstall daemon\n make update        update from the sources and install as daemon\n make graceful      graceful apache restart\n make stop          stops apache\n make start         starts apache\n make checksyntax   apache config syntax check\n```\n\nThe new apache will be installed in /opt/apache2\n\n### Raspberry PI note or 32bit / x86 builds\n\n\u003cdetails\u003e\u003csummery\u003eChanges needed\u003c/summery\u003e\n\nIn order to get this build working on a raspberry pi your need to delete two parameters in build_apache.sh\n\nin the openssl config options delete `enable-ec_nistp_64_gcc_128`\n\nin the httpd configure option delete `--enable-nonportable-atomics=yes`\n\nlook for several /opt/openssl/lib64 in the ldflags and remove the 64\n\n\nPatches are more than welcome to have that in a single script. Fork this repo and open a PR.\n\u003c/details\u003e\n\n## Manage the Service\n\n```BASH\n# To start apache\nsudo /opt/apache2/bin/httpd -k start\n\n# To stop apache\nsudo /opt/apache2/bin/httpd -k stop\n\n# To restart apache\nsudo /opt/apache2/bin/httpd -k graceful\n```\n\n# troubleshooting apache config\n\n```BASH\nsudo /opt/apache2/bin/httpd -S\n```\n\n### systemctl\n\n```BASH\nsystemctl status apachectl\n```\n\n## Bulltet proof SSL Configuration\n\n- [SSL config](https://raw.githubusercontent.com/JBlond/debian_build_apache24/master/ssl.conf)\n- [SSL TR-03116-4 Apache config from Bundesamts für Sicherheit in der Informationstechnik (BSI)](https://raw.githubusercontent.com/JBlond/debian_build_apache24/master/ssl-bsi-tr-03116-4.conf)\n\n## httpd apache MPMs\n\nThis builds all available mpms. You can load them in httpd.conf. event mpm is loaded set in httpd.conf by this script. There can be only one mpm at the time. It is not advised to change the mpm during restart. For that stop and start apache.\n\n\u003cdetails\u003e\u003csummery\u003eLocal the MPM's\u003c/summery\u003e\u003cbr\u003e\n\n```ini\nLoadModule mpm_event_module modues/mod_mpm_event.so\n\nLoadModule mpm_worker_module modues/mod_mpm_worker.so\n\nLoadModule mpm_prefork_module modues/mod_mpm_prefork.so\n```\n\n\u003c/details\u003e\n\n### Event MPM\n\nEvent MPM depends on APR's atomic compare-and-swap operations for thread synchronization (`--enable-nonportable-atomics=yes`). This will cause APR to implement atomic operations using efficient opcodes not available in older CPUs.\n\n## Third party modules\n\n- mod_brotli\n- mod_fcgid\n- mod_md\n- mod_security 2 [example config](https://raw.githubusercontent.com/JBlond/debian_build_apache24/master/1_security_mod_security.conf)\n- mod_xsendfiles [code](https://github.com/nmaier/mod_xsendfile)\n\n## mod_h[ttp]2\n\n```ini\nLoadModule http2_module modules/mod_http2.so\n```\n\nBy default, the HTTP/2 protocol is not enabled anywhere in your server.\nYou can add this for the server in general or for specific vhosts.\n\n```ini\nProtocolsHonorOrder On\nProtocols h2 h2c http/1.1\nH2Direct On\n```\n\nFor more information see https://icing.github.io/mod_h2/howto.html\n\n## mod_brotli\n\nbrotli compression with deflate as fallback\n\n```ini\nLoadModule brotli_module modules/mod_brotli.so\nAddOutputFilterByType BROTLI;DEFLATE text/html text/plain text/xml text/php text/css text/js text/javascript text/javascript-x application/x-javascript font/truetype\nAddOutputFilterByType BROTLI;DEFLATE application/javascript application/rss+xml\nDeflateCompressionLevel 9\n```\n\n## mod_zstd\nZstd compression with brotli as fallback , Suggest you to Br zstd choose one , more information see https://github.com/facebook/zstd/blob/dev/README.md\nOnly us project Is the first support zstd !\n```xml\nLoadModule zstd_module modules/mod_zstd.so\n\u003cIfmodule mod_zstd.c\u003e\nZstdCompressionLevel 18\nAddOutputFilterByType ZSTD_COMPRESS text/plan text/html text/css application/wasm\n application/x-javascript application/json application/x-font-ttf application/vnd.ms-fontobject\nAddOutputFilter ZSTD_COMPRESS js css wasm hdr cr3\n\u003c/Ifmodule\u003e\n``` \n\n## PHP setup\n\n[PHP setup](php.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjblond%2Fdebian_build_apache24","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjblond%2Fdebian_build_apache24","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjblond%2Fdebian_build_apache24/lists"}