2012年2月1日 星期三

我將原來centos 5廢掉改安裝在centos 6 的方法!

原來在centos 5下,除了系統硬之外,還有兩顆獨立的硬碟,其結構如下
/dev/mapper/VolGroup00-LogVol00
                     113410608  12249788  95306820  12% /
/dev/sda1             19919336    235208  18654668   2% /boot
tmpfs                  1553280         0   1553280   0% /dev/shm
/dev/sdc1            480719056 116089924 340209932  26% /var/www/g2data
/dev/sdb1            480719056 190972784 265327072  42% /var/www/html

其中

/dev/sda1    為第一顆系統碟
/dev/sdb1    為第二顆資料碟(裡面裝著gallery2的所有資料)   掛載路徑  /var/www/g2data
/dev/sdc1    為第三顆資料碟(裡面裝著其它所有網頁服務管理程式及資料)   掛載路徑  /var/www/html

由於是要在一個新的硬碟裡架設新的系統
所以我在一顆新的硬碟裡安裝centos 6
安裝完後 先以yum –y update更新到最新的版本
接著將原系統內之httpd.conf與iptables複製到新的系統內
新系統要安裝mysql並且將原來備份的mysql資料庫複製回來!

在新系統的/var/www裡將備份機裡的moodledata拷備回來!
新系統加上防毒軟體yum -y install clamav*
接著開啟/etc/fstab將最底部加上下列兩行(使系統開機時自動掛載硬碟到/var/www/g2data與/var/www/html)

vim /etc/fstab


/dev/sdc1  /var/www/g2data  ext3  nosuid,noexec,nodev  0  0
/dev/sdb1  /var/www/html  ext3  nosuid,noexec,nodev  0  0


接著安裝webmin(安裝完webmin後,將各種一開機就要啟動的服務設定好,如httpd、mysqld、sshd.......等等)

再在系統裡安裝ffmpeg與MPlayer及MEncoder(方法請看這篇文章:centos 安裝ffmpeg 及 mplayer mencoder)
還要將原先執行自動備份之contra…的檔案複製到目的地,如此才能接續原先的自動備份功能!
另外/home/http_user這個資料夾整個拷備到新系統的相對位置。
/var/set/底下有幾個自己寫的幾個簡單的script也要拷備到相對位置!

其間會遇到防火牆設定的問題,我必須將舊主機的防火牆設定檔拷回新主機(備份原先的設定檔的指令是iptables-svae > 檔名,透過scp 指令將該檔案拷備到新的系統裡,然後在其路徑裡下達指令iptables-restore < 檔名,然後重新啟動防火牆,service iptables restart),新主機的senlinux也必須關掉(命令列下執行setenforce 0就可以暫時關閉,要永久關閉則要編輯/etc/sysconfig/selinux)

vi /etc/sysconfig/selinux

SELINUX=enforcing 改成--> SELINUX=disabled

然而在重新安裝完後,我遇到了ostube亂碼的問題,也就是在phpMyadmin裡看檔案資料都可以正常觀看中文,如下圖
image
但當我到ostube網站觀看資料時,卻出現如下圖的亂碼?
image
上網找了半天沒有看到像我這樣的問題,但卻有看到有提到網站看沒問題到資料庫端看會出現亂碼的例子,於是我就試著做看看將(資料來源:阿杰老師的 osTube 實驗室
開啟程式 
var/www/ostube/includes/class.database.php
約第50行:找到function DBaccess
往下找到$this->connected = true;(第59行)
在上一行插入@mysql_query("SET NAMES utf8",$this->connection);
參考程式碼如下:

if(!$this -> connection = @mysql_connect($DBhost,$DBuser,$DBpass)) {
     if($this->debug) die("Error: Can not connect to database - " . $DBhost);
              unset($this);
              return false;
         } else {
               $this->connected = true;
          }
改成
if(!$this -> connection = @mysql_connect($DBhost,$DBuser,$DBpass)) {
     if($this->debug) die("Error: Can not connect to database - " . $DBhost);
         unset($this);
         return false;
    } else {
@mysql_query("SET NAMES utf8", $this->connection);
          $this->connected = true;
       }
也就解決了我ostbue亂碼的問題了!真高興!
image

沒有留言: