網路開展事業或在網路創業賺錢的第一步:【架設24小時賺錢網站主機】比網頁設計更優先!

感謝您造訪 Linux主機伺服器架設技術基地。 你可進入替你架設主機.影片教你維護頁面,詳細瞭解Linux主機架設及相關技術維護影片教學(完整配套措施),有主機馬上可以架設網站營運,完全無限制!

租用不如自有主機!聰明的網站經營者都選擇架設Linux主機伺服器做為網站運作平台,因功能完整又強大,免費架站程式超多!完全沒有版權問題,超強『防駭客攻擊與入侵』及安全防護可以讓你無後顧之憂。

                    架設主機.影片教你維護: http://por.tw/linux/new-E_learning/index.php

Linux主機伺服器架設技術基地  維護團隊  敬上
瀏覽模式: 普通 | 列表

Linux主機伺服器架設技術(主機資料移轉)

Linux主機伺服器架設技術(主機資料移轉)

 主機的移轉要掌握以下幾點原則:

   1. 要注意原網頁應用軟體之安全性
      有些舊的軟體,可能已有漏洞,不要再把舊的版本轉移過來。
   2. 在移轉資料的同時,必須要注意,該資料的檔案權限。不要在完成資料移轉之後,一般 user 都「看」不到,只剩 root 一個才看得到。
   3. 可在兩台 Linux 之間直接使用 gFtp 軟體,以 SFTP2 (SSH2) 協定、 Root 身份,直接把各種資料從舊機器傳送到新機器上。

---------------------------------------------------------------------------------
attachments/201304/9435209677.jpg


  資料庫移轉

    * 資料庫位置:/var/lib/mysql
    * /var/lib/mysql/mysql 及 /var/lib/mysql/test 不可搬動
      除了上述這兩個資料夾不可搬動外,其餘在 /var/lib/mysql/ 底下的資料夾(資料庫),皆可以搬到新 Linux Server主機的 /var/lib/mysql 底下。
          因為 /var/lib/mysql/mysql 是 MySQL 的系統資料庫,它記錄了許許多多 MySQL Server 的設定參數。而且,舊版的 MySQL 與新版的 MySQL ,系統資料庫會有欄位定義上的不同,若您把舊版系統資料庫,直接覆蓋到新版之上,可能會造成 MySQL 啟動失敗。
          例外:若是新舊主機的 Linux/Linux Server 版本一致,理論上其 MySQL 版本應該也一致,就可以執行以下動作即可
         1. 直接把 /var/lib/mysql/ 底下所有資料夾複製到新主機上相同的位置上
         2. 不必再動 MySQL 使用者權限的部份
    * 複製到新主機時,要記得把 /var/lib/mysql 底下所有的資料夾(資料庫)權限,改為 mysql.mysql
      root@dns:~# chown -R mysql.mysql /var/lib/mysql/*
    * 在 Linux 底下可以使用 filezilla 以 SFTP 的協定,直接用 Root 身份進行搬動
      root@dns:~# apt-get install filezilla
    * 檢查所有 PHP+MySQL程式碼(如 ANN 公告欄...etc),把所使用到的 MySQL 使用者帳號密碼,新增至新主機的 MySQL 內
      使用 phpmyadmin,例: http://Your.ServerName/phpmyadmin
      在首頁上點:「權限」 → 「新增使用者」 (新增 MySQL 的使用者)

---------------------------------------------------------------------------------
網頁搬家

    * 網頁位置
          Red Hat 系列: /var/www/html
          Linux/Linux 系列: /var/www
          ☆.自行編譯安裝: /usr/local/apache2/htdocs
    * 可以使用圖形化工具 gFtp 以 SFTP 的協定,直接用 Root 身份進行搬動
          ☆.例1:從舊 Red Hat(含 Fedora) 之/var/www/html → Linux Server 之 /var/www
    * 也可用指令 scp
      例:以 root 身份把遠端的 /var/www/sfs3 複製回本機之 /var/www/sfs3 底下
      root@dns:~# scp root@your.old.host:/var/www/sfs3 /var/www
    * 注意:Linux 的 Apache2 Server 在送出網頁時,預設會採用 utf8 編碼,可是原主機上的網頁卻可能是 Big5 ,此時,我們必須把預設編碼解除,並加強其多國語言編碼之處理能力。
          ☆.解除送出網頁時的預設編碼
            編輯 /etc/apache2/conf.d/charset ,把 AddDefaultCharset UTF-8 變成註解

            # AddDefaultCharset UTF-8
          ☆.加強多國語言編碼處理能力,編輯 /etc/apache2/sites-available/default ,新增紅字部分。

<VirtualHost *:80>
      ServerAdmin webmaster@n10.domo.tnc.edu.tw
      ServerName n10.domo.tnc.edu.tw

      DocumentRoot /var/www/
      <Directory />
         Options FollowSymLinks MultiViews
         AllowOverride None
      </Directory>
 ...

使用者搬家(家目錄移轉)

    * 各使用者的家目錄,集中在 /home/ 底下
    * 用 gFtp 以 SFTP 的協定,直接用 Root 身份進行搬動(檔案權限,會被改為 root.root)


User 移轉

