Archives

Tagged ‘script‘

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
./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
./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.

Enjoy!

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.  

Ubuntu:

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

Fedora:

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
./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.

 

Read more →

Mono 2.8 Released!

Wow, I haven't seen much written about it other than the updated pages on the mono-project.com website and some tweets from Miguel de lcaza, but finally Mono 2.8 released! This release has some major updates include full C# 4.0 spec, MVC2 (official), and Asp.Net 4.0 mod_mono among a ton of other fixes and enhancements.  I'll be writing another blog post today with an updated script to compile/install the 2.8 build on Debian & RedHat distros. 

If you have any interest in running your .NET applications with Mono, now is a good time to try it out. With this release, you'll find very little resistance with incompatibilities for .NET 2.0-3.5. You still use Visual Studio for builds, and you can even take advantage of a huge extension framework built-in to mono. 

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
./fedora_mono-trunk.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!