CentOS 5.3-Apache Support ASP.NET 整合

實 驗 目 標
 
讓Apache能夠支援微軟.NET Framework 3.5 平台(ASP.NET)上RUN
 
相關相依套件與開發工具預先下載
 
shell> yum groupinstall "Development Tools"
 
shell> yum install httpd build-essential gcc bzip bison pkgconfig glib-devel

         glib2-devel httpd-devel libpng-devel libX11-devel freetype fontconfig
        
         pango-devel ruby ruby-rdoc gtkhtml38-devel wget
 

下載支援Linux平台的MONO套件共三個(mono,xsp,mod_mono),本人使用是目前最新版本2.4.2做為測驗

cd /usr/local       

local>  wget http://ftp.novell.com/pub/mono/sources/mono/mono-2.4.2.tar.bz2 

local>  wget http://ftp.novell.com/pub/mono/sources/xsp/xsp-2.4.2.tar.bz2

local>  wget http://ftp.novell.com/pub/mono/sources/mod_mono/mod_mono-2.4.2.tar.bz2

(一.)安裝MONO

local> tar jvfx mono-2.4.2.tar.bz2 

local> cd mono-2.4.2

local> ./configure –prefix=/usr/local    #安裝到/usr/local

local> make                                       #make 超久凱因斯等他make有快20分鐘才完成

local>make install

查驗安裝版本

shell> /usr/local/bin/mono -V

(二.)安裝XSP

local> tar jvfx xsp-2.4.2.tar.bz2 

local> cd xsp-2.4.2

local> ./configure –prefix=/usr/local    #安裝到/usr/local

local> PKG_CONFIG_PATH=/usr/local/lib/pkgconfig make  

                                 # mono 將 pkg-config 將檔案安裝在  /usr/local/lib 下必需手動指定其PATH

local>make install

(三)安裝mod_mono

local> tar jvfx mod_mono-2.4.2.tar.bz2

local> cd mod_mono-2.4.2

local> ./configure –prefix=/usr/local –with-apxs=/usr/sbin/apxs   

local>  make

local>  make install

                                 # mono 將 pkg-config 將檔案安裝在  /usr/local/lib 下必需手動指定其PATH

local>make install

(四)修改APACHE設定檔(對應ASP.NET相關設定檔) vi /etc/httpd/conf.d/mod_mono.conf  

 #加入以下內容

############################################################################

<IfModule !mod_mono.c>
#    RPM Version
#    LoadModule mono_module /usr/lib64/httpd/modules/mod_mono.so
LoadModule mono_module modules/mod_mono.so
MonoUnixSocket /tmp/.mod_mono_server2
#    RPM Version
#    MonoServerPath /usr/bin/mod-mono-server2
 
MonoServerPath /usr/local/bin/mod-mono-server2
MonoAutoApplication enabled
 
AddType application/x-asp-net .aspx
AddType application/x-asp-net .asmx
AddType application/x-asp-net .ashx
AddType application/x-asp-net .asax
AddType application/x-asp-net .ascx
AddType application/x-asp-net .soap
AddType application/x-asp-net .rem
AddType application/x-asp-net .axd
AddType application/x-asp-net .cs
AddType application/x-asp-net .config
AddType application/x-asp-net .Config
AddType application/x-asp-net .dll
DirectoryIndex index.aspx
DirectoryIndex Default.aspx
DirectoryIndex default.aspx
</IfModule>
###############################################################
*修改完儲存完成後請Restart APACHE*
(五)加入ASP與ASPX檔進行驗證測試用ASP動態網頁測試(訪客留言版)
    (A)ASPX簡易測試CLICK BUTTOM
   
   (B)ASPX簡易測試CLICK BUTTOM  CLICKUP -> DOWNDOWN
    

 參考資料

http://mingstert.blogspot.com/2008/12/mono-2x-on-centos-5.html

http://www.pigo.idv.tw/archives/61#more-61

CentOS 5.3 BIND_DNS安裝方式已更動_乾坤大搬移LAB

