summary refs log tree commit diff
path: root/nixos/modules/services/web-servers/apache-httpd
AgeCommit message (Collapse)AuthorFilesLines
2022-11-13php: switch to `nts` by defaultPol Dellaiera1-1/+8
2022-10-21nixos/httpd: Make option adminAddr optionalJonas Heinrich1-3/+4
2022-08-31nixos/*: convert straggler options to MDpennae1-4/+4
2022-08-31nixos/*: convert options with admonitions to MDpennae2-19/+17
rendering changes only slightly, most changes are in spacing.
2022-08-31nixos/*: automatically convert option descriptionspennae1-3/+3
conversions were done using https://github.com/pennae/nix-doc-munge using (probably) rev f34e145 running nix-doc-munge nixos/**/*.nix nix-doc-munge --import nixos/**/*.nix the tool ensures that only changes that could affect the generated manual *but don't* are committed, other changes require manual review and are discarded.
2022-08-19nixos/*: mark pre-existing markdown descriptions as mdDocpennae1-1/+1
2022-08-06nixos/*: automatically convert option docspennae2-64/+64
2022-08-03nixos/*: normalize link formatpennae1-4/+2
make (almost) all links appear on only a single line, with no unnecessary whitespace, using double quotes for attributes. this lets us automatically convert them to markdown easily. the few remaining links are extremely long link in a gnome module, we'll come back to those at a later date.
2022-08-03nixos/*: replace <replaceable>s with «thing»pennae1-1/+1
we can't embed syntactic annotations of this kind in markdown code blocks without yet another extension. replaceable is rare enough to make this not much worth it, so we'll go with «thing» instead. the module system already uses this format for its placeholder names in attrsOf paths.
2022-07-30treewide: automatically md-convert option descriptionspennae1-7/+7
the conversion procedure is simple: - find all things that look like options, ie calls to either `mkOption` or `lib.mkOption` that take an attrset. remember the attrset as the option - for all options, find a `description` attribute who's value is not a call to `mdDoc` or `lib.mdDoc` - textually convert the entire value of the attribute to MD with a few simple regexes (the set from mdize-module.sh) - if the change produced a change in the manual output, discard - if the change kept the manual unchanged, add some text to the description to make sure we've actually found an option. if the manual changes this time, keep the converted description this procedure converts 80% of nixos options to markdown. around 2000 options remain to be inspected, but most of those fail the "does not change the manual output check": currently the MD conversion process does not faithfully convert docbook tags like <code> and <package>, so any option using such tags will not be converted at all.
2022-04-01nixos/logrotate: convert to freeformDominique Martinet1-13/+8
using freeform is the new standard way of using modules and should replace extraConfig. In particular, this will allow us to place a condition on mails
2022-01-08nixos/acme: ensure web servers using certs can access themWinter1-1/+7
2021-12-26nixos/acme: Add defaults and inheritDefaults optionLucas Savva2-5/+15
Allows configuring many default settings for certificates, all of which can still be overridden on a per-cert basis. Some options have been moved into .defaults from security.acme, namely email, server, validMinDays and renewInterval. These changes will not break existing configurations thanks to mkChangedOptionModule. With this, it is also now possible to configure DNS-01 with web servers whose virtualHosts utilise enableACME. The only requirement is you set `acmeRoot = null` for each vhost. The test suite has been revamped to cover these additions and also to generally make it easier to maintain. Test config for apache and nginx has been fully standardised, and it is now much easier to add a new web server if it follows the same configuration patterns as those two. I have also optimised the use of switch-to-configuration which should speed up testing.
2021-10-04nixos/doc: clean up defaults and examplesNaïm Favier2-8/+15
2021-08-22nixos/httpd: add none option to logFormatDaniel Șerbănescu1-1/+1
2021-08-20nixos/httpd: add virtualHosts.<name>.listenAddresses optionAaron Andersen2-7/+25
2021-06-12nixos/apache-httpd: Use pkgs.emptyDirectoryRobert Hensing1-1/+1
2021-05-11nixos/httpd: provide a stable path stable path to the configuration file for ↵Aaron Andersen1-7/+9
reloads
2021-03-02nixos/httpd: Fix httpd module for php8Elis Hirwing1-2/+4
2021-02-11nixos/httpd: fix lua pathsDaniel Nagy1-4/+8
Account for the fact that, when creating a lua package without the "withPackages" helper, we dont get an extra "lua" attribute in the package. Therefore we need to distinguish between the "withPackages" case and the direct ( or "empty" ) lua package. For example with this nixos config: ```nix { services.httpd = { enable = true; package = pkgs.apacheHttpd.override { luaSupport = true; lua5 = pkgs.lua5_3.withPackages (ps: with ps; [ luafilesystem ] ); }; }; } ``` Here we say that we want to have apache to use a lua, packaged with the `luafilesystem` module so that we can `require` that in scripts to render http responses. There, the set that gets assigned to `lua5 ` does not have a `luaversion` attribute, rather it has a `lua` attribute wherein lies a `luaversion` attribute. If we dont package additional modules, then we dont have that `lua` attribute in between and rather directly have to use `luaversion` directly.
2021-01-09nixos/apache-httpd: Suggest directory used security.acme.certs.<name>.webrootSandro Jäckel1-1/+1
2020-12-25nixos/httpd: set lua pathsDaniel Nagy1-0/+9
We conditionally set the lua paths for the Apache mod_lua module. This allows executing Lua script handlers to require modules, that have been packaged with the supplied Lua derivation of Apache. For more information, see: https://httpd.apache.org/docs/2.4/mod/mod_lua.html#luapackagecpath https://httpd.apache.org/docs/2.4/mod/mod_lua.html#luapackagepath
2020-11-24utillinux: rename to util-linuxGraham Christensen1-2/+2
2020-10-01nixos/httpd: remove unnecessary sendmail configurationKonrad Borowski1-3/+0
PHP now uses system-sendmail without special configuration.
2020-09-02nixos/acme: Add proper nginx/httpd config reload checksLucas Savva1-1/+1
Testing of certs failed randomly when the web server was still returning old certs even after the reload was "complete". This was because the reload commands send process signals and do not wait for the worker processes to restart. This commit adds log watchers which wait for the worker processes to be restarted.
2020-09-02nixos/acme: Restructure moduleLucas Savva1-22/+55
- Use an acme user and group, allow group override only - Use hashes to determine when certs actually need to regenerate - Avoid running lego more than necessary - Harden permissions - Support "systemctl clean" for cert regeneration - Support reuse of keys between some configuration changes - Permissions fix services solves for previously root owned certs - Add a note about multiple account creation and emails - Migrate extraDomains to a list - Deprecate user option - Use minica for self-signed certs - Rewrite all tests I thought of a few more cases where things may go wrong, and added tests to cover them. In particular, the web server reload services were depending on the target - which stays alive, meaning that the renewal timer wouldn't be triggering a reload and old certs would stay on the web servers. I encountered some problems ensuring that the reload took place without accidently triggering it as part of the test. The sync commands I added ended up being essential and I'm not sure why, it seems like either node.succeed ends too early or there's an oddity of the vm's filesystem I'm not aware of. - Fix duplicate systemd rules on reload services Since useACMEHost is not unique to every vhost, if one cert was reused many times it would create duplicate entries in ${server}-config-reload.service for wants, before and ConditionPathExists
2020-08-21Merge pull request #95809 from aanderse/logrotateAaron Andersen1-0/+19
nixos/logrotate: switch `paths` option type from listOf to attrsOf
2020-08-21nixos/httpd: configure log rotationAaron Andersen1-0/+19
2020-08-19Merge pull request #79123 from aanderse/apachectlAaron Andersen1-4/+10
nixos/httpd: remove impurity from /etc
2020-06-15nixos/acme: Also fix ordering for apacheArian van Putten1-0/+1
2020-04-29Merge pull request #85026 from talyz/php_buildenv_overrideElis Hirwing1-1/+1
php.buildEnv: Make the exported php package overridable, improve handling of currently enabled extensions, etc
2020-04-29php.buildEnv: Add phpIni attribute for easy access to the php.initalyz1-1/+1
2020-04-25Merge pull request #85043 from aanderse/httpd-2020Aaron Andersen2-20/+25
nixos/httpd: modernize module standards
2020-04-21nixos/httpd: some mod_php cleanupAaron Andersen1-4/+2
2020-04-21nixos/httpd: set modern default values for mpm and http2Aaron Andersen2-13/+13
2020-04-21nixos/httpd: run as non root userAaron Andersen1-3/+10
2020-04-17nixos/httpd: remove unnecessary overrideJan Tojnar1-1/+1
This was introduced in https://github.com/NixOS/nixpkgs/commit/c801cd1a047efa51055fd04698e316ddd503fd1b but it no longer seems necessary.
2020-04-17nixos/httpd: Use extensions from php packageJan Tojnar1-0/+1
After the recent rewrite, enabled extensions are passed to php programs through an extra ini file by a wrapper. Since httpd uses shared module instead of program, the wrapper did not affect it and no extensions other than built-ins were loaded. To fix this, we are passing the extension config another way – by adding it to the service's generated config. For now we are hardcoding the path to the ini file. It would be nice to add the path to the passthru and use that once the PHP expression settles down.
2020-04-10treewide: Per RFC45, remove all unquoted URLsMichael Reilly1-1/+1
2020-02-02nixos/httpd: override apachectl command to use generated httpd configurationAaron Andersen1-1/+10
2020-02-02Revert "nixos/httpd: symlink apache configuration to /etc/httpd/httpd.conf ↵Aaron Andersen1-3/+0
for use in the apachectl command" This reverts commit 336a6f471f1e40d4a440b4176c2a1b8db65fe007.
2020-02-01nixos/httpd: add http2 optionAaron Andersen2-1/+12
2020-01-31nixos/httpd: provision log directory with tmpfiles instead of mkdirAaron Andersen1-2/+10
2020-01-31nixos/httpd: code cleanupAaron Andersen2-101/+95
2020-01-23nixos/httpd: add services.httpd.virtualHosts.<name>.locations option to ↵Aaron Andersen3-7/+114
match nginx
2020-01-08nixos/httpd: symlink apache configuration to /etc/httpd/httpd.conf for use ↵Aaron Andersen1-0/+3
in the apachectl command
2020-01-06treewide: use attrs instead of list for types.loaOf optionsrnhmjoj1-7/+7
2019-12-30nixos/httpd: update default ssl protocolsAaron Andersen1-1/+1
2019-12-24nixos/httpd: limit serving web content to virtual hosts, convert ↵Aaron Andersen2-337/+462
virtualHosts option type from listOf to attrsOf, add ACME integration
2019-12-06nixos/apache-httpd: fix typo in extraConfig descriptionVanya Klimenko1-1/+1