61 lines
1.5 KiB
Nix
61 lines
1.5 KiB
Nix
|
import ./make-test.nix ({ pkgs, ... }:
|
||
|
|
||
|
{
|
||
|
name = "wordpress";
|
||
|
meta = with pkgs.stdenv.lib.maintainers; {
|
||
|
maintainers = [ grahamc ]; # under duress!
|
||
|
};
|
||
|
|
||
|
nodes =
|
||
|
{ web =
|
||
|
{ config, pkgs, ... }:
|
||
|
{
|
||
|
services.mysql.enable = true;
|
||
|
services.mysql.package = pkgs.mysql;
|
||
|
services.mysql.initialScript = pkgs.writeText "start.sql" ''
|
||
|
CREATE DATABASE wordpress;
|
||
|
CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'wordpress';
|
||
|
GRANT ALL on wordpress.* TO 'wordpress'@'localhost';
|
||
|
'';
|
||
|
|
||
|
services.httpd = {
|
||
|
enable = true;
|
||
|
logPerVirtualHost = true;
|
||
|
adminAddr="js@lastlog.de";
|
||
|
extraModules = [
|
||
|
{ name = "php7"; path = "${pkgs.php}/modules/libphp7.so"; }
|
||
|
];
|
||
|
|
||
|
virtualHosts = [
|
||
|
{
|
||
|
hostName = "wordpress";
|
||
|
extraSubservices =
|
||
|
[
|
||
|
{
|
||
|
serviceType = "wordpress";
|
||
|
dbPassword = "wordpress";
|
||
|
wordpressUploads = "/data/uploads";
|
||
|
languages = [ "de_DE" "en_GB" ];
|
||
|
}
|
||
|
];
|
||
|
}
|
||
|
];
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
testScript =
|
||
|
{ nodes, ... }:
|
||
|
''
|
||
|
startAll;
|
||
|
|
||
|
$web->waitForUnit("mysql");
|
||
|
$web->waitForUnit("httpd");
|
||
|
|
||
|
$web->succeed("curl -L 127.0.0.1:80 | grep 'Welcome to the famous'");
|
||
|
|
||
|
|
||
|
'';
|
||
|
|
||
|
})
|