Linux 的 User 相關資料如下:

    * 各使用者資料夾 /home/*
    * 設定檔 /etc/passwd
    * 密碼檔 /etc/shadow
    * 群組檔 /etc/group
    * 群組密碼檔 /etc/gshadow

若是 Linux Server 或 Linux pureXXX 的舊主機,移轉至 Linux Server。把上列各檔,有關使用者的部份,「複製」/「貼上」至新主機同名檔案的檔尾部份。以 /etc/passwd 舉例如下:

   1. 把舊主機 passwd, shadow, group, gshadow 傳輸至新主機 /root 底下
   2. 使用文字編輯器,如 gedit 打開 /root/passwd ,複製舊主機上的使用者資料,貼至新主機的 /etc/passwd 的檔尾處(不要動到原本的資料)。


歸還其原有權限

    * 最後,要把權限還給該使用者
      root@dns:~# chown -R user.user /home/user
          ☆.註:以上 chown 要在下面 User 移轉完畢,才可以處理
    * 若人數過多,這裡有快速做法
      http://myip.tw/itsmw/index.php/Home_chowner



網頁資料庫編碼轉換

本文介紹如何在 Linux Server 下把 Big5 碼的網頁暨其資料庫轉成 UTF8 碼,並轉至 Linux 上的資料庫。當然,這並不是必要性動作,本文在此只是提供一個作法給大家參考而已,並不鼓勵大家把所有網頁暨其資料庫轉碼。


資料庫轉碼

在此,筆者以自己所寫的一支 Big5 小程式「學生資訊檢測練習區」來擔任本次的範例,它內含三支 php 程式碼以及一個資料庫(兩張表)。


Linux Server 上把資料庫轉出

    * 把整個 Big5 碼資料庫,在 Linux Server 上用 phpmyadmin 轉出成 SQL 檔
          ☆.Step1 在 phpmyadmin 首頁上點選「輸出」

          ☆.Step2 選妥所要下載的資料庫 --> 轉成 sql 檔

    * 預設會存成 localhost.sql , 我們把它改成 compuexam.sql,並放到 /root 底下
      root@dns:~# mv localhost.sql compuexam.sql
    * 預處理 compuexam.sql 把文字檔內可能會出現錯誤,如「'成功'」變成「'成功'」
      root@dns:~# vi compuexam.sql
      在 vim 內下取代命令:「:%s/'/'/g」後存檔


    * 下載 ols3 提供的轉碼工具
      root@dns:~# wget http://myip.tw/itsmw/images/f/fe/B2U.zip

    * 執行轉碼作業

   1. 把 B2U.zip 解壓
      root@dns:~# unzip B2U.zip --> 會解出執行檔 bg5-db2-utf8
   2. 轉碼至新資料庫 new_ce
      root@dns:~# ./bg5-db2-utf8 compuexam.sql new_ce mysql_passwd
      註:使用法為「./bg5-db2-utf8 已匯出的sql檔路徑檔名 新的資料庫名稱 MySQL管理密碼」



轉入 Linux Server 上的 MySQL 資料庫

    * 由上述方式製作出的資料庫,其實是預設採用 latin1 字集定義,但骨子裡放的是 utf8 碼的資料庫,使用官方版的 phpmyadmin 會無法正確顯示其文字,不過可以改用筆者修改的 phpMyAdmin解決此一問題。
          ☆.下載並放至 /var/www
            root@dns:~# cd /var/www
            root@dns:/var/www# wget http://myip.tw/itsmw/images/f/fb/PhpMyA.zip
            root@dns:/var/www# unzip PhpMyA.zip
          ☆.瀏覽方式   http://your.Linux.server/phpMyA
          ☆.進入首頁後,先選妥右側語言為: Language: 中文utf8 -- Chinese traditional(utf8)
    * 再來,只要把 Linux server 上 /var/lib/mysql/new_ce 整個資料夾搬至 Linux 上的 /var/lib/mysql 底下,並 chown 為 mysql.mysql 便完成 utf8 資料庫的製作


進一步轉成符合 MySQL 5.x UTF8 編碼校對之資料庫

接著,我們可以再利用筆者的 phpMyA 輸出 new_ce 資料庫,改寫部分內容,再用官方 phpmyadmin 匯入成標準 MySQL 5.x 版接受的 UTF8 編碼資料庫。以下操作是在 Linux Server 上,作法如下:

    * new_ce 資料庫前置處理

   1. 用 phpMyA 把 new_ce 資料庫輸出成 localhost.sql
   2. 改寫 localhost.sql ,把以下這兩行刪除

      CREATE DATABASE `new_ce`;
      USE new_ce;
   3. 把所有建立資料表最後一行 DEFAULT CHARSET=latin1 改成 DEFAULT CHARSET=utf8

      CREATE TABLE IF NOT EXISTS `table name` (
       ...
       ...
      ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ...;


    * 使用官方 phpmyadmin 建立 newutf8 資料庫,示例如下


    * 再點選 newutf8 資料庫 --> 【載入】 --> 選 localhost.sql --> MySQL相容模式要選用 MYSQL40 --> 【執行】

    * 這樣就可以使用官方 phpmyadmin 來檢視該資料庫,不過本動作可能會導致您舊 PHP 程式碼(SQL 語法太舊,沒加入語系校對)無法讀取該資料庫,所以請慎思是否要這麼做!

網頁轉碼

依本例,不止要搬動 compuexam 為 new_ce 資料庫,還要把其應用程式:/var/www/compuexam/ 底下所有的 PHP 程式轉碼為 utf8 才算完成。

    * 先從 Linux Server 把 /var/www/compuexem 複製至 Linux Server 的 /var/www/compuexam
    * 在 Linux Server 的 /var/www/compuexam 下建立以下之 shell 檔
      root@dns:~# vi /var/www/compuexam/b2utf8.sh

#! /bin/sh
for i in *.php; d☆.
   ech☆."$(iconv -f big5 -t utf8 $i)" > $i
done

    * 在 /var/www/compuexam 執行該 shell
      root@dns:~# cd /var/www/compuexam
      root@dns:/var/www/compuexam# chmod +x b2utf8.sh
      root@dns:/var/www/compuexam# ./b2utf8.sh


    * 修改所有的 PHP 程式碼,把語言宣告改成 UTF-8,如下所示

<meta http-equiv="content-type" content="text/html; charset=UTF-8" />



注意資料庫密碼

    * 每支 PHP+MySQL 的 PHP 程式碼,必定會有設定資料庫密碼的程式碼,因此,從 Linux Server 轉至 Linux 後,要打開該程式檢視 MySQL 的密碼是否正確

    * 另外, PHP 程式碼之資料庫名稱設定也要記得修改

    * 若一切就緒,就可以測試瀏覽
【學員來函】老師您好:我是Auto Rich與正印家族學員
我的美國虛擬主機商(bluehost)警告我:
資料庫Mysql超過負荷,要我自行刪除或升級否則將自動關閉停止服務.

回覆:這就是『網路賺錢者』租用虛擬主機的『痛』!
國內外都一樣(虛擬主機要租時對方講的很好聽,等你租了就理由一堆....這個不行!那個不難這樣弄!)

我們每個月繳交上網費(你有沒有架設Linux主機上網費都一樣!吃到飽!)
笨蛋才會花錢去租虛擬主機?我是過來人....自己有主機你要怎麼搞都可以!
虛擬主機業者通常會以『你自己架設主機,誰幫你維護?』『請人維護每月薪資要好幾萬喔!』讓你選擇跟他們租虛擬空間。
沒錯!『你自己架設主機,無人幫你維護!被駭客攻擊怎麼辦?』『請人維護每月薪資好幾萬!』但你若選擇:
總教頭推出的「架設Linux主機+架站+維護教學課程+遠端協助」專案,一切問題都一次解決了!

http://por.tw/linux/new-E_learning/index.php
------------------------------------------------------------------------------------------------

attachments/201502/linux20150217.jpg

【學員來函補訴】因為主機商的升級專案仍不能滿足我的需求,我想請老師幫我架站:
我有些疑慮想請問老師:

1.我預期3年後會搬家,網路線會重新申請,這樣對我的網站會有影響嗎?
回覆:若因搬家,網路線會重新申請,這樣對你的網站不會有任何影響。(請放心!)
------------------------------------------------------------------
2.我是在PChome申請的網域 abc.tw 用的很習慣,是否可以一起移轉到自己的網站?
回覆:網址與網站100%可以轉移到自己新的Linux主機上,這沒問題!
------------------------------------------------------------------
3.老師幫我架設的網站是否可以搭配多個網域?
回覆:我架設的Linux主機可以像虛擬主機一樣,一台主機可以搭配多網址各自獨立架站(沒有問題!)
------------------------------------------------------------------
4.自己的網站是否須24小時開機呢?
回覆:我目前都是24小時全年開機(如果你認為你要睡覺就不做生意?那可以關機!)
網路賺錢本來就是連你睡覺都會有訂單(你睡覺網站都還在替你賺錢),所以建議你:
24小時全年開機
------------------------------------------------------------------
5.我現在網路線是分享器分支線,這網路分支線可以直接接自己的網站嗎?
回覆:中華電信光世代,可以免費申請一個固定IP就可以架設主機(架設多個網站)
如果是地方第四台業者,你有可以打電話跟他們說:你要一個固定IP(是否需要升級或補差額?)
我的客戶中各種電信業者都有,目前還沒發生說台灣有:不提供IP架站的業者.....
--------------------------------------------------------------------------------

Linux 的 Live CD 或 DVD 是指什麼?(是什麼用途)

Linux 的 Live CD 或 DVD 是指什麼?(是什麼用途)

我們在國外網站下載Linux安裝光碟時,有時會發現有兩個版本的ISO光碟映象檔案可以下載
那到底要下載那一個?如果ISO光碟映象檔案有加註明 Live CD 那是什麼意思?
有時也會在網路上看到 Live CD(或DVD)版的ISO光碟映象檔案下載,Live CD是指什麼?

LiveCD是指透過CD或是DVD便能開機的作業系統,除了作業系統本身的必要項目外,還可以另行安裝其它的應用程式。
適合用於展示(demo),緊急救援(rescue),測試(testing)等應用。

一般而言,要在電腦上安裝作業系統,都得歷經切割分割區,建立檔案系統(也就是格式化),再經過一定的安裝步驟才能完成,此時作業系統是安裝在硬碟上,但是有些玩家便開始研究,如何不安裝作業系統到硬碟,便能夠直接從光碟片執行,具體的作法不外乎,取出作業系統的核心檔案,修改部分設定;但是設定過程繁瑣,門檻又高(必須對於作業系統『非常』瞭解)。

對於此種不需要安裝到硬碟,就可以啟動執行的作業系統稱之為『Live系統』,一般大多以CD(或DVD)的方式存在,目前也有以DVD的方式存在,其他周邊設備,例如磁片、大姆哥(USB隨身碟)也都可以。

由於自行製作的門檻極高,所幸目前已經有很多現成的LiveCD,部分作業系統(例如:Linux、BSD)因為 Open Source 的原因,可以直接下載別人製作完成的光碟映像檔(iso檔),燒錄成光碟後立刻可以使用,至於 Microsoft 的 Windows 也有 LiveCD 嗎?當然可以,但是有版權的問題,無法直接下載現成的光碟映像檔直接使用,必須自行透過工具(例如:BartPE),製作LiveCD。

attachments/201301/7353575029.png

以下針對目前知名的 Live CD(或DVD)整理清單如下:
Red Hat / Fedora based:
Linux4all LiveCD, Basilisk
Adios
Berry Linux


Mandrake based:
MandrakeMove
APODIO
PCLinuxOS


Debian based
DemoLinux
Knoppix
Gnoppix
LinEx


Slackware based
MoviX, eMoviX and MoviX2
Slax
Stux
Sentry_Firewall_CD


Gentoo based
Gentoo LiveCD
Jollix
SystemRescueCd


BSD base
FreeSBIE (Based on FreeBSD)
Frenzy mini-CD (Based on FreeBSD)
DragonFly BSD


Microsoft Windows based
BartPE


Others
SkyOS


看完這些琳瑯滿目的LiveCD後,您心中可能會問, Live CD(或DVD)的用途為何?
 Live CD(或DVD)的重點在於作業系統不需要安裝到硬碟中,所以優點是這點,缺點也是。
因為光碟已經有作業系統,免了安裝以及後續維護的困擾,所以適合用於展示用的機器,中/小學的教育訓練,幼兒的教育訓練
(例如:拿 Knoppix 給小孩練習電腦,打電動玩具,因為不需要使用硬碟,所以不需要擔心硬碟crash,重新安裝/設定…等問題)
但是缺點也是因為光碟的唯讀性,如果需要更改設定或是更新版本,更新或是製作LiveCD的時間及步驟都比較繁瑣。

 Live CD(或DVD)並不適合取代原來安裝於硬碟的作業系統,而是用於某些特別的場合,可以有效降低維護的負擔,又不用擔心硬碟損壞或是中毒,這麼棒的東西,趕快去試試 Live CD(或DVD)!
你要儘快擁有『Linux主機』讓他營運起來幫你賺錢!

自己用體力與時間賺錢太辛苦啦!
每個人一天都是24小時,休息與睡覺就要八小時,更何況不可能一整年都不休假....
用『Linux主機』幫你24小時賺錢(一年365天無修→你要怎樣找到更勤勞的賺錢方式?)
再說,距離是一個難以解決的難題(唯有網路無距離,能把商品賣到任何國家)
就算自己沒有商品,掛Google或聯盟行銷的商品也能賺到佣金與獎金
管他是那裡的人,只要『訪客』有點擊你就能有收入

我時常在想,養一個兒子或女兒就有可以將來養你一輩子嗎?
不!女而會嫁出去,而兒子要養老婆、還要養孫子、還要買房子、買車子、替孫子繳學費......
這就是台語講的『世傳世』一代傳一代(物種繁衍的宿命)不能怪也不能奢望。

我寧願養一台『Linux主機』來當自己後半輩子的依靠。
不管你多老,只要你能打鍵盤,就能賺錢(還怕老了或病了就沒有收入?)

年輕時就投入經營網路,有一台機器幫你賺錢(你一定會比較輕鬆)
經過幾年後你會發現:你的網站累積多少文章、照片、影片(數位內容)
那些(數位內容)都是你的網路資源,你也會發現有多少商機是因為你有網路
所以人家找上你,機會找上你,財富找上你(除非你不去經營他)

attachments/201201/0950512516.jpg

我時常出國,跟我一起出國的朋友都羨慕我,因為不管出國多久,旅遊多少天(我都是:天天有收入)你選擇怎樣的賺錢方式,就決定你要過怎樣的生活!
因為我選擇『網路事業』,只要帶著筆電或平版電腦,走道那裡都能遙控我的事業。


『將軍』你是武藝高強?膽識過人?精通騎射?您生錯時代啦!
『戰馬』你是汗血寶馬?善奔能越?躍馬中原?此戰場沒有你的舞台!
開店因為房屋很貴買不起,所以先租(等賺錢一定買下來!)
網路開店,一台Linux主機才兩萬五千元,誰都買得起!
租虛擬主機繳年租金、限制空間大小、限制語法、限制流量......
如此綁手綁腳的經營網路事業,還能有何大作為?
您的客戶資料庫(哈哈!被人家看光光啦!)
租虛擬主機,無隱密可言(主機管理業者擁有最高權限)
租用者就像『裸體』展示於人家的目光下
『商業機密』一詞,跟你的距離是無限的遙遠!
------------------------------------------------------------
大家都知道網路創業的好處:
1.初期建置網站金額較低,甚至零成本。
2.初期人事、水電成本較低。
3.網路店面比較沒有曝光的地區限制(除非產品、物流、語言的限制)。
4.消費者可以在任何時間瀏覽與選購商品(24小時營業)。
5.初期可採用眾多的網路平台,免費宣傳、曝光方式,之後再採用付費的方式,提高效益。
6.即使沒有成功,成本損失也較低。


想要網路創業自動賺錢,你應該具備那些專業技能呢?

那座而言不如起而行,如何開始您的第一步行動呢?

1.先評估自己會什麼網路技能?不會那些網路技能?
將自己的優勢寫下來,也將自己需要進修的專業技能逐一記錄下來

2.找到您需要的課程(利用下班時間,努力精研)
最好是影片課程,不要只是一般書店的書籍或網路電子書
(因為圖片與文字根本學習效率不好,無法有效迅速學會,學習中有問題要問誰?)
實際網路經營時發生網站語法錯誤或網站被駭客入侵!
那您最好有個專業『會程式語言與架設主機』的老師可以免費技術諮詢
不然,一發生問題,您的網路事業就停擺了,網站一停就無收入!
(就好像上班放無薪假一樣....悽慘!)。
有甚至網站資料全毀,資料庫也出問題,你要在第一時間內就能快速修護!
這一點你可要小心!網路創業絕對要有:技術諮詢!
迅速回覆的專業老師(或專業技術顧問)。
不然,就像大海裡頭的孤鳥,叫天天不應,叫地地也不靈
(自己閉門造車摸索是網路創業者最悲慘的失敗原因!)。


attachments/201208/5398530876.jpg

2.你的網站要自己架設!
(請人設計網站費用貴,小則三四萬高者也有十幾萬元的,往後網站維護也不方便!)

這方面你可以學習:
1.網站架設與網頁設計教學
詳細介紹:
http://por.tw/Website_Design/E_learning/index.php
長期技術支援網站:
http://por.tw/Website_Design

2.購物網站架站教學
詳細介紹:
http://por.tw/sale/cmmerse-4-all/index.php
長期技術支援網站:
http://por.tw/sale

3.部落格架站、行銷、賺錢術教學
詳細介紹:
http://por.tw/blog/E_learning/index.php
長期技術支援網站:
http://por.tw/blog

4.PHP+MySQL+PHPMaker+Dreamweaver整合教學
(PHPMaker運用設計網站教學)

詳細介紹:
http://por.tw/php/new-E_learning/index.php
長期技術支援網站:
http://por.tw/php

5.Flash-動畫製作教學
詳細介紹:
http://por.tw/flash/new-E_learning/index.php
長期技術支援網站:
http://por.tw/flash
-------------------------------------------------------------------------
3.網站圖片非常重要,你如果不會拍照與修圖,那您就要學習:
商業商品攝影教學
詳細介紹:
http://por.tw/design/photographing_Course/index.php
長期技術支援網站:
http://por.tw/design
-------------------------------------------------------------------------
4.影片能讓您的網站更出色,如果您不會錄影
或影片剪接、編輯、上字幕、做特效,那您就要學習:

【錄影影片製作】技術教學
詳細介紹:
http://por.tw/photo-video/video_Course/index.php
長期技術支援網站:
http://por.tw/photo-video
-------------------------------------------------------------------------
5.有了網站,接下來就是『如何將網站經營的有聲有色?』
這就需要專業的網路行銷技術:
A.搜尋引擎排名SEO教學
詳細介紹:
http://por.tw/seo/new-seo/index.php
長期技術支援網站:
http://por.tw/seo

B.EDM電子報製作教學
詳細介紹:
http://por.tw/edm/edm_Marketing/index.php
長期技術支援網站:
http://por.tw/edm

C.電子書製作賺錢密技教學
詳細介紹:
http://por.tw/ebook/new-ebook/index.php
長期技術支援網站:
http://por.tw/ebook

D.【訂單王】超級網路秒殺成交法-A-page 【一頁定江山】行銷賺錢術
詳細介紹:
http://por.tw/page/new-E_learning/index.php
長期技術支援網站:
http://por.tw/page
-------------------------------------------------------------------------
6.如果您想要學習『專案方式』的專業技能,您可以學習:
A.「網路創業賺錢_如何從網路創業賺錢賺到第一個100萬!」課程
詳細介紹:
http://por.tw/soho/new-E_learning/index.php
長期技術支援網站:
http://por.tw/soho

B.藉助『程式』邁向網路自動賺錢術(Auto Rich -自富課程)
詳細介紹:
http://por.tw/Rich/new-E_learning/index.php
長期技術支援網站:
http://por.tw/Rich

C.【正印家族】授權營運專案‧自動印鈔機賺錢術
詳細介紹:
http://por.tw/money/new-E_learning/index.php
長期技術支援網站:
http://por.tw/money
-------------------------------------------------------------------------
7.您的網站可以用兩種方式經營
1.是租用虛擬主機
(創業初期,如果尚無長遠規劃可租虛擬主機空間架設網站)

2.是自己擁有獨立主機!
如果您有此長遠的規劃,那您可以申購此服務:
替你架設Linux主機伺服器+影片教你維護(還有遠端技術協助)讓你自己當家作主!
http://por.tw/linux/new-E_learning/index.php
長期技術支援網站:
http://por.tw/linux
-------------------------------------------------------------------------
8.此外,如果你對國外軟體感覺不好用,那您可以學習:
軟體中文化實戰教學影片
軟體中文化實戰教學影片教學詳細介紹:
http://por.tw/f2blog/new-E_learning/index.php
長期技術支援網站:
http://por.tw/f2blog

不論是英文、日文、大陸簡體或其他軟體,能透過軟體中文化技術變成:繁體中文版
那在網路事業的經營上,所有要用到的軟體,就能通通變成:繁體中文版啦!
那是業經營起來當然是:得心應手!手到擒來!

-------------------------------------------------------------------------

Linux主機伺服器為何需要防火牆?

Linux主機伺服器為何需要防火牆?

Linux主機伺服器防火牆防火牆最重要的任務:
1.規劃出切割被信任(如子網域)與不被信任(如 Internet)的網段
2.規劃出可提供 Internet 的服務與必須受保護的服務
3.分析出可接受與不可接受的封包狀態

畢竟網路的世界是很複雜的,而 Linux 主機也不是一個簡單的東西。
說不定哪一天你在進行某個軟體的測試時,主機突然間就啟動了一個網路服務, 如果你沒有管制該服務的使用範圍,那麼該服務就等於對所有 Internet 開放,那就麻煩了!
因為該服務可能可以允許任何人登入你的系統,那不是挺危險?

所以囉,防火牆能作什麼呢?防火牆最大的功能就是幫助你『限制某些服務的存取來源』!
舉例來說:
(1)你可以限制檔案傳輸服務 (FTP) 只在子網域內的主機才能夠使用,而不對整個 Internet 開放。
(2)你可以限制整部 Linux 主機僅可以接受客戶端的 WWW 要求,其他的服務都關閉。
(3)你還可以限制整部主機僅能主動對外連線,對我們主機主動連線的封包狀態 (TCP 封包的 SYN flag) 就予以抵擋等等。
這些就是Linux主機最主要的防火牆功能!
網頁&資料庫  Linux主機服務(Linux主機伺服器架設技術)

Linux 上預載之網頁及資料庫伺服器有,網頁(WWW):Apache2,動態網頁語言:PHP5,資料庫:MySQL5。
這三套的組合,可供網站管理者放置純靜態網頁(HTML)以及含 PHP+MySQL 的動態網頁。
也因此,可以架設一些具 Web 2.0 互動功能的網站,如 XOOPS(CMS), Wordpress(部落格), Moodle(數位學習), MediaWiki(共筆系統), osTube(影音平台), Joomla(CMS), Drupal(CMS)...等等。這樣一來可以服務學校同仁,令所有行政人員皆可自主貼公告、影片及照片,二來減少網管網站內容維運的工作壓力。
開啟PORT

    * TCP 80   Apache2 + PHP
    * TCP 443  加密通道(HTTPS)
    * TCP 3306 MySQL



網頁伺服器 Apache2
基本設定
基本結構

    * 預設網頁存放位置: /var/www
      注意:除了上傳之必要子目錄外,此資料夾切不可以讓 www-data 可完整讀寫
    * 預設個人網頁位置: /home/user/public_html
    * 設定檔位置: /etc/apache2
          主設定檔: /etc/apache2/apache2.conf
          必載入之相關設定: /etc/apache2/conf.d/*
            注意:在此目錄下的所有設定檔皆會被執行,所以若有任何修改,其備份設定檔不可留在原地
          可用模組: /etc/apache2/mods-available
          模組啟用: /etc/apache2/mods-enabled
          可用虛擬站台: /etc/apache2/sites-available
          虛擬站台啟用: /etc/apache2/sites-enabled
    * 記錄檔
          存取記錄: /var/log/apache2/access.log
          錯誤記錄: /var/log/apache2/error.log


模組管理

    * 模組安裝管理
          列出可供安裝的 apache2 套件,裡面名為 apache2-xxx 之套件就是可安裝的模組:
            root@dns:~# apt-cache search libapache2
          安裝模組:
            root@dns:~# apt-get install libapache2-mod-xxxx
    * 啟用模組
         1. 列出模組真實名稱
            root@dns:~# cd /etc/apache2/mods-available
            root@dns:~# ls
         2. 啟用所找到模組,例如:啟用個人網頁模組
            root@dns:~# a2enmod userdir
            注意:模組設定檔大多會有 *.load 及 *.conf 但啟用時,不用輸入副檔名
         3. 重新啟動 Apache2
            root@dns:~# service apache2 restart
    * 註:Apache2 模組並不等於 PHP5 模組,請勿搞混


首頁基本參數

    * 首頁設定檔: /etc/apache2/sites-available/default
    * 參數解說

參數     選項     說明
DocumentRoot     /var/www     首頁資料夾位置在 /var/www
Options     Indexes     首頁沒 index.html 時,自動列出檔案清單

    FollowSymLinks     允許使用 Alias 建立的資料夾捷徑(ex. phpmyadmin)

    MultiViews     增強多國語言支持(Big5 & UTF8 同存也算),但會影響效能
AllowOverride     All     支援 htaccess 程度,若 All 代表完全支援 htaccess 語法
Order
    allow, deny     allow from 及 deny from 抵觸時,以 allow 占較高優先權
allow from     all     允許所有 IP Address 瀏覽本網站



優化Big5與UTF8網頁並存時之處理

    * /etc/apache2/conf.d/charset → 把 AddDefaultCharset 註解掉
      root@dns:~# vi /etc/apache2/conf.d/charset

# AddDefaultCharset UTF-8


    * 在 /etc/apache2/sites-available/default ,加上 MultiViews
      root@dns:~# vi /etc/apache2/sites-available/default

...

     DocumentRoot /var/www
     <Directory />
          Options FollowSymLinks Multiviews
          AllowOverride All
     </Directory>
     <Directory /var/www/>
          Options FollowSymLinks MultiViews
          AllowOverride All
          Order allow,deny
          allow from all
     </Directory>
...



個人網頁

個人網頁功能是讓一般的使用者可以在自己的家目錄底下建立網頁,塔配 ftp 功能,讓使用者自己管理自己的網站。

    * Linux/Linux Server 預設個人網頁位置: /home/username/public_html
    * 連線方式: http://your.host.name/~username/



Linux e 及 sqz 啟用個人網頁功能

Linux e 版本起,預設並沒啟用個人網頁的功能,因此要做一些調整。

    * 啟動個人網頁
      root@dns:~# a2enmod userdir
    * 重新啟動 Apache2
      root@dns:~# service apache2 restart
    * 若要讓個人網頁也可以執行 PHP Code, Linux sqz 這個版本必須繼續修改 /etc/apache2/mods-available/php5.conf , 把下面幾行加 # 註解

<IfModule mod_php5.c>

    <FilesMatch ".ph(p3?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch ".phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
    # Tre-enable php in user directories comment the following lines
    # (from <IfModule ...> t</IfModule>.) DNOT set it tOn as it
    # prevents .htaccess files from disabling it.
#    <IfModule mod_userdir.c>
#        <Directory /home/*/public_html>
#           php_admin_value engine Off
#        </Directory>
#    </IfModule>
</IfModule>



