顯示具有 Unix 標籤的文章。 顯示所有文章
顯示具有 Unix 標籤的文章。 顯示所有文章

2008年9月21日 星期日

《 Ubuntu 》安裝SSH,FTP,Samba,Web Server筆記

一年前為了UNIX課程的Demo,要交的文件
拿了課指組的兩台Server做實驗,因為是Public IP且是行政的電腦
不用擔心啥,哈哈...小瓦有福了,嘿嘿

課程:Unix 系統與應用

以下是安裝3種伺服器的過程和紀錄:
OS:Ubuntu 7.04

1. SSH Server

因為 Ubuntu 不像Fedora Core 7 一樣,安裝完之後會預設的安裝 ssh ,所以為了能夠用安全連線的方式來跟伺服器互動,我們必須手動安裝。

// 這是一個類似 Fedora 的 yum 套件庫,我們採用他來進行安裝
apt-get install ssh

// 因為我們並不是用 tarball 安裝 ssh ,但是還是必須瞭解他的設定檔的路徑。
cd /etc/ssh

// 進入設定檔進行修改部份參數。
vim sshd_config

// 以下僅列出修改的地方:
Port 22 -> Port 8822 // 為了使伺服器安全一點的簡單小步驟。
PermitEmptyPasswords no // 透過 ssh 的人密碼不可為空值。
PermitRootLogin no // 為了更加安全不讓 Root 直接用遠端登入。
PrintMotd yes // 開啟顯示上次登入的訊息。
PrintLastLog yes // 顯示上次登入的訊息。

// 重新啟動
/etc/init.d/ssh restart


##CONTINUE##

2. FTP Server

// 一樣使用套件庫進行網路下載安裝。
apt-get install proftpd

// 設定檔路徑
cd /etc/proftpd/

// 進入設定檔進行修改部份參數。
vim proftpd.conf

// 以下僅列出修改的地方:
DefaultRoot ~ // 每個 FTP 使用者預設到家目錄,其他目錄都不能去。
開放anonymous ftp
// 修改並建立會自動登入到由 ftp 擁有的家目錄(/home/ftp/pub),
// 因名取義是給大家下載東西的地方。 並限定不能上傳檔案只能
// 下載< Limit write >。
// FTP 使用者 修改成 nologin可以安全一點。

// 重新啟動
/etc/init.d/proftpd restart

3. Samba Server

// 使用套件庫進行網路下載samba server安裝。
apt-get install samba

// 安裝該套件可以使系統帳號密碼與samba同步。
apt-get install libpam-smbpass

// 進行詳細得設定
vim /etc/samba/smb.conf

// 以下僅列出修改的地方:
Security = user // 必須以使用者登入。
netbios name // 顯示名稱之用。
Smbpasswd username // 新增Samba使用者密碼(因為系統本來就有該帳號)。
encrypt passwords = true // 密碼必須加密。
obey pam restrictions = yes // 引用安裝的libpam-smbpass套件。
unix password sync = true // 啟動與系統密碼同步機制。

// 針對資料夾做設定:
[public_unit2]
path = /tmp
guest ok = yes
writeable = yes

4. Samba Client

安裝好 SMB 要進行測試,最好的方式就是來一個 Client,所以底下進行一連串的測試動作和設定。

// 安裝該套件。
apt-get install samba-common

// 安裝該套件。
apt-get install samba-client

// 測試指令
smbclient '//IP or Domain Name/Partion' -U Username

5. Unix & Samba 密碼同步

vim /etc/pam.d/common-password
// 增加 password sufficient pam_smbpass.so audit use_first_pass

6. Apache Server(Web Server)

參閱 TKWU 老師的 Tarball 安裝方式這邊省略。亦可參閱本站文章


7. 參考資料
1) Linux Fedora Core 4 實務應用 旗標出版
2) 鳥哥的私房菜 SAMBA 伺服器的基礎設定
3) Chinson's phpBB 討論區 Debian GNU/Linux 的筆記


8. 轉載,請註明出處以及文章連結

