<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.microsoft.co.il/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Just code - Tamir Khason : Linux</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Linux/default.aspx</link><description>Tags: Linux</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>New year – new blog or how to migrate Community Server to any other engine, supports XML-RPC</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2009/01/01/new-year-new-blog-or-how-to-migrate-community-server-to-any-other-engine-supports-xml-rpc.aspx</link><pubDate>Fri, 02 Jan 2009 02:33:04 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:205248</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Please update your bookmarks, because the new url of this blog is &lt;a href="http://khason.net/"&gt;http://khason.net/&lt;/a&gt; (you have not update RSS feeds, it will be done automatically). Why I did it? Why I decided to go to “stand-alone”… Well. there are some reasons. Generally, I do not want to explain all those here, but trust me, there are some. The main reason is, that there is no responsible person in charge for this blog platform in Microsoft Israel. This why, if your blog is popular and you have a respect to your blog visitors, you cannot host it here… Take a look into new comments notifications in my inbox. Would you answer your readers with such “small amount” of SPAM and capcha, that cannot be fixed already for three years in this platform? This how my inbox looks like for last three years. So now, you should not ask me, why I not answered your email or comments. Aren’t you? :)&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="Capture" border="0" alt="Capture" src="http://blogs.microsoft.co.il/blogs/tamir/Capture_1D7350A7.jpg" width="354" height="397" /&gt; &lt;/p&gt;  &lt;p&gt;Currently, all comments in this blog are disabled, so if you want to comment, please use new url of posts (this will appear shortly in the beginning of each post). Also, this post will not be syndicated in RSS.&lt;/p&gt;  &lt;p&gt;So, this post is the last. I loved this platform, and loved people started it. But, unfortunately, it seemed, that bloggers community is not important enough for new platform managers. &lt;/p&gt;  &lt;p&gt;Also, If you want to learn &lt;a target="_blank" href="http://khason.net/dev/how-to-migrate-from-cs2007-to-wordpress-movable-type-or-any-other-blog-engine-supports-xml-rpc-with-c/"&gt;how to use C# and XML-RCP to migrate from CS2007, used in this platform, visit my new home&lt;/a&gt; :)&lt;/p&gt;  &lt;p&gt;Have a great year and, as always, be good people. This post marked with all possible tags automatically. Sorry.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=205248" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/soft/default.aspx">soft</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/blogging+tools/default.aspx">blogging tools</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/tutorial/default.aspx">tutorial</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Performance/default.aspx">Performance</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/WPF+crossbow/default.aspx">WPF crossbow</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/source/default.aspx">source</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Mobile/default.aspx">Mobile</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/help/default.aspx">help</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Windows+Gadgets/default.aspx">Windows Gadgets</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/promo/default.aspx">promo</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Vista/default.aspx">Vista</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/thoughts/default.aspx">thoughts</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/tools/default.aspx">tools</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/events/default.aspx">events</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/demos/default.aspx">demos</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/WPF_2F00_E/default.aspx">WPF/E</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/download/default.aspx">download</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/jobs/default.aspx">jobs</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/VSTS/default.aspx">VSTS</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Web/default.aspx">Web</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Accessibility/default.aspx">Accessibility</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Blogging+rules/default.aspx">Blogging rules</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/blogging+general/default.aspx">blogging general</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/fun/default.aspx">fun</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Vista+Battery+Saver/default.aspx">Vista Battery Saver</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/SkyDrive/default.aspx">SkyDrive</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Windows+Live+Writer/default.aspx">Windows Live Writer</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Windows+Live/default.aspx">Windows Live</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Dell/default.aspx">Dell</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/DevAcademy2/default.aspx">DevAcademy2</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/.NET+3.5/default.aspx">.NET 3.5</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/WPF+quiz/default.aspx">WPF quiz</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/x64/default.aspx">x64</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/WF/default.aspx">WF</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/SVG/default.aspx">SVG</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/XPS/default.aspx">XPS</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/TechedIsrael2008/default.aspx">TechedIsrael2008</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/teched/default.aspx">teched</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/XNA/default.aspx">XNA</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/PLINQ/default.aspx">PLINQ</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Micro+Framework/default.aspx">Micro Framework</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/SAP/default.aspx">SAP</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/XLINQ/default.aspx">XLINQ</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/DirectX/default.aspx">DirectX</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Work+process/default.aspx">Work process</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Linux/default.aspx">Linux</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Mono/default.aspx">Mono</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/DevAcademy3/default.aspx">DevAcademy3</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Math/default.aspx">Math</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/GIS/default.aspx">GIS</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Algorithms/default.aspx">Algorithms</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/DEV/default.aspx">DEV</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/TECH/default.aspx">TECH</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Windows+7/default.aspx">Windows 7</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Charity/default.aspx">Charity</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/OFFTOPIC/default.aspx">OFFTOPIC</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Hardware/default.aspx">Hardware</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Interop/default.aspx">Interop</category></item><item><title>Configuring and running Mono ASP.NET 3.5 (AJAX.NET) on Linux computers</title><link>http://blogs.microsoft.co.il/blogs/tamir/archive/2008/07/24/configuring-and-running-mono-asp-net-3-5-ajax-net-on-linux-computers.aspx</link><pubDate>Thu, 24 Jul 2008 17:27:10 GMT</pubDate><guid isPermaLink="false">b5c4f5bc-c09b-4439-a595-91a98c1847df:126309</guid><dc:creator>Tamir Khason</dc:creator><slash:comments>10</slash:comments><description>&lt;h3&gt;[This blog was migrated. You will not be able to comment here.&lt;br /&gt;The new URL of this post is &lt;a href="http://khason.net/blog/configuring-and-running-mono-aspnet-35-ajaxnet-on-linux-computers/"&gt;http://khason.net/blog/configuring-and-running-mono-aspnet-35-ajaxnet-on-linux-computers/&lt;/a&gt;]&lt;/h3&gt;&lt;hr /&gt;&lt;p&gt;Before we will start, we should install Linux. To do this, you can download any of LiveCDs with live installation. Officially, Mono supported only on one free Linux - &lt;a href="http://software.opensuse.org/"&gt;openSuse&lt;/a&gt;. However, you can make it work on any RedHat (and its alternatives), &lt;a href="http://opensolaris.com/get"&gt;OpenSolaris&lt;/a&gt;. It works, but unsupported on Debians, Ubuntu and Maemo. We’ll stick to openSuse by now. &lt;/p&gt;  &lt;p&gt;&lt;img title="image" border="0" alt="image" src="http://blogs.microsoft.co.il/blogs/tamir/WindowsLiveWriter/Configuringandrunnin.NETonLinuxcomputers_11F9A/image_3947ac10-c1ff-4b7b-bcbf-3b74b1d4b29b.png" width="347" height="155" /&gt; &lt;/p&gt;  &lt;h3&gt;Let’s install it - OS&lt;/h3&gt;  &lt;p&gt;I’m assuming, that you’re installing Linux as the only OS on the machine, so insert liveCD (it can be either Gnome or KDE) and wait for Linux to run. It will run live image directly on your machine without installation.&lt;/p&gt;  &lt;p&gt;When it’ll up, you’ll see liveInstall icon in your desktop. Click it and skip first two screens (it is only language and local settings). Next screen (disk partitions) is necessary for us. &lt;/p&gt;  &lt;p&gt;On this screen, first delete all automatic partitions. The only one main partition will remain (/DEV/SDA or /DEV/HDA). Next you should choose non-LVM option and then start creating partitions.&lt;/p&gt;  &lt;p&gt;Create first partition with &lt;em&gt;mount point&lt;/em&gt; &lt;strong&gt;/boot&lt;/strong&gt; and &lt;em&gt;size&lt;/em&gt; of &lt;strong&gt;100Mb&lt;/strong&gt;. &lt;em&gt;File system&lt;/em&gt; for this partition should be &lt;strong&gt;ext3&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Create second partition with &lt;em&gt;file system&lt;/em&gt; &lt;strong&gt;SWAP&lt;/strong&gt; (you will not have &lt;em&gt;mount point&lt;/em&gt;) and set the &lt;em&gt;size&lt;/em&gt; &lt;strong&gt;twice bigger, then RAM&lt;/strong&gt; amount.&lt;/p&gt;  &lt;p&gt;Create last partition with &lt;em&gt;mount point&lt;/em&gt; &lt;strong&gt;/&lt;/strong&gt; and all &lt;strong&gt;remaining size on disk&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;All other steps are optional, you can just click Next button.&lt;/p&gt;  &lt;p&gt;After about 10 minutes you’ll have up and running openSuse system. (If you forgot to remove CD, choose HardDisk as boot option)&lt;/p&gt;  &lt;h3&gt;Web Server installation&lt;/h3&gt;  &lt;p&gt;Now we have to install web server. You can choose either &lt;strong&gt;Apache&lt;/strong&gt;, &lt;strong&gt;FastCGI&lt;/strong&gt;&amp;#160; or use build-in server within Mono – &lt;strong&gt;XSP&lt;/strong&gt;. We’ll choose Apache&lt;/p&gt;  &lt;p&gt;Goto “Computer” it’s in the same place as Start button :) and choose &lt;strong&gt;YaST&lt;/strong&gt;. You’ll be asked for admin password, you entered while installing the system.    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;Now in the &lt;em&gt;Filter &lt;/em&gt;field, type “Install”. Choose “Software Management” from the available programs at right. Now, when Package Selection dialog opens, type “apache”, you’ll find &lt;strong&gt;apache2&lt;/strong&gt;. Select it and click Install. Apache will move to the right column. Optionally, you can install also prefork and utils packages.&lt;/p&gt;    &lt;p&gt;Now hit “Apply” to install it. Within two minutes, you’ll be asked to log off and log on. Do it.&lt;/p&gt;    &lt;p&gt;By now apache is not running, you should run it and set it starts automatically. To do this, enter terminal window (you can either do it from “Computer” menu or right clicking desktop).&lt;/p&gt;    &lt;p&gt;You need elevation to administrate startup programs. So type: “&lt;strong&gt;su –&lt;/strong&gt;“ and enter your password. Terminal color turns red. Type “&lt;strong&gt;chkconfig apache2 on&lt;/strong&gt;”. Now you should check whether it done, so type: “&lt;strong&gt;chkconfig apache2 –list&lt;/strong&gt;”. You should see “On” near &lt;strong&gt;number&lt;/strong&gt; &lt;strong&gt;3&lt;/strong&gt; and &lt;strong&gt;5&lt;/strong&gt;.&lt;/p&gt;    &lt;p&gt;To run apache manually, just type “&lt;strong&gt;/etc/init.d/apache2 start&lt;/strong&gt;” to stop “&lt;strong&gt;/etc/init.d/apache2 stop&lt;/strong&gt;”, to restart “&lt;strong&gt;/etc/init.d/apache2 restart&lt;/strong&gt;” and to check the status “&lt;strong&gt;/etc/init.d/apache2 status&lt;/strong&gt;”&lt;/p&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;We done, apache is up and running. Now we should install mono&lt;/p&gt;  &lt;h3&gt;Mono installation&lt;/h3&gt;  &lt;p&gt;Start with the same &lt;em&gt;YaST&lt;strong&gt; &lt;/strong&gt;&lt;/em&gt;but this time, type “mono” – you’&amp;#39;ll get a lot of programs. To simplified installation, choose (or type) &lt;strong&gt;mono-complete&lt;/strong&gt;. This will all available Mono modules.&lt;/p&gt;  &lt;p&gt;After Mono will be installed, you should install also &lt;strong&gt;apache2-mod_mono&lt;/strong&gt; to make possible running ASP.NET mono pages in Apache. do this.&lt;/p&gt;  &lt;p&gt;Log off – log on and move to configuration&lt;/p&gt;  &lt;h3&gt;Mono configuration&lt;/h3&gt;  &lt;p&gt;Now it’s time to configure what ASP.NET pages you want to run. We want ASP.NET 2.0, so we should run mono apache mode for this version. To do this, go to the terminal, elevate yourself (su –) and type following: “&lt;strong&gt;vi /etc/apache2/httpd.conf&lt;/strong&gt;” This will open VI editor with apache configuration file in it. &lt;/p&gt;  &lt;p&gt;Now it’s time to learn VI a little. To &lt;em&gt;start editing&lt;/em&gt;, you should type “&lt;strong&gt;A&lt;/strong&gt;” – it will write “INSERT” in the lower left corner. To &lt;em&gt;return to the command mode&lt;/em&gt;, hit &lt;strong&gt;escape key&lt;/strong&gt;. To &lt;em&gt;save&lt;/em&gt; (from command mode) “&lt;strong&gt;:w&lt;/strong&gt;” to &lt;em&gt;exit and save&lt;/em&gt; “&lt;strong&gt;:wq&lt;/strong&gt;” to &lt;em&gt;exit without save&lt;/em&gt; “&lt;strong&gt;:q!&lt;/strong&gt;”. To &lt;em&gt;find&lt;/em&gt; “&lt;strong&gt;/&lt;/strong&gt;” and string the pattern you are looking for.&lt;/p&gt;  &lt;p&gt;Now go the the very end of the file&amp;#160; and write under Include “/etc/apache2/vhosts.d/*.conf” following:   &lt;br /&gt;(to short string “[D]” is your virtual directory (slash blank is root), “[P]” is physical path to your site without trailing slash)&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;MonoServerPath default /usr/bin/mod-mono_server2     &lt;br /&gt;Alias [D] “[P]”      &lt;br /&gt;AddMonoApplications default “[D]:[P]”      &lt;br /&gt;&amp;lt;Location [D]&amp;gt;      &lt;br /&gt; SetHandler mono      &lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So, if your site is MySite and it is in /srv/www/htdocs/MySite, this section will looks as following:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;MonoServerPath default /usr/bin/mod-mono_server2     &lt;br /&gt;Alias /MySite “/srv/www/htdocs/MySite”      &lt;br /&gt;AddMonoApplications default “/MySite:/srv/www/htdocs/MySite”      &lt;br /&gt;&amp;lt;Location /MySite&amp;gt;      &lt;br /&gt; SetHandler mono      &lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;If you want to turn it to the root site, this will looks following:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;MonoServerPath default /usr/bin/mod-mono_server2     &lt;br /&gt;AddMonoApplications default “/:/srv/www/htdocs/MySite”      &lt;br /&gt;&amp;lt;Location /&amp;gt;      &lt;br /&gt; SetHandler mono      &lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Now, we’ll add mono administrative site to be able to restart mono only without touching apache itself. To do this, after last &amp;lt;/Location&amp;gt; you should add following:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;Location /mono&amp;gt;     &lt;br /&gt; SetHandler mono-ctrl      &lt;br /&gt; Order deny,allow      &lt;br /&gt; Deny from all      &lt;br /&gt; Allow from 127.0.0.1      &lt;br /&gt;&amp;lt;/Location&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I think it’s very clear what it did :)&lt;/p&gt;  &lt;p&gt;If you have more, then one site and want to configure mono differently for each one of those, you should add VirtualHost section. To do this, include your configuration in to &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;VirtualHost [IP and port you want, for example 1.1.1.1:80 or *:80 for all IPs on port 80]&amp;gt;     &lt;br /&gt;ServerName [Name you want]      &lt;br /&gt;…      &lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;We done. Restart apache and enter the url you set (for example &lt;a href="http://localhost/MySite/"&gt;http://localhost/MySite/&lt;/a&gt;)&lt;/p&gt;  &lt;p&gt;Working? Good. You finished. &lt;/p&gt;  &lt;p&gt;Not working (familiar yellow error 500 screen)? Keep reading…&lt;/p&gt;  &lt;h3&gt;Debugging Mono website&lt;/h3&gt;  &lt;p&gt;Do you remember, that you have no development environment in this machine? You can install it, or &lt;a href="http://www.go-mono.com/mono-downloads/download.html"&gt;download&lt;/a&gt; Mono liveCD with openSuse. But before doing it, please note, that GTK# (it’s devenv) is not very user friendly. It even worse, then &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt;. So let’s try to understand first whether we can fix small compatibility problems without entering code.&lt;/p&gt;  &lt;p&gt;The most convenient method to debug web site on Mono is by using XSP and XSP2 mini web servers. Just enter the directory of the site and run it. By default you’ll be able to access the site by using “http://localhost:8080” (it also be written for you). Enter and notice whether you have any errors in console. No? Keep doing&lt;/p&gt;  &lt;p&gt;The most common problem is “error 500” with nonsense stack. If it contains ScriptManager error Type not found, the problem is in Web.config file. Try to regenerate it to be compatible to Mono (for example, Mono has different version of System.Web.Extensions assembly. In ASP.NET 3.5 it has version 3.5, Mono has only 1.0.61025.0 (the old AJAX.NET). To recreate your web.config all you have to do is to execute “&lt;strong&gt;mconfig af AJAX Web.config&lt;/strong&gt;” It will create default web.config file, supports System.Web.Extensions (AJAX features).&lt;/p&gt;  &lt;div&gt;Not helped? Keep doing. Let’s look another time into the stack – if it contains errors in “EnablePageMethods” or “ShouldGenerateScript” or “EncryptString” – the problem is serialization. Mono has very limited support for JSON, XML and SOAP serialization. Try to look into your code and notice if you have classes, marked with [Serializable] or you are transferring your own classes by using PageMethods. If so, replace it with regular strings (my grandma serialization).    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;blockquote&gt;     &lt;p&gt;Person p = new Person();       &lt;br /&gt;string sstr = string.Format(“{0}|{1}|{2}|{3}”, p.FirstName, p.LastName, p.Age, p.Wage);        &lt;br /&gt;return sstr;        &lt;br /&gt;…        &lt;br /&gt;var sstr = persons[i].split(&amp;quot;|&amp;quot;);        &lt;br /&gt;var p.FirstName =&amp;#160; sstr[0];        &lt;br /&gt;var p.LastName =&amp;#160; sstr[1];        &lt;br /&gt;var p.Age =&amp;#160; sstr[2];        &lt;br /&gt;var p.Wage =&amp;#160; sstr[3];&lt;/p&gt;   &lt;/blockquote&gt;    &lt;p&gt;Not helped? Try to rename “Bin” directory into “bin” “&lt;strong&gt;mv Bin bin –r&lt;/strong&gt;”. Actually this was fixed in latest versions of Mono, but who knows?…&lt;/p&gt;    &lt;p&gt;No? Check whether you have partial classes, which is not supported by Mono. If so, recompile it like this&lt;/p&gt;    &lt;blockquote&gt;     &lt;p&gt;mcs /t:library /out:bin/test.dll –r:System.Web –r:System.Data –r:System.Web.Services –r:System.Web.UI.Controls test.aspx.cs&lt;/p&gt;   &lt;/blockquote&gt;    &lt;p&gt;If you have Generics in your code, you should use &lt;strong&gt;gmcs&lt;/strong&gt;, rather then &lt;strong&gt;mcs&lt;/strong&gt;.&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Not helped? It looks, that you have to either install Mono on your Windows machine and debug your code with it. Or, alternatively install GTK# and do in on Linux.&lt;/p&gt;  &lt;p&gt;But wait, before doing such big step, install and check the binary compatibility of your code. To do this, you need “&lt;a href="http://www.mono-project.com/MoMA"&gt;Moma&lt;/a&gt;” – a simple tool, that tell you if everything is ok for Mono in your assemblies.&lt;/p&gt;  &lt;p&gt;Good luck and see you in &lt;a href="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/teched/default.aspx"&gt;my forthcoming TechEd session&lt;/a&gt;, where I’m presenting openSuse, running UDP multicast server with ASP.NET 3.5 extended methods (It uses recompiled ISAPI filters for apache, rather then regular limited AJAX support in Mono)&lt;/p&gt;  &lt;p&gt;Have a nice day and be good people.&lt;/p&gt;&lt;img src="http://blogs.microsoft.co.il/aggbug.aspx?PostID=126309" width="1" height="1"&gt;</description><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/tutorial/default.aspx">tutorial</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Tips+and+Tricks/default.aspx">Tips and Tricks</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/.NET+3.5/default.aspx">.NET 3.5</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/teched/default.aspx">teched</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Work+process/default.aspx">Work process</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Linux/default.aspx">Linux</category><category domain="http://blogs.microsoft.co.il/blogs/tamir/archive/tags/Mono/default.aspx">Mono</category></item></channel></rss>