Projekt Mono 9. díl, instalace a provoz

Napsal (») 12. 2. 2008 v kategorii Programování, přečteno: 2551×
obrazky/monon.jpg

Úvod


Když jsem poprvé začal instalovat mod_mono docela mě zaskočilo jak málo dokumentace je k tomuto projektu dostupné, i přesto jsem se rozhodl mono zprovoznit na Apache a trošku si jej nastavit. Ano je zde také možnost instalace na XSP což je řekněme takový domácí server, ale většina lidí používá Apache tak proč když to běží na XSP by to nemohlo běžet na Apache.

Jako první jsem zamířil na oficiální stránky MONO FAQ, kde jsem myslel, že najdu vše potřebné. Ale zde byl pouze strohý návod na instalaci pod XSP, které není určeno pro normální provoz například na hostingu. Bohužel lidi s projektu Mono si nedají jen tak říci a dokumentace k instalaci mod_mono na Apache je tedy jako máku!!!!!

Dobře dejme se tedy do práce, počítám s tím, že máte již nainstalováno mono a apache pokud ne tak nezoufejte apt dořeší všechny závislosti.

1. Instalace mod_mono

Otevřete si terminál jako root a postupně napište tyto příkazy:

apt-get install libapache2-mod-mono

apt-get install mono-apache-server2

a2enmod mod_mono


Druhý příkaz zajistí že nám poběží ASP.net 2.0 aplikace na našem serveru. Třetí příkaz řekne apache aby aktivoval mód, který jsme nainstalovali prvním příkazem.

2. Nastavení Apache

Teď je třeba říct Apache kde jsou naše soubory, které se chystáme hostovat.

POZN: Toto budete muset nastavit pro každou stránku kterou chcete hostovat na apache. Aby soubor jak má naložit s danými soubory.

Takže si znovu otevřete terminál jako root a napište:

gedit /etc/apache2/apache2.conf


a nakonec souboru dopište.

<IfModule mod_mono.c>
#
# Zmente “.priklad.cz” podle nazvu svoji domény, stejně tak jako cesty k souborům.
#

Alias /AspNaApache “/home/banan/asp.net”
MonoApplications “/AspNaApache:/home/banan/asp.net”
<Directory /home/banan/asp.net>
SetHandler mono
<IfModule mod_dir.c>
DirectoryIndex index.aspx Default.aspx
</IfModule>
</Directory>

<Location /AspNaApache>
SetHandler mono
</Location>

</IfModule>


OK, skoro to máme! Zpomalme na chvíli a podívejme se co jsme to vlastně napsali. Osobně nesnáší když čtu kód co je bez komentáře. Takže si v rychlosti pročteme co jsme to vlastně napsali a jak to funguje.

A.

<IfModule mod_mono.c> a </IfModule>

vlastně říká Apache co má dělat pokud narazí na soubor s příponou aspx. Všechno s těmito dvěma tagy jsou víceméně pokyny pro Apache nic více.

B.

V dalším kroku protože jsme líní a chceme zavolat naše stránky pomocí aliasu, protože se nám nechce psát celá relativní url adresa, a mono aplikace MonoApplications budou operovat z /home/banan/asp.net. Napíšeme tedy:

Alias /AspOnApache “/home/banan/asp.net”
MonoApplications “/AspOnApache:/home/banan/asp.net”


C.

Jako poslední řekneme Apache, že složka /home/banan/asp.net musí být obsluhována mod_mono, a že jako defaultní soubory, které se zobrazí uživateli, který navštíví tuto složku budou index.aspx a Default.aspx.

<Directory /home/banan/asp.net>
SetHandler mono
<IfModule mod_dir.c>
DirectoryIndex index.aspx Default.aspx
</IfModule>
</Directory><Location /AspNaApache>
SetHandler mono
</Location>


3. Zkušební index

Tak a je vystaráno!

Nakonec si vyzkoušíme jak to všechno funguje uděláme si tedy zkušební soubor. Kterým si ověříme fuknčnost. Tento soubor vytvořte v rootu který jste si vytvořili, pomocí textového editoru a pojmenujte jej Default.aspx:

<%@ Page Language="C#" %>
<html>
<head>

<title> ASP.net na Apache s použitím mod_mono!!!</title>
<script runat="server">
void Button1_OnClick(object Source, EventArgs e)
{
HtmlButton button = (HtmlButton) Source;
if (button.InnerText == "Zapnuto 1"){
Span1.InnerHtml="Deaktivoval si tlacitko";
button.InnerText = "Vypnuto 1";
}
else {
Span1.InnerHtml="Aktivoval si tlacitko";
button.InnerText = "Zapnuto 1";
}
}

</script>
</head>
<body>
<h3>SUPER ASP.NET jede na mono jak ma!!!</h3>
<form id="ServerForm" runat="server">
<button id=Button1 runat="server" OnServerClick="Button1_OnClick">
Button1
</button>

<span id=Span1 runat="server" />
</form>
</body>
</html>


Aplikace bude vypadat asi takto:



4. Dokončení instalace, restart

Nakonec RESTARTUJTE APACHE, aby všechny vaše změny nabyly platnosti!!!


/etc/init.d/apache2 restart


Jděte na http://localhost/AspNaApache/ and voala tady je vaše nová stránka.

Závěr


Zabralo mi to spoustu času napsat tento návod tak doufám , že vám mod_mono funguje tak jak má. Musíte mít stále na mysli, že Mono je ve vývoji a je na něm ještě hodně práce, kterou je třeba udělat, takže služeb a možností bude stále jen přibývat. Takže sledujte novinky ať nejste pozadu!
Štítky: Projekt Mono
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel třináct a pět