services: httpd: Allow using it with PHP.
* gnu/services/web.scm (httpd): Make existing httpd-module API public. * doc/guix.texi (Apache HTTP Server): Document its usage with PHP-FPM. Signed-off-by: Christopher Baines <mail@cbaines.net>
This commit is contained in:
parent
cbea1e8dd2
commit
abc98e3be5
|
@ -50,6 +50,7 @@ Copyright @copyright{} 2018 Oleg Pykhalov@*
|
||||||
Copyright @copyright{} 2018 Mike Gerwitz@*
|
Copyright @copyright{} 2018 Mike Gerwitz@*
|
||||||
Copyright @copyright{} 2018 Pierre-Antoine Rouby@*
|
Copyright @copyright{} 2018 Pierre-Antoine Rouby@*
|
||||||
Copyright @copyright{} 2018 Gábor Boskovits@*
|
Copyright @copyright{} 2018 Gábor Boskovits@*
|
||||||
|
Copyright @copyright{} 2018 Florian Pelz@*
|
||||||
|
|
||||||
Permission is granted to copy, distribute and/or modify this document
|
Permission is granted to copy, distribute and/or modify this document
|
||||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||||
|
@ -16612,6 +16613,10 @@ within the store, for example @code{(file-append mod-wsgi
|
||||||
@end table
|
@end table
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
|
@defvr {Scheme Variable} %default-httpd-modules
|
||||||
|
A default list of @code{httpd-module} objects.
|
||||||
|
@end defvr
|
||||||
|
|
||||||
@deffn {Data Type} httpd-config-file
|
@deffn {Data Type} httpd-config-file
|
||||||
This data type represents a configuration file for the httpd service.
|
This data type represents a configuration file for the httpd service.
|
||||||
|
|
||||||
|
@ -16620,6 +16625,32 @@ This data type represents a configuration file for the httpd service.
|
||||||
The modules to load. Additional modules can be added here, or loaded by
|
The modules to load. Additional modules can be added here, or loaded by
|
||||||
additional configuration.
|
additional configuration.
|
||||||
|
|
||||||
|
For example, in order to handle requests for PHP files, you can use Apache’s
|
||||||
|
@code{mod_proxy_fcgi} module along with @code{php-fpm-service-type}:
|
||||||
|
|
||||||
|
@example
|
||||||
|
(service httpd-service-type
|
||||||
|
(httpd-configuration
|
||||||
|
(config
|
||||||
|
(httpd-config-file
|
||||||
|
(modules (cons*
|
||||||
|
(httpd-module
|
||||||
|
(name "proxy_module")
|
||||||
|
(file "modules/mod_proxy.so"))
|
||||||
|
(httpd-module
|
||||||
|
(name "proxy_fcgi_module")
|
||||||
|
(file "modules/mod_proxy_fcgi.so"))
|
||||||
|
%default-httpd-modules))
|
||||||
|
(extra-config (list "\
|
||||||
|
<FilesMatch \\.php$>
|
||||||
|
SetHandler \"proxy:unix:/var/run/php-fpm.sock|fcgi://localhost/\"
|
||||||
|
</FilesMatch>"))))))
|
||||||
|
(service php-fpm-service-type
|
||||||
|
(php-fpm-configuration
|
||||||
|
(socket "/var/run/php-fpm.sock")
|
||||||
|
(socket-group "httpd")))
|
||||||
|
@end example
|
||||||
|
|
||||||
@item @code{server-root} (default: @code{httpd})
|
@item @code{server-root} (default: @code{httpd})
|
||||||
The @code{ServerRoot} in the configuration file, defaults to the httpd
|
The @code{ServerRoot} in the configuration file, defaults to the httpd
|
||||||
package. Directives including @code{Include} and @code{LoadModule} are
|
package. Directives including @code{Include} and @code{LoadModule} are
|
||||||
|
|
|
@ -70,6 +70,11 @@
|
||||||
httpd-config-file-user
|
httpd-config-file-user
|
||||||
httpd-config-file-group
|
httpd-config-file-group
|
||||||
|
|
||||||
|
<httpd-module>
|
||||||
|
httpd-module
|
||||||
|
httpd-module?
|
||||||
|
%default-httpd-modules
|
||||||
|
|
||||||
httpd-service-type
|
httpd-service-type
|
||||||
|
|
||||||
<nginx-configuration>
|
<nginx-configuration>
|
||||||
|
|
Loading…
Reference in New Issue