Koozali.org: home of the SME Server

Obsolete Releases => SME 7.x Contribs => Topic started by: hdufort on January 19, 2008, 04:49:46 AM

Title: Best way of installing Mono?
Post by: hdufort on January 19, 2008, 04:49:46 AM
Hi! I have been trying to install iFolder for the 2 last days, without much success. The main problem I ran into was to install Mono (an open source MS.Net implementation). There seems to be conflicting accounts as how to install Mono and each attempts created yet more problems.

1) YUM
The obvious approach was to first try with YUM (since I am a lazy ex-Ubuntu user and I like installations to run automatically while my brain thinks about more exciting stuff). I found a ".repo" file on the Mono project website and copied it at the obvious place (something like /etc/yum/...) Then I typed the yum command and it didn't find anything matching "mono". I am still not sure I use YUM properly.

2) RPM
The next try was with good old clunky RPM. First try gave me a dependency on the GLIB2 and EXIF, which I attempted to install without much success, as an apparently never-ending chain of dependencies seems to be revealed as I cave deeper into that mess.
We're supposed to use CentOS4 stuff, right?

3) Other futile attempts
After finding (on an obscure blog) that a guy has installed Mono successfully using RedCarpet, I realized that this package manager had been bought by Novell and integrated into a commercial product. It's not available anymore.


So I'm still stuck at square one and I don't want to spend the whole week on that. My server runs on SME Server 7.3 with a very basic configuration (the goal is to use it as a file+backup server on my LAN). I'm not a very experienced Linux user; I have 10 years of SunOS experience (most of the 1990s), Cygwin fun, and two decades of Windows experience, but Linux is still a bit obscure for me.

In short, I would appreciate someone giving me a tried & true approach for installing Mono.
Thanks for the help & advices.
Title: Re: Best way of installing Mono?
Post by: william_syd on January 19, 2008, 09:28:06 AM


In short, I would appreciate someone giving me a tried & true approach for installing Mono.
Thanks for the help & advices.


Nothing of the sort.

Check the wiki and add the 'Dag' repo.

Then try
Code: [Select]
yum --enablerepo=dag install mono
Which for me gives...

Code: [Select]
=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 mono-core               i386       1.0.6-1.2.el4.rf  dag               6.6 M
Installing for dependencies:
 libicu                  i386       2.6.2-1.2.el4.rf  dag               4.6 M

Transaction Summary
=============================================================================
Install      2 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 11 M

At this point I bailed out as I don't currently need mono.

How it 'intergrates' with SME I don't know.

EDIT:

Might be better....

Code: [Select]
yum --enablerepo=dag install mono*
Code: [Select]
=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
 Package                 Arch       Version          Repository        Size
=============================================================================
Installing:
 mono-basic              i386       1.0.6-1.2.el4.rf  dag               493 k
 mono-complete           i386       1.0.6-1.2.el4.rf  dag               2.5 k
 mono-core               i386       1.0.6-1.2.el4.rf  dag               6.6 M
 mono-data               i386       1.0.6-1.2.el4.rf  dag               829 k
 mono-data-oracle        i386       1.0.6-1.2.el4.rf  dag                85 k
 mono-data-postgresql    i386       1.0.6-1.2.el4.rf  dag               108 k
 mono-data-sqlite        i386       1.0.6-1.2.el4.rf  dag                22 k
 mono-data-sybase        i386       1.0.6-1.2.el4.rf  dag               100 k
 mono-devel              i386       1.0.6-1.2.el4.rf  dag               2.8 M
 mono-extras             i386       1.0.6-1.2.el4.rf  dag               104 k
 mono-locale-extras      i386       1.0.6-1.2.el4.rf  dag               395 k
 mono-web                i386       1.0.6-1.2.el4.rf  dag               998 k
 mono-winforms           i386       1.0.6-1.2.el4.rf  dag               578 k
Installing for dependencies:
 bytefx-data-mysql       i386       1.0.6-1.2.el4.rf  dag                84 k
 ibm-data-db2            i386       1.0.6-1.2.el4.rf  dag                60 k
 libicu                  i386       2.6.2-1.2.el4.rf  dag               4.6 M

