Tag Archives: Install

Install Mono 3.0.7 from Source on Ubuntu with a Bash Script

Like the other scripts I’ve posted, this one is meant to be a barebones mono install with the exception of LibGDI, LibGTK, XSP, and ModMono. You can easily make it a web server or just compile simple CLI scripts in mono. Run “csharp” for an interactive shell.

NOTE: Ubuntu 12.04 LTS and Badgerports.org are now current w/ This bash script is more useful when installing parallel Mono, when a new version is released and not yet published on badgerports, or if you simply want to compile it yourself from source. I highly recommend trying the latest Ubuntu or Badgerports first.

This version installs Mono 3.0.7


mkdir mono-3.0
cd mono-3.0
wget --no-check-certificate https://raw.github.com/nathanb/iws-snippets/master/mono-install-scripts/ubuntu/install_mono-3.0.sh
chmod 755 install_mono-3.0.sh

Take note that this will install to the suggested parallel environments path at: /opt/mono-3.0. Adjust your environment accordingly in either your virtual host config or your CLI environment before using it to run your Mono apps.

Install Mono 2.11 from Source on Ubuntu with a Bash Script

NOTE: Ubuntu 12.04 LTS and Badgerports.org are now current w/ This bash script is more useful when installing parallel Mono, when a new version is released and not yet published on badgerports, or if you simply want to compile it yourself from source. I highly recommend trying the latest Ubuntu or Badgerports first.

Updated Sept 11, 2012 – Incremented Mono to 2.11.3 (from 2.11.0).


This script is meant to be a barebones web server install. Feel free to tweak the script and add as many packages as you like to it.

mkdir mono-2.11
cd mono-2.11
wget --no-check-certificate https://github.com/nathanb/iws-snippets/raw/master/mono-install-scripts/ubuntu/install_mono-2.11.sh
chmod 755 install_mono-2.11.sh


There is also a CentOS/Red Hat script in the GitHub repository.


Install Mono 2.10.8 from Source on Ubuntu with a Bash Script

NOTE: Badgerports.org is now current w/ This bash script is more useful when installing parallel Mono, when a new version is released and not yet published on badgerports, or if you simply want to compile it yourself from source. I highly recommend trying Badgerports first.


mkdir mono-2.10
cd mono-2.10
wget --no-check-certificate https://github.com/nathanb/iws-snippets/raw/master/mono-install-scripts/ubuntu/install_mono-2.10.sh
chmod 755 install_mono-2.10.sh



Update 12/30/2011 – Updated Mono 2.10.6 to

Update 10/16/2011 – Updated Mono 2.10.5 to 2.10.6

Update 8/31/2011 – Updated Mono 2.10.4 to 2.10.5

Update 8/11/2011 – Updated Mono 2.10.3 to 2.10.4 for minor update.

Install Mono 2.10.2 and MonoDevelop 2.6 Beta 3 on Ubuntu With a Bash Script

After @migueldeicaza announced MonoDevelop Beta 3 a few days ago, I updated my scripts to install the new version. I’ve also included an upgrade script for those of you who used my Beta 2 script. The upgrade will uninstall the three Beta 2 projects and then download, compile and install the three new ones. I’ve only tested this so far on Ubuntu Natty (11.04), so let me know here if you have any problems with other versions.



Continue reading

Mono 2.10 Install Script for Ubuntu & Fedora

Update 10/4/2011 – I’m starting to consolidate the major version posts. This script refers to 2.10.1; however, it installs 2.10 latest. Refer to the current 2.10 post for more info.

I just updated the bash install script for Mono 2.10. Thanks to @Marv for the Ubuntu script and heads up that 2.10 was released. This script is mainly intended for use with linux/apache web servers. It will install Mono, GTK, OpenGDI, XSP, and Mod_Mono. For Mono Develop, read through the Building Mono Develop page [mono-project.com], which will require a few additional packages not included in this script.

To install for Ubuntu:

wget --no-check-certificate https://github.com/nathanb/iws-snippets/raw/master/mono-install-scripts/ubuntu/install_mono-2.10.sh
chmod 755 install_mono-2.10.sh


To install for Fedora:

yum install wget
wget --no-check-certificate https://github.com/nathanb/iws-snippets/raw/master/mono-install-scripts/fedora/install_mono-2.10.sh
chmod 755 install_mono-2.10.sh