自訂個人網頁位置

有時,自舊機器移轉至 Linux 時,由於個人網頁的舊設定值是 /home/user_name/html 與 Linux 上的預設值 /home/user_name/public_html 不同,因而出現一些問題。因此,我們可透過修改一些參數,而不必去把每個有個人網頁的使用者找出來修改其網頁資料夾位置仍能達成個人網頁的使用。


    * 注意: Linux sqz 版預設沒有啟動個人網頁功能,請先啟用
      root@dns:~# a2enmod userdir
      root@dns:~# service apache2 restart
    * 設定檔 /etc/apache2/mods-available/userdir.conf
    * 修改下面紅字的部分

<IfModule mod_userdir.c>

   UserDir html
   UserDir disabled root

   <Directory /home/*/html>
      AllowOverride FileInfAuthConfig Limit Indexes
      Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
      <Limit GET POST OPTIONS>
         Order allow,deny
         Allow from all
      </Limit>
      <LimitExcept GET POST OPTIONS>
         Order deny,allow
         Deny from all
      </LimitExcept>
   </Directory>
</IfModule>

    * 重新啟動 Apache2 伺服器
      root@dns:~# service apache2 restart
    * 注意: /home/user_name 資料夾的權限必須為 755 才可以


自訂錯誤訊息

這裡所謂的錯誤訊息,是指外面連到學校網頁時,連到某些不存在或有設密碼的網頁時,Apache2 會送出一些警告訊息,以通知瀏覽者。但是,由於這些錯誤訊息並沒有中文版,會造成一些困擾。不過,我們仍可自行製作屬於自己的錯誤訊,比如:瀏覽到不存在網頁,您可以說「別搞怪!本站沒此頁面...看...什麼!」。

    * 設定檔位置,在此,筆者以 /etc/apache2/apache2.conf 為例
          Linux Server(Janaca) ~ Linux e系列: /etc/apache2/apache2.conf
          Linux sqz : /etc/apache2/conf.d/localized-error-pages

    * 修改步驟如下:

   1. 修改設定檔啟用自訂頁面,依本例:只建立 404 及 403 兩訊息,其餘不變
      root@dns:~# vi /etc/apache2/apache2.conf
      找到以下內容,修改紅字部分
      # Customizable error responses come in three flavors:

      # 1) plain text 2) local redirects 3) external redirects
      #
      # Some examples:
      #ErrorDocument 500 "The server made a boboo."
      ErrorDocument 403 /errmsg/e403.php
      ErrorDocument 404 /errmsg/e404.php
      #ErrorDocument 402 http://www.example.com/subscription_info.html
   2. 找一個地方並寫好自訂訊息頁面,依本例其位置在: /var/www/errmsg/
          * 編輯 e403.php 權限不足警告頁例子

            <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
            <html lang="zh-tw">

            <head>
            <meta content="text/html; charset=UTF-8" http-equiv="content-type">
            <title>403 Permission Deny!</title>
            </head>

            <body>
            <br><br>
            <h2 align="center">403 Permission Deny! 抱歉您無權閱讀本網頁!
            <br><br>
            <?php ech"<a href='http://".$_SERVER["HTTP_HOST"]."/>回本站首頁</a>" ?>
            </h2>
            </body>

            </html>

          * 編輯 e404.php 找不到頁面的警告頁例子

            <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
            <html lang="zh-tw">

            <head>
            <meta content="text/html; charset=UTF-8" http-equiv="content-type">
            <title>404 not find!</title>
            </head>

            <body>
            <br><br>
            <h2 align="center">404! 找不到您要求的網頁!
            <br><br>
            <?php ech"<a href='http://".$_SERVER["HTTP_HOST"]."/>回本站首頁</a>" ?>
            </h2>
            </body>

            </html>

   3. 重新啟動 Apache2
      root@dns:~# service apache2 restart



新增虛擬站台

在此,筆者是以下列之模擬情境列文說明,此情境適用於當學校有另一個人需獨立負責某一網站,網管人員可以在不交出 root 權限下,開放一組 PHP+MySQL 網頁空間給該使用者。

    * 管理者開設一組 Linux 及 MySQL 的 user 帳號/密碼,如:myuser。
    * 因此在 /home 及 /var/lib/mysql 底下皆會產生 myuser 資料夾。
      使用者只能用 ftp 及 phpmyadmin 管理自己的網頁及資料庫(看不到其他資料)。
    * 最後管理者改變網址之指定,如下所示:

http://your.host.name/~myuser   -->   http://myuser.your.host.name/


開設 myuser 帳號

    * 新增 Linux 帳號
      root@dns:~# adduser myuser
    * 使用 phpmyadmin 建立 MySQL 空間

   1. 建立資料庫 myuser
      在 phpmyadmin 首頁就有建立資料庫的功能,請依自己的需求建立
   2. 下 SQL 語法,建立 myuser 使用者並使其只能完全存取 myuser 資料庫

GRANT ALL PRIVILEGES
   ON myuser.*
   T'myuser'@'localhost'
   IDENTIFIED BY 'myuser_pwd';


修改 DNS 設定

新增 myuser.your.host.name 網址

以大成國小 dns 正解設定檔 /etc/bind/db.dc1es.tnc.edu.tw 舉例如下:
      :

www  IN   CNAME   dns.dc1es.tnc.edu.tw.
myuser  IN   CNAME   dns.dc1es.tnc.edu.tw.
;
mail    IN   A   163.26.182.1
s2      IN   A   163.26.182.2
      :

以上例而言:筆者新增了一筆 myuser.dc1es.tnc.edu.tw → 163.26.182.1 的 dns 記錄,也就是說目前 163.26.182.1 有多個英文網址,比如 :

    * dc1es.tnc.edu.tw
    * dns.dc1es.tnc.edu.tw
    * www.dc1es.tnc.edu.tw
    * mail.dc1es.tnc.edu.tw
    * myuser.dc1es.tnc.edu.tw

         :
         :
         等
         等
新增 myuser 虛擬站台

    * 設定檔: /etc/apache2/sites-available
    * 工作原理
          原預設值是針對 hostname 設定(ex: dns.dc1es.tnc.edu.tw)
          要啟用多組設定,不能針對您所要的 myuser 設定,必須考慮周詳。亦即把使用者連至學校首頁的所有可能性皆設妥。例如: http://www.dc1es.tnc.edu.tw 、http://dc1es.tnc.edu.tw 、http://163.26.182.1


修改 /etc/apache2/sites-available/default

修改 default 以供 http://dc1es.tnc.edu.tw 使用

    * root@dns:~# vi /etc/apache2/sites-available/default

Linux Server ~ Linux t3 前面幾行舉例如下:
NameVirtualHost *

<VirtualHost *>
   ServerAdmin webmaster@dns.dc1es.tnc.edu.tw
   # ServerName dc1es.tnc.edu.tw
   DocumentRoot /var/www/
      :
      :

Linux e1 ~ Linux sqz 前面幾行舉例如下:
<VirtualHost *:80>

   ServerAdmin webmaster@dns.dc1es.tnc.edu.tw
   ServerName dc1es.tnc.edu.tw
   ServerAlias www.dc1es.tnc.edu.tw
   ServerAlias 163.26.182.1
   DocumentRoot /var/www/
      :
      :



建立 /etc/apache2/sites-available/myuser

建立 myuser 供 http://myuser.dc1es.tnc.edu.tw 使用

    * root@dns:/etc/apache2/sites-available# vi myuser (內容如下所示)

Linux Server 示例

<VirtualHost 163.26.182.1:80>
        ServerAdmin myuser@dc1es.tnc.edu.tw
        ServerName myuser.dc1es.tnc.edu.tw
        DocumentRoot /home/myuser/public_html/
        <Directory /home/myuser/public_html/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                AddType application/x-httpd-php .php
        </Directory>
</VirtualHost>



Linux Server 示例

<VirtualHost *:80>
        ServerAdmin myuser@dc1es.tnc.edu.tw
        ServerName myuser.dc1es.tnc.edu.tw
        DocumentRoot /home/myuser/public_html/
        <Directory /home/myuser/public_html/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
                AddType application/x-httpd-php .php
        </Directory>
</VirtualHost>



啟動各服務

    * root@dns:~# a2ensite myuser
    * root@dns:~# service bind9 restart
    * root@dns:~# service apache2 restart



Apache2 資安管理
特定網頁之連線限制

若學校有些網頁只限校內 IP 讀取(intranet),但又不想另外架一台網頁伺服器,這時可以透過對資料夾的讀取權限制來達成此一目的。其設定方式可以參考 Linux Server 上 ra-phpmyadmin 之參數寫法,詳見以下說明:


設定方式

    * 設定位置: /etc/apache2/conf.d
    * 舉例說明: /etc/apache2/conf.d/ra-phpmyadmin

# 要鎖的資料夾, 舉例而言 /var/www/myweb --> 要寫成 <Location /myweb>
<Location /phpmyadmin>
  order deny,allow
  deny from all
  # 可連線區, 新增教網中心網段
  allow from 127.0.0.1 163.26.182.0/24 203.68.102.0/24
  Options FollowSymLinks MultiViews
</Location>


無法連線之錯誤訊息
Forbidden


You don't have permission taccess /phpmyadmin/ on this server.
Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny8 with Suhosin-Patch Server at 163.26.182.234 Port 80


解除方式

解除的方式很簡單,把 ra-phpmyadmin 搬走即可,做法如下:

    * root@dns:~# mv /etc/apache2/conf.d/ra-phpmyadmin /root

    * root@dns:~# service apache2 restart

    * 註:絕對不可以把原檔改個名字仍留 conf.d 資料夾內,因為這個資料夾內所有的檔案(無論檔名為何)皆會被執行。



上傳區禁止執行 Script 語言

有時會因一些架站軟體的要求,要建立資料上傳區,如 /var/www/uploads ,而且其檔案權限必須是網頁伺服器(www-data)可讀取(或設成 777)。此時,若有心人士,無論是經由合法手段或透過 PHP 程式漏洞,把 *.php 丟到 uploads ,再經由瀏覽器執行,這樣就會產生資安風險。但如果,不讓 Apache2 伺服器對 uploads 底下特定類型 script 予以解譯並執行的話,那麼此風險就可降到最低。詳細做法如下:

    * 先確認 /etc/apache2/sites-available/default 之 AllowOverride 參數改為 All,擷取部分內容如下

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride All
    </Directory>
    <Directory /var/www/>
        Options FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>


    * 建立 /var/www/uploads/.htaccess
      root@dns:~# vi /var/www/uploads/.htaccess (內容示例如下)

<FilesMatch ".(php|php3|php4|php5|phtml|pl|py|sh|cgi)$">
deny from all
</FilesMatch>

    * 註:影響力只達 .htaccess 所在之資料夾


    * 改 .htaccess 權限為 root 所有,其他身份唯讀,以免被使用者上傳自己的 .htaccess 覆蓋
      root@dns:~# chown root.root /var/www/uploads/.htaccess
      root@dns:~# chmod 644 /var/www/uploads/.htaccess


鎖密碼網頁製作

假設有個資料夾,裡面的網頁具有機密性,只允許特定人員登入後才可觀看,這可以透過 .htaccess 的設定來協助達成。


確認 AllowOverride 參數

如上文所言,要啟用 .htaccess 之前,要先確認 /etc/apache2/sites-available/default 之 AllowOverride 參數是否為 All 。


建立 .htaccess

假設 http://your.host.name/topsecu/ 這個網址是要帳號密碼認證,那麼其在主機的實體位置為 /var/www/topsecu ,因此,必須在此處建立 .htaccess ,其內容示例如下。

    * root@dns:~# vi /var/www/topsecu/.htaccess

AuthName "TopSecu"
AuthUserFile /var/passwords/topsecu.pwd
AuthType Basic
Require valid-user

    * AuthName 站名
    * AuthUserFile 密碼檔
    * AuthType Basic 基本型式授權(不必分組)
    * Require valid-user 要有帳號


建立密碼檔

    * 第一次建立
      root@dns:~# mkdir /var/passwords
      root@dns:~# htpasswd –c /var/passwords/topsecu.pwd username
    * 「-c」是供第一次建立用,若只是修改密碼或新增第二組帳號密碼,就不必再加此參數。
    * 經過上述動作,會建立一組帳號為 username 的認證



網頁程式 PHP
基本設定

Apache2 是網頁伺服器,PHP5網頁語言是以 Apache2 模組的形式存在。因此,若有任何設定變更,只要重新啟動 Apache2 即可。

    * 設定檔: /etc/php5/apache2/php.ini



PHP5 模組管理

PHP5 的模組安裝/移除與 Apache2 做法一樣,皆是透過 Debian 的 DEB 套件庫來處理,舉例如下:

    * 模組搜尋
      root@dns:~# apt-cache search php5
    * 模組安裝
      root@dns:~# apt-get install php5-imagick
    * 模組移除
      root@dns:~# apt-get remove php5-imagick
    * 模組異動後,套用設定
      root@dns:~# service apache2 restart



加大檔案上傳限制

PHP 預設檔案上傳限制為 2MB ,這對學校來說常常不夠用,不過我們可以透過 php.ini 的修改,來加大上傳限制。不過這裡的上傳限制與使用者網路空間限制(Quota)的意義不同,這裡是指用 PHP 寫的網站,若有上傳介面(如 SFS3, XOOPS...),無論是圖片或檔案之上傳限制。

    * 修改 /etc/php5/apahce2/php.ini ,修改下列三個參數
      root@dns:~#: vi /etc/php5/apache2/php.ini

;記憶體限制
memory_limit = 128M
;PHP 表單 POST 限制
post_max_size = 72M
;檔案大小限制
upload_max_filesize = 64M




其他設定

以下兩者皆已是預設值,不過仍提出以供參考

    * 注意 php.ini 內的 utf-8 或 big5 編碼問題

;default_charset = "iso-8859-1"

註:加「;」變成註解,才可以讓 php 頁面自訂語系

    * 若 php 程式要重送 header (ex.強迫轉址),請注意

output_buffering = 4096



加速 PHP 執行

    * Linux t1~t3 可以使用 APC 加速 PHP 執行

   1. root@dns:~# apt-get update
   2. root@dns:~# apt-get install php-pear
   3. root@dns:~# apt-get install php5-dev apache2-prefork-dev build-essential
   4. root@dns:~# pecl install apc
      出現 Use apxs tset compile flags (if using APC with Apache)? [yes] : 時,按「Enter」繼續
   5. 編輯 /etc/php5/apache2/php.ini ,加上
      extension=apc.so
   6. 重新啟動 Apache2
      root@dns:~# service apache2 restart


    * Linux e1~sqz 可以使用 Xcache 加速 PHP 執行
          xcache 簡介:它是 PHP 運算碼(opcode)快取器
          安裝
            root@dns:~# apt-get install php5-xcache
          重新啟動 Apache2
            root@dns:~# service apache2 restart



資料庫 MySQL

Linux 上自由軟體授權的資料庫目前有兩大勢力,一是 MySQL 另一是 PostgreSQL ,Linux 上預載的是 MySQL ,因此我們只針對 MySQL 進行簡易說明。

    * 重要中文參考文件,MySQL 5.1 中文手冊:http://twpug.net/docs/mysql-5.1/



基本觀念(必讀)

    * 主設定: /etc/mysql/my.cnf
    * 開啟埠
          對外:TCP 3306
          對本機:不必開通訊埠
          註:若 PHP 程式碼與 MySQL Server 位於同一台機器,可以把 3306 埠關閉
    * 記錄檔: /var/log/mysql.log
    * 系統資料庫: /var/lib/mysql/mysql
          各 MySQL 版本的系統資料庫格式不一樣,若錯用會導致資料庫無法啟動
          若此一資料庫被誤刪,可用 mysql_install_db 指令建立
    * 資料庫位置: /var/lib/mysql
    * 資料庫解說
          在 /var/lib/mysql 內每個資料夾皆是一組資料庫
          資料夾及其檔案之擁有者為 mysql.mysql
          資料夾內同名字之三個檔案組成一個資料表
            *.frm --> 欄位定義
            *.MYD --> 實體資料
            *.MYI --> 資料索引




MySQL 管理
MySQL系統管理

    * 關於 MySQL 管理幾個基本觀念
          MySQL 有自己的帳號密碼
          MySQL 最高權限帳號與 Linux 一樣是 root ,但密碼不同(除非設成一樣)
          MySQL 的帳號密碼是給網頁程式碼(ex. php)連線用,使用者使用的機會,只僅限 phpmyadmin 連線時才會需要
          Linux 上所設定的管理密碼(Linux-csetup-utf8)就是 MySQL 的 root 密碼


    * 啟動/關閉/重新啟動
      root@dns:~# service mysql start|stop|restart


    * 初始化系統資料庫
      root@dns:~# mysql_install_db
      註:本功能僅限 /var/lib/mysql/mysql 已被誤刪的情況下才可以使用


    * 初設 MySQL root 密碼
      root@dns:~# mysqladmin -u root -p password
      註1:輸入 Linux root 密碼後即才可繼續輸入 MySQL 密碼
      註2:Linux 本動作不必做,因為 Linux-csetup-utf8 己幫忙處理過了。


    * 修復資料表索引
      root@dns:~# mysqlcheck -u root -p -f 資料庫名 資料表名



忘記 MySQL 密碼

    * 方法一:執行 Linux-csetup-utf8,重設管理密碼
      注意:它除了會幫您重設密碼外,也會額外重設許多設定,因此不太建議使用此方法。
    * 方法二:直接使用 MySQL 工具重設

   1. 停止 MySQL
      root@dns:~# service mysql stop
   2. 建立 /root/newpwd.txt
      root@dns:~# vi /root/newpwd.txt

      SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');

   3. 啟動 MySQL
      root@dns:~# mysqld_safe --init-file=/root/newpwd.txt &
   4. 關閉 MySQL
      root@dns:~# service mysql stop
   5. 刪除 newpwd.txt
      root@dns:~# rm -rf /root/newpwd.txt
   6. 啟動 MySQL
      root@dns:~# service mysql start
      註:重新啟動後 MySQL root 密碼已被重設



資料庫管理

整個資料庫管理,建議使用 phpmyadmin 網頁工具,簡介如下:

    * phpmyadmin 安裝
      root@dns:~# apt-get update
      root@dns:~# apt-get install phpmyadmin
      註:大多數的 Linux 多已安裝此套件


    * phpmyadmin 使用:直接使用網頁瀏覽器,連結至 phpmyadmin 網站即可
      舉例:http://your.host.name/phpmyadmin
      連線後,以 MySQL 的帳號密碼進入
          只有用 root 登入,才會有全部功能
          可以透過 GRANT 語法,建立特定帳號,而它只能掌控單一資料庫(詳見本文:建立虛擬站台段落)


    * 資料庫搬家
          Linux 系列 Server 之 MySQL 資料庫皆在 /var/lib/mysql
          只要下指令把 /var/lib/mysql 底下之資料庫(夾)複製至新主機相同之位置,並修改權限擁有者為 mysql 即可完成搬移任務。以 sfs3 資料庫為例,做法如下:
         1. 複製
            root@dns:~# scp root@your.old.host:/var/lib/mysql/sfs3 /var/lib/mysql
         2. 修改擁有者
            root@dns:~# chown -R mysql.mysql /var/lib/mysql/sfs3
Linux主機電子郵件 Openwebmail + spamassassin 擋垃圾信的設定方法

首先先到官方網站看安裝的方式:

http://openwebmail.com/openwebmail/download/redhat/howto/spam/howto.txt

(裡面的第 4. 可以略過)

attachments/201304/5352430831.jpg

再來才是重頭戲,也是我卡了好幾天才發現的地方:

在 openwebmail.conf 裡面的設定找到 enable_spamcheck 這段,照以下的參數做修改就可以了。(下面的例子也把學習廣告信的功能也打開)

spamcheck_pipe                  /usr/bin/spamc  -c -x -t60 -u @@@USERNAME@@@
learnham_pipe                   /usr/bin/sa-learn --local --ham
learnspam_pipe                  /usr/bin/sa-learn --local --spam
enable_spamcheck                yes
enable_learnspam                yes
spamcheck_source_allowed        all

之後再照官方的說明文件,以 sample-spam.txt 寄一封測試的廣告信,如果設錯的話,在 openwebmail.log 裡面就會出現:

Sun Oct 24 21:52:06 2004 - [31314] (192.168.1.1) neo - spamscheck - pipe error - spamd error, exit=2
55, ret=From root@xxx.com  Sun Oct 24 21:52:01 2004

成功的話就會出現:

Sun Oct 24 22:18:20 2004 - [31484] (192.168.1.1) neo - spamcheck - spam 1000.0/10 found in msg <2004
1024141811.CF83A19434C@xxx.com>

另外廣告信學習的功能如果設定成功的話,在使用者點選學習功能的時候,在 log 裡就會看到類似以下的訊息:

Sun Oct 24 22:25:13 2004 - [31634] (192.168.1.1) neo - learnspam - 1 learned, 1 examined

如果學習的功能起不來,就要確定 CmdLearn.pm 是不是非 root 權限的人可以讀到? 如果不行的話,就下 chmod 打開權限就可以了。如果不確定 CmdLearn.pm 路徑的話可以下 #locate CmdLearn.pm 找看看。

但是要注意的是目錄的權限也要開,以我的環境 CmdLearn.pm 在 RH9 的 RPM 預設是裝在:

/usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/

而我是乾脆把整個目錄都把 Group 跟 Public 讀取跟執行的權限打開:

chmod 555 /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/ -R

這樣每個使用者就可以開始使用 OpenWebMail 的擋廣告信及學習廣告信的功能了。

本文引用來至:http://www.neo.com.tw/archives/339
 【Linux網站主機】重啟 apache 出現 VirtualHost overlap on port 80

今天有一個客戶來請求支援!(問題是:他重啟 apache 出現)警告:
[warn] _default_ VirtualHost overlap on port 80, the first has precedence

為何會這樣呢?
總教頭用遠端連線上去看情況,原來:他是為了要增加第二個網址
所以,他就仿效網路上的文章
結果他搞錯了,亂修改一通(當然不行!才會發生此情況的警語)
正確的樣子應該是這樣:
/etc/apache2/sites-available/default
開頭有這麼兩行:
NameVirtualHost *:80
<VirtualHost *:80>
---------------------------
而網路文章教他(或許他會錯意思?)
複製
/etc/apache2/sites-available/default
刪除:NameVirtualHost *:80
保留:<VirtualHost *:80>

attachments/201604/ok-L001.png

而第三行增加:ServerName www.you.com.tw(你新的第二個網址名稱)
---------------------------
文章並沒有錯!可以他老兄也真夠自以為聰明?
把 /etc/apache2/sites-available/default
第一行 NameVirtualHost *:80 刪除了!
他當然會出現此警告:
[warn] _default_ VirtualHost overlap on port 80, the first has precedence
最後,總教頭幫他把 NameVirtualHost *:80 補上去
再次重新啟動:apache2
service apache2 restart
事情就這樣解決啦!
結論:(看網路文章要看清楚,不要自作聰明....)

Linux主機(文字輸入下)關機與重新開機指令

Linux主機(文字輸入下)關機與重新開機指令

shutdown:關機

shutdown -參數 時間 訊息

k:並非真正關機,只是送出訊息

r:關機後重新開機

h:關機後不重新開機

例如:
shutdown -h now (立即關機)

f:快速關機

n:快速關機,不要經過init的程序

c:取消關時的程序

t:在警告訊息和刪除信號間做停留
時間可用now或任意數字 (代表分鐘)

 reboot:重新開機

本Linux主機伺服器架設基地立志於收集各類Linux主機伺服器架設、網站架設及網頁設計技術教學資訊,便於本人和廣大網友及網友查詢檢索,無論公司或個人認為本站存在侵權內容均可與本站聯繫,任何此類反饋資訊一經查明屬實後,將立即移除!