Transaction Summary
=============================================================================
Install     16 Package(s)
Update       0 Package(s)
Remove       0 Package(s)
Total download size: 18 M
Title: Re: Best way of installing Mono?
Post by: arne on January 19, 2008, 02:21:17 PM
I tried to test it out as I thought to see how it worked. I think I could not get the dag repository set up in a corect way with base url etc. Will it be required to import a key ? Should this procedure be used ?
http://wiki.contribs.org/SME_Server:Documentation:FAQ#Repositories_Adding_Removing_Disabling
Title: Re: Best way of installing Mono?
Post by: william_syd on January 19, 2008, 02:33:44 PM
I tried to test it out as I thought to see how it worked. I think I could not get the dag repository set up in a corect way with base url etc. Will it be required to import a key ? Should this procedure be used ?
http://wiki.contribs.org/SME_Server:Documentation:FAQ#Repositories_Adding_Removing_Disabling

I think I just used ...

Code: [Select]
/sbin/e-smith/db yum_repositories set dag repository \
Name 'Dag - EL4' \
BaseURL 'http://apt.sw.be/redhat/el4/en/$basearch/dag' \
EnableGroups no \
GPGCheck yes \
GPGKey http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt \
Visible no \
Exclude freetype,htop,iptraf,rsync,syslinux \
status disabled

from http://wiki.contribs.org/Dag

Looking at my DB entry I have..

dag=repository
    BaseURL=http://apt.sw.be/redhat/el4/en/$basearch/dag
    EnableGroups=no
    Exclude=freetype,htop,iptraf,rsync,syslinux
    GPGCheck=yes
    GPGKey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
    Name=Dag - EL4
    Visible=no
    status=disabled


Your key question is answered here..

http://wiki.contribs.org/Category:Yum_Repository
Title: Re: Best way of installing Mono?
Post by: arne on January 19, 2008, 03:58:19 PM
Thanks !

All went in: yum --enablerepo=dag install mono*

No errors  :smile:
Title: Re: Best way of installing Mono?
Post by: hdufort on January 20, 2008, 03:19:08 AM
Thanks william_syd, it finally worked after a few attempts (I tried to type that long command, but finally I copy-pasted it into a ".sh" file and simply executed it). I think that it would be a good idea to create a quick little "howto" on how to set up Mono, as more and more users will request it.

I am still confused when it comes to Linux administration; so much has changed since my Unix days and I haven't touched anything Unix-related (except Cygwin and Perl, and a little fun in Ubuntu) in the last 4 years.

Now I will try to install iFolder 3 (which was my initial goal) and I still have some problems setting up the sshd service.

Thanks again!
Title: Re: Best way of installing Mono?
Post by: william_syd on January 20, 2008, 03:49:57 AM
Thanks william_syd, it finally worked after a few attempts (I tried to type that long command, but finally I copy-pasted it into a ".sh" file and simply executed it).

