ApacheでASP.NETを動かそうとしてCentOS 6にmonoをインストールした

C#でWebClient.UploadFile()というクラスとメソッドを使うとWebサーバーにファイルを送信できるようです。
ただし、Webサーバー側でASP.NETのコードを実行する必要があるようです。

ポストされたファイルを受け入れることができ、UploadFile メソッドの使用に適した ASP.NET ページのコード例を次に示します。 このページは Web サーバー上に常駐させる必要があります。 そのアドレスにより、UploadFile メソッドの address パラメーターの値が提供されます。

(https://msdn.microsoft.com/ja-jp/library/esst63h0(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-3)

サーバーサイドはCentOS 6にApache 2.4が動いているので、ASP.NETをApacheで動かすにはどうすればよいか調べてみました。

スポンサーリンク

Monoとは

どうやらCentOS環境にMonoをセットアップすればよいようです。

Mono(モノ)は、GNOMEプロジェクト創設者のミゲル・デ・イカザが開発した、Ecma標準に準じた.NET Framework互換の環境を実現するためのオープンソースのソフトウェア群、またそのプロジェクト名である。
現在はXamarin社が開発、販売、サポート業務を行っている。
共通言語基盤 (CLI) の実装やC#のコンパイラなどが含まれる。
(Wikipediaより)

Xamarinは以前、以下のように調べたことがありますが、最近の流行なんでしょうか。
Xamarin(ザマリン)でVisual Studioを使ってiOSアプリを作る

CentOS 6にMonoをインストール

Monoをインストールするには、rootで以下を実行します。

とりあえず、monoが/opt/monoにインストールされたようです。

ただ、これだけではこの先、どうすればよいのかわからないです。

さらに調べてみたところ、ApacheからMonoを使うには以下を実行する必要があるようです。

ただし、実行すると以下のエラーが出てインストール出来ません。

エラー:パッケージ : libwebkit-cil-opt-0.3-11.5.x86_64 (home_tpokorra_mono)
要求 : webkitgtk

止むを得ずに、--skip-broken オプションを付けてインストールしてみました。

今度は、/etc/httpd/conf/httpd.confの最後にinclude /etc/httpd/conf/mod_mono.conf が追加されていました。

このコンフィギュレーションが正しいのか確認してみます。

# apachectl configtest
httpd: Syntax error on line 354 of /etc/httpd/conf/httpd.conf: Syntax error on line 8 of /etc/httpd/conf/mod_mono.conf: Cannot load /usr/lib64/httpd/modules/mod_mono.so into server: /usr/lib64/httpd/modules/mod_mono.so: undefined symbol: unixd_config

何かライブラリが足りないようです。

いったん挫折します。

スポンサーリンク
スポンサーリンク
Translate »