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'");
 | 
						|
 | 
						|
 | 
						|
    '';
 | 
						|
 | 
						|
})
 |