目 標
 
 CentOS 5. 3版本後 利用 yum 安裝BIND方式已更動
 
    (據官方說法與BIND廠商敲不定,拿掉一些元件必須額外安裝套件並移動相關檔案位置及設定本機正反解檔才能順利啟動BIND) 
 
1.) Bind 開始安裝相關元件
 
     yum -y install bind bind-chroot bind-utils  system-config-bind
2.)複製 named.conf 到/var/named/chroot/etc/
 
   cd /usr/share/system-config-bind/profiles/default/
  
   cp named.conf /var/named/chroot/etc/
3.)複製 localdomain.zone localhost.zone named.local 到 /var/named/chroot/var/named
 
   cd /usr/share/system-config-bind/profiles/default/named
 
   cp localdomain.zone localhost.zone named.local  /var/named/chroot/var/named
4.)複製 named.root 到 /var/named/chroot/var/named/
 
   cd /usr/share/doc/bind-9.3.4/sample/var/named
 
   cp named.root /var/named/chroot/var/named/
 
———–開始設定named.conf , 本機正解檔,本機反解檔———
 
編輯named.conf
 
vi /var/named/chroot/etc/named.conf
 
加入以下
 
zone "localhost" IN {                                   #本機正解
        type master;
        file "named.localhost";                       #設定檔預設放置於/var/named/chroot/var/named/
};
zone "0.0.127.in-addr.arpa" {                    #本機反解
     
        type master;
     
       file "named.127.0.0";                        #設定檔預設放置於/var/named/chroot/var/named/
 
 
編輯named.localhost  本機正解檔如下   預設位置: /var/named/chroot/var/named/      #可利用該目錄下 localhost.zone 複製修改內容後另存新檔
 
 
編輯named.127.0.0  本機反解檔如下 預設位置: /var/named/chroot/var/named/   #可利用該目錄下 localdomain.zone 複製修改內容後另存新檔
 
 
修 改 完 成 後 啟  動 named 查 看 是 否 順 利 成 功 啟 動
 
( 如 果 不 能 順 利 啟 動 請 檢 查 上 述 對 應 設 定 :
 
 named.conf 檔案內有添加 IPV6 的 紀 錄 請 把 他 刪 除 或是 自 行 添 加 IPV6正反解檔,我是把ipv6拿掉)
 
 SHELL > service   named  start
 
———————補述————————————-
 
% named.conf 放置位置  vi /var/named/chroot/etc/                        #  他日要添加 zone 檔案編輯主要檔案
 
% . 根預設位置於     /var/named/chroot/var/named/                      #  可以自行上網downloal該檔,但需與named.conf中"." 位置相互對應
 
%正反解放置區預設位於 vi /var/named/chroot/var/named          #你也可以自定檔名,但需與named.conf 中 正反解檔名位置相互對應

Cacti 外掛 Monitor_By_Keynes

架設目標
 
利用Moniter 模組:  主動監控被主機是否live存活與正常運行一目了然,短時間得知掛點主機位於?
 
情 境
 
CentOS 5.3主機一台: 且已經安裝好Cacti 初始化設置 (https://192.168.61.88/cacti) CACTI使用2009/06/28才更新過的 cacti-0.8.7e.tar(目前最新版本)
 
CACTI 網頁資料夾存放:  /var/www/html/cacti 下
 
使用工具: 請至以下網址下載 http://cactiusers.org/index.php
 
(1.) cacti-plugin-0.8.7e-PA-v2.5.zip :  Cacti 安裝完成後若想使用外掛Plugins功能必須先擴充其現有架構後,才能進行爾後插件安裝.
 
                                                                       此為CACTI Plugins擴充安裝套件(目前最新版本)
 
(2.) monitor-0.8.2.tar: monitor 監控模組外掛插件(目前最新版本)
 
 
—————–實驗開始—————–
 
一. 安裝 cacti-plugin-0.8.7e-PA-v2.5.zip
 
 
     解壓縮後將資料夾內所有檔案複製到/var/www/html/cacti
 
 二. 執行 patch -p1 -N < cacti-plugin-0.8.7e-PA-v2.5.diff 動作   #會Patch(覆蓋)掉一些相同檔名,但不要緊
 
 
         SHELL>  patch -p1 -N < cacti-plugin-0.8.7e-PA-v2.5.diff
 
 
 三. 修正  include/global.php 一些與Mysql資料庫連結相關係數  #因為global.php 內容已被第二步動作覆蓋掉,必須修正會原先對應值
 
       
 
 
四. vi  include/global.php  檔案,請找到  $plugins [ ] = array( ) ;  於此下行加入
 
             $plugins [ ] = ‘monitor’ ;              # 宣告插件moniter
 
           
 
五. vi  include/global.php  檔案,請找到  $config[‘url_path’] = ‘/cacti/’;   # 此為指定CACTI目錄位置請修成符合您工作環境,本例放在/var/www/html/cacti
 
            故為 ‘/cacti/’
 
六.  將  ps.sql  匯入cacti資料庫
 
      SHELL>  mysql -u root -p cacti < pa.sql       
 
七. 解壓縮 monitor-0.8.2.tar 並將解壓縮過後的 moinitor 資料夾整個移動到  /var/www/html/cacti/plugings
 
     SHELL> cd monitor
 
      SHELL>  mysql -u root -p cacti < minitor.mysql         # 匯入monitor 資料夾中的monitor.sql 至 cacti 資料庫 
 
    SHELL>  service httpd restart                                       #重啟web server
 
     SHELL>  service mysqld restart                                   #重啟 mysql server
 
八.登入 https://192.168.61.88/cacti 測試(會發現多了第三個TAB Monitor,爾後加入流量偵測的主機,
 
                                                                               將可透過Monitor頁籤中看到該主機是否存活或掛點
 
   
  

Apache2+Tomcat 6整合並設置開機自動啟用

*實驗環境*
 
>依舊還是CentOS 5.3
 
(1).安裝Apache
 
     yum -y install httpd
 
(2)安裝JDK
 
    至
   
   http://java.sun.com/javase/downloads/index.jsp  下載最新版本JDK 本例是: Jdk-6u14-linux-i586.rpm.bin 版本
 
   安裝 jdk
 
SHELL> ./ jdk-6u14-linux-i586.rpm.bin              #將自動安裝至/usr/java下
 
    將剛剛安裝的版本Priority設定為首也就是1(Linux可能存在多版本jdk,本例只有一版本jdk)
 
SHELL> alternatives  –install /usr/bin/java   java  /usr/java/latest/bin/java 1
 
    
   檢查目前jdk版本
 
SHELL>   java -version
 
    編輯Profile檔   vi /etc/profile   在檔案最下方加入以下反白的部份儲存後離開
 
 
(3.)安裝apache-tomcat
 
至以下 http://tomcat.apache.org/download-60.cgi   下載 apache-tomcat-6.0.20.tar
 
             
                解壓縮該檔
 
SHELL>  tar  -zxvf  apache-tomcat-6.0.20.tar
 
               將apache-tomcat-6.0.20資料夾更名為tomcat6 並移動至/usr/local 下
 
SHELL> mv apache-tomcat-6.0. 20  /usr/local/tomcat6
 
切換 /usr/local/tomcat6/bin 目錄下進行啟動tomcat6 , 爾後可以使用/ust/local/tomcat6/bin/startup.sh  啟動與  /ust/local/tomcat6/bin/shutdown.sh 關閉Tomcat6
 
bin>  ./ startup.sh
 
 
            
(4) 重新啟動 httpd 後測試 apache:80 與 tomcat:8080 是否共存測試OK
 
    http:// 192.168.61.88                #使用80 Port
 
   
 
    http:// 192.168.61.88:8080                # Tomcat 預設使用8080 Port
 
    
 
—————————————-Part Two—————————-讓Tomcat 6 開機時自動啟動———————————–
 
(1.) 安裝JSVC
 
    切換到 /usr/local/tomcat6/bin並解壓縮
 
SHELL> tar -zxvf  jsvc.tar.gz
 
 
SHELL> cd jsvc.src                             #準備進行安裝
 
SHELL> chmod +x configure     
 
SHELL> ./configure –with-java= /usr/java/jdk1.0.6_14           #指定jdk安裝位址

 
SHELL> make                                                                        #編譯
 
(2.) 使用者用戶建立(建立群組與OWNER)
 
SHELL> useradd tomcat6
SHELL> groupadd tomcat
SHELL>usermod -G tomcat tomcat6
SHELL> chown -R tomcat6 /usr/local/tomcat6
 
(3.) 進行 vi /etc/init.d/tomcat6  內容加入以下
 
 #!/bin/sh 
 
# Startup Script for Tomcat5
 
# chkconfig: 345 88 14
# description: Tomcat Daemon
# processname: jsvc
# pidfile: /var/run/jsvc.pid
# config:  
# Source function library.
 . /etc/rc.d/init.d/functions
 #
 
prog=tomcat6  
 
JAVA_HOME=/usr/local/java/jdk1.6.0_14                #需要修改的部份白色字體
 
CATALINA_HOME=/usr/local/tomcat6
 
DAEMON_HOME=$CATALINA_HOME/bin/jsvc
 
TOMCAT_USER=tomcat6
 
TMP_DIR=/var/tmp
 
CATALINA_OPTS=
 
CLASSPATH=
 
$JAVA_HOME/lib/tools.jar:
 
$CATALINA_HOME/bin/commons-daemon.jar:
 
$CATALINA_HOME/bin/bootstrap.jar
 
RETVAL=0
 
prog="tomcat6"
 
case "$1" in
 
start)
 
#
 
# Start Tomcat
 

 
$CATALINA_HOME/bin/jsvc  
 
-user $TOMCAT_USER
 
-home $JAVA_HOME
 
 
-Dcatalina.home=$CATALINA_HOME
 
 
-Djava.io.tmpdir=$TMP_DIR
 
 
-outfile $CATALINA_HOME/logs/catalina.out
 
 
-errfile $CATALINA_HOME/logs/catalina.err
 
 
$CATALINA_OPTS
 
 
-cp $CATALINA_HOME/bin/commons-daemon.jar
 
 
-cp $CATALINA_HOME/bin/bootstrap.jar
 
org.apache.catalina.startup.Bootstrap
 
 
# To get a verbose JVM
 
 
#-verbose
 
 
# To get a debug of jsvc.
 
 
#-debug
 
 
echo -n $"Starting $prog : "
 
 
RETVAL=$?
 
 
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
 
 
echo_success
 
 
echo
 
 
;;
 
 
stop)
 
 
#
 
 
# Stop Tomcat
 
 
#
 
 
echo -n $"Stopping $prog : "
 
 
PID=`cat /var/run/jsvc.pid`
 
 
kill $PID
 
 
RETVAL=$?
 
 
[ $RETVAL -eq 0 ] && rm /var/lock/subsys/$prog
 
 
echo_success
 
 
echo
 
 
;;
 
 
 