Again, if setting up a web server, be sure to set the VirtualHost environment up correctly with PATH & LD_LIBRARY_PATH. (here, IOMAP is optional) See configuring virtual hosts. The following line should be included in your VirtualHost configuration.

MonoSetEnv site_name MONO_IOMAP=all;PATH=/opt/mono-2.10/bin:$PATH;LD_LIBRARY_PATH=/opt/mono-2.10/lib:$LD_LIBRARY_PATH;


Update – March 15, 2011

I’m refactoring some stuff, so bare with me. Today I’m introducing a totally re-written script that will hopefully make it easier to adapt to updates in the future. So far, I’ve treated these bash scripts like I do Windows batch files. But I took some time and tried to learn a little more about writing bash scripts.  The new scripts will stop if any errors are encountered. This is good and bad.  Good because now you know something went wrong, and the errors are much easier to find. Bad (maybe) because now you know something might not have worked. ;) Anyway, I hope the changes will help everyone.

I’ve changed all the prefixes to use the major/minor version. So 2.10.1, 2.10.2 etc, will use prefix /opt/mono-2.10. You’ll always have the option to change that if you wish to use a different prefix. There’s a single variable in the beginning of the script that sets the prefix.

Finally, there does seem to be a problem at the end of installing xsp. However, everything seems to go in okay.

Good luck!


UPDATE – March 8, 2011

Mono 2.10.1 was released Feb 25th. I updated the install script for 2.10 to use the Mono 2.10.1 package. (That was the only package updated in this version). I’ve also included an experimental upgrade script for 2.10 to 2.10.1 here. (fedora vs ubuntu use the same script). Download it to the same location of your script for 2.10 and run it.  It will uninstall just mono-2.10 and then download, compile, and re-install the new mono-2.10.1.


Mono 2.8.2 Script Updated for Ubuntu and Fedora


I just committed the script for 2.8.2. This was literally a text replacement of 2.8.1. However, this one seems to work with asp.net membership out of the box; so that’s good. Anyways you can find these scripts at github.com or use the bash sequence below.

I ran through these scripts on Ubuntu 10.10 and Fedora 14 fresh installs.  I would discourage setting your default environment path to use this version and stick to using it just for Asp.Net. You can set the MonoPath in your Apache virtual host config to use this one specifically.  It will install to /opt/mono-2.8.2

Comment if you have any questions or problems.


wget --no-check-certificate https://github.com/nathanb/iws-snippets/raw/master/mono-install-scripts/ubuntu/install_mono-2.8.2.sh
chmod 755 install_mono-2.8.2.sh



wget --no-check-certificate https://github.com/nathanb/iws-snippets/raw/master/mono-install-scripts/fedora/install_mono-2.8.2.sh
chmod 755 install_mono-2.8.2.sh


Update 1/30/2011

Be sure and set the environment variables in the virtual host config to use the correct prefix. This script will install to /opt/mono-2.8.2;  So modify the MonoSetEnv line in your virtual host config: 

MonoSetEnv appName MONO_IOMAP=all;LD_LIBRARY_PATH=/opt/mono-2.8.2/lib:$LD_LIBRARY_PATH;PATH=/opt/mono-2.8.2/bin:$PATH

MONO_IOMAP=all is optional; but on by default usually. The important part is to include the other two so mod_mono knows how to find this 2.8.2 install.  Likewise, if you're running console or GUI apps w/ this version; you'll need to set your local environment to use the modified LD_LIBRARY_PATH and PATH as well. See http://www.mono-project.com/Parallel_Mono_Environments for more info. 


Update 2/20/2011

Mono 2.10 has been released and I added a new install script.

Mono 2.8.1 Install Script for Ubuntu and Fedora Web Server

I just updated the install script for Mono 2.8.1. Better late than never. ;)  This script will install mono, gtk, gdi, xsp and mod_mono for use with a web server.  


wget --no-check-certificate https://github.com/nathanb/iws-snippets/raw/master/mono-install-scripts/ubuntu/install_mono-2.8.1.sh


wget --no-check-certificate https://github.com/nathanb/iws-snippets/raw/master/mono-install-scripts/fedora/install_mono-2.8.1.sh


After download:

chmod 755 install_mono-2.8.1.sh


If you have previously installed Mono from source, you may want to uninstall it before deleting its source. Run sudo make uninstall from each component directory you previously installed.

Mono 2.8 Install Script for Ubuntu & Fedora

