[Linux]Web Server 架設討論早期 和 目前Debian Ubuntu

大家好  小弟又來嘴砲了

先說一下以前關於 Web Server 架設的方式,採用LAMP的架構
以前在 滄者論壇的文章 加點小修改

以早期的Fedora 為例
如果在安裝的時候使用完全安裝的話 那麼應該就有apache ,php跟mysql
如果沒有的話 可以去rpm.find和 義守大學的檔案伺服器尋找相關的套件
也可以使用rpm -qa | grep httpd 查看目前apache的版本 pgp和mysql也可用此方法查詢版本 
PS:查詢mysql版本時打 rpm –qa | grep mysqld 會比較好
當然其實是不建議用完全安裝,理論上應該是逐步把想用的需要用的裝上去,
先選一般在逐步用yum 或apt把缺少的裝上去。
這種安裝方式最高的挑戰就是用像 Gentoo Linux  Arch Linux 那類的。

Mysql
如要開始用locate的指令 請先打updatedb來更新系統的指令資料 
先尋找mysqladmin這個檔案 可以打上 locate mysqladmin | more 來尋找
絕對路徑通常應該在/usr/bin/mysqladmin接著打上
/usr/sbin/mysqladmin -u root password 'your.password' 來建立帳號密碼
建立完成後 可以打上mysql –u root –p 這個指令 來進入資料庫
此時會詢問你剛剛設定的密碼 確定進去後可以打上exit 離開

Apache
apache的設定檔預設是會放在/etc/httpd/conf/httpd.conf裡面 接著使用vi 來修改
httpd.conf裡面的設定 。
UserDir public_html 這裡所指的是,各家目錄底下web所預設的位置,像這樣/home/帳號名稱/public_html,如果不設定的話,那家目錄本身就是預設的位置了,像/home/帳號名稱
AddDefaultCharset big5 這是預設網頁要以怎樣的語言下去編譯,我們這裡設定是big 5
DirectoryIndex index.html index.htm index.php home.htm home.php home.html 這裡指的就是,當我們在一個目錄下的時候,伺服器要自動去找哪一個檔案名稱來開啟,也就是各網站的第一頁的名稱。
ex:http://localhost/home.php 跟 我們打http://localhost會開啟同樣的頁面
LanguagePriority 將tw移到最前面 這個設定是跟AddDefaultCharset是搭配的,為了更改apach預設顯示語言編碼。
還有Domain 名稱的設定之類
另外有需要的話 可以用Alias將其 家目錄 網址的~ 符號 省略掉

PHP
在根目錄打上vi /etc/php.ini
register_globals = On 這個設定則是關於php方面的設定,若不知道位置同樣可以用locate來找尋,
(PS:按照目前PHP的規劃 和 安全機制的考量  這個變數已經不在適合改成On了,但是相對的必需要求 撰寫網頁的人,那時會開 也是因為舊版網頁沒更新...)

phpmyadmin的設定
我們在網路上抓到phpmyadmin的檔案後,個人是抓phpMyAdmin-2.7.0-pl2.tar.gz將它解壓縮放在/var/www/html/底下,並且用mv更改檔名為phpMyAdmin,在phpMyAdmin我們可以找到config.default.php的檔案,用vi下去編輯,我們需要將
$cfg[`Servers`][$i][`auth_type`]改成http
$cfg[`Servers`][$i][`user`]填入root
$cfg[`Servers`][$i][`passsword`]填入你所設的密碼
這些設定大概在85~87,其他的都可以不用動

接著打上/etc/rc.d/init.d/httpd start和/etc/rc.d/init.d/mysqld start 應該就大功告成了
以後想修改資料庫 可以利用瀏覽器打上http://localhost/phpMyAdmin 就可以進去修改了 在http://localhost/ 可以檢查自己的apache使否有啟動成功

在安全機制的部份,可以搭配 常見的iptables和 tcp_wrappers,iptables從最基本的port全關,在把需要服務的Port 逐步打開,tcp_wrappers 搭配 Services 把比較重要的限制內網才可存取
ex: ssh。

另外修改conf 把 會顯示版本訊息 之類的遮蔽掉,也是建議的部份。rsync 幫忙做備份之類的功能。
=====================================================================

接著是目前apache 在 Debian或是Ubuntu上面的架構
設定檔名稱 變更為apache2.conf ,路徑為 /etc/apache2/apache2.conf
改採用Mod 模組概念架構 enable或是disable就是 有沒有link的問題囉
至於啟用 各帳號 家目錄 網頁的部份 也是採用 ln link的方式
http://wiki.debian.org.hk/w/Setup_Apache_HTTP_server
http://thirteen-tw.blogspot.tw/2008/09/debian-apache2.html
參考下列網址
http://kimbriggs.com/computers/computer-notes/linux-notes/apache2-public_html-virtual-directories.file
http://mike79212001.blogspot.tw/2014/01/debian-apache-publichtml.html

PHP:
apache2掛載的mod ,預設 家目錄 網頁不支援 PHP,所以要打開的話可以參考。
http://devplant.net/2010/05/04/linux-php-not-working-in-userdir-public_html
一樣在重新啟動舊ok了

以上下台一鞠躬







留言