*)
 
 
echo $"Usage: $0 {start|stop}"
 
 
exit 1
 
;;
 
 
esac
 
exit $RETVAL 
 

 

(4.) chkconfig –list  tomcat6 查看啟動狀況(目前是ON狀態)

     

      將Tomcat6 加入開始啟動服務群組- ->chkconfig –add tomcat6

       利用NTSYSV查看是否Tomcat6已加入開機啟用服務(服務已成功出現在列表當中,爾後可以更方便方式利用Ntsysv設定Tomcat6開機自動啟用該服務)

      

參考網頁

http://www.wretch.cc/blog/jerry0822/16116288

http://blog.xuite.net/programer/1/15554673

Cisco OSPF Over Frame Relay

 
實驗環境
 
目標透過Cisco OSPF Over Frame Relay技術相互連結存取各個分公司節點
 
三台CISCO 3640 Serial Router(分別是Taipet,Tokyo,China)  環境配置圖如下
 
    
 
    <Taipei 配置: S 0/0  6.6.6.1/24 , Lo 0 : 192.168.1.1/24  DLCI : 101 <-> 202 , 102 <->203
 
    <Tokyo 配置: S 0/0  6.6.6.2/24 , Lo 0 : 192.168.2.1/24  DLCI : 202 <-> 101
 
    <China 配置: S 0/0  6.6.6.3/24 , Lo 0 : 192.168.3.1/24  DLCI : 203 <-> 102
 
