一、安裝libgdiplus
前面我們已經安裝了apr、apr_util、pcre和httpd apache 。現在我們來安裝libgdiplus
Libgdiplus是一個Mono庫,用於對非Windows操作系統提供GDI+兼容的API。libgdiplus是mono中的System.Drawing依賴的一個組件,用於顯示web頁面基本顏色等
Libgdiplus會依賴linux系統中一些必要的包,如果缺少包,我們可以在線安裝這些包。輸入以下命令就可以安裝了。
yum -y install gcc gcc-c++ bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel libtiff-devel libexif-devel giflib-devel libX11-devel freetype-devel fontconfig-devel cairo-devel
來到解壓后的Libgdiplus文件夾輸入預編譯命令 ./configure --prefix=/usr/local/mono ,Mono 依賴Libgdiplus包,所有我們將Libgdiplus 安裝到mono文件夾中。
OK,是不是已經報錯了,找不到這個glib-2.0這個依賴的包。我們把所有要用到的包都安裝好。輸入命令進行安裝。它會提示下載安裝。直接輸入y.
安裝成功后會提示類庫組件已經安裝完成了。
再次輸入預編譯語句: ./configure --prefix=/usr/local/mono
沒有error,說明預編譯已經完成了,直接輸入make && make install 進行編譯並安裝。
安裝完成后我們來到 cd /usr/local/mono
看到 Libgdiplus 已經安裝完成了!
二、安裝Mono
mono編譯到安裝大概需要較長的時間,安裝過程一樣也是三個步驟。預編譯==》編譯==》安裝。
預編譯 ===》 ./configure --prefix=/usr/local/mono
編譯並安裝 ===》 make && make install
mono安裝完成后,我需要配置mono的環境。
1、cd /etc 找到profile 文件
2、用vi編輯器打開文件profile 按shift+g定位到文件的最后面,加入以下代碼
PATH=/usr/local/mono/bin:$PATH --mono安裝目錄
export PATH
3、保存文件 重新加載配置文件 輸入命令:source /etc/profile 查看mono 版本命令: mono -V
三、安裝Xsp
mono安裝完成了,剩下的安裝就很快了,Xsp依賴於mono,所以我們把Xsp安裝到/usr/local/mono中。
Xsp依賴於mono,所以要輸出mono的安裝目錄
export PKG_CONFIG_PATH=/usr/hocal/mono/lib/pkgconfig:$PKG_CONFIG_PATH
來到解壓后的Xsp文件夾中輸入預編譯命令
./configure --prefix=/usr/local/mono
OK,預編譯 沒有報錯。
輸入命令 make && make install 編譯並安裝!
OK,Xsp安裝完成了,我們來檢查一下。cd /usr/local/mono/bin 是不是有xsp文件
我們來運行xsp 輸入命令 ./xsp4 xsp相當於一個小型的服務器,現在服務已經啟動監聽端口為9000。
我們來到Linux服務器用瀏覽器訪問http//localhost:9000
說明Xsp已經安裝成功了。
四、安裝mod_mono
mod_mono也依賴於mono,所以我們也把它安裝到/usr/local/mono中。
但在預編譯的時候,會出現一些錯誤,我們需要修改配置文件來完成編譯和安裝!
來到我們解壓后的文件夾
輸入預編譯命令 ./configure --prefix=/usr/local/mono
報錯了,apache 1.3版本已經不支持了,最小支持2.0,前面已經卸載掉重新裝了apache了,現在我們需要指定apache安裝目錄。輸入命令:
./configure --prefix=/usr/local/mono --with-apxs=/usr/local/apache/bin/apxs --with-apr-config=/usr/local/apr/bin/apr-1-config --with-apu-config=/usr/local/apr-util/bin/apu-1-config
OK,說明預編譯已經通了。
現在開始編譯和安裝了。輸入命令 make。
編譯出現錯誤了,現在我們需要修改配置文件了。我們找到src/mod_mono.c文件 使用命令 vi mod_mono.c
1、 在389行:將原來的 return nixd_config.user_id 改為 return ap_nixd_config.user_id;
2、在399行:將原來的 return unixd_config.group_id; 修改為 return ap_unixd_config.group_id;
3、在409行:將原來的 return unixd_config.user_name; 修改為 return ap_unixd_config.user_name;
4、在488行 將原來的 rv =unixd_set_global_mutex_perms (xsp->dashboard_mutex);
修改為 rv =ap_unixd_set_global_mutex_perms (xsp->dashboard_mutex);
5、在854行 將方法里面的所有代碼全部刪除,修改為 return c->client_addr->port;
6、在861行將方法里面的內容全部刪除,修改為 return r->connection->local_addr->port;
我們先保存修改的內容,回到上級目錄,我們在編譯一下:make
是不是錯誤已經少多了。現在我在來修改src/mod_mono.c文件。
7、1968行,將原來的 info.remote_ip_len = strlen (r->connection->remote_ip); 修改為 info.remote_ip_len = strlen (r->connection->client_ip)
8、2016行,將原來的
ptr += write_string_to_buffer (ptr, 0, r->connection->remote_ip, info.remote_ip_len);修改為
ptr += write_string_to_buffer (ptr, 0, r->connection->client_ip, info.remote_ip_len);
保存,回到上級目錄 cd../ 然后在編譯make
OK 沒有出錯,編譯完成,安裝 make install
配置Apache服務器
mod_mono安裝成功后,會在apache/conf/文件夾中存在名為mod_mono.conf的配置文件。
我們前往apache/conf目錄。
1、我們現在用vi打開這個mod_mono.conf文件。在文件的最后面添加mono的安裝目錄。
MonoServerPath /usr/local/mono/bin/mod-mono-server4
2、修改httpd.conf 文件 在最后面加入 include conf/mod_mono.conf
3、重新啟動apache服務器。service apache restart.
我們遠程上傳一個aspx的文件到linux服務器中。apache默認的網站目錄是/apache/htdocs中!
我們在linux服務器中訪問以下地址。說明asp.net環境已經搭建成功了!