Introduction
1) .Net Framework is platform specific as it is developed by Microsoft .
2) It does not work on Linux
3) For .Net Application to be able to work on Linux ,A third party Novell Inc. has developed mono. Mono is just like a .Net framework and is platform independent
4) Mono is an open source project and contains most of the class, type Libraries defined in .Net Framework it provides.
� A Common Language Runtime (CLR) that is compatible with the ECMA standard
� A C# compiler
� A set of class libraries
� Ancillary tools such as a disassembler, debugger, IDE, etc.
5) Mono has got its own web server called xsp, xsp is a lightweight web server and is written in c#
Installing Mono On Linux OS
1) Download mono rpm or installer according to Specifications of your OS from www.go-mono.com/downloads page.
2) I downloaded Something like this mono-1.1.17.1_2-installer.bin
3) Go to root bash prompt of Linux
4) Cd to directory of above installer
5) Type following commands
[root@dotnetlinux.com] # md5sum mono-1.1.17.1_2-installer.bin (Checking Installer)
898cb6e5076455d72a4786bb2584656d mono-1.2.3.1_0-installer.bin
(Output)
[root@dotnetlinux.com] # chmod 777 mono-1.1.17.1_2-installer.bin (Changing user Access)
[root@dotnetlinux.com] # ./mono-1.1.17.1_2-installer.bin (Running Installer)
Installer wizard window gets opened . Follow the instructions and Mono get installed.
6) Now for starting xsp web server go to bash prompt and type following command considering mono is in mono (a file system folder) go to mono-1.1.17.1
[root@dotnetlinux.com] # mono mono-.17.1/usr/lib/xsp/2.0/xsp.exe
7) A Web server gets started on default 8080 port
8) Open the mozilla explorer and give following address http://localhost:8080/ window can be seen which contains all the .Net controls and examples
9) Now Deploy your application (xcopy) on Linux machine and start the xsp server in that folder.
And browse that page in explorer.
10) For Building .cs files Mono Provides a compiler For compiling .cs file go to bash prompt and cd to that directory and give following command reference of dll's can be given as follows
[root@dotnetlinux.com] # mcm TestPage.cs �r:System.Data.dll out:TestPage.exe
Following command will run the exe.
[root@dotnetlinux.com] # mono TestPage.exe
11) If Your application contains DAL's ,compile it with mcm and give the reference of mcm compiled dll's.
Oracle 10 g on Linux
1) Install Oracle 10 g on Linux according to instructions on following site..
http://www.oracle.com/technology/pub/articles/smiley_10gdb_install.html
2) Set environment variables.
3) Check the connection by sqlplus.
4) Start the listener by lsnrctl start command.
JBoss On Linux
1) Copy JBoss On Linux machine. I copied it at /opt/usr/share/oss
2) And Jdk1.4 for Linux at /usr/java/jdk1.4
3) Go to the following path
/opt/oss/share/jboss-4.0.2/server/default/deploy/jbossweb-tomcat55.sar
Open the file server.xml and change the port 8080 to 8088
4) Start the JBoss apache server by command sh run.sh. edit sh run.sh to set JAVA_HOME
5) Export parameters on my Linux machine were
export ORACLE_HOME=/home/oracle/oracle/product/10.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin
export JAVA_HOME=/usr/java/jdk1.4
6) Open http://localhost:8088/ u will see JBOSS window
7)As two web servers are now running on two different ports any Redirection between the .aspx and .JSP pages is possible
Some Important Commands on Linux
If you are new to Linux then following some commands will help you out.
/bin - essential UNIX commands such as ls, etc. Should contain all binaries needed to boot the system or run it in single-user mode
/boot - files used during booting and possibly the kernel itself are stored here
/dev - contains device files for various devices on system
/etc - files used by subsystems such as networking, NFS, and mail. Includes tables of disks to mount, processes to run on startup, etc.
/etc/profile.d - contains scripts that are run by /etc/profile upon login.
/etc/rc.d - contains a number of shell scripts that are run on bootup at different run levels. There is also typically an rc.inet1 script to set up networking (in Slackwar), an rc.modules script to load modular device drivers, and an rc.local script that can be edited to run commands desired by the administrator, along the lines of autoexec.bat in DOS.
/etc/rc.d/init.d - contains most of the initialization scripts themselves on an rpm-based system.
/etc/rc.d/rc*.d - where ``*'' is a number corresponding to the default run level. Contains files for services to be started and stopped at that run level. On rpm-based systems, these files are symbolic links to the initialization scripts themselves, which are in /etc/rc.d/init.d.
/etc/skel - directory containing several example or skeleton initialization shells. Often contains subdirectories and files used to populate a new user's home directory.
/etc/X11 - configuration files for the X Window system
/home - home directories of individual users
/lib - standard shared library files
/lib/modules - modular device driver files, most with .o extensions
/mnt - typical mount point for many user-mountable devices such as floppy drives, cd-rom readers, etc. Each device is mounted on a subdirectory of /mnt.
/proc - virtual file system that provides a number of system statistics
/root - home directory for root
/sbin - location of binaries used for system administration, configuration, and monitoring
/tmp - directory specifically designed for programs and users to store temporary files.
/usr - directory containing a number of subdirectory with programs, libraries, documentation, etc.
/usr/bin - contains most user commands. Should not contain binaries necessary for booting the system, which go in /bin. The /bin directory is generally located on the same disk partition as /, which is mounted in read-only mode during the boot process. Other file systems are only mounted at a later stage during startup, so putting binaries essential for boot here is not a good idea.
/usr/bin/X11 - most often a symbolic link to /usr/X11R6/bin, which contains executable binaries related to the X Window system
/usr/doc - location of miscellaneous documentation, and the main location of program documentation files under Slack ware
/usr/include - standard location of include files used in C programs such as stdio.h
/usr/info - primary location of the GNU info system files
/usr/lib - standard library files such as libc.a. Searched by the linker when programs are compiled.
/usr/lib/X11 - X Window system distribution
/usr/local/bin - yet another place to look for common executables
/usr/man - location of manual page files
/usr/sbin - other commands used by super user for system administration
/usr/share - contains subdirectories where many installed programs have configuration, setup and auxiliary files
/usr/share/doc - location of program documentation files under Mandrake and Red Hat
/usr/src - location of source programs used to build system. Source code for programs of all types are often unpacked in this directory.
/usr/src/Linux - often a symbolic link to a subdirectory whose name corresponds to the exact version of the Linux kernel that is running. Contains the kernel sources.
/var - administrative files such as log files, used by various utilities
/var/log/packages - contains files, each of which has detailed information on an installed package in Slack ware. The same file can also be found at /var/adm/packages, since the adm subdirectory is a symbolic link to log. Each package file contains a short description plus a list of all installed files.
/var/log/scripts - package installation scripts in Slack ware are stored here. You can inspect these scripts to see what special features are included in individual packages.
/var/spool - temporary storage for files being printed, mail that has not yet been picked up, etc.
Summary
Simply by following thease steps you can easily integrate Asp.Net and JSP pages on Linux