I updated both my scripts for Ubuntu and Fedora to download and install the latest 2.8 Mono release.  I’ve also been playing with GTK lately (specifically Pixbufs) and so this script now includes the install for GTK-Sharp. Anyway, you can find the updated scripts on my GitHub snippets project.  Both Fedora and Ubuntu install scripts should succesfully install mod_mono, Xsp, mono core, GTK, and GDIplus at a minimum.

If you have problems running your apps that use the gdi-plus, it could be resolved with a refresh of the DllMap.  Enter "sudo ldconfig"  and then try to re-run your app. Checkout http://www.mono-project.com/DllNotFoundException for more details.

2/20/2011 Update

Mono 2.10 has been released. I added a new install script here. 

1/27/2011 update

Mono 2.8.2 was released awhile back, which included some security fixes and enhancements. I have since posted an updated script along another blog post related to it here. 

10/26/2010 update

The script now installs to /opt/mono-2.8 instead of /usr/local in favor of the parallel mono environment suggestion. You may need to add /opt/mono-2.8/bin to your system PATH.

For Ubuntu, this is located in /etc/environment; insert /opt/mono-2.8/bin to the beginning of the path. Keep in mind, this will change the global PATH, so if your'e using a workstation, this may affect other applications that depend on Mono. Consider changing your profile PATH. (See comments for more details). 

For RH/Fedora, I updated the install script to also create an environment script at: /etc/profile.d to include this mono install to your system path.

Disclaimer: You should only try this script if your'e familiar with the process of compiling packages manually. I'm trying to make it work for MonoDevelop and other files, but it may not work with them in its current state.

Feel free to fork and make changes of your own to the script from GitHub. I'll gladly welcome pull requests containing improvements.


Continue reading

Install Mono Daily Build Script for Fedora 13

Mono ProjectFedora 13 A while back I added a Fedora 13 install script for Mono that downloads, builds, and installs the last tested daily build along with xsp and mod_mono.

I just recently updated it to use the Sept 1st, 2010 daily build. You can pull the latest script directly from my website or from my repository on github.


Script Usage

My test environment was a standard web server install from the Fedora 13 download DVD.  After the install, I started the same process I performed with the Ubuntu install, which was something like this:

mkdir mono
cd mono
wget http://www.integratedwebsystems.com/resources/p796/fedora_mono-trunk.sh
chmod 744 fed*.sh

That’s it. It’ll first install all the required dependencies for the build and the web server. It’ll then download the 9/1 build (or latest tested version) from the daily tarball list and pull mod_mono and xsp from subversion trunk. Finally, it will extract, compile, and install everything.

The only thing remaining is to setup a web application and configure apache to use mod_mono. For this, I like to use the Mod Mono Config Tool as a starting point to build my virtual host configuration file.

Setup your web server:

  1. Move the mod_mono.conf from /etc/httpd/conf to /etc/httpd/conf.d
  2. Create a new directory to hold your virtual host config files at: /etc/httpd/sites-enabled

    mkdir /etc/httpd/sites-enabled
  3. Copy your new virtual host config file to /etc/httpd/sites-enabled
  4. Append a virtual host config line to your httpd.conf

    echo ”Include sites-enabled/*.*” >> /etc/httpd/conf/httpd.conf
  5. Disable Selinux by editing the /etc/selinux/config file and changing SELINUX=disabled
  6. Reboot server
  7. Start web server if it isn’t configured to auto-start. (use chkconfig to set auto-start)

    service httpd start

That should do it. You can test your new virtual host by browsing to it. The 404 response should show the new mod-mono version.

Good luck!

Installing Mono Trunk or 2.6.4 Tag with Subversion Source on Ubuntu 10.04 Lucid

Updated June 23, 2010!

Lately, I’ve been really digging the new Ubuntu 10.04 on my desktop and web server. So I’ve been meaning to get a post out here describing how I got Mono trunk installed since it comes packaged with 2.4.4.  After much testing, I finally have finished getting a script to work with a fresh, vanilla install.

I stumbled on this blog post by Boris Schieman where he wrote a bash script to compile and install the Mono trunk.  I made a few tweaks to it for a vanilla linux install for the tagged 2.6.4 release and setup another one for updating a mono trunk build using the daily tarballs. I’ve successfully tested both versions on Ubuntu 10.04 Lucid. I’m just a casual linux/mono user, so use this at your own risk.

Continue reading