diff options
-rw-r--r-- | packages/carp.xml | 9 | ||||
-rw-r--r-- | packages/squid.xml | 33 |
2 files changed, 38 insertions, 4 deletions
diff --git a/packages/carp.xml b/packages/carp.xml index 308ce2b9..9eb588db 100644 --- a/packages/carp.xml +++ b/packages/carp.xml @@ -3,7 +3,7 @@ <name>carp</name> <!-- Menu is where this packages menu will appear --> <menu> - <name>CARP Settings</name> + <name>CARP (failover)</name> <tooltiptext>CARP is a tool to help achieve system redundancy, by having multiple computers creating a single, virtual network interface between them, so that if any machine fails, another can respond instead, and/or allowing a degree of load sharing between systems. CARP is an improvement over the Virtual Router Redundancy Protocol (VRRP) standard. It was developed after VRRP was deemed to be not free enough because of a possibly-overlapping Cisco patent.</tooltiptext> <section>Services</section> <configfile>carp.xml</configfile> @@ -50,7 +50,7 @@ <type>input</type> </field> <field> - <fielddescr>Password</fielddescr> + <fielddescr>Virtual IP Password</fielddescr> <fieldname>password</fieldname> <description>Enter the VHID group password.</description> <type>password</type> @@ -219,12 +219,13 @@ /* * create the carp interface */ - system("/sbin/ifconfig carp" . $carp_instances_counter . " create"); + fwrite($fout, "/sbin/ifconfig carp" . $carp_instances_counter . " create\n"); $broadcast_address = gen_subnet_max($carp['ipaddress'], $carp['netmask']); if($carp['password'] != "") { $password = " pass " . $carp['password']; } - $carp_command = "/sbin/ifconfig carp" . $carp_instances_counter . " " . $carp['ipaddress'] . " " . $carp['netmask'] . " broadcast " . $broadcast_address . " vhid " . $carp['vhid'] . $carp['advskew '] . $password; + $carp_command = "/sbin/ifconfig carp" . $carp_instances_counter . " " . $carp['ipaddress'] . "/" . $carp['netmask']; + $carp_command .= " broadcast " . $broadcast_address . " vhid " . $carp['vhid'] . $carp['advskew '] . $password; if($carp['balancing'] == "true") $using_arp_balance = 1; if($carp['preempt'] == "true") $using_preempt = 1; fwrite($fout, $carp_command . "\n"); diff --git a/packages/squid.xml b/packages/squid.xml new file mode 100644 index 00000000..6a5bebda --- /dev/null +++ b/packages/squid.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="utf-8" ?> +<packagegui> + <name>squid</name> + <!-- Menu is where this packages menu will appear --> + <!-- configpath gets expanded out automatically and config items will be + stored in that location --> + <configpath>['installedpackages']['squid']['config']</configpath> + <fields/> + <custom_php_install_command> + echo "<pre>"; + system("/bin/mkdir /usr/local/etc/squid"); + $fout = fopen("/usr/local/etc/squid/squid.conf","w"); + fwrite($fout, "http_port 127.0.0.1:3128\n"); + fwrite($fout, "http_access deny to_localhost\n"); + fwrite($fout, "acl our_networks src 10.0.0.0/8\n"); + fwrite($fout, "http_access allow our_networks\n"); + fwrite($fout, "visible_hostname insomnia.benzedrine.cx\n"); + fwrite($fout, "httpd_accel_host virtual\n"); + fwrite($fout, "httpd_accel_port 80\n"); + fwrite($fout, "httpd_accel_with_proxy on\n"); + fwrite($fout, "httpd_accel_uses_host_header on\n"); + fclose($fout); + $fout = fopen("/usr/local/etc/rc.d/squid.sh","w"); + fwrite($fout, "#!/bin/sh\n"); + fwrite($fout, "/usr/local/sbin/squid\n\n"); + fclose($fout); + system("chmod a+x /usr/local/etc/rc.d/squid.sh"); + system("/usr/local/sbin/squid -z"); + </custom_php_install_command> + <custom_php_deinstall_command> + system("/usr/bin/killall squid"); + </custom_php_deinstall_command> +</packagegui> |