<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title><![CDATA[ispCP - Board - Support - Snippets]]></title>
		<link>http://www.isp-control.net/forum/</link>
		<description><![CDATA[ispCP - Board - Support - http://www.isp-control.net/forum]]></description>
		<pubDate>Sun, 17 May 2026 16:19:24 +0000</pubDate>
		<generator>MyBB</generator>
		<item>
			<title><![CDATA[Pháo hoa hoạt động như thế nào?]]></title>
			<link>http://www.isp-control.net/forum/thread-17440.html</link>
			<pubDate>Thu, 09 Jul 2015 02:07:54 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-17440.html</guid>
			<description><![CDATA[ra những thời cơ lỡi lớn trên khắp nạm giới thì pháo bông bộc trực tốt tiễn ra biểu diễn ở những chỗ công cọng với những cảnh quan hoành tráng hẹp màu nhan sắc và âm que. nắm pháo hoa hoạt động như thế này? đả vậy nào là pháo bông giàu trạng thái tạo thành ra những màu sắc rỡ giữa bầu trời ơi đất hỡi đêm? bay căn bản thời chỉ cần giàu hòn pháo, thuốc súng, quán cháy, những hột cháy và đặc biệt là sự xem một cách chính xác sẽ thực hiện thắng điều đó. giống máu vào biết bao? Mời tính tình đằng dưới nghe.<br />
<a href="http://vietnamsmart.vn/dm/25-cua-tu-dong-barrier.html" target="_blank"><span style="color: #0066cc;">cua tu dong</span></a><br />
pháo bông nổi tặng là có cỗi nguồn tự vương vãi triều nhà Hán, Trung Quốc ra quán ngàn năm phắt trước. hồi đó y một giản chỉ để tạo vách bằng cách nhồi thuốc súng ra ống tre và hê vào đụn lửa. (tính toán thêm phứt Lịch sử phân phát minh pháo bông). còn nhưng mà viên pháo đương đại ngày nay thì ống tre hỉ nhằm thay chũm lạ bộ vỏ, phía trong suốt chứa chấp hỗn tạp nổ và quán cháy chậm. nhưng đó chỉ là căn bản và hỉ chưa đủ, còn có vách phần nhỏ song quan trọng khác nữa.<br />
<br />
Đối đồng đánh nghệ pháo hoa hiện đại, người mỗ yêu cầu nghỉ phải tạo ra những mùa nổ càng ngày càng lộng lật ngược, óng ánh và lung thiêng hơn. Ngoài âm thanh từ bỏ những mùa nổ thời người mỗ đang càng ngày càng muốn dìm bạo nguyên tố màu sắc đẹp, tạo thành thử những hình vô khối xinh xẻo mắt và hoành tráng hơn. Và trong suốt lịch sử phát triển, giả dụ tới thì phủ phục hưng tại Ý thì người ta mới nhiều dạng tạo ra thêm giàu màu sắc đẹp cho pháo hoa tuần cách thêm ra bột thép và than để tạo vào màu vàng và cam.<br />
<br />
Dần dần, danh thiếp nghệ nhân dịp pháo hoa thể nghiệm thêm vào nhiều kim khí khác thắng nhát cháy, chúng hấp thu hay lượng tự vụ nổ và phát vào màu nhan sắc. ví dụ như thêm Stronti ra phanh tạo vào màu hường, Bari tạo màu lục và cùng tạo màu xanh dương. Những cách phối hợp nào và lắm kim khí khác hãy tạo cho nên những ổ màu da dạng nhưng bạn chộ trong các màn biểu diễn pháo bông chuyên nghiệp.<br />
<br />
để bắn pháo bông lên bầu trời đất, cạc nghệ nhân pháo bông sẽ tạo nên chi 1 dính dấp chuyền 2 mùa nổ. trước hết viên pháo sẽ được đặng vào trong ống phóng (motar). phía dưới cùng mức viên pháo có 1 khoang riêng biệt chứa chấp thuốc súng và người ta sẽ kích nổ chóng đùm thuốc súng nào xuể viên pháo nổi phóng lên bầu trời ơi đất hỡi mà chớ nổ tất thảy viên pháo. cầm cố giàu chi bên trong viên pháo?<br />
<br />
<a href="http://vietnamsmart.vn/sp/118-may-do-kim-loai-cam-tay.html" target="_blank"><span style="color: #0066cc;"><span style="font-size: 12pt;">may do kim loai cam tay</span></span></a><br />
<br />
<span style="font-weight: bold;"><span style="font-size: 14pt;"><span style="color: #FF0000;">Cấu tạo viên pháo</span></span></span><br />
<br />
  <br />
<div style="text-align: center;"><img src="https://photo.tinhte.vn/store/2015/07/3078093_Infographic-phao-hoa.jpg" border="0" alt="[Image: 3078093_Infographic-phao-hoa.jpg]" /> ​</div>
<br />
phai căn bản, một viên pháo bình thường bao gồm bộ vỏ gói, đền tiến đánh cọ nhựa hoặc giấy và đây là nơi chứa chấp bít tất dã man của đằng trong suốt. phía trong viên pháo là thuốc súng và các hột cháy (Stars). cạc hột cháy nè nhằm sắp đặt xung quanh quéo theo tìm kiếm ụ hình tùy ra hình trạng mực vụ nổ cơ mà người min muốn. các hạt cháy để che đơn dạo kim khí để tạo ra màu sắc buổi hạt cháy bị tiêm cháy. song song, hình dáng, kích thước cụm từ hạt cháy sẽ quyết định tiệm tương ứng, ảnh khối tổng thể hạng vụ nổ trên bầu trời đất (như tạo thành hình ngôi sao, ảnh tròn, cây dừa, sa dần xuống,…)<br />
<br />
đơn cỗ phận khác là đầu hàng cháy chậm về dây trong suốt trái pháo hoa. hồi hương để phóng lên thời mùa nổ ập cũng kích hoạt dính dấp cháy muộn và y sẽ từ từ bỏ cháy. lóng trường mực tàu dãy cháy chậm sẽ đặng tâm tính chính xác nhằm quả pháo hoa vạc nổ ở tìm kiếm cao nhóng muốn, đừng sớm cũng không chậm hơn. Đối cùng những hòn pháo phức tạp hơn thì người min đương tạo cho nên đơn quán chuyền phát nổ cạ cách đấu giàu dính cháy chậm lại nổi kích nổ cạc khoang chứa chấp riêng biệt trong 1 viên pháo.<br />
<br />
đả nghệ pháo bông hả đang tiếp tục vạc triển.Hiện tại thời một số nhà thèm kế pháo bông đã bắt đầu sử dụng khí ghìm thế biếu thuốc súng bình thường nổi tăng tầm an tinh và tạo bởi vậy danh thiếp vụ nổ nhiều trạng thái tính hạnh chính xác hơn. phương diện khác, người mỗ cũng tìm kiếm cách giúp cạc mùng trình diễn pháo bông thân thể thiện đồng môi trường hơn cạ cách cố kỉnh rứa nhiều loại vật liệu mới. Hiện tại cạc hóa chất tạo màu biếu pháo hoa đều là những kim loại nặng, nhiều trạng thái độc hại và hình hưởng tới sức khỏe con người cũng như hệ đâm ra thái bên dưới Mặt đất.<br />
<a href="http://vietnamsmart.vn/sp/117-may-soi-hanh-ly.html" target="_blank"><span style="color: #0066cc;"><span style="font-size: 12pt;">may soi hanh ly</span></span></a><br />
bởi vì đấy, người ta hử còn giàu việc được đánh nổi hoàn thiện bộ môn nghệ trần thuật nào. đương tặng tới ni, phứt cơ bản thì chúng ta nhỉ đang dùng những hòn pháo có trường đoản cú cụ kỷ ngữ 7 nhưng tất nhiên, nghỉ tạo thành mùa nổ đẹp mắt hơn lắm. rốt cuộc, mời các bạn tính hạnh màn văng pháo bông đặt biểu diễn tại Mỹ mới đây.]]></description>
			<content:encoded><![CDATA[ra những thời cơ lỡi lớn trên khắp nạm giới thì pháo bông bộc trực tốt tiễn ra biểu diễn ở những chỗ công cọng với những cảnh quan hoành tráng hẹp màu nhan sắc và âm que. nắm pháo hoa hoạt động như thế này? đả vậy nào là pháo bông giàu trạng thái tạo thành ra những màu sắc rỡ giữa bầu trời ơi đất hỡi đêm? bay căn bản thời chỉ cần giàu hòn pháo, thuốc súng, quán cháy, những hột cháy và đặc biệt là sự xem một cách chính xác sẽ thực hiện thắng điều đó. giống máu vào biết bao? Mời tính tình đằng dưới nghe.<br />
<a href="http://vietnamsmart.vn/dm/25-cua-tu-dong-barrier.html" target="_blank"><span style="color: #0066cc;">cua tu dong</span></a><br />
pháo bông nổi tặng là có cỗi nguồn tự vương vãi triều nhà Hán, Trung Quốc ra quán ngàn năm phắt trước. hồi đó y một giản chỉ để tạo vách bằng cách nhồi thuốc súng ra ống tre và hê vào đụn lửa. (tính toán thêm phứt Lịch sử phân phát minh pháo bông). còn nhưng mà viên pháo đương đại ngày nay thì ống tre hỉ nhằm thay chũm lạ bộ vỏ, phía trong suốt chứa chấp hỗn tạp nổ và quán cháy chậm. nhưng đó chỉ là căn bản và hỉ chưa đủ, còn có vách phần nhỏ song quan trọng khác nữa.<br />
<br />
Đối đồng đánh nghệ pháo hoa hiện đại, người mỗ yêu cầu nghỉ phải tạo ra những mùa nổ càng ngày càng lộng lật ngược, óng ánh và lung thiêng hơn. Ngoài âm thanh từ bỏ những mùa nổ thời người mỗ đang càng ngày càng muốn dìm bạo nguyên tố màu sắc đẹp, tạo thành thử những hình vô khối xinh xẻo mắt và hoành tráng hơn. Và trong suốt lịch sử phát triển, giả dụ tới thì phủ phục hưng tại Ý thì người ta mới nhiều dạng tạo ra thêm giàu màu sắc đẹp cho pháo hoa tuần cách thêm ra bột thép và than để tạo vào màu vàng và cam.<br />
<br />
Dần dần, danh thiếp nghệ nhân dịp pháo hoa thể nghiệm thêm vào nhiều kim khí khác thắng nhát cháy, chúng hấp thu hay lượng tự vụ nổ và phát vào màu nhan sắc. ví dụ như thêm Stronti ra phanh tạo vào màu hường, Bari tạo màu lục và cùng tạo màu xanh dương. Những cách phối hợp nào và lắm kim khí khác hãy tạo cho nên những ổ màu da dạng nhưng bạn chộ trong các màn biểu diễn pháo bông chuyên nghiệp.<br />
<br />
để bắn pháo bông lên bầu trời đất, cạc nghệ nhân pháo bông sẽ tạo nên chi 1 dính dấp chuyền 2 mùa nổ. trước hết viên pháo sẽ được đặng vào trong ống phóng (motar). phía dưới cùng mức viên pháo có 1 khoang riêng biệt chứa chấp thuốc súng và người ta sẽ kích nổ chóng đùm thuốc súng nào xuể viên pháo nổi phóng lên bầu trời ơi đất hỡi mà chớ nổ tất thảy viên pháo. cầm cố giàu chi bên trong viên pháo?<br />
<br />
<a href="http://vietnamsmart.vn/sp/118-may-do-kim-loai-cam-tay.html" target="_blank"><span style="color: #0066cc;"><span style="font-size: 12pt;">may do kim loai cam tay</span></span></a><br />
<br />
<span style="font-weight: bold;"><span style="font-size: 14pt;"><span style="color: #FF0000;">Cấu tạo viên pháo</span></span></span><br />
<br />
  <br />
<div style="text-align: center;"><img src="https://photo.tinhte.vn/store/2015/07/3078093_Infographic-phao-hoa.jpg" border="0" alt="[Image: 3078093_Infographic-phao-hoa.jpg]" /> ​</div>
<br />
phai căn bản, một viên pháo bình thường bao gồm bộ vỏ gói, đền tiến đánh cọ nhựa hoặc giấy và đây là nơi chứa chấp bít tất dã man của đằng trong suốt. phía trong viên pháo là thuốc súng và các hột cháy (Stars). cạc hột cháy nè nhằm sắp đặt xung quanh quéo theo tìm kiếm ụ hình tùy ra hình trạng mực vụ nổ cơ mà người min muốn. các hạt cháy để che đơn dạo kim khí để tạo ra màu sắc buổi hạt cháy bị tiêm cháy. song song, hình dáng, kích thước cụm từ hạt cháy sẽ quyết định tiệm tương ứng, ảnh khối tổng thể hạng vụ nổ trên bầu trời đất (như tạo thành hình ngôi sao, ảnh tròn, cây dừa, sa dần xuống,…)<br />
<br />
đơn cỗ phận khác là đầu hàng cháy chậm về dây trong suốt trái pháo hoa. hồi hương để phóng lên thời mùa nổ ập cũng kích hoạt dính dấp cháy muộn và y sẽ từ từ bỏ cháy. lóng trường mực tàu dãy cháy chậm sẽ đặng tâm tính chính xác nhằm quả pháo hoa vạc nổ ở tìm kiếm cao nhóng muốn, đừng sớm cũng không chậm hơn. Đối cùng những hòn pháo phức tạp hơn thì người min đương tạo cho nên đơn quán chuyền phát nổ cạ cách đấu giàu dính cháy chậm lại nổi kích nổ cạc khoang chứa chấp riêng biệt trong 1 viên pháo.<br />
<br />
đả nghệ pháo bông hả đang tiếp tục vạc triển.Hiện tại thời một số nhà thèm kế pháo bông đã bắt đầu sử dụng khí ghìm thế biếu thuốc súng bình thường nổi tăng tầm an tinh và tạo bởi vậy danh thiếp vụ nổ nhiều trạng thái tính hạnh chính xác hơn. phương diện khác, người mỗ cũng tìm kiếm cách giúp cạc mùng trình diễn pháo bông thân thể thiện đồng môi trường hơn cạ cách cố kỉnh rứa nhiều loại vật liệu mới. Hiện tại cạc hóa chất tạo màu biếu pháo hoa đều là những kim loại nặng, nhiều trạng thái độc hại và hình hưởng tới sức khỏe con người cũng như hệ đâm ra thái bên dưới Mặt đất.<br />
<a href="http://vietnamsmart.vn/sp/117-may-soi-hanh-ly.html" target="_blank"><span style="color: #0066cc;"><span style="font-size: 12pt;">may soi hanh ly</span></span></a><br />
bởi vì đấy, người ta hử còn giàu việc được đánh nổi hoàn thiện bộ môn nghệ trần thuật nào. đương tặng tới ni, phứt cơ bản thì chúng ta nhỉ đang dùng những hòn pháo có trường đoản cú cụ kỷ ngữ 7 nhưng tất nhiên, nghỉ tạo thành mùa nổ đẹp mắt hơn lắm. rốt cuộc, mời các bạn tính hạnh màn văng pháo bông đặt biểu diễn tại Mỹ mới đây.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[How to Block Proxies / Anonymous from ispCP Loginpage]]></title>
			<link>http://www.isp-control.net/forum/thread-15893.html</link>
			<pubDate>Thu, 08 Mar 2012 13:27:57 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-15893.html</guid>
			<description><![CDATA[settings:<br />
&#36;block_proxy_attemts        = true;         // true or false<br />
&#36;log_proxy_attemts      = true;         // true or false<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>cd /var/www/ispcp/gui<br />
touch blockedproxy.log<br />
chown vu2000.www-data blockedproxy.log<br />
chmod 600 blockedproxy.log<br />
nano block_proxy.php</code></div></div>
insert<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>&lt;?php<br />
// settings<br />
&#36;block_proxy_attemts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= false;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // true or false<br />
&#36;log_proxy_attemts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= true;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // true or false<br />
&#36;log_proxy_attemts_to&nbsp;&nbsp; = "blockedproxy.log";&nbsp;&nbsp;// Filename or path with filename<br />
//<br />
function block_proxys()<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;global &#36;_SERVER, &#36;log_proxy_attemts, &#36;log_proxy_attemts_to;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&#36;proxy_detected = '0';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&#36;blockedheaders = array(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'HTTP_VIA',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'HTTP_X_FORWARDED_FOR',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'HTTP_FORWARDED_FOR',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'HTTP_X_FORWARDED',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'HTTP_FORWARDED',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'HTTP_CLIENT_IP',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'HTTP_FORWARDED_FOR_IP',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'VIA',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'X_FORWARDED_FOR',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'FORWARDED_FOR',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'X_FORWARDED',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'FORWARDED',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'CLIENT_IP',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'FORWARDED_FOR_IP',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'HTTP_PROXY_CONNECTION'<br />
&nbsp;&nbsp;&nbsp;&nbsp;);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;foreach(&#36;blockedheaders as &#36;i)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (isset(&#36;_SERVER[&#36;i])) { &#36;proxy_detected++; &#36;log .= &#36;i.", "; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;if (gethostbyname(ReverseIPOctets(&#36;_SERVER['REMOTE_ADDR']).".".&#36;_SERVER['SERVER_PORT'].".".ReverseIPOctets(&#36;_SERVER['SERVER_ADDR']).".ip-port.exitlist.torproject.org") == "127.0.0.2")<br />
&nbsp;&nbsp;&nbsp;&nbsp;{ &#36;proxy_detected++; &#36;log .= "TOR exit node, "; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;if (exists_in_rbl() == true)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{ &#36;proxy_detected++; &#36;log .= "RBL, "; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;if (&#36;proxy_detected &gt;= '1')<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (&#36;log_proxy_attemts == true)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (is_writable(&#36;log_proxy_attemts_to)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;fp = fopen(&#36;log_proxy_attemts_to,"a");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fwrite(&#36;fp,date("Y-m-d H:i:s").": Proxy Server detected: ".gethostbyaddr(&#36;_SERVER['REMOTE_ADDR'])." (".&#36;_SERVER['REMOTE_ADDR'].") - Info: ".&#36;log."&#92;n");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fclose(&#36;fp);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit("Connection Logfile is not writeable");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
<br />
function exists_in_rbl() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&#36;rbls = array('http.dnsbl.sorbs.net', 'misc.dnsbl.sorbs.net');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&#36;remote = getenv('REMOTE_ADDR');<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;if (preg_match("/([0-9]+)&#92;.([0-9]+)&#92;.([0-9]+)&#92;.([0-9]+)/",<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;remote, &#36;matches)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach (&#36;rbls as &#36;rbl) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;rblhost = &#36;matches[4] . "." . &#36;matches[3] . "." .<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;matches[2] . "." . &#36;matches[1] . "." . &#36;rbl;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;resolved = gethostbyname(&#36;rblhost);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (&#36;resolved != &#36;rblhost) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />
}<br />
<br />
function ReverseIPOctets(&#36;inputip)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&#36;ipoc = explode(".",&#36;inputip);<br />
&nbsp;&nbsp;&nbsp;&nbsp;return &#36;ipoc[3].".".&#36;ipoc[2].".".&#36;ipoc[1].".".&#36;ipoc[0];<br />
}</code></div></div>
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>chown vu2000.www-data /var/www/ispcp/gui/block_proxy.php<br />
chmod 440 block_proxy.php<br />
nano index.php</code></div></div>
insert bellow the php tag "&lt;?php"<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>include_once("block_proxy.php");<br />
if (block_proxys() == true AND &#36;block_proxy_attemts == true) { exit("proxy connection not allowed"); }</code></div></div>
<br />
optional additional improvement:<br />
you can also block all other countries not listed in the array:<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>apt-get install php5-geoip<br />
/etc/init.d/apache2 restart<br />
nano /var/www/ispcp/gui/index.php</code></div></div>
insert bellow the first include from above<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>if (!in_array (geoip_country_code_by_name(&#36;_SERVER['REMOTE_ADDR']) , array("US","DE","BE","AT","NL","FR"))) {<br />
exit("not allowed");<br />
}</code></div></div>
]]></description>
			<content:encoded><![CDATA[settings:<br />
&#36;block_proxy_attemts        = true;         // true or false<br />
&#36;log_proxy_attemts      = true;         // true or false<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>cd /var/www/ispcp/gui<br />
touch blockedproxy.log<br />
chown vu2000.www-data blockedproxy.log<br />
chmod 600 blockedproxy.log<br />
nano block_proxy.php</code></div></div>
insert<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>&lt;?php<br />
// settings<br />
&#36;block_proxy_attemts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= false;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // true or false<br />
&#36;log_proxy_attemts&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;= true;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // true or false<br />
&#36;log_proxy_attemts_to&nbsp;&nbsp; = "blockedproxy.log";&nbsp;&nbsp;// Filename or path with filename<br />
//<br />
function block_proxys()<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;global &#36;_SERVER, &#36;log_proxy_attemts, &#36;log_proxy_attemts_to;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&#36;proxy_detected = '0';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&#36;blockedheaders = array(<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'HTTP_VIA',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'HTTP_X_FORWARDED_FOR',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'HTTP_FORWARDED_FOR',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'HTTP_X_FORWARDED',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'HTTP_FORWARDED',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'HTTP_CLIENT_IP',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'HTTP_FORWARDED_FOR_IP',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'VIA',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'X_FORWARDED_FOR',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'FORWARDED_FOR',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'X_FORWARDED',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'FORWARDED',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'CLIENT_IP',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'FORWARDED_FOR_IP',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'HTTP_PROXY_CONNECTION'<br />
&nbsp;&nbsp;&nbsp;&nbsp;);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;foreach(&#36;blockedheaders as &#36;i)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (isset(&#36;_SERVER[&#36;i])) { &#36;proxy_detected++; &#36;log .= &#36;i.", "; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;if (gethostbyname(ReverseIPOctets(&#36;_SERVER['REMOTE_ADDR']).".".&#36;_SERVER['SERVER_PORT'].".".ReverseIPOctets(&#36;_SERVER['SERVER_ADDR']).".ip-port.exitlist.torproject.org") == "127.0.0.2")<br />
&nbsp;&nbsp;&nbsp;&nbsp;{ &#36;proxy_detected++; &#36;log .= "TOR exit node, "; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;if (exists_in_rbl() == true)<br />
&nbsp;&nbsp;&nbsp;&nbsp;{ &#36;proxy_detected++; &#36;log .= "RBL, "; }<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;if (&#36;proxy_detected &gt;= '1')<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (&#36;log_proxy_attemts == true)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (is_writable(&#36;log_proxy_attemts_to)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;fp = fopen(&#36;log_proxy_attemts_to,"a");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fwrite(&#36;fp,date("Y-m-d H:i:s").": Proxy Server detected: ".gethostbyaddr(&#36;_SERVER['REMOTE_ADDR'])." (".&#36;_SERVER['REMOTE_ADDR'].") - Info: ".&#36;log."&#92;n");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fclose(&#36;fp);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit("Connection Logfile is not writeable");<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;else<br />
&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
<br />
function exists_in_rbl() {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&#36;rbls = array('http.dnsbl.sorbs.net', 'misc.dnsbl.sorbs.net');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&#36;remote = getenv('REMOTE_ADDR');<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;if (preg_match("/([0-9]+)&#92;.([0-9]+)&#92;.([0-9]+)&#92;.([0-9]+)/",<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;remote, &#36;matches)) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach (&#36;rbls as &#36;rbl) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;rblhost = &#36;matches[4] . "." . &#36;matches[3] . "." .<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;matches[2] . "." . &#36;matches[1] . "." . &#36;rbl;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;resolved = gethostbyname(&#36;rblhost);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (&#36;resolved != &#36;rblhost) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;return false;<br />
}<br />
<br />
function ReverseIPOctets(&#36;inputip)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&#36;ipoc = explode(".",&#36;inputip);<br />
&nbsp;&nbsp;&nbsp;&nbsp;return &#36;ipoc[3].".".&#36;ipoc[2].".".&#36;ipoc[1].".".&#36;ipoc[0];<br />
}</code></div></div>
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>chown vu2000.www-data /var/www/ispcp/gui/block_proxy.php<br />
chmod 440 block_proxy.php<br />
nano index.php</code></div></div>
insert bellow the php tag "&lt;?php"<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>include_once("block_proxy.php");<br />
if (block_proxys() == true AND &#36;block_proxy_attemts == true) { exit("proxy connection not allowed"); }</code></div></div>
<br />
optional additional improvement:<br />
you can also block all other countries not listed in the array:<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>apt-get install php5-geoip<br />
/etc/init.d/apache2 restart<br />
nano /var/www/ispcp/gui/index.php</code></div></div>
insert bellow the first include from above<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>if (!in_array (geoip_country_code_by_name(&#36;_SERVER['REMOTE_ADDR']) , array("US","DE","BE","AT","NL","FR"))) {<br />
exit("not allowed");<br />
}</code></div></div>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Add EMail when add an User in CMS]]></title>
			<link>http://www.isp-control.net/forum/thread-15046.html</link>
			<pubDate>Fri, 09 Sep 2011 13:51:52 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-15046.html</guid>
			<description><![CDATA[I have a problem with my CMS.<br />
<br />
I've done it's that I do when a user logs on encouraging a page<br />
That automatically creates an e-mail account.<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>INSERT INTO `mail_users` (`mail_acc`, `mail_pass`, `mail_forward`, `domain_id`, `mail_type`, `sub_id`, `status`, `mail_auto_respond`, `mail_auto_respond_text`, `quota`, `mail_addr`) <br />
VALUES<br />
('username', 'password', '_no_', 1, 'alssub_mail', 16, 'toadd', 0, '', 10485760, 'hellbz2@sub.domain.eu');</code></div></div>
<br />
<br />
In the Control Panel it displays e-mail address is created.<br />
But it shows on every visit.<br />
<br />
I'm missing in my PHP script what?<br />
<br />
For your information there is a page that eautomatisch creates an e-mail address<br />
and this site is not integrated in the Control Panel ispCP.<br />
A root mysql access I have.]]></description>
			<content:encoded><![CDATA[I have a problem with my CMS.<br />
<br />
I've done it's that I do when a user logs on encouraging a page<br />
That automatically creates an e-mail account.<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>INSERT INTO `mail_users` (`mail_acc`, `mail_pass`, `mail_forward`, `domain_id`, `mail_type`, `sub_id`, `status`, `mail_auto_respond`, `mail_auto_respond_text`, `quota`, `mail_addr`) <br />
VALUES<br />
('username', 'password', '_no_', 1, 'alssub_mail', 16, 'toadd', 0, '', 10485760, 'hellbz2@sub.domain.eu');</code></div></div>
<br />
<br />
In the Control Panel it displays e-mail address is created.<br />
But it shows on every visit.<br />
<br />
I'm missing in my PHP script what?<br />
<br />
For your information there is a page that eautomatisch creates an e-mail address<br />
and this site is not integrated in the Control Panel ispCP.<br />
A root mysql access I have.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Debian] Update Nightly to Nightly]]></title>
			<link>http://www.isp-control.net/forum/thread-10339.html</link>
			<pubDate>Sat, 10 Apr 2010 05:11:28 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-10339.html</guid>
			<description><![CDATA[The Old Script from the Wiki don't update the Configfile, so i wrote a litte Script, to Update an ispCP Installation on DEBIAN to the latest Trunk.<br />
<br />
<a href="http://www.isp-control.net/documentation/start:nightlyupgrade:debian" target="_blank">http://www.isp-control.net/documentation...ade:debian</a><br />
<br />
Feel free, to improve it<br />
<br />
NO WARRANTY !!!!!]]></description>
			<content:encoded><![CDATA[The Old Script from the Wiki don't update the Configfile, so i wrote a litte Script, to Update an ispCP Installation on DEBIAN to the latest Trunk.<br />
<br />
<a href="http://www.isp-control.net/documentation/start:nightlyupgrade:debian" target="_blank">http://www.isp-control.net/documentation...ade:debian</a><br />
<br />
Feel free, to improve it<br />
<br />
NO WARRANTY !!!!!]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[ARP activity watch]]></title>
			<link>http://www.isp-control.net/forum/thread-8582.html</link>
			<pubDate>Thu, 26 Nov 2009 12:53:47 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-8582.html</guid>
			<description><![CDATA[Arpwatch is an open-source software that monitors a computer network for ARP-activity. The first and foremost reason to monitor ARP activity is to detect ARP spoofing. It syslogs activity and reports certain changes via email. Arpwatch uses LibPcap to listen for ARP packets on a local ethernet interface.<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>apt-get install arpwatch</code></div></div>
]]></description>
			<content:encoded><![CDATA[Arpwatch is an open-source software that monitors a computer network for ARP-activity. The first and foremost reason to monitor ARP activity is to detect ARP spoofing. It syslogs activity and reports certain changes via email. Arpwatch uses LibPcap to listen for ARP packets on a local ethernet interface.<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>apt-get install arpwatch</code></div></div>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[How to create E-mail Accounts for the main Domain]]></title>
			<link>http://www.isp-control.net/forum/thread-8144.html</link>
			<pubDate>Fri, 16 Oct 2009 21:58:07 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-8144.html</guid>
			<description><![CDATA[hey all<br />
<br />
I got a question,<br />
in my: "Manage IPs" i got 1 IP + Domain<br />
so if i create a new user i can give them a subdomain from my main domain<br />
but how can i create a E-mail account for that domain<br />
Now it is: Name@sub.domain.com<br />
and i want it: Name@domain.com<br />
<br />
How can i do this?]]></description>
			<content:encoded><![CDATA[hey all<br />
<br />
I got a question,<br />
in my: "Manage IPs" i got 1 IP + Domain<br />
so if i create a new user i can give them a subdomain from my main domain<br />
but how can i create a E-mail account for that domain<br />
Now it is: Name@sub.domain.com<br />
and i want it: Name@domain.com<br />
<br />
How can i do this?]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Google-ble sitemap of your hosting clients' sites]]></title>
			<link>http://www.isp-control.net/forum/thread-7577.html</link>
			<pubDate>Sat, 22 Aug 2009 11:37:14 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-7577.html</guid>
			<description><![CDATA[<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>#!/usr/bin/perl<br />
<br />
@dirs = `find /var/www/virtual|grep viralhosts.com&#92;&#36;`;<br />
open(F, "&gt;/var/www/ispcp/gui/sites.html");<br />
print F "&lt;html&gt;&lt;body&gt;";<br />
foreach(@dirs) {<br />
 chomp;<br />
 /.*&#92;/(.*)&#36;/;<br />
 print F "&lt;a href='http://&#36;1'&gt;&#36;1&lt;/a&gt;&lt;br&gt;";<br />
}<br />
print F "&lt;/body&gt;&lt;/html";<br />
close F;</code></div></div>
<br />
<a href="http://yourhost.com/sites.html" target="_blank">http://yourhost.com/sites.html</a> shows all your client sites.]]></description>
			<content:encoded><![CDATA[<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>#!/usr/bin/perl<br />
<br />
@dirs = `find /var/www/virtual|grep viralhosts.com&#92;&#36;`;<br />
open(F, "&gt;/var/www/ispcp/gui/sites.html");<br />
print F "&lt;html&gt;&lt;body&gt;";<br />
foreach(@dirs) {<br />
 chomp;<br />
 /.*&#92;/(.*)&#36;/;<br />
 print F "&lt;a href='http://&#36;1'&gt;&#36;1&lt;/a&gt;&lt;br&gt;";<br />
}<br />
print F "&lt;/body&gt;&lt;/html";<br />
close F;</code></div></div>
<br />
<a href="http://yourhost.com/sites.html" target="_blank">http://yourhost.com/sites.html</a> shows all your client sites.]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[nightly-update-script for Ubuntu]]></title>
			<link>http://www.isp-control.net/forum/thread-7379.html</link>
			<pubDate>Mon, 03 Aug 2009 11:56:09 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-7379.html</guid>
			<description><![CDATA[Attached you'll find a updated version of the automated nightly update script with added support for Ubuntu. Tested on jaunty.<br />
<br />
<span style="font-family: Courier;">#!/bin/bash<br />
#<br />
# ispcp-nightly-update<br />
# Version: 0.0.5 - 03.05.2009<br />
# License: GPL<br />
# Author : ispcomm<br />
# Credits: ispcp development team<br />
#<br />
# Variables<br />
BACKUPDIR="/var/www/backup"<br />
TRUNK_DIR="/usr/src/ispcp"<br />
REBUILD_SITES="yes"<br />
SAVE_DEFAULT_BACKUP="yes"<br />
DISTRO_UPD="yes"<br />
 <br />
 <br />
function msg_exit(){<br />
	echo &#36;1;exit;<br />
}<br />
function Extract_vars(){<br />
	eval `cat &#36;{TRUNK_DIR}/&#36;{MAKEFILE} | grep -E "(INST_PREF|SYSTEM_CONF)="| sed -e 's/&#36;(INST_PREF)//g'`<br />
	for a in `cat &#36;{SYSTEM_CONF}/ispcp.conf | grep -E "(CONF_DIR|GUI_ROOT_DIR|ROOT_DIR|BACKUP_FILE_DIR|CMD_HTTPD|CMD_NAMED|CMD_MTA|CMD_&#8203;ISPCPD|CMD_PFLOGSUM)"| sed -e 's/ //g'`<br />
	do <br />
		export &#36;a<br />
	done<br />
	WWWDIR=`echo &#36;{ROOT_DIR} | awk -F "/ispcp" '{print &#36;1}'`<br />
}<br />
 <br />
#download/update trunk no longer remove old trunk (thanks kilburn)<br />
echo "#### DOWNLOAD TRUNK ####"<br />
mkdir -p &#36;{TRUNK_DIR}<br />
svn checkout <a href="http://www.isp-control.net/ispcp_svn/trunk/" target="_blank">http://www.isp-control.net/ispcp_svn/trunk/</a> &#36;{TRUNK_DIR}<br />
cd &#36;{TRUNK_DIR}<br />
 <br />
echo "#### SO determining ####"<br />
if [ `lsb_release -i -s | tr -d "\n"` == "Ubuntu" ]; then<br />
	RELEASE=`lsb_release -c | awk '{print &#36;2}' | tr -d "\n"`<br />
	case &#36;{RELEASE} in<br />
		"jaunty")	;;<br />
		"intrepid")	;;<br />
		"hardy")	;;<br />
		"gutsy")	;;<br />
		"feisty")	;;<br />
		"edgy")	;;<br />
		* ) msg_exit "&#36;{RELEASE} is not suported";;<br />
	esac<br />
	MAKEFILE="Makefile.ubuntu"<br />
	Extract_vars<br />
	if [ &#36;DISTRO_UPD == "yes" ] ; then<br />
		if [ -e ./docs/Ubuntu/ubuntu-packages-&#36;{RELEASE} ]; then<br />
			echo "#### SO UPDATE ####"<br />
			apt-get update;<br />
			apt-get -y dist-upgrade;<br />
			apt-get -y install `cat ./docs/Ubuntu/ubuntu-packages-&#36;{RELEASE}`;<br />
		fi<br />
	fi;<br />
elif [ -e /etc/debian_version ]; then<br />
	RELEASE=`lsb_release -c | awk '{print &#36;2}' | tr -d "\n"`<br />
	case &#36;{RELEASE} in<br />
		"sarge")	;;<br />
		"etch")		;;<br />
		"lenny")	;;<br />
		"squeeze")	;;<br />
		* ) msg_exit "&#36;{RELEASE} is not suported";;<br />
	esac<br />
	MAKEFILE="Makefile"<br />
	Extract_vars<br />
	if [ &#36;DISTRO_UPD == "yes" ] ; then<br />
		if [ -e ./docs/Debian/debian-packages-&#36;{RELEASE} ]; then<br />
			echo "#### SO UPDATE ####"<br />
			apt-get update;<br />
			apt-get -y dist-upgrade;<br />
			apt-get -y install `cat ./docs/Debian/debian-packages-&#36;{RELEASE}`;<br />
		fi<br />
	fi;<br />
elif [ -e /etc/fedora-release ]; then<br />
	MAKEFILE="Makefile.fedora"<br />
	Extract_vars<br />
	if [ &#36;DISTRO_UPD == "yes" ] ; then<br />
		msg_exit "Fedora is not suported yet"<br />
		yum -y install `cat ./docs/Fedora/fedora-packages`<br />
		cpan2rpm -i <a href="http://search.cpan.org/CPAN/authors/id/P/PH/PHOENIX/Term-ReadPassword-0.07.tar.gz" target="_blank">http://search.cpan.org/CPAN/authors/id/P....07.tar.gz</a><br />
		wget -P /tmp/core <a href="http://hany.sk/mirror/fedora/releases/7/Everything/i386/os/Fedora/perl-Net-LibIDN-0.09-3.fc7.i386.rpm" target="_blank">http://hany.sk/mirror/fedora/releases/7/...7.i386.rpm</a><br />
		rpm -i /tmp/core/perl-Net-LibIDN-0.09-3.fc7.i386.rpm<br />
		rm -f /tmp/core/perl-Net-LibIDN-0.09-3.fc7.i386.rpm<br />
	fi;<br />
elif [ -e /etc/SuSE-release ]; then<br />
	MAKEFILE="Makefile.opensuse"<br />
	Extract_vars<br />
	if [ &#36;DISTRO_UPD == "yes" ] ; then<br />
		yast -i `cat ./docs/OpenSuse/opensuse103-packages`<br />
	fi;<br />
elif [ -e /etc/gentoo-release ]; then<br />
	MAKEFILE="Makefile.gentoo"<br />
	Extract_vars<br />
	if [ &#36;DISTRO_UPD == "yes" ] ; then<br />
		emerge -uq `cat ./docs/Gentoo/gentoo-packages`<br />
	fi;<br />
elif [ -e /etc/redhat-release ]; then<br />
	msg_exit "RedHat is not suported yet"<br />
elif [ -e /etc/slackware-version ]; then<br />
	msg_exit "Slackware is not suported yet"<br />
else<br />
	msg_exit "Unknown Linux ditribution: not suported"<br />
fi<br />
 <br />
echo "#### BACKUP OLD FILES ####"<br />
mkdir -p &#36;BACKUPDIR<br />
pushd &#36;BACKUPDIR<br />
if [ &#36;SAVE_DEFAULT_BACKUP == "yes" ] ; then<br />
	mv -f &#36;BACKUP_FILE_DIR .<br />
fi<br />
 <br />
tar czpf "ispcp_backup-`date +'%Y-%m-%d %H-%M-%S'`.tar.gz" &#36;{WWWDIR}/ispcp/<br />
tar czpf "ispcp_backup-etc-`date +'%Y-%m-%d %H-%M-%S'`.tar.gz" &#36;{SYSTEM_CONF}<br />
 <br />
echo "#### SAVEING SETTINGS ####"<br />
cp -v &#36;{WWWDIR}/ispcp/engine/ispcp-db-keys.pl .<br />
cp -v &#36;{WWWDIR}/ispcp/gui/include/ispcp-db-keys.php .<br />
cp -v &#36;{WWWDIR}/ispcp/gui/tools/pma/config.inc.php .<br />
popd<br />
 <br />
echo "#### BUILDING ISPCP ####"<br />
make -f &#36;{MAKEFILE} clean<br />
make -f &#36;{MAKEFILE} install<br />
 <br />
echo "#### STOPING ISPCP DAEMON ####"<br />
&#36;CMD_ISPCPD stop<br />
 <br />
echo "#### SAVEING CUSTOM STAFF ####"<br />
cp -TvR &#36;{GUI_ROOT_DIR}/domain_default_page &#36;{INST_PREF}&#36;{GUI_ROOT_DIR}/domain_default_page<br />
cp -v &#36;{GUI_ROOT_DIR}/themes/user_logos/* &#36;{INST_PREF}&#36;{GUI_ROOT_DIR}/themes/user_logos/<br />
cp -TvR &#36;{GUI_ROOT_DIR}/errordocs &#36;{INST_PREF}&#36;{GUI_ROOT_DIR}/errordocs<br />
 <br />
echo "#### REMOVE OLD ISPCP ####"<br />
rm -fR &#36;ROOT_DIR<br />
 <br />
echo  "#### REMOVE .svn DIRECTORIES ####"<br />
rm -fR `find &#36;{INST_PREF} -type d -name '.svn'`<br />
 <br />
echo "#### UPDATE CURENT INSTALLATION ####"<br />
pushd &#36;{INST_PREF}&#36;{WWWDIR}<br />
rm -fR `find ispcp/ -type d -name '.svn'`<br />
cp -R ispcp/ &#36;WWWDIR<br />
cp -v &#36;{INST_PREF}&#36;{CMD_PFLOGSUM} &#36;{CMD_PFLOGSUM}<br />
popd<br />
 <br />
echo "#### RESTORE SETTINGS ####"<br />
pushd &#36;BACKUPDIR<br />
cp -v ispcp-db-keys.pl &#36;{WWWDIR}/ispcp/engine/<br />
cp -v ispcp-db-keys.pl &#36;{WWWDIR}/ispcp/engine/messager/<br />
cp -v ispcp-db-keys.php &#36;{WWWDIR}/ispcp/gui/include/<br />
cp -v config.inc.php &#36;{WWWDIR}/ispcp/gui/tools/pma/<br />
 <br />
echo "#### RESTORE BACKUPS ####"<br />
if [ &#36;SAVE_DEFAULT_BACKUP == "yes" ] ; then<br />
	mv -f backups &#36;{BACKUP_FILE_DIR}<br />
fi<br />
popd<br />
 <br />
echo "#### SETTING PERMISIONS ####"<br />
pushd &#36;{WWWDIR}/ispcp/engine/setup/<br />
./set-engine-permissions.sh<br />
./set-gui-permissions.sh<br />
popd<br />
 <br />
echo "#### COPYING /parts DIRECTORIES ####"<br />
bla=`find &#36;{INST_PREF}/etc/ispcp -type d -name 'parts'`;<br />
for x in &#36;bla;<br />
do<br />
	bla2=`echo &#36;{x} | awk -F"&#36;{INST_PREF}|/parts" '{print &#36;2}'`<br />
	cp -R &#36;x &#36;bla2<br />
done<br />
cp &#36;{INST_PREF}&#36;{CONF_DIR}/apache/httpd.conf &#36;{CONF_DIR}/apache/httpd.conf<br />
cp &#36;{INST_PREF}&#36;{CONF_DIR}/apache/working/ispcp.conf &#36;{CONF_DIR}/apache/working/ispcp.conf<br />
 <br />
echo "#### REBUILDING SITES ####"<br />
if [ &#36;REBUILD_SITES == "yes" ] ; then<br />
cat &lt;&lt;EOF | mysql -uroot -p'YOURPASSWORD' ispcp<br />
UPDATE mail_users SET status='toadd' WHERE status='ok';<br />
UPDATE domain SET domain_status = 'change' WHERE domain_status = 'ok';<br />
UPDATE domain_aliasses SET alias_status = 'change' WHERE alias_status = 'ok';<br />
UPDATE subdomain SET subdomain_status = 'change' WHERE subdomain_status = 'ok';<br />
UPDATE subdomain_alias SET subdomain_alias_status = 'change' WHERE subdomain_alias_status = 'ok';<br />
UPDATE htaccess SET status = 'change' WHERE status='ok';<br />
UPDATE htaccess_groups SET status = 'change' WHERE status='ok';<br />
UPDATE htaccess_users SET status = 'change' WHERE status='ok';<br />
UPDATE server_ips SET ip_status = 'change' WHERE ip_status='ok';;<br />
TRUNCATE TABLE login;<br />
EOF<br />
&#36;{ROOT_DIR}/engine/ispcp-rqst-mngr<br />
fi<br />
 <br />
echo "#### Starting ispcp-daemon ####"<br />
&#36;CMD_ISPCPD start<br />
 <br />
echo "#### Deleting ispcp tmp Dir ####"<br />
make clean<br />
 <br />
echo "#### Restarting Services ####"<br />
&#36;CMD_HTTPD restart<br />
&#36;CMD_NAMED restart<br />
&#36;CMD_MTA restart<br />
</span>]]></description>
			<content:encoded><![CDATA[Attached you'll find a updated version of the automated nightly update script with added support for Ubuntu. Tested on jaunty.<br />
<br />
<span style="font-family: Courier;">#!/bin/bash<br />
#<br />
# ispcp-nightly-update<br />
# Version: 0.0.5 - 03.05.2009<br />
# License: GPL<br />
# Author : ispcomm<br />
# Credits: ispcp development team<br />
#<br />
# Variables<br />
BACKUPDIR="/var/www/backup"<br />
TRUNK_DIR="/usr/src/ispcp"<br />
REBUILD_SITES="yes"<br />
SAVE_DEFAULT_BACKUP="yes"<br />
DISTRO_UPD="yes"<br />
 <br />
 <br />
function msg_exit(){<br />
	echo &#36;1;exit;<br />
}<br />
function Extract_vars(){<br />
	eval `cat &#36;{TRUNK_DIR}/&#36;{MAKEFILE} | grep -E "(INST_PREF|SYSTEM_CONF)="| sed -e 's/&#36;(INST_PREF)//g'`<br />
	for a in `cat &#36;{SYSTEM_CONF}/ispcp.conf | grep -E "(CONF_DIR|GUI_ROOT_DIR|ROOT_DIR|BACKUP_FILE_DIR|CMD_HTTPD|CMD_NAMED|CMD_MTA|CMD_&#8203;ISPCPD|CMD_PFLOGSUM)"| sed -e 's/ //g'`<br />
	do <br />
		export &#36;a<br />
	done<br />
	WWWDIR=`echo &#36;{ROOT_DIR} | awk -F "/ispcp" '{print &#36;1}'`<br />
}<br />
 <br />
#download/update trunk no longer remove old trunk (thanks kilburn)<br />
echo "#### DOWNLOAD TRUNK ####"<br />
mkdir -p &#36;{TRUNK_DIR}<br />
svn checkout <a href="http://www.isp-control.net/ispcp_svn/trunk/" target="_blank">http://www.isp-control.net/ispcp_svn/trunk/</a> &#36;{TRUNK_DIR}<br />
cd &#36;{TRUNK_DIR}<br />
 <br />
echo "#### SO determining ####"<br />
if [ `lsb_release -i -s | tr -d "\n"` == "Ubuntu" ]; then<br />
	RELEASE=`lsb_release -c | awk '{print &#36;2}' | tr -d "\n"`<br />
	case &#36;{RELEASE} in<br />
		"jaunty")	;;<br />
		"intrepid")	;;<br />
		"hardy")	;;<br />
		"gutsy")	;;<br />
		"feisty")	;;<br />
		"edgy")	;;<br />
		* ) msg_exit "&#36;{RELEASE} is not suported";;<br />
	esac<br />
	MAKEFILE="Makefile.ubuntu"<br />
	Extract_vars<br />
	if [ &#36;DISTRO_UPD == "yes" ] ; then<br />
		if [ -e ./docs/Ubuntu/ubuntu-packages-&#36;{RELEASE} ]; then<br />
			echo "#### SO UPDATE ####"<br />
			apt-get update;<br />
			apt-get -y dist-upgrade;<br />
			apt-get -y install `cat ./docs/Ubuntu/ubuntu-packages-&#36;{RELEASE}`;<br />
		fi<br />
	fi;<br />
elif [ -e /etc/debian_version ]; then<br />
	RELEASE=`lsb_release -c | awk '{print &#36;2}' | tr -d "\n"`<br />
	case &#36;{RELEASE} in<br />
		"sarge")	;;<br />
		"etch")		;;<br />
		"lenny")	;;<br />
		"squeeze")	;;<br />
		* ) msg_exit "&#36;{RELEASE} is not suported";;<br />
	esac<br />
	MAKEFILE="Makefile"<br />
	Extract_vars<br />
	if [ &#36;DISTRO_UPD == "yes" ] ; then<br />
		if [ -e ./docs/Debian/debian-packages-&#36;{RELEASE} ]; then<br />
			echo "#### SO UPDATE ####"<br />
			apt-get update;<br />
			apt-get -y dist-upgrade;<br />
			apt-get -y install `cat ./docs/Debian/debian-packages-&#36;{RELEASE}`;<br />
		fi<br />
	fi;<br />
elif [ -e /etc/fedora-release ]; then<br />
	MAKEFILE="Makefile.fedora"<br />
	Extract_vars<br />
	if [ &#36;DISTRO_UPD == "yes" ] ; then<br />
		msg_exit "Fedora is not suported yet"<br />
		yum -y install `cat ./docs/Fedora/fedora-packages`<br />
		cpan2rpm -i <a href="http://search.cpan.org/CPAN/authors/id/P/PH/PHOENIX/Term-ReadPassword-0.07.tar.gz" target="_blank">http://search.cpan.org/CPAN/authors/id/P....07.tar.gz</a><br />
		wget -P /tmp/core <a href="http://hany.sk/mirror/fedora/releases/7/Everything/i386/os/Fedora/perl-Net-LibIDN-0.09-3.fc7.i386.rpm" target="_blank">http://hany.sk/mirror/fedora/releases/7/...7.i386.rpm</a><br />
		rpm -i /tmp/core/perl-Net-LibIDN-0.09-3.fc7.i386.rpm<br />
		rm -f /tmp/core/perl-Net-LibIDN-0.09-3.fc7.i386.rpm<br />
	fi;<br />
elif [ -e /etc/SuSE-release ]; then<br />
	MAKEFILE="Makefile.opensuse"<br />
	Extract_vars<br />
	if [ &#36;DISTRO_UPD == "yes" ] ; then<br />
		yast -i `cat ./docs/OpenSuse/opensuse103-packages`<br />
	fi;<br />
elif [ -e /etc/gentoo-release ]; then<br />
	MAKEFILE="Makefile.gentoo"<br />
	Extract_vars<br />
	if [ &#36;DISTRO_UPD == "yes" ] ; then<br />
		emerge -uq `cat ./docs/Gentoo/gentoo-packages`<br />
	fi;<br />
elif [ -e /etc/redhat-release ]; then<br />
	msg_exit "RedHat is not suported yet"<br />
elif [ -e /etc/slackware-version ]; then<br />
	msg_exit "Slackware is not suported yet"<br />
else<br />
	msg_exit "Unknown Linux ditribution: not suported"<br />
fi<br />
 <br />
echo "#### BACKUP OLD FILES ####"<br />
mkdir -p &#36;BACKUPDIR<br />
pushd &#36;BACKUPDIR<br />
if [ &#36;SAVE_DEFAULT_BACKUP == "yes" ] ; then<br />
	mv -f &#36;BACKUP_FILE_DIR .<br />
fi<br />
 <br />
tar czpf "ispcp_backup-`date +'%Y-%m-%d %H-%M-%S'`.tar.gz" &#36;{WWWDIR}/ispcp/<br />
tar czpf "ispcp_backup-etc-`date +'%Y-%m-%d %H-%M-%S'`.tar.gz" &#36;{SYSTEM_CONF}<br />
 <br />
echo "#### SAVEING SETTINGS ####"<br />
cp -v &#36;{WWWDIR}/ispcp/engine/ispcp-db-keys.pl .<br />
cp -v &#36;{WWWDIR}/ispcp/gui/include/ispcp-db-keys.php .<br />
cp -v &#36;{WWWDIR}/ispcp/gui/tools/pma/config.inc.php .<br />
popd<br />
 <br />
echo "#### BUILDING ISPCP ####"<br />
make -f &#36;{MAKEFILE} clean<br />
make -f &#36;{MAKEFILE} install<br />
 <br />
echo "#### STOPING ISPCP DAEMON ####"<br />
&#36;CMD_ISPCPD stop<br />
 <br />
echo "#### SAVEING CUSTOM STAFF ####"<br />
cp -TvR &#36;{GUI_ROOT_DIR}/domain_default_page &#36;{INST_PREF}&#36;{GUI_ROOT_DIR}/domain_default_page<br />
cp -v &#36;{GUI_ROOT_DIR}/themes/user_logos/* &#36;{INST_PREF}&#36;{GUI_ROOT_DIR}/themes/user_logos/<br />
cp -TvR &#36;{GUI_ROOT_DIR}/errordocs &#36;{INST_PREF}&#36;{GUI_ROOT_DIR}/errordocs<br />
 <br />
echo "#### REMOVE OLD ISPCP ####"<br />
rm -fR &#36;ROOT_DIR<br />
 <br />
echo  "#### REMOVE .svn DIRECTORIES ####"<br />
rm -fR `find &#36;{INST_PREF} -type d -name '.svn'`<br />
 <br />
echo "#### UPDATE CURENT INSTALLATION ####"<br />
pushd &#36;{INST_PREF}&#36;{WWWDIR}<br />
rm -fR `find ispcp/ -type d -name '.svn'`<br />
cp -R ispcp/ &#36;WWWDIR<br />
cp -v &#36;{INST_PREF}&#36;{CMD_PFLOGSUM} &#36;{CMD_PFLOGSUM}<br />
popd<br />
 <br />
echo "#### RESTORE SETTINGS ####"<br />
pushd &#36;BACKUPDIR<br />
cp -v ispcp-db-keys.pl &#36;{WWWDIR}/ispcp/engine/<br />
cp -v ispcp-db-keys.pl &#36;{WWWDIR}/ispcp/engine/messager/<br />
cp -v ispcp-db-keys.php &#36;{WWWDIR}/ispcp/gui/include/<br />
cp -v config.inc.php &#36;{WWWDIR}/ispcp/gui/tools/pma/<br />
 <br />
echo "#### RESTORE BACKUPS ####"<br />
if [ &#36;SAVE_DEFAULT_BACKUP == "yes" ] ; then<br />
	mv -f backups &#36;{BACKUP_FILE_DIR}<br />
fi<br />
popd<br />
 <br />
echo "#### SETTING PERMISIONS ####"<br />
pushd &#36;{WWWDIR}/ispcp/engine/setup/<br />
./set-engine-permissions.sh<br />
./set-gui-permissions.sh<br />
popd<br />
 <br />
echo "#### COPYING /parts DIRECTORIES ####"<br />
bla=`find &#36;{INST_PREF}/etc/ispcp -type d -name 'parts'`;<br />
for x in &#36;bla;<br />
do<br />
	bla2=`echo &#36;{x} | awk -F"&#36;{INST_PREF}|/parts" '{print &#36;2}'`<br />
	cp -R &#36;x &#36;bla2<br />
done<br />
cp &#36;{INST_PREF}&#36;{CONF_DIR}/apache/httpd.conf &#36;{CONF_DIR}/apache/httpd.conf<br />
cp &#36;{INST_PREF}&#36;{CONF_DIR}/apache/working/ispcp.conf &#36;{CONF_DIR}/apache/working/ispcp.conf<br />
 <br />
echo "#### REBUILDING SITES ####"<br />
if [ &#36;REBUILD_SITES == "yes" ] ; then<br />
cat &lt;&lt;EOF | mysql -uroot -p'YOURPASSWORD' ispcp<br />
UPDATE mail_users SET status='toadd' WHERE status='ok';<br />
UPDATE domain SET domain_status = 'change' WHERE domain_status = 'ok';<br />
UPDATE domain_aliasses SET alias_status = 'change' WHERE alias_status = 'ok';<br />
UPDATE subdomain SET subdomain_status = 'change' WHERE subdomain_status = 'ok';<br />
UPDATE subdomain_alias SET subdomain_alias_status = 'change' WHERE subdomain_alias_status = 'ok';<br />
UPDATE htaccess SET status = 'change' WHERE status='ok';<br />
UPDATE htaccess_groups SET status = 'change' WHERE status='ok';<br />
UPDATE htaccess_users SET status = 'change' WHERE status='ok';<br />
UPDATE server_ips SET ip_status = 'change' WHERE ip_status='ok';;<br />
TRUNCATE TABLE login;<br />
EOF<br />
&#36;{ROOT_DIR}/engine/ispcp-rqst-mngr<br />
fi<br />
 <br />
echo "#### Starting ispcp-daemon ####"<br />
&#36;CMD_ISPCPD start<br />
 <br />
echo "#### Deleting ispcp tmp Dir ####"<br />
make clean<br />
 <br />
echo "#### Restarting Services ####"<br />
&#36;CMD_HTTPD restart<br />
&#36;CMD_NAMED restart<br />
&#36;CMD_MTA restart<br />
</span>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Shell] Größe der Postfächer ermitteln]]></title>
			<link>http://www.isp-control.net/forum/thread-6499.html</link>
			<pubDate>Wed, 22 Apr 2009 18:38:59 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-6499.html</guid>
			<description><![CDATA[Neben der <a href="http://www.isp-control.net/forum/thread-6498.html" target="_blank">Größe meiner gehosteten Sites</a> interessiert mich auch monatlich die Postfachgröße. Dafür habe ich folgendes Shellscript:<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>pico /root/bin/mailfoldersize</code></div></div>
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>#!/bin/bash<br />
<br />
FOLDER="/var/mail/virtual/"<br />
<br />
for domain in &#36;(ls &#36;FOLDER); do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if [ `ls &#36;FOLDER&#36;domain -1a|wc -l` -gt 2 ]; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "Domain: &#36;domain";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "==================================";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;## old version ## du -s &#36;FOLDER&#36;domain/*|sed "s#&#36;FOLDER&#36;domain/##g"|sort -gr;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;## by tomhb<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;du --max-depth 1 &#36;FOLDER |sed "s#&#36;FOLDER##g"| sort -gr | &#92;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;awk '{ &#36;1=&#36;1/1024; printf "%.2f MB: &#92;t%s&#92;n",&#36;1,&#36;2 }'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi<br />
done<br />
<br />
echo "Alle Domains:"<br />
echo "============="<br />
du -s &#36;FOLDER*/*|sed "s#&#36;FOLDER##g"|sort -gr;<br />
echo ""<br />
echo ""</code></div></div>
<br />
Ausführbar machen:<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>chmod +x /root/bin/mailfoldersize</code></div></div>
<br />
und für die monatliche Zustellung die Crontab bearbeiten:<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>crontab -e</code></div></div>
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 * * /root/bin/mailfoldersize | mail -s "[SERVERNAME] Postfach-Stats" "mailadresse@domain.tld" &gt;/dev/null 2&gt;&amp;1</code></div></div>
 &lt;- alles in einer Zeile !<br />
<br />
Knut]]></description>
			<content:encoded><![CDATA[Neben der <a href="http://www.isp-control.net/forum/thread-6498.html" target="_blank">Größe meiner gehosteten Sites</a> interessiert mich auch monatlich die Postfachgröße. Dafür habe ich folgendes Shellscript:<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>pico /root/bin/mailfoldersize</code></div></div>
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>#!/bin/bash<br />
<br />
FOLDER="/var/mail/virtual/"<br />
<br />
for domain in &#36;(ls &#36;FOLDER); do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if [ `ls &#36;FOLDER&#36;domain -1a|wc -l` -gt 2 ]; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "Domain: &#36;domain";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "==================================";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;## old version ## du -s &#36;FOLDER&#36;domain/*|sed "s#&#36;FOLDER&#36;domain/##g"|sort -gr;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;## by tomhb<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;du --max-depth 1 &#36;FOLDER |sed "s#&#36;FOLDER##g"| sort -gr | &#92;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;awk '{ &#36;1=&#36;1/1024; printf "%.2f MB: &#92;t%s&#92;n",&#36;1,&#36;2 }'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo "";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi<br />
done<br />
<br />
echo "Alle Domains:"<br />
echo "============="<br />
du -s &#36;FOLDER*/*|sed "s#&#36;FOLDER##g"|sort -gr;<br />
echo ""<br />
echo ""</code></div></div>
<br />
Ausführbar machen:<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>chmod +x /root/bin/mailfoldersize</code></div></div>
<br />
und für die monatliche Zustellung die Crontab bearbeiten:<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>crontab -e</code></div></div>
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 * * /root/bin/mailfoldersize | mail -s "[SERVERNAME] Postfach-Stats" "mailadresse@domain.tld" &gt;/dev/null 2&gt;&amp;1</code></div></div>
 &lt;- alles in einer Zeile !<br />
<br />
Knut]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Shell] Größe der Webseiten ermitteln]]></title>
			<link>http://www.isp-control.net/forum/thread-6498.html</link>
			<pubDate>Wed, 22 Apr 2009 18:27:13 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-6498.html</guid>
			<description><![CDATA[Monatlich schaue ich mit gerne die Größe der gehosteten Sites an. Um es mir einfacher zu machen verwende ich dafür folgendes Script und lasse es durch den Cron monatlich laufen<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>pico /root/bin/webfoldersize</code></div></div>
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>#!/bin/bash<br />
<br />
FOLDER="/var/www/virtual/"<br />
<br />
echo "Groesse der Webseiten"<br />
echo "============="<br />
### old ### du -s &#36;FOLDER/*|sed "s#&#36;FOLDER##g"|sort -gr;<br />
## by tomhb<br />
du --max-depth 1 &#36;FOLDER |sed "s#&#36;FOLDER##g"| sort -gr | &#92;<br />
&nbsp;&nbsp; awk '{ &#36;1=&#36;1/1024; printf "%.2f MB: &#92;t%s&#92;n",&#36;1,&#36;2 }'<br />
echo ""</code></div></div>
<br />
Natürlich ausführbar machen<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>chmod +x /root/bin/webfoldersize</code></div></div>
<br />
In die Crontab entsprechend folgendes einfügen:<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>crontab -e</code></div></div>
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 * * /root/bin/webfoldersize | mail -s "[Gisele] Site-Stats" "knut@meine-domain.de" &gt;/dev/null 2&gt;&amp;1</code></div></div>
 ^-- alles in einer Zeile !<br />
<br />
Achja: Man sollte natürlich den Betreff und die Mailadresse auf seine Bedürfnisse anpassen. Einer meiner (weiblichen) Server heißt nun mal "Gisele" :-)]]></description>
			<content:encoded><![CDATA[Monatlich schaue ich mit gerne die Größe der gehosteten Sites an. Um es mir einfacher zu machen verwende ich dafür folgendes Script und lasse es durch den Cron monatlich laufen<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>pico /root/bin/webfoldersize</code></div></div>
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>#!/bin/bash<br />
<br />
FOLDER="/var/www/virtual/"<br />
<br />
echo "Groesse der Webseiten"<br />
echo "============="<br />
### old ### du -s &#36;FOLDER/*|sed "s#&#36;FOLDER##g"|sort -gr;<br />
## by tomhb<br />
du --max-depth 1 &#36;FOLDER |sed "s#&#36;FOLDER##g"| sort -gr | &#92;<br />
&nbsp;&nbsp; awk '{ &#36;1=&#36;1/1024; printf "%.2f MB: &#92;t%s&#92;n",&#36;1,&#36;2 }'<br />
echo ""</code></div></div>
<br />
Natürlich ausführbar machen<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>chmod +x /root/bin/webfoldersize</code></div></div>
<br />
In die Crontab entsprechend folgendes einfügen:<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>crontab -e</code></div></div>
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 * * /root/bin/webfoldersize | mail -s "[Gisele] Site-Stats" "knut@meine-domain.de" &gt;/dev/null 2&gt;&amp;1</code></div></div>
 ^-- alles in einer Zeile !<br />
<br />
Achja: Man sollte natürlich den Betreff und die Mailadresse auf seine Bedürfnisse anpassen. Einer meiner (weiblichen) Server heißt nun mal "Gisele" :-)]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[PHP] ispCP class]]></title>
			<link>http://www.isp-control.net/forum/thread-5519.html</link>
			<pubDate>Fri, 23 Jan 2009 13:29:01 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-5519.html</guid>
			<description><![CDATA[Here is a php class which manipulates with ispCP database. It can execute common task as adding a new user, it is its main purpose<br /><!-- start: postbit_attachments_attachment -->
<br /><img src="images/attachtypes/php.gif" border="0" alt=".php" />&nbsp;&nbsp;<a href="attachment.php?aid=579" target="_blank">class.ispcp.php</a> (Size: 15.34 KB / Downloads: 138)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Here is a php class which manipulates with ispCP database. It can execute common task as adding a new user, it is its main purpose<br /><!-- start: postbit_attachments_attachment -->
<br /><img src="images/attachtypes/php.gif" border="0" alt=".php" />&nbsp;&nbsp;<a href="attachment.php?aid=579" target="_blank">class.ispcp.php</a> (Size: 15.34 KB / Downloads: 138)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[Shell] Decrypt Mailpasswords]]></title>
			<link>http://www.isp-control.net/forum/thread-5495.html</link>
			<pubDate>Tue, 20 Jan 2009 17:59:56 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-5495.html</guid>
			<description><![CDATA[In some cases, I need the decrypted password of a user's mail.<br />
To make it easier for me, I have written a small php-shell-script.<br />
<br />
Here we go:<br />
(of course you need php-cli)<br />
<br />
1. Save this code over here -&gt; /root/bin<br />
<div class="codeblock phpcodeblock"><div class="title">PHP Code:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">#!/usr/bin/php&nbsp;-q<br /><br /></span><span style="color: #007700">&lt;?</span><span style="color: #0000BB">php<br /><br /></span><span style="color: #FF8000">##&nbsp;Autor:&nbsp;Knut&nbsp;Herter<br />##&nbsp;Datum:&nbsp;06.10.2009<br />##&nbsp;Web&nbsp;&nbsp;:&nbsp;http://www.systemtechnics.de<br />##<br />##&nbsp;Usage:&nbsp;decrypt_mailpw.php&nbsp;|grep&nbsp;whatever_you_want<br />##<br />##&nbsp;Example:&nbsp;decrypt_mailpw.php&nbsp;|grep&nbsp;admin<br /><br /><br />###<br />#&nbsp;FIRST&nbsp;CHANGE&nbsp;THIS&nbsp;VALUES&nbsp;!<br />###<br /><br /></span><span style="color: #0000BB">&#36;SQLHST&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;SQLUSR&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"root"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;ISPCPDB&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"ispcp"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">#&nbsp;if&nbsp;error_reporting&nbsp;on,&nbsp;you&nbsp;see&nbsp;some&nbsp;session&nbsp;errors&nbsp;at&nbsp;cli<br /></span><span style="color: #0000BB">error_reporting</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">#################################<br />####&nbsp;Do&nbsp;not&nbsp;change&nbsp;from&nbsp;here&nbsp;####<br /><br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"MySQL&nbsp;password&nbsp;for&nbsp;</span><span style="color: #0000BB">&#36;SQLUSR</span><span style="color: #DD0000">@</span><span style="color: #0000BB">&#36;SQLHST</span><span style="color: #DD0000">:&nbsp;"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">system</span><span style="color: #007700">(</span><span style="color: #DD0000">'stty&nbsp;-echo'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;SQLPW&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">fgets</span><span style="color: #007700">(</span><span style="color: #0000BB">STDIN</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">system</span><span style="color: #007700">(</span><span style="color: #DD0000">'stty&nbsp;echo'</span><span style="color: #007700">);&nbsp;<br /><br /></span><span style="color: #0000BB">&#36;QUERY&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SELECT&nbsp;&nbsp;`mail_users`.mail_acc,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`mail_users`.mail_pass,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`domain`.domain_name<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM&nbsp;&nbsp;&nbsp;&nbsp;`domain`<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INNER&nbsp;JOIN&nbsp;`mail_users`&nbsp;ON&nbsp;(`mail_users`.domain_id&nbsp;=&nbsp;`domain`.domain_id)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHERE&nbsp;&nbsp;&nbsp;`mail_type`&nbsp;LIKE&nbsp;'normal_mail'&nbsp;OR&nbsp;`mail_type`&nbsp;LIKE&nbsp;'normal_mail,normal_forward'"</span><span style="color: #007700">;<br /><br />require&nbsp;</span><span style="color: #DD0000">'/var/www/ispcp/gui/include/ispcp-lib.php'</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">&#36;link&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;SQLHST</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;SQLUSR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;SQLPW</span><span style="color: #007700">);<br />if&nbsp;(!</span><span style="color: #0000BB">&#36;link</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;die(</span><span style="color: #DD0000">'keine&nbsp;Verbindung&nbsp;möglich:&nbsp;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">());<br />}<br /><br /></span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;ISPCPDB</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;link</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #DD0000">'Could&nbsp;not&nbsp;select&nbsp;database.'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">&#36;result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;QUERY</span><span style="color: #007700">);<br />if&nbsp;(!</span><span style="color: #0000BB">&#36;result</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;die(</span><span style="color: #DD0000">'Ungültige&nbsp;Abfrage:&nbsp;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">());<br />}<br /><br /></span><span style="color: #0000BB">&#36;FORMAT&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"Domain&nbsp;MailAdr:&nbsp;[&nbsp;%s@%s&nbsp;]&nbsp;Passwort:&nbsp;[&nbsp;%s&nbsp;]&#092;n"</span><span style="color: #007700">;<br />while&nbsp;(</span><span style="color: #0000BB">&#36;row&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_row</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;result</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;FORMAT</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;row</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">&#36;row</span><span style="color: #007700">[</span><span style="color: #0000BB">2</span><span style="color: #007700">],&nbsp;&nbsp;</span><span style="color: #0000BB">decrypt_db_password&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;row</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">]));<br />}<br /></span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"&#092;n"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">mysql_close</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;link</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">#######&nbsp;DOMAINALIASE<br /><br /></span><span style="color: #0000BB">&#36;QUERY&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SELECT&nbsp;&nbsp;`mail_users`.mail_acc,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`mail_users`.mail_pass,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`domain_aliasses`.alias_name<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM&nbsp;&nbsp;&nbsp;&nbsp;`domain_aliasses`<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INNER&nbsp;JOIN&nbsp;`mail_users`&nbsp;ON&nbsp;(`mail_users`.sub_id&nbsp;=&nbsp;`domain_aliasses`.alias_id)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHERE&nbsp;&nbsp;&nbsp;`mail_type`&nbsp;LIKE&nbsp;'alias_mail'&nbsp;OR&nbsp;`mail_type`&nbsp;LIKE&nbsp;'alias_mail,alias_forward'"</span><span style="color: #007700">;<br /><br /><br /><br /></span><span style="color: #0000BB">&#36;link&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;SQLHST</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;SQLUSR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;SQLPW</span><span style="color: #007700">);<br />if&nbsp;(!</span><span style="color: #0000BB">&#36;link</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;die(</span><span style="color: #DD0000">'keine&nbsp;Verbindung&nbsp;möglich:&nbsp;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">());<br />}<br /><br /></span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;ISPCPDB</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;link</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #DD0000">'Could&nbsp;not&nbsp;select&nbsp;database.'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">&#36;result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;QUERY</span><span style="color: #007700">);<br />if&nbsp;(!</span><span style="color: #0000BB">&#36;result</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;die(</span><span style="color: #DD0000">'Ungültige&nbsp;Abfrage:&nbsp;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">());<br />}<br /><br /><br /></span><span style="color: #0000BB">&#36;FORMAT&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"Aliasdomain&nbsp;MailAdr:&nbsp;[&nbsp;%s@%s&nbsp;]&nbsp;Passwort:&nbsp;[&nbsp;%s&nbsp;]&#092;n"</span><span style="color: #007700">;<br />while&nbsp;(</span><span style="color: #0000BB">&#36;row&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_row</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;result</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;FORMAT</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;row</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">&#36;row</span><span style="color: #007700">[</span><span style="color: #0000BB">2</span><span style="color: #007700">],&nbsp;&nbsp;</span><span style="color: #0000BB">decrypt_db_password&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;row</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">]));<br />}<br /></span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"&#092;n"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">mysql_close</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;link</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div>
<br />
2. make it executable<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>chmod +x /root/bin/decrypt_mailpw.php</code></div></div>
<br />
3. run :-)<br />
<br />
4. If you want a special mailpassword, run with grep<br />
example: <div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>decrypt_mailpw.php |grep webmaster</code></div></div>
 or <div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>decrypt_mailpw.php |grep mydomain.de</code></div></div>
]]></description>
			<content:encoded><![CDATA[In some cases, I need the decrypted password of a user's mail.<br />
To make it easier for me, I have written a small php-shell-script.<br />
<br />
Here we go:<br />
(of course you need php-cli)<br />
<br />
1. Save this code over here -&gt; /root/bin<br />
<div class="codeblock phpcodeblock"><div class="title">PHP Code:<br />
</div><div class="body"><div dir="ltr"><code><span style="color: #FF8000">#!/usr/bin/php&nbsp;-q<br /><br /></span><span style="color: #007700">&lt;?</span><span style="color: #0000BB">php<br /><br /></span><span style="color: #FF8000">##&nbsp;Autor:&nbsp;Knut&nbsp;Herter<br />##&nbsp;Datum:&nbsp;06.10.2009<br />##&nbsp;Web&nbsp;&nbsp;:&nbsp;http://www.systemtechnics.de<br />##<br />##&nbsp;Usage:&nbsp;decrypt_mailpw.php&nbsp;|grep&nbsp;whatever_you_want<br />##<br />##&nbsp;Example:&nbsp;decrypt_mailpw.php&nbsp;|grep&nbsp;admin<br /><br /><br />###<br />#&nbsp;FIRST&nbsp;CHANGE&nbsp;THIS&nbsp;VALUES&nbsp;!<br />###<br /><br /></span><span style="color: #0000BB">&#36;SQLHST&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;SQLUSR&nbsp;&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"root"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">&#36;ISPCPDB&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"ispcp"</span><span style="color: #007700">;<br /><br /></span><span style="color: #FF8000">#&nbsp;if&nbsp;error_reporting&nbsp;on,&nbsp;you&nbsp;see&nbsp;some&nbsp;session&nbsp;errors&nbsp;at&nbsp;cli<br /></span><span style="color: #0000BB">error_reporting</span><span style="color: #007700">(</span><span style="color: #0000BB">0</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">#################################<br />####&nbsp;Do&nbsp;not&nbsp;change&nbsp;from&nbsp;here&nbsp;####<br /><br /></span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">"MySQL&nbsp;password&nbsp;for&nbsp;</span><span style="color: #0000BB">&#36;SQLUSR</span><span style="color: #DD0000">@</span><span style="color: #0000BB">&#36;SQLHST</span><span style="color: #DD0000">:&nbsp;"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">system</span><span style="color: #007700">(</span><span style="color: #DD0000">'stty&nbsp;-echo'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">&#36;SQLPW&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">fgets</span><span style="color: #007700">(</span><span style="color: #0000BB">STDIN</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">system</span><span style="color: #007700">(</span><span style="color: #DD0000">'stty&nbsp;echo'</span><span style="color: #007700">);&nbsp;<br /><br /></span><span style="color: #0000BB">&#36;QUERY&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SELECT&nbsp;&nbsp;`mail_users`.mail_acc,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`mail_users`.mail_pass,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`domain`.domain_name<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM&nbsp;&nbsp;&nbsp;&nbsp;`domain`<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INNER&nbsp;JOIN&nbsp;`mail_users`&nbsp;ON&nbsp;(`mail_users`.domain_id&nbsp;=&nbsp;`domain`.domain_id)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHERE&nbsp;&nbsp;&nbsp;`mail_type`&nbsp;LIKE&nbsp;'normal_mail'&nbsp;OR&nbsp;`mail_type`&nbsp;LIKE&nbsp;'normal_mail,normal_forward'"</span><span style="color: #007700">;<br /><br />require&nbsp;</span><span style="color: #DD0000">'/var/www/ispcp/gui/include/ispcp-lib.php'</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">&#36;link&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;SQLHST</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;SQLUSR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;SQLPW</span><span style="color: #007700">);<br />if&nbsp;(!</span><span style="color: #0000BB">&#36;link</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;die(</span><span style="color: #DD0000">'keine&nbsp;Verbindung&nbsp;möglich:&nbsp;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">());<br />}<br /><br /></span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;ISPCPDB</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;link</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #DD0000">'Could&nbsp;not&nbsp;select&nbsp;database.'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">&#36;result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;QUERY</span><span style="color: #007700">);<br />if&nbsp;(!</span><span style="color: #0000BB">&#36;result</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;die(</span><span style="color: #DD0000">'Ungültige&nbsp;Abfrage:&nbsp;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">());<br />}<br /><br /></span><span style="color: #0000BB">&#36;FORMAT&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"Domain&nbsp;MailAdr:&nbsp;[&nbsp;%s@%s&nbsp;]&nbsp;Passwort:&nbsp;[&nbsp;%s&nbsp;]&#092;n"</span><span style="color: #007700">;<br />while&nbsp;(</span><span style="color: #0000BB">&#36;row&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_row</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;result</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;FORMAT</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;row</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">&#36;row</span><span style="color: #007700">[</span><span style="color: #0000BB">2</span><span style="color: #007700">],&nbsp;&nbsp;</span><span style="color: #0000BB">decrypt_db_password&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;row</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">]));<br />}<br /></span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"&#092;n"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">mysql_close</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;link</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">#######&nbsp;DOMAINALIASE<br /><br /></span><span style="color: #0000BB">&#36;QUERY&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SELECT&nbsp;&nbsp;`mail_users`.mail_acc,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`mail_users`.mail_pass,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`domain_aliasses`.alias_name<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM&nbsp;&nbsp;&nbsp;&nbsp;`domain_aliasses`<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;INNER&nbsp;JOIN&nbsp;`mail_users`&nbsp;ON&nbsp;(`mail_users`.sub_id&nbsp;=&nbsp;`domain_aliasses`.alias_id)<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHERE&nbsp;&nbsp;&nbsp;`mail_type`&nbsp;LIKE&nbsp;'alias_mail'&nbsp;OR&nbsp;`mail_type`&nbsp;LIKE&nbsp;'alias_mail,alias_forward'"</span><span style="color: #007700">;<br /><br /><br /><br /></span><span style="color: #0000BB">&#36;link&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;SQLHST</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;SQLUSR</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;SQLPW</span><span style="color: #007700">);<br />if&nbsp;(!</span><span style="color: #0000BB">&#36;link</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;die(</span><span style="color: #DD0000">'keine&nbsp;Verbindung&nbsp;möglich:&nbsp;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">());<br />}<br /><br /></span><span style="color: #0000BB">mysql_select_db</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;ISPCPDB</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;link</span><span style="color: #007700">)&nbsp;or&nbsp;die(</span><span style="color: #DD0000">'Could&nbsp;not&nbsp;select&nbsp;database.'</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">&#36;result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;QUERY</span><span style="color: #007700">);<br />if&nbsp;(!</span><span style="color: #0000BB">&#36;result</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;die(</span><span style="color: #DD0000">'Ungültige&nbsp;Abfrage:&nbsp;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">());<br />}<br /><br /><br /></span><span style="color: #0000BB">&#36;FORMAT&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"Aliasdomain&nbsp;MailAdr:&nbsp;[&nbsp;%s@%s&nbsp;]&nbsp;Passwort:&nbsp;[&nbsp;%s&nbsp;]&#092;n"</span><span style="color: #007700">;<br />while&nbsp;(</span><span style="color: #0000BB">&#36;row&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_row</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;result</span><span style="color: #007700">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(&nbsp;</span><span style="color: #0000BB">&#36;FORMAT</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">&#36;row</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">],&nbsp;</span><span style="color: #0000BB">&#36;row</span><span style="color: #007700">[</span><span style="color: #0000BB">2</span><span style="color: #007700">],&nbsp;&nbsp;</span><span style="color: #0000BB">decrypt_db_password&nbsp;</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;row</span><span style="color: #007700">[</span><span style="color: #0000BB">1</span><span style="color: #007700">]));<br />}<br /></span><span style="color: #0000BB">printf&nbsp;</span><span style="color: #007700">(</span><span style="color: #DD0000">"&#092;n"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">mysql_close</span><span style="color: #007700">(</span><span style="color: #0000BB">&#36;link</span><span style="color: #007700">);&nbsp;<br /></span></code></div></div></div>
<br />
2. make it executable<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>chmod +x /root/bin/decrypt_mailpw.php</code></div></div>
<br />
3. run :-)<br />
<br />
4. If you want a special mailpassword, run with grep<br />
example: <div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>decrypt_mailpw.php |grep webmaster</code></div></div>
 or <div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>decrypt_mailpw.php |grep mydomain.de</code></div></div>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[MUNIN Plugin] Kunden und Websites auf dem Server]]></title>
			<link>http://www.isp-control.net/forum/thread-5314.html</link>
			<pubDate>Fri, 02 Jan 2009 06:28:13 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-5314.html</guid>
			<description><![CDATA[English (short Version) below<br />
<br />
Um die Anzahl meiner Kunden und deren Domains im Auge zu behalten verwende ich gerne die grafischen Möglichkeiten von Munin.<br />
Wie man anhand "meiner" beiden Plugin hier im Forum sehen kann ist es auch nicht schwer eigene interessante Scripte zu schreiben.<br />
<br />
sample picture: <br />
<a href="http://www.bilder-space.de/show.php?file=02.0172lql6za0ul1lrx.png" target="_blank"><img src="http://www.bilder-space.de/thumb/02.0172lql6za0ul1lrx.png" border="0" alt="[Image: 02.0172lql6za0ul1lrx.png]" /></a><br />
<br />
Ich gehe dabei von einem fertig konfigurierten ispCP und Munin(-Node) aus. Mein verwendetes System ist ein Debian Etch.<br />
<br />
1. Folgenden Code in /usr/share/munin/plugins/ispcp_vsites speichern.<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>#!/bin/sh<br />
# <br />
# Autor : Knut Herter<br />
# Datum : 28.3.2008<br />
# Mail&nbsp;&nbsp;: herter@systemtechnics.de<br />
# Web&nbsp;&nbsp; : www.systemtechnics.de<br />
#<br />
# Dies Plugin zeigt die Anzahl der Kundensites in IspCP/vhcs2 an.<br />
#<br />
# Wer mag kann dieses Plugin gerne lizenzfrei verwenden oder unveraendert weiter geben.<br />
#<br />
#<br />
# Magic markers (optional - only used by munin-config and some<br />
# installation scripts):<br />
#<br />
#%# family=auto<br />
#%# capabilities=autoconf<br />
<br />
<br />
<br />
# If run with the "autoconf"-parameter, give our opinion on wether we<br />
# should be run on this system or not. This is optinal, and only used by<br />
# munin-config. In the case of this plugin, we should most probably<br />
# always be included.<br />
<br />
if [ "&#36;1" = "autoconf" ]; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo yes<br />
&nbsp;&nbsp;&nbsp;&nbsp;exit 0<br />
fi<br />
<br />
if [ "&#36;1" = "config" ]; then<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_title Virtual Sites on Server'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_args --upper-limit 100 -l 0'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_vlabel Sites on Server'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_category Disk'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'kunden.label Kunden'<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo 'sites.label Domains'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit 0<br />
fi<br />
<br />
<br />
site=`ls /var/www/virtual |wc -l`<br />
echo "kunden.value &#36;site"<br />
sites=`ls /var/mail/virtual |wc -l`<br />
echo "sites.value &#36;sites"</code></div></div>
<br />
2. Ausführbar machen<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>chmod +x /usr/share/munin/plugins/ispcp_vsites</code></div></div>
<br />
3. Logischen Link setzen. <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>cd /etc/munin/plugins<br />
ln -s /usr/share/munin/plugins/ispcp_vsites</code></div></div>
<br />
4. Die Konfiguration des Nodes editieren. <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>pico /etc/munin/plugin-conf.d/munin-node</code></div></div>
Folgendes einfügen:<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>[ispcp_vsites]<br />
user root</code></div></div>
<br />
5. Munin-Node über das neue Plugin informieren. (Meine Erfahrung hat gezeigt, dass es nicht ausreicht das/die Node neu zu starten.<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>dpkg-reconfigure munin-node</code></div></div>
<br />
Fertig.<br />
<br />
Du findest die Grafiken bei Munin im Abschnitt DISK<br />
<br />
Download Link für das Script : <a href="http://addons.isp-control.net/unofficial/ispcp_vsites_www.isp-control.net.tar.gz" target="_blank">http://addons.isp-control.net/unofficial...net.tar.gz</a><br />
<br />
---- ENGLISH VERSION ---<br />
<br />
Hi,<br />
<br />
i like using munin to monitor my server. munin should show me the amount of websites and domains.<br />
if someone else want to use munin to monitor his server here is the plugin.<br />
<br />
The system requiers a complete installation of ispCP and Munin(-Node).<br />
This plugin runs on Debian Etch.<br />
<br />
1. Save this code over here -&gt; /usr/share/munin/plugins/ispcp_vsites<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>#!/bin/sh<br />
# <br />
# Autor : Knut Herter<br />
# Datum : 28.3.2008<br />
# Mail&nbsp;&nbsp;: herter@systemtechnics.de<br />
# Web&nbsp;&nbsp; : www.systemtechnics.de<br />
#<br />
# Dies Plugin zeigt die Anzahl der Kundensites in IspCP/vhcs2 an.<br />
#<br />
# Wer mag kann dieses Plugin gerne lizenzfrei verwenden oder unveraendert weiter geben.<br />
#<br />
#<br />
# Magic markers (optional - only used by munin-config and some<br />
# installation scripts):<br />
#<br />
#%# family=auto<br />
#%# capabilities=autoconf<br />
<br />
<br />
<br />
# If run with the "autoconf"-parameter, give our opinion on wether we<br />
# should be run on this system or not. This is optinal, and only used by<br />
# munin-config. In the case of this plugin, we should most probably<br />
# always be included.<br />
<br />
if [ "&#36;1" = "autoconf" ]; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo yes<br />
&nbsp;&nbsp;&nbsp;&nbsp;exit 0<br />
fi<br />
<br />
if [ "&#36;1" = "config" ]; then<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_title Virtual Sites on Server'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_args --upper-limit 100 -l 0'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_vlabel Sites on Server'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_category Disk'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'customer.label Customer'<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo 'sites.label Domains'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit 0<br />
fi<br />
<br />
<br />
site=`ls /var/www/virtual |wc -l`<br />
echo "customer.value &#36;site"<br />
sites=`ls /var/mail/virtual |wc -l`<br />
echo "sites.value &#36;sites"</code></div></div>
<br />
2. make it executable. <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>chmod +x /usr/share/munin/plugins/ispcp_vsites</code></div></div>
<br />
3. Create the logic link <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>cd /etc/munin/plugins<br />
ln -s /usr/share/munin/plugins/ispcp_vsites</code></div></div>
<br />
4. Edit the nodes config file. <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>pico /etc/munin/plugin-conf.d/munin-node</code></div></div>
Insert this: <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>[ispcp_vsites]<br />
user root</code></div></div>
<br />
5. 5. Reinitialise munin-node<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>dpkg-reconfigure munin-node</code></div></div>
<br />
Done.<br />
<br />
Download Link for the script : <a href="http://addons.isp-control.net/unofficial/ispcp_vsites_www.isp-control.net.tar.gz" target="_blank">http://addons.isp-control.net/unofficial...net.tar.gz</a><br />
<br />
You will find the graphic below the DISK stats]]></description>
			<content:encoded><![CDATA[English (short Version) below<br />
<br />
Um die Anzahl meiner Kunden und deren Domains im Auge zu behalten verwende ich gerne die grafischen Möglichkeiten von Munin.<br />
Wie man anhand "meiner" beiden Plugin hier im Forum sehen kann ist es auch nicht schwer eigene interessante Scripte zu schreiben.<br />
<br />
sample picture: <br />
<a href="http://www.bilder-space.de/show.php?file=02.0172lql6za0ul1lrx.png" target="_blank"><img src="http://www.bilder-space.de/thumb/02.0172lql6za0ul1lrx.png" border="0" alt="[Image: 02.0172lql6za0ul1lrx.png]" /></a><br />
<br />
Ich gehe dabei von einem fertig konfigurierten ispCP und Munin(-Node) aus. Mein verwendetes System ist ein Debian Etch.<br />
<br />
1. Folgenden Code in /usr/share/munin/plugins/ispcp_vsites speichern.<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>#!/bin/sh<br />
# <br />
# Autor : Knut Herter<br />
# Datum : 28.3.2008<br />
# Mail&nbsp;&nbsp;: herter@systemtechnics.de<br />
# Web&nbsp;&nbsp; : www.systemtechnics.de<br />
#<br />
# Dies Plugin zeigt die Anzahl der Kundensites in IspCP/vhcs2 an.<br />
#<br />
# Wer mag kann dieses Plugin gerne lizenzfrei verwenden oder unveraendert weiter geben.<br />
#<br />
#<br />
# Magic markers (optional - only used by munin-config and some<br />
# installation scripts):<br />
#<br />
#%# family=auto<br />
#%# capabilities=autoconf<br />
<br />
<br />
<br />
# If run with the "autoconf"-parameter, give our opinion on wether we<br />
# should be run on this system or not. This is optinal, and only used by<br />
# munin-config. In the case of this plugin, we should most probably<br />
# always be included.<br />
<br />
if [ "&#36;1" = "autoconf" ]; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo yes<br />
&nbsp;&nbsp;&nbsp;&nbsp;exit 0<br />
fi<br />
<br />
if [ "&#36;1" = "config" ]; then<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_title Virtual Sites on Server'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_args --upper-limit 100 -l 0'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_vlabel Sites on Server'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_category Disk'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'kunden.label Kunden'<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo 'sites.label Domains'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit 0<br />
fi<br />
<br />
<br />
site=`ls /var/www/virtual |wc -l`<br />
echo "kunden.value &#36;site"<br />
sites=`ls /var/mail/virtual |wc -l`<br />
echo "sites.value &#36;sites"</code></div></div>
<br />
2. Ausführbar machen<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>chmod +x /usr/share/munin/plugins/ispcp_vsites</code></div></div>
<br />
3. Logischen Link setzen. <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>cd /etc/munin/plugins<br />
ln -s /usr/share/munin/plugins/ispcp_vsites</code></div></div>
<br />
4. Die Konfiguration des Nodes editieren. <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>pico /etc/munin/plugin-conf.d/munin-node</code></div></div>
Folgendes einfügen:<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>[ispcp_vsites]<br />
user root</code></div></div>
<br />
5. Munin-Node über das neue Plugin informieren. (Meine Erfahrung hat gezeigt, dass es nicht ausreicht das/die Node neu zu starten.<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>dpkg-reconfigure munin-node</code></div></div>
<br />
Fertig.<br />
<br />
Du findest die Grafiken bei Munin im Abschnitt DISK<br />
<br />
Download Link für das Script : <a href="http://addons.isp-control.net/unofficial/ispcp_vsites_www.isp-control.net.tar.gz" target="_blank">http://addons.isp-control.net/unofficial...net.tar.gz</a><br />
<br />
---- ENGLISH VERSION ---<br />
<br />
Hi,<br />
<br />
i like using munin to monitor my server. munin should show me the amount of websites and domains.<br />
if someone else want to use munin to monitor his server here is the plugin.<br />
<br />
The system requiers a complete installation of ispCP and Munin(-Node).<br />
This plugin runs on Debian Etch.<br />
<br />
1. Save this code over here -&gt; /usr/share/munin/plugins/ispcp_vsites<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>#!/bin/sh<br />
# <br />
# Autor : Knut Herter<br />
# Datum : 28.3.2008<br />
# Mail&nbsp;&nbsp;: herter@systemtechnics.de<br />
# Web&nbsp;&nbsp; : www.systemtechnics.de<br />
#<br />
# Dies Plugin zeigt die Anzahl der Kundensites in IspCP/vhcs2 an.<br />
#<br />
# Wer mag kann dieses Plugin gerne lizenzfrei verwenden oder unveraendert weiter geben.<br />
#<br />
#<br />
# Magic markers (optional - only used by munin-config and some<br />
# installation scripts):<br />
#<br />
#%# family=auto<br />
#%# capabilities=autoconf<br />
<br />
<br />
<br />
# If run with the "autoconf"-parameter, give our opinion on wether we<br />
# should be run on this system or not. This is optinal, and only used by<br />
# munin-config. In the case of this plugin, we should most probably<br />
# always be included.<br />
<br />
if [ "&#36;1" = "autoconf" ]; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo yes<br />
&nbsp;&nbsp;&nbsp;&nbsp;exit 0<br />
fi<br />
<br />
if [ "&#36;1" = "config" ]; then<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_title Virtual Sites on Server'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_args --upper-limit 100 -l 0'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_vlabel Sites on Server'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_category Disk'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'customer.label Customer'<br />
&nbsp;&nbsp;&nbsp;&nbsp;echo 'sites.label Domains'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit 0<br />
fi<br />
<br />
<br />
site=`ls /var/www/virtual |wc -l`<br />
echo "customer.value &#36;site"<br />
sites=`ls /var/mail/virtual |wc -l`<br />
echo "sites.value &#36;sites"</code></div></div>
<br />
2. make it executable. <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>chmod +x /usr/share/munin/plugins/ispcp_vsites</code></div></div>
<br />
3. Create the logic link <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>cd /etc/munin/plugins<br />
ln -s /usr/share/munin/plugins/ispcp_vsites</code></div></div>
<br />
4. Edit the nodes config file. <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>pico /etc/munin/plugin-conf.d/munin-node</code></div></div>
Insert this: <br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>[ispcp_vsites]<br />
user root</code></div></div>
<br />
5. 5. Reinitialise munin-node<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>dpkg-reconfigure munin-node</code></div></div>
<br />
Done.<br />
<br />
Download Link for the script : <a href="http://addons.isp-control.net/unofficial/ispcp_vsites_www.isp-control.net.tar.gz" target="_blank">http://addons.isp-control.net/unofficial...net.tar.gz</a><br />
<br />
You will find the graphic below the DISK stats]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[[MUNIN Plugin] Mailadresses on Server]]></title>
			<link>http://www.isp-control.net/forum/thread-5252.html</link>
			<pubDate>Fri, 26 Dec 2008 07:35:00 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-5252.html</guid>
			<description><![CDATA[Moin,<br />
<br />
ich persönlich schaue mir gerne die Entwicklung meines Servers via Munin grafisch an. Ob das nun die Anzahl der angelegten Sites oder Mailkonten ist.<br />
Für letzteres möchte ich hier gerne das entsprechende Plugin zur Verfügung stellen. Vielleicht setzt jemand ebenfalls Munin ein und kann es gebrauchen.<br />
<br />
Ich gehe dabei von einem fertig konfigurierten ispCP und Munin(-Node) aus. Mein verwendetes System ist ein Debian Etch.<br />
<br />
1. Folgenden Code in <span style="font-weight: bold;">/usr/share/munin/plugins/ispcp_mailuser</span> speichern.<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>#!/bin/sh<br />
#<br />
# Autor : Knut Herter<br />
# Datum : 26.12.2008<br />
# Mail&nbsp;&nbsp;: herter@systemtechnics.de<br />
# Web&nbsp;&nbsp; : www.systemtechnics.de<br />
#<br />
# Dies Plugin zeigt die Anzahl der angelegten Mailadresen in IspCP/vhcs2 an.<br />
# Es wird dabei nicht zwischen einem Mailkonto oder Weiterleitung unterschieden!<br />
#<br />
# Wer mag kann dieses Plugin gerne lizenzfrei verwenden oder unveraendert weiter geben.<br />
#<br />
# Magic markers (optional - only used by munin-config and some<br />
# installation scripts):<br />
#<br />
#%# family=auto<br />
#%# capabilities=autoconf<br />
<br />
<br />
<br />
# If run with the "autoconf"-parameter, give our opinion on wether we<br />
# should be run on this system or not. This is optinal, and only used by<br />
# munin-config. In the case of this plugin, we should most probably<br />
# always be included.<br />
<br />
if [ "&#36;1" = "autoconf" ]; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo yes<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit 0<br />
fi<br />
<br />
if [ "&#36;1" = "config" ]; then<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_title Mailaddresses on Server'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_args --upper-limit 1000 -l 0'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_vlabel Mailaddresses on Server'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_category postfix'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'mailbox.label Mailaddresses'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit 0<br />
fi<br />
<br />
# Verzeichnis der Mailkonten<br />
VMAIL=/var/mail/virtual<br />
<br />
# Zum testen. 1 = an , 0 = aus<br />
DEBUG=0<br />
<br />
#Domainliste<br />
DOMAINLIST=`ls &#36;VMAIL`<br />
<br />
#Anzahl der Mailkonten zuruecksetzen<br />
MAILANZ=0<br />
<br />
for DOMAIN in &#36;DOMAINLIST<br />
do<br />
&nbsp;&nbsp;&nbsp;&nbsp;T=`ls &#36;VMAIL/&#36;DOMAIN |wc -l`<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if [ &#36;DEBUG = "1" ]; then&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &#36;DOMAIN = &#36;T Mailkonten<br />
&nbsp;&nbsp;&nbsp;&nbsp;fi<br />
&nbsp;&nbsp;&nbsp;&nbsp;MAILANZ=`expr &#36;MAILANZ + &#36;T`&nbsp;&nbsp;&nbsp;&nbsp;<br />
done<br />
<br />
echo "mailbox.value &#36;MAILANZ"</code></div></div>
<br />
2. Ausführbar machen. <div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>chmod +x /usr/share/munin/plugins/ispcp_mailuser</code></div></div>
<br />
3. Logischen Link setzen. <div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>cd /etc/munin/plugins<br />
ln -s /usr/share/munin/plugins/ispcp_mailuser</code></div></div>
<br />
4. Die Konfiguration des Nodes editieren. <div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>pico /etc/munin/plugin-conf.d/ munin-node</code></div></div>
Folgendes einfügen: <div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>[ispcp_mailuser]<br />
user vmail</code></div></div>
<br />
5. Munin-Node über das neue Plugin informieren. (Meine Erfahrung hat gezeigt, dass es nicht ausreicht das/die Node neu zu starten. <div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>dpkg-reconfigure munin-node</code></div></div>
<br />
Fertig.<br />
<br />
Du findest die Grafik des Plugin unter dem Abschnitt Postfix. Anfangs wird sicherlich nicht viel zu sehen sein, über das Jahr gesehen erhoffe ich mir interessantere Grafiken :-)<br />
<br />
Achja: Wem die Skalierung mit 1K (1000 Mailkonten) zu hoch ist braucht im Plugin einfach die Variable <span style="font-weight: bold;">graph_args --upper-limit 1000 -l 0</span> ändern.<br />
<br />
Download-Link vom Script : <a href="http://addons.isp-control.net/unofficial/ispcp_mailuser_www.isp-control.net.tar.gz" target="_blank">http://addons.isp-control.net/unofficial...net.tar.gz</a>]]></description>
			<content:encoded><![CDATA[Moin,<br />
<br />
ich persönlich schaue mir gerne die Entwicklung meines Servers via Munin grafisch an. Ob das nun die Anzahl der angelegten Sites oder Mailkonten ist.<br />
Für letzteres möchte ich hier gerne das entsprechende Plugin zur Verfügung stellen. Vielleicht setzt jemand ebenfalls Munin ein und kann es gebrauchen.<br />
<br />
Ich gehe dabei von einem fertig konfigurierten ispCP und Munin(-Node) aus. Mein verwendetes System ist ein Debian Etch.<br />
<br />
1. Folgenden Code in <span style="font-weight: bold;">/usr/share/munin/plugins/ispcp_mailuser</span> speichern.<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>#!/bin/sh<br />
#<br />
# Autor : Knut Herter<br />
# Datum : 26.12.2008<br />
# Mail&nbsp;&nbsp;: herter@systemtechnics.de<br />
# Web&nbsp;&nbsp; : www.systemtechnics.de<br />
#<br />
# Dies Plugin zeigt die Anzahl der angelegten Mailadresen in IspCP/vhcs2 an.<br />
# Es wird dabei nicht zwischen einem Mailkonto oder Weiterleitung unterschieden!<br />
#<br />
# Wer mag kann dieses Plugin gerne lizenzfrei verwenden oder unveraendert weiter geben.<br />
#<br />
# Magic markers (optional - only used by munin-config and some<br />
# installation scripts):<br />
#<br />
#%# family=auto<br />
#%# capabilities=autoconf<br />
<br />
<br />
<br />
# If run with the "autoconf"-parameter, give our opinion on wether we<br />
# should be run on this system or not. This is optinal, and only used by<br />
# munin-config. In the case of this plugin, we should most probably<br />
# always be included.<br />
<br />
if [ "&#36;1" = "autoconf" ]; then<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo yes<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit 0<br />
fi<br />
<br />
if [ "&#36;1" = "config" ]; then<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_title Mailaddresses on Server'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_args --upper-limit 1000 -l 0'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_vlabel Mailaddresses on Server'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'graph_category postfix'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo 'mailbox.label Mailaddresses'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit 0<br />
fi<br />
<br />
# Verzeichnis der Mailkonten<br />
VMAIL=/var/mail/virtual<br />
<br />
# Zum testen. 1 = an , 0 = aus<br />
DEBUG=0<br />
<br />
#Domainliste<br />
DOMAINLIST=`ls &#36;VMAIL`<br />
<br />
#Anzahl der Mailkonten zuruecksetzen<br />
MAILANZ=0<br />
<br />
for DOMAIN in &#36;DOMAINLIST<br />
do<br />
&nbsp;&nbsp;&nbsp;&nbsp;T=`ls &#36;VMAIL/&#36;DOMAIN |wc -l`<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if [ &#36;DEBUG = "1" ]; then&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo &#36;DOMAIN = &#36;T Mailkonten<br />
&nbsp;&nbsp;&nbsp;&nbsp;fi<br />
&nbsp;&nbsp;&nbsp;&nbsp;MAILANZ=`expr &#36;MAILANZ + &#36;T`&nbsp;&nbsp;&nbsp;&nbsp;<br />
done<br />
<br />
echo "mailbox.value &#36;MAILANZ"</code></div></div>
<br />
2. Ausführbar machen. <div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>chmod +x /usr/share/munin/plugins/ispcp_mailuser</code></div></div>
<br />
3. Logischen Link setzen. <div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>cd /etc/munin/plugins<br />
ln -s /usr/share/munin/plugins/ispcp_mailuser</code></div></div>
<br />
4. Die Konfiguration des Nodes editieren. <div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>pico /etc/munin/plugin-conf.d/ munin-node</code></div></div>
Folgendes einfügen: <div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>[ispcp_mailuser]<br />
user vmail</code></div></div>
<br />
5. Munin-Node über das neue Plugin informieren. (Meine Erfahrung hat gezeigt, dass es nicht ausreicht das/die Node neu zu starten. <div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>dpkg-reconfigure munin-node</code></div></div>
<br />
Fertig.<br />
<br />
Du findest die Grafik des Plugin unter dem Abschnitt Postfix. Anfangs wird sicherlich nicht viel zu sehen sein, über das Jahr gesehen erhoffe ich mir interessantere Grafiken :-)<br />
<br />
Achja: Wem die Skalierung mit 1K (1000 Mailkonten) zu hoch ist braucht im Plugin einfach die Variable <span style="font-weight: bold;">graph_args --upper-limit 1000 -l 0</span> ändern.<br />
<br />
Download-Link vom Script : <a href="http://addons.isp-control.net/unofficial/ispcp_mailuser_www.isp-control.net.tar.gz" target="_blank">http://addons.isp-control.net/unofficial...net.tar.gz</a>]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[see mail-forward in overview]]></title>
			<link>http://www.isp-control.net/forum/thread-4723.html</link>
			<pubDate>Fri, 17 Oct 2008 13:47:21 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-4723.html</guid>
			<description><![CDATA[I want to see in the mail overview where mails are forwarded...<br />
<br />
This will do it:<br />
<br />
in mail_accounts.php, I did it for the normal-mails...:<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>function gen_page_dmn_mail_list(&amp;&#36;tpl, &amp;&#36;sql, &#36;dmn_id, &#36;dmn_name) {<br />
# old line after SELECT:<br />
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`mail_id`, `mail_acc`, `mail_type`, `status`, `mail_auto_respond`<br />
# how many chars of the forward-list?<br />
&#36;forwLen = 50;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;dmn_query ="<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SELECT<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`mail_id`, `mail_acc`, `mail_type`, `status`, `mail_auto_respond`, CONCAT( LEFT(`mail_forward`, &#36;forwLen), IF( LENGTH(`mail_forward`) &gt; &#36;forwLen, '...', '') ) as 'mail_forward'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`mail_users`<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHERE<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`domain_id` = ?<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AND<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`sub_id` = 0<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AND<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(`mail_type` LIKE '%normal_mail%' OR `mail_type` LIKE '%normal_forward%')<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ORDER BY<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`mail_acc` ASC,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`mail_type` DESC<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;rs = exec_query(&#36;sql, &#36;dmn_query, array(&#36;dmn_id));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (&#36;rs-&gt;RecordCount() == 0) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;global &#36;counter;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (!&#36;rs-&gt;EOF) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (&#36;counter % 2 == 0) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;tpl-&gt;assign('ITEM_CLASS', 'content');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;tpl-&gt;assign('ITEM_CLASS', 'content2');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list(&#36;mail_action, &#36;mail_action_script, &#36;mail_edit_script) = gen_user_mail_action(&#36;rs-&gt;fields['mail_id'], &#36;rs-&gt;fields['status']);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;mail_acc = decode_idna(&#36;rs-&gt;fields['mail_acc']);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;show_dmn_name = decode_idna(&#36;dmn_name);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;mail_types = explode(',', &#36;rs-&gt;fields['mail_type']);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;mail_type = '';<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach (&#36;mail_types as &#36;type) {<br />
# old line, replaced with 3 lines<br />
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;mail_type .= user_trans_mail_type(&#36;type) . "&lt;br /&gt;";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;mail_type .= user_trans_mail_type(&#36;type);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (strpos(&#36;type, '_forward') !== false) &#36;mail_type .= ': '.&#36;rs-&gt;fields['mail_forward'];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;mail_type .= '&lt;br /&gt;';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</code></div></div>
<br />
if forwLen is not to big then "..." will be added if the list of forwarding addresses is longer...<br />
<br />
What do you think?<br />
<br />
maybe integrate into the trunk - in all 3 parts (also sub and alias)<br />
<br />
/Joximu]]></description>
			<content:encoded><![CDATA[I want to see in the mail overview where mails are forwarded...<br />
<br />
This will do it:<br />
<br />
in mail_accounts.php, I did it for the normal-mails...:<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>function gen_page_dmn_mail_list(&amp;&#36;tpl, &amp;&#36;sql, &#36;dmn_id, &#36;dmn_name) {<br />
# old line after SELECT:<br />
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`mail_id`, `mail_acc`, `mail_type`, `status`, `mail_auto_respond`<br />
# how many chars of the forward-list?<br />
&#36;forwLen = 50;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;dmn_query ="<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SELECT<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`mail_id`, `mail_acc`, `mail_type`, `status`, `mail_auto_respond`, CONCAT( LEFT(`mail_forward`, &#36;forwLen), IF( LENGTH(`mail_forward`) &gt; &#36;forwLen, '...', '') ) as 'mail_forward'<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FROM<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`mail_users`<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WHERE<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`domain_id` = ?<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AND<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`sub_id` = 0<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AND<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(`mail_type` LIKE '%normal_mail%' OR `mail_type` LIKE '%normal_forward%')<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ORDER BY<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`mail_acc` ASC,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`mail_type` DESC<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;rs = exec_query(&#36;sql, &#36;dmn_query, array(&#36;dmn_id));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (&#36;rs-&gt;RecordCount() == 0) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;global &#36;counter;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (!&#36;rs-&gt;EOF) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (&#36;counter % 2 == 0) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;tpl-&gt;assign('ITEM_CLASS', 'content');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;tpl-&gt;assign('ITEM_CLASS', 'content2');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;list(&#36;mail_action, &#36;mail_action_script, &#36;mail_edit_script) = gen_user_mail_action(&#36;rs-&gt;fields['mail_id'], &#36;rs-&gt;fields['status']);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;mail_acc = decode_idna(&#36;rs-&gt;fields['mail_acc']);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;show_dmn_name = decode_idna(&#36;dmn_name);<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;mail_types = explode(',', &#36;rs-&gt;fields['mail_type']);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;mail_type = '';<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach (&#36;mail_types as &#36;type) {<br />
# old line, replaced with 3 lines<br />
#&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;mail_type .= user_trans_mail_type(&#36;type) . "&lt;br /&gt;";<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;mail_type .= user_trans_mail_type(&#36;type);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (strpos(&#36;type, '_forward') !== false) &#36;mail_type .= ': '.&#36;rs-&gt;fields['mail_forward'];<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#36;mail_type .= '&lt;br /&gt;';<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</code></div></div>
<br />
if forwLen is not to big then "..." will be added if the list of forwarding addresses is longer...<br />
<br />
What do you think?<br />
<br />
maybe integrate into the trunk - in all 3 parts (also sub and alias)<br />
<br />
/Joximu]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[How do I know if Maia is working]]></title>
			<link>http://www.isp-control.net/forum/thread-3842.html</link>
			<pubDate>Wed, 23 Jul 2008 13:55:05 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-3842.html</guid>
			<description><![CDATA[Hi<br />
<br />
I followed the How to install Maia on ispCP. I think it's working to well, I am not getting any mail now. Any ideas.<br /><!-- start: postbit_attachments_attachment -->
<br /><img src="images/attachtypes/pdf.gif" border="0" alt=".pdf" />&nbsp;&nbsp;<a href="attachment.php?aid=412" target="_blank">maia.pdf</a> (Size: 101.88 KB / Downloads: 52)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><img src="images/attachtypes/pdf.gif" border="0" alt=".pdf" />&nbsp;&nbsp;<a href="attachment.php?aid=413" target="_blank">maia2.pdf</a> (Size: 89.38 KB / Downloads: 34)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[Hi<br />
<br />
I followed the How to install Maia on ispCP. I think it's working to well, I am not getting any mail now. Any ideas.<br /><!-- start: postbit_attachments_attachment -->
<br /><img src="images/attachtypes/pdf.gif" border="0" alt=".pdf" />&nbsp;&nbsp;<a href="attachment.php?aid=412" target="_blank">maia.pdf</a> (Size: 101.88 KB / Downloads: 52)
<!-- end: postbit_attachments_attachment --><br /><!-- start: postbit_attachments_attachment -->
<br /><img src="images/attachtypes/pdf.gif" border="0" alt=".pdf" />&nbsp;&nbsp;<a href="attachment.php?aid=413" target="_blank">maia2.pdf</a> (Size: 89.38 KB / Downloads: 34)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[-]]></title>
			<link>http://www.isp-control.net/forum/thread-2572.html</link>
			<pubDate>Tue, 26 Feb 2008 10:57:41 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-2572.html</guid>
			<description><![CDATA[I will, a automation register script<img src="images/smilies/wink.gif" style="vertical-align: middle;" border="0" alt="Wink" title="Wink" /> users automation will be a register from my ispCP<img src="images/smilies/wink.gif" style="vertical-align: middle;" border="0" alt="Wink" title="Wink" />]]></description>
			<content:encoded><![CDATA[I will, a automation register script<img src="images/smilies/wink.gif" style="vertical-align: middle;" border="0" alt="Wink" title="Wink" /> users automation will be a register from my ispCP<img src="images/smilies/wink.gif" style="vertical-align: middle;" border="0" alt="Wink" title="Wink" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Auto Sign-Up Script]]></title>
			<link>http://www.isp-control.net/forum/thread-2571.html</link>
			<pubDate>Tue, 26 Feb 2008 10:10:19 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-2571.html</guid>
			<description><![CDATA[Hello, I am in possession of my own servers, with natural ispCP.<br />
<br />
Now I do not want gladly that people can automatically submit an application on my ispCP panel, am script language PHP, but now weet I totally how I that in each other will make.. <br />
<br />
Now was my question, does have a someone of you script lies, with which you can submit an application without I for that something hoef to do? Sorry my bad English, because I end up the Netherlands! <br />
<br />
Gerben<img src="images/smilies/wink.gif" style="vertical-align: middle;" border="0" alt="Wink" title="Wink" />]]></description>
			<content:encoded><![CDATA[Hello, I am in possession of my own servers, with natural ispCP.<br />
<br />
Now I do not want gladly that people can automatically submit an application on my ispCP panel, am script language PHP, but now weet I totally how I that in each other will make.. <br />
<br />
Now was my question, does have a someone of you script lies, with which you can submit an application without I for that something hoef to do? Sorry my bad English, because I end up the Netherlands! <br />
<br />
Gerben<img src="images/smilies/wink.gif" style="vertical-align: middle;" border="0" alt="Wink" title="Wink" />]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[Webmail Icons in one line]]></title>
			<link>http://www.isp-control.net/forum/thread-2329.html</link>
			<pubDate>Wed, 06 Feb 2008 16:54:04 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-2329.html</guid>
			<description><![CDATA[Icons in Webmail Header Section not placed in line.<br />
<br />
changes in:<br />
/ispcp/gui/tools/webmail/themes/css/omega.css<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>#inbox_button {<br />
&nbsp;&nbsp;&nbsp;&nbsp;background: url(../../skins/omega/inbox.png);<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-repeat: no-repeat;<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-position: top left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;padding: 0px 10px 0px 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;float: left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;margin: 1px 0px 0px 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;cursor: hand;<br />
&nbsp;&nbsp;&nbsp;&nbsp;color: #FFFFFF;<br />
}<br />
<br />
#compose_button {<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-image: url(../../skins/omega/compose.png);<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-repeat: no-repeat;<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-position: top left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;padding: 0px 10px 0px 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;float: left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;margin: 1px 0px 0px 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;cursor: hand;<br />
&nbsp;&nbsp;&nbsp;&nbsp;color: #FFFFFF;<br />
}<br />
<br />
#addresses_button {<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-image: url(../../skins/omega/address_book.png);<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-repeat: no-repeat;<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-position: top left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;padding: 0px 10px 0px 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;float: left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;margin: 1px 0px 0px 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;cursor: hand;<br />
&nbsp;&nbsp;&nbsp;&nbsp;color: #FFFFFF;<br />
}<br />
<br />
#folders_button {<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-image: url(../../skins/omega/folders.png);<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-repeat: no-repeat;<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-position: top left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;padding: 0px 10px 0px 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;float: left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;margin: 1px 0px 0px 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;cursor: hand;<br />
&nbsp;&nbsp;&nbsp;&nbsp;color: #FFFFFF;<br />
}</code></div></div>
]]></description>
			<content:encoded><![CDATA[Icons in Webmail Header Section not placed in line.<br />
<br />
changes in:<br />
/ispcp/gui/tools/webmail/themes/css/omega.css<br />
<br />
<div class="codeblock">
<div class="title">Code:<br />
</div><div class="body" dir="ltr"><code>#inbox_button {<br />
&nbsp;&nbsp;&nbsp;&nbsp;background: url(../../skins/omega/inbox.png);<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-repeat: no-repeat;<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-position: top left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;padding: 0px 10px 0px 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;float: left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;margin: 1px 0px 0px 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;cursor: hand;<br />
&nbsp;&nbsp;&nbsp;&nbsp;color: #FFFFFF;<br />
}<br />
<br />
#compose_button {<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-image: url(../../skins/omega/compose.png);<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-repeat: no-repeat;<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-position: top left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;padding: 0px 10px 0px 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;float: left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;margin: 1px 0px 0px 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;cursor: hand;<br />
&nbsp;&nbsp;&nbsp;&nbsp;color: #FFFFFF;<br />
}<br />
<br />
#addresses_button {<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-image: url(../../skins/omega/address_book.png);<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-repeat: no-repeat;<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-position: top left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;padding: 0px 10px 0px 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;float: left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;margin: 1px 0px 0px 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;cursor: hand;<br />
&nbsp;&nbsp;&nbsp;&nbsp;color: #FFFFFF;<br />
}<br />
<br />
#folders_button {<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-image: url(../../skins/omega/folders.png);<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-repeat: no-repeat;<br />
&nbsp;&nbsp;&nbsp;&nbsp;background-position: top left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;padding: 0px 10px 0px 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;float: left;<br />
&nbsp;&nbsp;&nbsp;&nbsp;margin: 1px 0px 0px 0px;<br />
&nbsp;&nbsp;&nbsp;&nbsp;cursor: hand;<br />
&nbsp;&nbsp;&nbsp;&nbsp;color: #FFFFFF;<br />
}</code></div></div>
]]></content:encoded>
		</item>
		<item>
			<title><![CDATA[add email account script]]></title>
			<link>http://www.isp-control.net/forum/thread-2073.html</link>
			<pubDate>Wed, 02 Jan 2008 16:59:28 +0000</pubDate>
			<guid isPermaLink="false">http://www.isp-control.net/forum/thread-2073.html</guid>
			<description><![CDATA[I hope this bash script will be useful for people, like me, who are migrating from another panel solutions.<br />
<br />
To use the script download and rename it from .txt to .sh<br />
<br />
please notify some bug.<br />
<br />
<!-- start: postbit_attachments_attachment -->
<br /><img src="images/attachtypes/txt.gif" border="0" alt=".txt" />&nbsp;&nbsp;<a href="attachment.php?aid=276" target="_blank">ispcp_add_email.sh.txt</a> (Size: 2.4 KB / Downloads: 236)
<!-- end: postbit_attachments_attachment -->]]></description>
			<content:encoded><![CDATA[I hope this bash script will be useful for people, like me, who are migrating from another panel solutions.<br />
<br />
To use the script download and rename it from .txt to .sh<br />
<br />
please notify some bug.<br />
<br />
<!-- start: postbit_attachments_attachment -->
<br /><img src="images/attachtypes/txt.gif" border="0" alt=".txt" />&nbsp;&nbsp;<a href="attachment.php?aid=276" target="_blank">ispcp_add_email.sh.txt</a> (Size: 2.4 KB / Downloads: 236)
<!-- end: postbit_attachments_attachment -->]]></content:encoded>
		</item>
	</channel>
</rss>