It should look like this when typed in at a console..
(http://www.magicwilly.webhostingpal.com/ContribsForumPictures/dag/dag.png)


Now I will try to install iFolder 3 (which was my initial goal) and I still have some problems setting up the sshd service.

Thanks again!


sshd should work out of the box. Go to the web based server-manager and look under remote access.

I think that it would be a good idea to create a quick little "howto" on how to set up Mono, as more and more users will request it.

Good idea.

The wiki is that way >>> Wiki (http://wiki.contribs.org/Help:Editing_pages#Editing_new_pages)

Title: Re: Best way of installing Mono?
Post by: hdufort on January 20, 2008, 04:37:43 AM
SSH finally worked fine. I had forgotten to restart the service after modifying the config. Now I am managing my SME Server from my workstation, through a PuTTY access. Nice!

I'll create a tiny HOWTO about Mono as soon as I have finished installing the related stuff (XSP server and a few necessary RPM updates through yum). In the end, I might describe my experience with the whole "iFolder  3" installation.
Title: Re: Best way of installing Mono?
Post by: william_syd on January 20, 2008, 06:13:32 AM
SSH finally worked fine. I had forgotten to restart the service after modifying the config.

Did you do that via the local console? If so, what did you want to do that couldn't be done from the web based server-manager?
Title: Re: Best way of installing Mono?
Post by: crazybob on December 16, 2008, 08:24:04 PM
hdufort, Did you ever get a "How To" for MONO?

Thanks

Bob
Title: Re: Best way of installing Mono?
Post by: rune on February 07, 2009, 10:25:07 AM
A howto on mono would be nice - I finally got mono, xsp and mod_mono installed and apache to handle aspx files and it wasn't that obvious to do.
My steps were:

Get mono from novell - the dag repo didn't give the right version:

Code: [Select]
/sbin/e-smith/db yum_repositories set mono repository \
Name 'Mono for rhel-4-i386 (stable)' \
BaseURL 'http://ftp.novell.com/pub/mono/download-stable/rhel-4-i386/' \
EnableGroups no \
GPGCheck no \
Visible yes \
status disabled

Notify of change:

Code: [Select]
signal-event yum-modify

Install mono, xsp & mod_mono:

Code: [Select]
yum --enablerepo=mono install mono-complete

yum --enablerepo=mono install xsp

yum --enablerepo=mono install mod_mono

Restart server:

Code: [Select]
signal-event post-upgrade; signal-event reboot

Create a file in templates (/etc/e-smith/templates/etc/httpd/conf/httpd.conf) named: 20LoadModule80mod_mono

with contents:

Code: [Select]
{
$OUT .= "Include /conf.d/mod_mono.conf"
}

Expand the template:

Code: [Select]
expand-template /etc/httpd/conf/httpd.conf
the /conf.d/mod_mono.conf has a conditional so I commented out the <if>  an </if>  and I added a line with:

Code: [Select]
MonoServerPath /usr/bin/mod-mono-server2

to start asp.net 2.0 server instead of 1.1 default

Restart the webserver:

Code: [Select]
/etc/init.d/httpd-e-smith restart

A nicer way of configuration could probably be deviced but this does the job.

A howto should probably include info for those non-linux guys like me, like:

login as root

use midnight comander to get around (mc)

copypaste commands to putty with right click









Title: Re: Best way of installing Mono?
Post by: cactus on February 08, 2009, 12:17:30 PM
Get mono from novell - the dag repo didn't give the right version:
What do you mean with right? Did it not work or did you desire a certain minimum version?

Create a file in templates (/etc/e-smith/templates/etc/httpd/conf/httpd.conf) named: 20LoadModule80mod_mono
All custom templating should be done outside the templates tree, preferrably in the templates-custom tree, for more details see the section on the SME Server template system in the SME Server Developer's Guide linked from the wiki.

the /conf.d/mod_mono.conf has a conditional so I commented out the <if>  an </if>  and I added a line with:
Most likely to determine if the module was loaded, and since it was in the conf.d diretcory I think it was geared to Apache 2.2 instead of Apache 2.0. Most likely the module is named/referenced differently, not sure if it is OK to drop the if clausule...

A howto should probably include info for those non-linux guys like me, like:
We prefer howto's to be added in the wiki in the Category:Howto section so it would be nice if you could do a write up there as well, here is the root of all howto's: http://wiki.contribs.org/Category:Howto
Title: Re: Best way of installing Mono?
Post by: rune on February 08, 2009, 02:35:50 PM
Quote
Quote
Get mono from novell - the dag repo didn't give the right version:
What do you mean with right? Did it not work or did you desire a certain minimum version?

Mono installed fine from the dag repo - but I could only find xsp and mod_mono at the mono website (http://www.go-mono.com) and it requires a newer version to install. All their downloads are from novell ftp.

Quote
Quote
Create a file in templates (/etc/e-smith/templates/etc/httpd/conf/httpd.conf) named: 20LoadModule80mod_mono
All custom templating should be done outside the templates tree, preferrably in the templates-custom tree, for more details see the section on the SME Server template system in the SME Server Developer's Guide linked from the wiki.

I didn't know that, but that's where it should be - in /etc/e-smith/templates-custom/etc/httpd/conf/httpd.conf I assume?

Quote
Quote
the /conf.d/mod_mono.conf has a conditional so I commented out the <if>  an </if>  and I added a line with:
Most likely to determine if the module was loaded, and since it was in the conf.d diretcory I think it was geared to Apache 2.2 instead of Apache 2.0. Most likely the module is named/referenced differently, not sure if it is OK to drop the if clausule...

The conf file just adds mimetypes for .net and mappings for default.aspx etc. and it is a a check for the module that I disabled - it looks like this:

Code: [Select]
<IfModule !mod_mono.c>
    LoadModule mono_module /usr/lib/httpd/modules/mod_mono.so

    AddType application/x-asp-net .aspx
    .
    .
Any idea of how to the check should look for this version of apache?

It would be nicer to have it all in the template file, and leave the conf file as it is.

Quote
We prefer howto's to be added in the wiki in the Category:Howto section so it would be nice if you could do a write up there as well, here is the root of all howto's: http://wiki.contribs.org/Category:Howto
I'll look at it :)