<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0"
 xmlns:blogChannel="http://backend.userland.com/blogChannelModule"
>

<channel>
<title><![CDATA[Dobrica Pavlinušić's random unstructured stuff: Smalltalk]]></title>
<link>https://saturn.ffzg.hr/rot13/index.cgi?action=weblog_display;category=Smalltalk</link>
<description></description>
<pubDate>Wed, 04 Feb 2009 14:02:07 -0000</pubDate>
<webMaster>root@saturn.ffzg.hr</webMaster>
<generator>Socialtext Workspace v2.19.0.2</generator>

<item>
<title><![CDATA[Seaside cluster]]></title>
<link>https://saturn.ffzg.hr/rot13/index.cgi?seaside_cluster</link>
<description><![CDATA[<div>Creator: Dobrica Pavlinušić</div><hr/><div>Tags: OpenVZ, Seaside, Smalltalk</div><hr/><div class="wiki">
<div class="nlw_phrase"><table class="wafl_container">
  <tr>
    <td>
      <div class="wafl_box">
        
          <div class="wafl_titlebox">
            <div class="wafl_title">
              
                Contents: [Dobrica Pavlinušić's random unstructured stuff]
              
            </div>
          </div>
          <div class="wafl_items">
            
              <div class="wiki">
<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#create_ve">Dobrica Pavlinušić's random unstructured stuff (Create VE)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Create VE} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#seaside">Dobrica Pavlinušić's random unstructured stuff (Seaside)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Seaside} --></span></li>

<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#startup">Dobrica Pavlinušić's random unstructured stuff (Startup)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Startup} --></span></li>
</ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#front_end_http_proxy">Dobrica Pavlinušić's random unstructured stuff (Front-end HTTP proxy)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Front-=end HTTP proxy} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#monitoring">Dobrica Pavlinušić's random unstructured stuff (Monitoring)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Monitoring} --></span></li>

<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#test">Dobrica Pavlinušić's random unstructured stuff (Test)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Test} --></span></li>
</ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#more_info">Dobrica Pavlinušić's random unstructured stuff (More info)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] More info} --></span></li>
</ul>
</div>

            
            
          </div>
        
      </div>
    </td>
  </tr>
</table>
<!-- wiki: {toc: }
--></div><br /><br /><p>
This page documents my attempt to install Seaside as loadbalanced configuration with multiple squeak images under OpenVZ</p>
<h1 id="create_ve">Create VE</h1>
<pre>
# download template
root@mljac:~# cd /var/lib/vz/template/cache
root@mljac:~# wget http://download.openvz.org/template/precreated/contrib/debian-5.0-i386-minimal.tar.gz

root@mljac:~# vzctl create 1001 --ostemplate debian-5.0-i386-minimal --ipadd 10.0.0.1 --hostname gw.rot13.org

# configure
root@mljac:~# vzctl set 1011 --nameserver 192.168.1.2 --save
</pre>
<br /><p>
Use something like <span class="nlw_phrase"><a href="https://saturn.ffzg.hr/rot13/index.cgi/vz-nat.sh?action=attachments_download;page_name=seaside_cluster;id=20090201141406-0-17908">vz-nat.sh</a><!-- wiki: {file: vz-=nat.sh} --></span> to configure NAT on your OpenVZ machine.</p>
<h1 id="seaside">Seaside</h1>
<pre>
# dependencies

root@seaside:/srv# apt-get install unzip

root@seaside:/srv# wget -nd -nH http://www.seaside.st/distributions/Seaside-2.8.3.app.zip
root@seaside:/srv# unzip Seaside-2.8.3.app.zip 
Archive:  Seaside-2.8.3.app.zip

root@seaside:/srv# ln -s Seaside-2.8-578.app seaside


Adding new group `squeak' (1000) ...
Adding new user `squeak' (1000) with group `squeak' ...
Not creating home directory `/home/squeak'.

root@seaside:/srv# chown -R squeak:squeak Seaside-2.8-578.app/
</pre>
<br /><h2 id="startup">Startup</h2>
<p>
<span class="nlw_phrase"><a href="https://saturn.ffzg.hr/rot13/index.cgi/Seaside.sh?action=attachments_download;page_name=seaside_cluster;id=20090202221014-0-23690">Seaside.sh</a><!-- wiki: {file: Seaside.sh} --></span> - use something like this script to start headless squeak.</p>
<p>
Actual <tt>-headless</tt> option didn't seem to work for me</p>
<h1 id="front_end_http_proxy">Front-end HTTP proxy</h1>
<span class="nlw_phrase"><div class="wiki-include-page">
<div class="wiki-include-title"><a href='https://saturn.ffzg.hr/rot13/index.cgi?nginx' >nginx</a> </div>
<div class="wiki-include-content">
<div class="nlw_phrase"><table class="wafl_container">
  <tr>
    <td>
      <div class="wafl_box">
        
          <div class="wafl_titlebox">
            <div class="wafl_title">
              
                Contents: [Dobrica Pavlinušić's random unstructured stuff]
              
            </div>
          </div>
          <div class="wafl_items">
            
              <div class="wiki">
<ul>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#links">Dobrica Pavlinušić's random unstructured stuff (Links)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Links} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#compilation_and_packaging">Dobrica Pavlinušić's random unstructured stuff (Compilation and packaging)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Compilation and packaging} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#installation">Dobrica Pavlinušić's random unstructured stuff (Installation)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Installation} --></span></li>
<li><span class="nlw_phrase"><a title="section link" href="https://saturn.ffzg.hr/rot13/index.cgi?dobrica_pavlinu%C5%A1i%C4%87_s_random_unstructured_stuff#changes">Dobrica Pavlinušić's random unstructured stuff (Changes)</a><!-- wiki: {link: [Dobrica Pavlinušić's random unstructured stuff] Changes} --></span></li>
</ul>
</div>

            
            
          </div>
        
      </div>
    </td>
  </tr>
</table>
<!-- wiki: {toc: }
--></div><br /><br /><h1 id="links">Links</h1>
<ul>
<li><a target="_blank" title="(external link)" href="http://jimmyg.org/2007/12/07/nginx-proxying-to-pylons-with-ssl-on-debian-etch/">http://jimmyg.org/2007/12/07/nginx-proxying-to-pylons-with-ssl-on-debian-etch/</a></li>
<li><a target="_blank" title="(external link)" href="https://calomel.org/nginx.html">https://calomel.org/nginx.html</a></li>
</ul>
<h1 id="compilation_and_packaging">Compilation and packaging</h1>
<pre>
dpavlin@llin:/rest/unix/www$ wget http://sysoev.ru/nginx/nginx-0.7.31.tar.gz

dpavlin@llin:/rest/unix/www$ tar tvfz nginx-0.7.31.tar.gz

dpavlin@llin:/rest/unix/www/nginx-0.7.31$ ./configure --with-http_ssl_module --prefix=/srv/nginx

make

sudo checkinstall

</pre>
<br /><h1 id="installation">Installation</h1>
<pre>
root@seaside:~# dpkg -i nginx_0.7.31-1_i386.deb 
Selecting previously deselected package nginx.
(Reading database ... 8333 files and directories currently installed.)
Unpacking nginx (from nginx_0.7.31-1_i386.deb) ...
Setting up nginx (0.7.31-1) ...
root@seaside:~# cd /srv/nginx/
</pre>
<br /><h1 id="changes">Changes</h1>
<div class="nlw_phrase"><div class="fetchrss_box">
  <div class="fetchrss_titlebox">
    
 <div class="fetchrss_title">
     fetchrss: http://git.rot13.org/?p=nginx.git;a=rss
 </div>

  </div>
  
<ul class="fetchrss_item">
  <li class="fetchrss_item">
    There was an error: Cannot detect feed type

  </li>
</ul>

</div>
















<!-- wiki: {fetchrss: http://git.rot13.org/?p==nginx.git;a==rss fulltext}
--></div><br /></div></div><!-- wiki: {include: [nginx]} --></span><br /><br /><h1 id="monitoring">Monitoring</h1>
<p>
We will be using <a target="_blank" title="(external link)" href="http://mmonit.com/monit/">monit<!-- wiki-renamed-hyperlink "monit"<http://mmonit.com/monit/> --></a>, light-weight process monitor written in C to monitor servers on our virtual machine. It will do startup of our services, monitor load and report alerts.</p>
<p>
For it to work, we need to have a script which will start/stop squeak.</p>
<p>
Use following configuration: <span class="nlw_phrase"><a href="https://saturn.ffzg.hr/rot13/index.cgi/monitrc?action=attachments_download;page_name=seaside_cluster;id=20090202221043-0-21803">monitrc</a><!-- wiki: {file: monitrc} --></span></p>
<p>
Also install following two shells scripts in `/srv' so that monit can call them to start or stop services</p>
<ul>
<li><span class="nlw_phrase"><a href="https://saturn.ffzg.hr/rot13/index.cgi/seaside.sh?action=attachments_download;page_name=seaside_cluster;id=20090202221014-0-23690">seaside.sh</a><!-- wiki: {file: seaside.sh} --></span></li>
<li><span class="nlw_phrase"><a href="https://saturn.ffzg.hr/rot13/index.cgi/nginx.sh?action=attachments_download;page_name=seaside_cluster;id=20090202221031-0-15852">nginx.sh</a><!-- wiki: {file: nginx.sh} --></span></li>
</ul>
<pre>
# check syntax
root@seaside:~# /etc/init.d/monit syntax
Control file syntax OK
</pre>
<br /><p>
And you are rady to go.</p>
<ul>
<li><a target="_blank" title="(external link)" href="http://seaside.rot13.org:2812/">monit@squeak1<!-- wiki-renamed-hyperlink "monit@squeak1"<http://seaside.rot13.org:2812/> --></a> to view current server status</li>
</ul>
<h2 id="test">Test</h2>
<p>
open <a target="_blank" title="(external link)" href="http://seaside.rot13.org:8080/seaside/">http://hostname:8080/seaside/<!-- wiki-renamed-hyperlink "http://hostname:8080/seaside/"<http://seaside.rot13.org:8080/seaside/> --></a> to test seaside</p>
<h1 id="more_info">More info</h1>
<ul>
<li><a target="_blank" title="(external link)" href="http://onsmalltalk.com/scaling-seaside-more-advanced-load-balancing-and-publishing">http://onsmalltalk.com/scaling-seaside-more-advanced-load-balancing-and-publishing</a></li>
<li><a target="_blank" title="(external link)" href="http://blog.blobworks.com/2008/12/16/squeak-in-jail/">http://blog.blobworks.com/2008/12/16/squeak-in-jail/</a></li>
</ul>
<ul>
<li><a target="_blank" title="(external link)" href="https://bytesmith.seework.com">https://bytesmith.seework.com</a></li>
</ul>
<pre>
{weblog_list: }
</pre>
</div>
<hr/><div>Attachments: monitrc, nginx.sh, Seaside.sh, seaside.sh, vz-nat.sh</div>]]></description>
<author>Dobrica Pavlinu&#x161;i&#x107;</author>
<category>OpenVZ, Seaside, Smalltalk</category>
<guid isPermaLink="true">https://saturn.ffzg.hr/rot13/index.cgi?seaside_cluster</guid>
<pubDate>Wed, 04 Feb 2009 14:02:07 -0000</pubDate>
</item>
</channel>
</rss>