[Mono-list] Guide to installing Mono 2.4 on a clean Ubuntu 8.10 Server machine
Mike Christensen
imaudi at comcast.net
Thu Apr 2 01:19:51 EDT 2009
Hi guys - I've written a rough guide to installing Mono 2.4 on a totally
clean fresh install of Ubuntu Server 8.10. This guide is geared towards
people like me who don't really know a whole lot about Linux or Mono and
are most likely coming from a Windows .NET world. For that reason,
everything is spelled out pretty verbosely and I try not to take any
shortcuts (like stringing a whole bunch of commands together with
ampersands and stuff).
I'd love to get some of the experts to review this, and perhaps a few
people to try it out too if you have VMWare and can create a test
machine quickly. I've tried this twice so far and both times I haven't
ran into any major problems.
Also, I'd like to convert this guide to HTML and post it up on a website
somewhere, if anyone has any advice for me on this lemme know. For all
you bloggers, this guide is totally public domain and you can post it
wherever you'd like. Thanks!!
------
*** Complete @!#$'ing Moron's Guide to Installing Mono 2.4 on Ubuntu
Server 8.10: ***
This is a step by step guide to installing Mono 2.4 and mod_mono on a
fresh Ubuntu Server install. Let's begin.
1) Logon to machine so you see a command prompt.
Type: sudo bash
Enter your password, you should now be root. This will allow you to do
whatever you want without typing "sudo" in front of every command.
2) Install all prequisits for Mono. Note you can put all packages on a
single line, but if you're just starting out, you might want to install
each one just to make sure it all goes well. If any package is already
installed, just continue on. Depending on your system, you might already
have some of these.
Type: apt-get install build-essential
Type: apt-get install pkg-config
Type: apt-get install bison
Type: apt-get install libglib2.0-0 libglib2.0-dev
Type: apt-get install libpng12-dev
Type: apt-get install libx11-dev
Type: apt-get install libfontconfig1-dev
Type: apt-get install libfreetype6-dev
Type: apt-get install apache2
Type: apt-get install apache2-threaded-dev
Type: apt-get install gettext
3) Download and build libgdiplus which is required for Mono to build.
Type: cd ~
Type: wget
http://ftp.novell.com/pub/mono/sources/libgdiplus/libgdiplus-2.4.tar.bz2
You should now have the file libgdiplus-2.4.tar.bz2 in your ~/ directory
Type: tar -xpjf libgdiplus-2.4.tar.bz2
This will decompress the tar file into its own directory, note you won't
see any output)
You should now have a directory called libgdiplus-2.4
Type: cd libgdiplus-2.4/
Type: ./configure
You should not see any errors, but if you're missing any packages please
install them and run "./configure" again.
Type: make
Sometimes here I see some error about "link <something> is not a valid
libtool object" and Error 1. I have no idea what causes this, but I can
usually work around it by running "apt-get update" and "./configure" again.
Type: make install
4) Build Mono:
Type: cd ~
Type: wget http://ftp.novell.com/pub/mono/sources/mono/mono-2.4.tar.bz2
Type: tar -xpjf mono-2.4.tar.bz2
This will take a minute or so because it's a big file and you won't see
anything on the screen because stuff isn't too chatty in the UNIX world.
Type: cd mono-2.4/
Type: ./configure
Type: make
This will take a while - probably about 15 minutes or so.
Type: make install
When this is done, you should be able to type "mono" from the prompt and
see mono options. This is a good sign.
5) Build xsp (this also includes mono-server which is used for Apache
integration)
Type: cd ~
Type: wget http://ftp.novell.com/pub/mono/sources/xsp/xsp-2.4.tar.bz2
Type: tar -xpjf xsp-2.4.tar.bz2
Type: cd xsp-2.4/
Type: ./configure
Type: make
Type: make install
6) Build mod_mono so you can run Mono web sites on Apache
Type: cd ~
Type: wget
http://ftp.novell.com/pub/mono/sources/mod_mono/mod_mono-2.4.tar.bz2
Type: tar -xpjf mod_mono-2.4.tar.bz2
Type: cd mod_mono-2.4/
Type: ./configure
Type: make
Type: make install
7) Configure Mod_Mono with Apache
Type: cd /etc/apache2
Type: pico apache2.conf
Search for this section:
# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf
Add the following line under the above lines:
Include /etc/apache2/mod_mono.conf
At the end of this file, add the following line:
MonoServerPath /usr/local/bin/mod-mono-server2
Press CTRL+X to exit Pico, answer "Yes" to save your changes and press
enter to use the same file name.
Restart Apache by typing: /etc/init.d/apache2 restart
8) Make sure it all works!
Type: cd /var/www
This is your default website directory. By default there's just a
temporary index.html file that says "It works!", you can remove this.
Type: rm *
Now let's create a test ASPX page.
Type: pico default.aspx
If you know ASP.NET, you can write some code here. But for something
dirt simple, just use:
<%
Response.Write("Hello World!");
%>
Save the file and exit Pico (CTRL+X)
In your web browser, you should now be able to browse to the site and
see "Hello World!" on your screen. From this point on, you should be good
to go and develop a much more complex application :)
Congrats!
More information about the Mono-list
mailing list