2007年10月28日 星期日

《 LAMP》TKWU 's Tarball Guide

MySQL 5.1.22-rc + PHP 5.2.4 + Apache 2.2.6 完整安裝手冊(Tarball 安裝法)
// PHP5 + Apache + MySQL 安裝方法 For Linux / FreeBSD
// Written by Tung-Kuang Wu & Webber (long time ago)
// Updated on 2007/10/26

/***
假設 : Apache 裝在 /www
PHP 裝在 /www/php
MySQL 則裝在 /www/mysql
***/

1. 首先將檔案拷貝至 /usr/local 下 ( MySQL 5.1.22-rc + PHP 5.2.4 + Apache 2.2.6 )

2. 安裝 mysql-5.1.22-rc

// 安裝之前,檢查 /etc/my.cnf,更改 datadir 與 socket 如下:
// 假設安裝 mysql 於 /www/mysql
datadir=/www/mysql/var
socket=/tmp/mysql.sock


tar zxvf mysql-5.1.22-rc.tar.gz
cd /usr/local/mysql-5.1.22-rc
./configure --prefix=/www/mysql --localstatedir=/www/mysql/var
make ; make install


--prefix : 設定 Mysql 安裝路徑
--localstatedir : MySQL 的資料庫檔存放的目錄

當 MySQL 灌好之後,需先執行一個 Script 讓 MySQL 系統產生 mysql 這個資料庫及一些
必要的 Tables (user, db, … 等)。


/www/mysql/bin/mysql_install_db


建立好系統必要的 Grant Tables 之後我們就可以啟動 MySQL 資料庫。


// 將 mysql.server 改成可執行檔
chmod 700 /www/mysql/share/mysql/mysql.server

// 新增一個 mysql 帳號
adduser mysql

// 此為 MySQL 資料庫的資料檔所在,設其 Owner為 mysql
chown -R mysql /www/mysql/var

/www/mysql/share/mysql/mysql.server start

// 設定 root 存取 MySQL 之帳號密碼。
/www/mysql/bin/mysqladmin -u root password 'Your Password'


3. 安裝 Apache (httpd-2.2.6)


tar jxvf httpd-2.2.6.tar.bz2
cd /usr/local/httpd-2.2.6
./configure --prefix=/www --enable-so [--enable-ssl]
make ; make install


--prefix : 設定 Apache httpd 安裝路徑
--enable-so : 告訴 Apache 啟動 so 模組, 讓 Apache 能夠載入 shared modules(例如 PHP)

4. 安裝 gd (在灌 FreeBSD / Linux 時要安裝 C Development 和 Development Libaries)
(gd 為一組繪圖的 Library, 可經由 PHP 呼叫, 於網頁上即時繪圖)

a. 安裝 zlib (壓縮)


tar zxvf zlib-1.2.3.tar.gz
cd zlib-1.2.3
./configure
make && make install


b. 安裝 libpng (png graphics format)


tar zxvf libpng-1.2.16.tar.gz
cd libpng-1.2.16
./configure
make && make install


c. 安裝 jpeg-6b (jpeg graphics format)


tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure
make && make install


// 在 make install 時會出現錯誤, 內容是找不到 /usr/local/man/man1 這個目錄,
// 而 jpeg 此安裝需 copy 一些說明手冊 (manual) 至此目錄, 解決之道就是建這麼
// 個目錄 … (see below)


mkdir /usr/local/man
mkdir /usr/local/man/man1


d. 安裝 GD


tar zxvf gd-2.0.34.tar.gz
cd gd-2.0.34
./configure
make && make install


##CONTINUE##
5. 安裝 php-5.2.4


tar jxvf php-5.2.4.tar.bz2
cd /usr/local/php-5.2.4
./configure ./configure --prefix=/www/php --with-config-file-path=/www/php
--with-apxs2=/www/bin/apxs --with-mysql=/www/mysql --with-gd
--with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-zlib-dir=/usr/local
--enable-mbstring


// Again, PHP configure seems to have some trouble including “iconv” library …
// So there we go again …