目的: 使用 ip  ospf network  point-multipoint 與 ospf 設置與建立Framerelay 連結各節點內網Loopback 存取
 
Taipei_ Sh run 設置展示1: 基礎的介面設置,封裝frame relay, point – multipoint ,配置Frame relay map ip , dcli….etc
 
 
Taipei_ Sh run 設置展示2: OSPF 路由的配置
 
 
Taipei_ Sh run 設置展示3:  sh ip route 結果是(各結點都能學得到代表OK)
 
 
Tokyo_ Sh run 設置展示1: 基礎的介面設置,封裝frame relay, point – multipoint ,配置Frame relay map ip , dcli….etc
 
                                            (以下 Frame-Relay map 圖中  ip 6.6.6.3 dlci 應更正為202,並加上broadcast ,此圖未修改)
 
    
Tokyo_ Sh run 設置展示2: OSPF 路由的配置
 
 
Tokyo_ Sh run 設置展示3:  sh ip route 結果是(各結點都能學得到代表OK)
 
 
China_ Sh run 設置展示1: 基礎的介面設置,封裝frame relay, point – multipoint ,配置Frame relay map ip , dcli….etc
 
   
China_ Sh run 設置展示2: OSPF 路由的配置
 
 
 China_ Sh run 設置展示3:  sh ip route 結果是(各結點都能學得到代表OK)
 
 
 
 

