From f8026b6e4c869aa108f6361c8ccd50890657994d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Sat, 18 May 2019 10:49:00 +0200 Subject: Move personal websites to modules --- nixops/modules/websites/chloe/chloe.nix | 105 --------------------- .../websites/chloe/chloe_config_dev/chmod.php | 4 - .../websites/chloe/chloe_config_dev/connect.php | 15 --- .../websites/chloe/chloe_config_dev/ldap.php | 9 -- .../websites/chloe/chloe_config_prod/chmod.php | 4 - .../websites/chloe/chloe_config_prod/connect.php | 15 --- .../websites/chloe/chloe_config_prod/ldap.php | 9 -- nixops/modules/websites/chloe/default.nix | 69 -------------- 8 files changed, 230 deletions(-) delete mode 100644 nixops/modules/websites/chloe/chloe.nix delete mode 100644 nixops/modules/websites/chloe/chloe_config_dev/chmod.php delete mode 100644 nixops/modules/websites/chloe/chloe_config_dev/connect.php delete mode 100644 nixops/modules/websites/chloe/chloe_config_dev/ldap.php delete mode 100644 nixops/modules/websites/chloe/chloe_config_prod/chmod.php delete mode 100644 nixops/modules/websites/chloe/chloe_config_prod/connect.php delete mode 100644 nixops/modules/websites/chloe/chloe_config_prod/ldap.php delete mode 100644 nixops/modules/websites/chloe/default.nix (limited to 'nixops/modules/websites/chloe') diff --git a/nixops/modules/websites/chloe/chloe.nix b/nixops/modules/websites/chloe/chloe.nix deleted file mode 100644 index 2847b9d..0000000 --- a/nixops/modules/websites/chloe/chloe.nix +++ /dev/null @@ -1,105 +0,0 @@ -{ chloe, config }: -rec { - app = chloe.override { inherit (config) environment; }; - phpFpm = rec { - serviceDeps = [ "mysql.service" ]; - socket = "/var/run/phpfpm/chloe-${app.environment}.sock"; - pool = '' - listen = ${socket} - user = ${apache.user} - group = ${apache.group} - listen.owner = ${apache.user} - listen.group = ${apache.group} - php_admin_value[upload_max_filesize] = 20M - php_admin_value[post_max_size] = 20M - ;php_admin_flag[log_errors] = on - php_admin_value[open_basedir] = "${app.spipConfig}:${configDir}:${app}:${app.varDir}:/tmp" - php_admin_value[session.save_path] = "${app.varDir}/phpSessions" - ${if app.environment == "dev" then '' - pm = ondemand - pm.max_children = 5 - pm.process_idle_timeout = 60 - '' else '' - pm = dynamic - pm.max_children = 20 - pm.start_servers = 2 - pm.min_spare_servers = 1 - pm.max_spare_servers = 3 - ''}''; - }; - keys = [{ - dest = "webapps/${app.environment}-chloe"; - user = apache.user; - group = apache.group; - permissions = "0400"; - text = '' - SetEnv SPIP_CONFIG_DIR "${configDir}" - SetEnv SPIP_VAR_DIR "${app.varDir}" - SetEnv SPIP_SITE "chloe-${app.environment}" - SetEnv SPIP_LDAP_BASE "dc=immae,dc=eu" - SetEnv SPIP_LDAP_HOST "ldaps://ldap.immae.eu" - SetEnv SPIP_LDAP_SEARCH_DN "${config.ldap.dn}" - SetEnv SPIP_LDAP_SEARCH_PW "${config.ldap.password}" - SetEnv SPIP_LDAP_SEARCH "${config.ldap.search}" - SetEnv SPIP_MYSQL_HOST "${config.mysql.host}" - SetEnv SPIP_MYSQL_PORT "${config.mysql.port}" - SetEnv SPIP_MYSQL_DB "${config.mysql.name}" - SetEnv SPIP_MYSQL_USER "${config.mysql.user}" - SetEnv SPIP_MYSQL_PASSWORD "${config.mysql.password}" - ''; - }]; - apache = rec { - user = "wwwrun"; - group = "wwwrun"; - modules = [ "proxy_fcgi" ]; - webappName = "chloe_${app.environment}"; - root = "/run/current-system/webapps/${webappName}"; - vhostConf = '' - Include /var/secrets/webapps/${app.environment}-chloe - - RewriteEngine On - ${if app.environment == "prod" then '' - RewriteRule ^/news.rss /spip.php?page=backend&id_rubrique=1 - '' else ""} - - - SetHandler "proxy:unix:${phpFpm.socket}|fcgi://localhost" - - - - DirectoryIndex index.php index.htm index.html - Options -Indexes +FollowSymLinks +MultiViews +Includes - Include ${root}/htaccess.txt - - AllowOverride AuthConfig FileInfo Limit - Require all granted - - - - Require all denied - - - - Require all denied - - - ${if app.environment == "dev" then '' - - Use LDAPConnect - Require ldap-group cn=chloe.immae.eu,cn=httpd,ou=services,dc=immae,dc=eu - ErrorDocument 401 "" - - '' else '' - Use Stats osteopathe-cc.fr - ''} - ''; - }; - activationScript = { - deps = [ "wrappers" ]; - text = '' - install -m 0755 -o ${apache.user} -g ${apache.group} -d ${app.varDir} ${app.varDir}/IMG ${app.varDir}/tmp ${app.varDir}/local - install -m 0750 -o ${apache.user} -g ${apache.group} -d ${app.varDir}/phpSessions - ''; - }; - configDir = ./chloe_config_ + app.environment; -} diff --git a/nixops/modules/websites/chloe/chloe_config_dev/chmod.php b/nixops/modules/websites/chloe/chloe_config_dev/chmod.php deleted file mode 100644 index aae16cd..0000000 --- a/nixops/modules/websites/chloe/chloe_config_dev/chmod.php +++ /dev/null @@ -1,4 +0,0 @@ - \ No newline at end of file diff --git a/nixops/modules/websites/chloe/chloe_config_dev/connect.php b/nixops/modules/websites/chloe/chloe_config_dev/connect.php deleted file mode 100644 index 18b0933..0000000 --- a/nixops/modules/websites/chloe/chloe_config_dev/connect.php +++ /dev/null @@ -1,15 +0,0 @@ - diff --git a/nixops/modules/websites/chloe/chloe_config_dev/ldap.php b/nixops/modules/websites/chloe/chloe_config_dev/ldap.php deleted file mode 100644 index 825b7ed..0000000 --- a/nixops/modules/websites/chloe/chloe_config_dev/ldap.php +++ /dev/null @@ -1,9 +0,0 @@ - array('sAMAccountName','uid','login','userid','cn','sn'),'nom' => 'cn','email' => 'mail','bio' => 'description',); -$GLOBALS['ldap_search'] = getenv("SPIP_LDAP_SEARCH"); -?> diff --git a/nixops/modules/websites/chloe/chloe_config_prod/chmod.php b/nixops/modules/websites/chloe/chloe_config_prod/chmod.php deleted file mode 100644 index aae16cd..0000000 --- a/nixops/modules/websites/chloe/chloe_config_prod/chmod.php +++ /dev/null @@ -1,4 +0,0 @@ - \ No newline at end of file diff --git a/nixops/modules/websites/chloe/chloe_config_prod/connect.php b/nixops/modules/websites/chloe/chloe_config_prod/connect.php deleted file mode 100644 index 18b0933..0000000 --- a/nixops/modules/websites/chloe/chloe_config_prod/connect.php +++ /dev/null @@ -1,15 +0,0 @@ - diff --git a/nixops/modules/websites/chloe/chloe_config_prod/ldap.php b/nixops/modules/websites/chloe/chloe_config_prod/ldap.php deleted file mode 100644 index 825b7ed..0000000 --- a/nixops/modules/websites/chloe/chloe_config_prod/ldap.php +++ /dev/null @@ -1,9 +0,0 @@ - array('sAMAccountName','uid','login','userid','cn','sn'),'nom' => 'cn','email' => 'mail','bio' => 'description',); -$GLOBALS['ldap_search'] = getenv("SPIP_LDAP_SEARCH"); -?> diff --git a/nixops/modules/websites/chloe/default.nix b/nixops/modules/websites/chloe/default.nix deleted file mode 100644 index 8e801b5..0000000 --- a/nixops/modules/websites/chloe/default.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ lib, pkgs, config, myconfig, ... }: -let - chloe_dev = pkgs.callPackage ./chloe.nix { - inherit (pkgs.webapps) chloe; - config = myconfig.env.websites.chloe.integration; - }; - chloe_prod = pkgs.callPackage ./chloe.nix { - inherit (pkgs.webapps) chloe; - config = myconfig.env.websites.chloe.production; - }; - - cfg = config.services.myWebsites.Chloe; -in { - options.services.myWebsites.Chloe = { - production = { - enable = lib.mkEnableOption "enable Chloe's website in production"; - }; - integration = { - enable = lib.mkEnableOption "enable Chloe's website in integration"; - }; - }; - - config = lib.mkMerge [ - (lib.mkIf cfg.production.enable { - secrets.keys = chloe_prod.keys; - services.webstats.sites = [ { name = "osteopathe-cc.fr"; } ]; - - services.myPhpfpm.serviceDependencies.chloe_prod = chloe_prod.phpFpm.serviceDeps; - services.myPhpfpm.poolConfigs.chloe_prod = chloe_prod.phpFpm.pool; - services.myPhpfpm.poolPhpConfigs.chloe_prod = '' - extension=${pkgs.php}/lib/php/extensions/mysqli.so - ''; - system.activationScripts.chloe_prod = chloe_prod.activationScript; - system.extraSystemBuilderCmds = '' - mkdir -p $out/webapps - ln -s ${chloe_prod.app.webRoot} $out/webapps/${chloe_prod.apache.webappName} - ''; - services.websites.production.modules = chloe_prod.apache.modules; - services.websites.production.vhostConfs.chloe = { - certName = "chloe"; - certMainHost = "osteopathe-cc.fr"; - hosts = ["osteopathe-cc.fr" "www.osteopathe-cc.fr" ]; - root = chloe_prod.apache.root; - extraConfig = [ chloe_prod.apache.vhostConf ]; - }; - }) - (lib.mkIf cfg.integration.enable { - secrets.keys = chloe_dev.keys; - services.myPhpfpm.serviceDependencies.chloe_dev = chloe_dev.phpFpm.serviceDeps; - services.myPhpfpm.poolConfigs.chloe_dev = chloe_dev.phpFpm.pool; - services.myPhpfpm.poolPhpConfigs.chloe_dev = '' - extension=${pkgs.php}/lib/php/extensions/mysqli.so - ''; - system.activationScripts.chloe_dev = chloe_dev.activationScript; - system.extraSystemBuilderCmds = '' - mkdir -p $out/webapps - ln -s ${chloe_dev.app.webRoot} $out/webapps/${chloe_dev.apache.webappName} - ''; - services.websites.integration.modules = chloe_dev.apache.modules; - services.websites.integration.vhostConfs.chloe = { - certName = "eldiron"; - addToCerts = true; - hosts = ["chloe.immae.eu" ]; - root = chloe_dev.apache.root; - extraConfig = [ chloe_dev.apache.vhostConf ]; - }; - }) - ]; -} -- cgit v1.2.3