vi Makefile
// … in around line 84 …
EXTRA_LIBS = -liconv -lcrypt ….. (加上紅色部分)

make;make install
cp php.ini-dist /www/php/php.ini


--prefix : 設定 PHP 安裝路徑
--with-apxs2 : 代表希望安裝 PHP 成為 Apache 的 shared modules, 並將該 modules置於 /www/bin/apxs
--with-config-file-path : 設定 PHP 組態檔 (php.ini) 所在目錄
--with-mysql : 讓 PHP 支援 MySQL
--with-gd / zlib / jpeg / png : 讓 PHP 支援 GD, Zlib, Jpeg, PNG 等
--enable-mbstring : 讓 PHP 支援 multi-byte string

6. 在 httpd.conf 中加入以下一行,以及修改部分細節


AddType application/x-httpd-php .php .php3 .phtml
DocumentRoot "/www/htdocs"
DirectoryIndex index.html index.php


7. 啟動 Apache

/www/bin/apachectl start


8. 安裝 phpMyAdmin-2.9.2


tar zxvf phpMyAdmin-2.9.2.tar.gz


將解開的目錄 phpMyAdmin-2.9.2 (or phpMyAdmin) 整個搬移到 /www/htdocs 下。


cd /usr/local
mv phpMyAdmin /www/htdocs/phpMyAdmin


接下來就可以用網頁模式來管理 MySQL 了,可以試試下列網址。
http://localhost/phpMyAdmin/

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

依照 TKWU 的安裝編譯過程,我在第五點安裝PHP的時候發生了 cannot find liconv
用了以上的修改方式,還是不行所以逕行下載了 iconv 函式庫 來自行安裝


wget -o /usr/local/ http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.2.tar.gz
./configure --prefix=/usr/local
make && make install


然後繼續編譯 php 就沒問題了,雖然不確定問題是出在哪裡,不過可以試試看。
另外,稍微修改了本文將 "make; make install" 改成 "make && make install"。

( 軟體均可於 ftp://ftp.im.ncue.edu.tw/teachers/tkwu/apache/ 下載)

2007年10月15日 星期一

《 FreeBSD 》文字模式取檔

在 Fedora/Ubuntu 裡面用 wget 去抓取檔案,而不用將檔案抓下來再 copy 去別台主機,完全使用文字模式處理。但是 FreeBSD 並沒有預設安裝 wget 套件,在 Real-Blog 找到這篇安裝的文章。

FreeBSD 安裝 wget :


cd /usr/ports/ftp/wget
make install clean


使用 wget 的方式 :


wget http://abc.def.com.tw/file.rar
wget -o /path/folder http://abc.def.com.tw/file.rar


FreeBSD 內建的 fetch 套件 :


fetch http://abc.def.com.tw/file.rar
fetch -o /path/folder http://abc.def.com.tw/file.rar


基本上,兩個處理的方式是一模一樣的。

2007年9月1日 星期六

《 Unix 》ssh 指令紀錄

詳細設定:/etc/ssh/sshd_config

連接埠:Port 22 (通常預設 22,ftp 21,web 80 ....etc )
關閉 Root 登入:PermitRootLogin no (通常預設 yes )
密碼不能空白:PermitEmptyPasswords no (通常預設 no )

設定完之後,重新啟動:(用 root 身份)

root@localhost:# /etc/init.d/ssh restart


另外還有 stop 以及 start 可以進行服務動作。

2007年5月26日 星期六

Apache 預設字型

架設 Web Server 或許會遇到網頁編碼的問題

我的解決方式是:
(1) 在 Apache設定檔中 Apache2.conf 或是 httpd.conf,修改或增加以下這一段

AddDefaultCharset off

原本會預設 utf-8 或是 big5,但是開放給許多使用者使用還是給她們自己決定編碼囉。

(2) 網頁部份,如果是big5

<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
</head>


(3) 接下來網頁存檔時要注意編碼,設成 big5 但卻用 utf-8 儲存那還是會變調。