MySQL_Master & Slave Lab(資料庫複寫)

 
實 驗 環 境
 
平台: CentOS 5.3
 
MySQL-ServerA: 192.168.61.88 (Master)
 
MySQL-ServerB: 192.168.61.99 (Slave)
 
—————————————————–
 
Master 設定部份
 
(1.) 停止 MySQL-ServerA, MySQL-ServerB 的 Mysqld 服務 ,並切換MYSQL 存放的資料庫目錄下(/var/lib/mysql/)進行資料庫壓縮backup
 
      shell>  service  mysqld  stop
 
      shell>  cd  /var/lib/mysql
 
      mysql> tar  zcvf /root/mysqldb.tgz   ./           #將所有資料庫檔案壓縮打包後放至 /root 下  <—–可更改指定backup目錄
 
(2.)利用SCP 將 MySQL-ServerA /root/mysqldb.tgz 檔 傳送至MySQL-ServerB 主機中 /var/lib/mysql
 
      shell> scp /root/mysqldb.tgz  root@192.168.61.99:/var/lib/mysql                    #輸入認證密碼後傳輸OK
 
      現在暫且切換為 MySQL-ServerB   /var/lib/mysql 進行mysqldb.tgz 解壓縮與ServerA 資料同步
 
       shell> cd /var/lib/mysql
 
       mysql> tar zxvf  mysqldb.tgz 
 
(3.)切換ServerA  vi /etc/my.cnf 開始進行 Mysql_A 配置(加入以下設置後請wq!離開)
 
    [mysqld]
 
     log-bin = mysql-bin                      //設置log檔
    
     server-id = 1688001                     //設置 server id,可任意設置
    
     binlog-do-db = wuda                // 指定需要同步複寫的資料庫
    
     binlog-ignore-db = mysql        // 指定不需要同步複寫的資料庫
 
    
 
(4.) 啟動MySQL服務並登入MYSQL ,建立授權使用者CICIMySQL-ServerB(SLAVE) 存取之用
 
      shell> service mysqld start
     
      shell>  mysql -u root -p
 
      mysql>  GRANT REPLICATION SLAVE ON *.* TO ‘cici’@’192.168.61.99’  IDENTIFIED BY ‘c30819’  
 
      mysql>   SHOW MASTER STATUS ;       //查看目前設置狀況並記下File與Position值(等會設定ServerB會用到)  
 
     
 
