This gives me the same 403 error when going to the site. Here is what I have for that part:
services.phpfpm.pools."example.org" = {
user = "sergio";
group = "users";
phpPackage = php';
settings = {
"listen.owner" = config.services.caddy.user;
"listen.group" = config.services.caddy.group;
"pm" = "dynamic";
"pm.max_children" = 5;
"pm.start_servers" = 2;
"pm.min_spare_servers" = 1;
"pm.max_spare_servers" = 5;
};
};
services.caddy.enable = true;
# we'll keep it simple and stick to plain http for now, though caddy supports https relatively easily
services.caddy.virtualHosts."http://example.org:80".extraConfig = ''
root * /run/media/sergio/vault/www/example.org
php_fastcgi unix/${config.services.phpfpm.pools."example.org".socket}
file_server
'';
# automatically create a directory for each site you will work on with appropriate ownership+permissions
systemd.tmpfiles.rules = [
"d /run/media/sergio/vault/www/example.org 0755 sergio users"
];
systemd.services."phpfpm-example.org".serviceConfig = {
PrivateDevices = lib.mkForce false;
PrivateTmp = lib.mkForce false;
ProtectSystem = lib.mkForce "off";
ProtectHome = lib.mkForce false;
};
}
sorry, can you provide context, i don’t follow what you mean?
The other thing I was meaning is that I am declaring(?) PHP and it’s extraConfigs twice. Was looking to have it in one, maybe, php.nix config and import it… Just a learning bit, not critical at all.
#configuration.nix
environment.systemPackages = with pkgs; [
devenv
direnv
php83Packages.php-codesniffer
(php83.buildEnv {
extensions = ({ enabled, all }: enabled ++ (with all; [
xdebug
imagick
]));
extraConfig = ''
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.idekey = gdbp
'';
})
spacevim
wget
wmutils-core
wp-cli
];
#lamp.nix
php' = pkgs.php83.buildEnv {
extensions = ({ enabled, all }: enabled ++ (with all; [
xdebug
imagick
]));
# any customizations to your `php.ini` go here
extraConfig = ''
memory_limit = 1024M
xdebug.mode = debug
xdebug.start_with_request = yes
xdebug.idekey = gdbp
'';