(5.) 切換ServerB vi /etc/my.cf 開始進行 Mysql_B 配置(加入以下設置後請wq!離開)
 
        server-id   = 1688002                                //ServerB_亦需配置一個id(通常設置連號)
        master-host  =  192.168.61.88         //指定Master MYSQL Server ip
        master-user  =    cici                      // 授權使用者
        master-password = c30819              // 授權使用者密碼
        master-port = 3306                        //MySQL Port號
        master-connect-retry = 60              //每六十秒建立連線
        log-bin=mysql-bin                       // LOG檔
 
          * 啟動MySQLB服務並登入ServerB_MySQL將 Slave 停止 *
 
          shell>  mysql -u root -p
     
          mysql> slave stop;
        
 
         
 
(6.) 進入Mysql (Server B)繼續進入Master設置
 
   mysql>  CHANGE MASTER TO 
-> MASTER_HOST=’192.168.61.88′,                 //Master Mysql-Server IP地址   
-> MASTER_USER=’cici’,                                //授權使用者 
-> MASTER_PASSWORD=’c30819′,              //授權使用者密碼
-> MASTER_LOG_FILE=’ mysql-bin.000003 ‘,   // Master MySQL Server FILE 檔案名稱
 
-> MASTER_LOG_POS=98;                       //Master MySQL Server Position值
 
    * 啟動MySQLB Slave  *
          
     
          mysql> slave start;
 
      
 
(7)於Mysql-ServerB 下 SHOW SLAVE STATUSG ;  查看 Slave_IO_Running: Yes , Slave_SQL_Running: Yes
 
                                                                                                                                                             //若為Yes表示兩台MySQL同步成功(Replication)
 
        
      
參考資料:

IPV6 6 to 4 tunnel Lab

*操作環境說明*
 
(1.)使用三顆CISCO 3640 Serial Router 進行實驗,分別為RA<->Core<->RB _如下本人使用GNS3模擬器測試
 
     
 
(2).為每顆 Router 設置圖面上IP 並啟動 IPV6 unicast-routing 功能
 
     以下僅列出 Core Router 目前設置圖例(RA_RB亦視IP分配不同而進行設置)
 
     
 
(3.)為每顆路由器設置路由(此邊設置EIGRP,另可改用RIP,OSPF測試),以下僅列出 Core Router 路由設置(本例使用EIGRP 55 AS NUMBER),
     建置完成後請測試每顆Router彼此都可以PING通.
 
    
 
(4.) 開始進行RA與RB建立IPV6 之 6 T0 4 TUNNEL 動作
 
     RA(Config)# interface tunnel 58                                   <–58Tunnel 可更動 , 但需與另外一端tunnel 編號一致
 
     RA(Config-if)# tunnel souce 12.12.12.1                          
 
     RA(Config-if)# tunnel destination  23.23.23.3            <–指定IPV4 來源與目的端的IP做為封裝成IPV6 Address Tunnel
 
     RA(Config-if)# tunnel mode ipv6ip                            <–將通道Mode ipv6ip
 
     RA(Config-if)# ipv6  add  F168::2/64                        <–設置 ipv6 IP
 
    
 
   

     Rb(Config)# interface tunnel 58                                   <–58Tunnel 可更動 , 但需與另外一端tunnel 編號一致
 
     Rb(Config-if)# tunnel souce 23.23.23.3                            
 
     Rb(Config-if)# tunnel destination  12.12.12.1           <–指定IPV4 來源與目的端的IP做為封裝成IPV6 Address Tunnel
 
     Rb(Config-if)# tunnel mode ipv6ip                            <–將通道Mode ipv6ip
 
     Rb(Config-if)# ipv6  add  F168::2/64                        <–設置 ipv6 IP
 
    
 
(5)驗證RB Ping  RA 的IPV6位址Ping 通
 
    
 
(6.)驗證RA Ping  RB 的IPV6位址Ping 通(代表Tunnel建立成功)
 
     
 
(7).在RA與RB進行show ipv6 route ,查看IPV6 Tunnel 

      
        RA:

 
     
 
       RB: