CentOS 6 以最小安裝後記得再安裝openssh-clients

前陣子CentOS 6終於釋出了,
也馬上在虛擬機上裝來玩看看,
但發現以最小安裝完畢後進入系統卻沒SSH指令可以用?
其實是少了openssh-clients再補安裝即可。
[cc_bash theme=”blackboard”]yum install openssh-clients[/cc_bash]

和5.6相比在同樣在VirtualBox上跑開機速度快了許多,
不過用最小安裝似乎比5.6會少裝一些東西。

利用shell script遠端關閉主機

其實也只是利用ssh指令再加上關閉指令就可以了,
但是會遇到輸入密碼的問題,
目前我想到的做法是利用ssh-keygen產生金鑰達成免輸入密碼即可登入的效果,

測試環境(利用VirtualBox來建立虛擬機)
HostA: Ubuntu 11.04
HostB: CentOS 5.6
HostC: FreeBSD 8.1
要測試是否能由HostA遠端去關閉HostB、HostC這兩台機器,
以下為方便測試皆使用root身份。

1.先在HostA上以ssh-keygen產生金鑰
[ccW_bash theme=”blackboard”]ssh-keygen -t rsa[/ccW_bash]
這會產生一組公、私鑰,
將id.rsa.pub這公鑰傳到HostB、HostC這兩台機器上,
以HostB為例:
[ccW_bash theme=”blackboard”]scp /root/.ssh/id.rsa.pub root@192.168.0.109:/root/ [/ccW_bash]
再登入到HostB上將id.rsa.pub移到/root/.ssh目錄並更名為authorized_keys,
若遠端機器已存在authorized_keys這個檔案就直將把id.rsa.pub的內容加入:
[cceW_bash theme=”blackboard”]cat id.rsa.pub >> /root/.ssh/authorized_keys[/cceW_bash]
若不存在就直接更名移過去即可:
[ccW_bash theme=”blackboard”]mv id.rsa.pub /root/.ssh/authorized_keys[/ccW_bash]

HostC也是相同的做法,
最後在HostA上寫一個script,內容如下:
[ccW_bash theme=”blackboard”]#!/bin/bash

# for CentOS
ssh root@192.168.0.109 ‘shutdown -h now’
# for FreeBSD
ssh root@192.168.0.120 ‘halt -p'[/ccW_bash]
注意根據OS的不同關機指令也會有所差異。

但這會有一個問題是若該遠端主機之前沒登入過會出現要你是否接受這連線的提示,
(也就是know_hosts這檔案中沒這台機器)
所以必須每一台都要登入過一次才能正常使用,
也許用expect這套件來解決輸入密碼的問題更好,
改天再來研究看看。

Samba on Ubuntu

測試環境:Ubuntu 11.04

1. 安裝Samba
[ccW_bash theme=”blackboard”]apt-get install samba[/ccW_bash]

2. 編輯 /etc/samba/smb.conf
[ccW_bash theme=”blackboard”]vim /etc/samba/smb.conf[/ccW_bash]
在第102行:
[cc]# security = user[/cc]
拿掉註解,使用帳密方式連線,若不想設帳密可以將user改為share
[cc] security = user[/cc]
然後在檔尾加入以下敘述:
[SHARE]
path = /home/smbuser/share
browseable = yes
read only = no
create mask = 0644
directory mask = 0755

其他部份就看需求修改囉,剩下的我是都直接用預設值。

3. 建立一個使用者smbuser,若在/etc/smb.conf將security設為share可以不需要做這個步驟
[ccW_bash theme=”blackboard”]adduser smbuser[/ccW_bash]
為smbuser設定一個Samba的密碼
[ccW_bash theme=”blackboard”]smbpasswd -a smbuser[/ccW_bash]

4. 建立剛才在/etc/smb.conf所設定的分享路經
[ccW_bash theme=”blackboard”]mkdir /home/smbuser/share
chown smbuser:smbuser /home/smbuser/share[/ccW_bash]

5. 重新啟動Smaba服務
[ccW_bash theme=”blackboard”]/etc/init.d/smbd restart[/ccW_bash]

6. 而如何在Windows存取呢,只在要檔案總管或是開始→執行輸入 \\您的ip 就可以囉,
如果有設定密碼會出現請您輪入帳密的視窗
smb01

Gallery 3.0.2 安裝實紀

今天利用Gallery取代先前使用的Coppmine Photo Gallery,順道將自己的相簿復 活起來。

1. 先至Gallery官網下載,當前最新版本為3.0.2,知道下載路徑的話可以也直接用wget指令:
[ccW_bash width=”100%” theme=”blackboard”]wget http://downloads.sourceforge.net/project/gallery/gallery3/3.0.2/gallery-3.0.2.zip?r=http%3A%2F%2Fcodex.gallery2.org%2FDownloads&ts=1308405292&use_mirror=ncu[/ccW_bash]

2. 解壓縮gallery-3.0.2.zip
[ccW_bash theme=”blackboard”]unzip gallery-3.0.2.zip[/ccW_bash]

3. 到解壓縮出來的gallery3目錄下新增var目錄並設定權限:
[ccW_bash theme=”blackboard”]
cd gallery3
mkdir var
chmod 777 var[/ccW_bash]

4. 從瀏覽器輸入 http://綱址或IP/gallery3/installer/ 進入安裝畫面,
輸人必要的資料庫相關資訊後即安裝完成,點選「Start Using Gallery」開始使用。

5. 從安裝畫面進入Gallery後會出現要更改密碼與E-Mail的訊息,點選「Change password and email now」更改密碼與E-Mail,使用者名稱也可以在此一併更改。

6. 成果 http://loki.ind.ntou.edu.tw/gallery/

IND Wiki 更新與權限修正

今天花了一點時間升級並整理IND Wiki
http://wiki.ind.ntou.edu.tw

升級方式在官方網頁就寫得很詳盡:
http://www.dokuwiki.org/install:upgrade

就很單純地將最新版的本的DokuWiki載下來解壓縮之後,
再把檔案覆蓋到現有的Wiki下即可。
不過在該篇文件下方有一份需要刪除檔案的列表,
由於IND Wiki已經許久沒更新了,
列表中# removed in rc2009-12-02 之後的都是要刪除的檔案,
因為真的是太多了乾脆的將列表的內容寫進檔案(temp)裡再運用之前學xargs指令:
# cat temp | xargs rm -rf
這樣子快多了不用一個個手動去刪。

再來是權限的問題,
由於conf和data兩個目錄是需要apache能夠讀寫,
所以要做以下的設定:
# chown -R apache:wiki conf
# chown -R apache:wiki data
底下的檔案都預設644、目錄755即可。

好用的 xargs 指令

前陣子遇到到公司伺服器要移轉的關係,
很多PHP網頁連結資料庫的帳號密碼設定都要改,
因為實在是太多了一個個進去改太累人。
原本要寫一個script去跑的但中途發現一個好用的指令: xargs
它的作用是將前一個指令輸出的結果做為後面指令的參數。

例如我有一大堆的網頁,
假設正好這些網頁的資料庫設定都存放在config_db.php這個檔案裡,
那麼我想要一次改掉所有config_db.php內存的root帳號改成loki (這裡先假定所有的config_db.php格式都統一),
指令可以這麼下:
[cc no_cc=”1″]find . -name ‘config_db.php’ | xargs sed -i ‘s/\”root\”/\”loki\”/g'[/cc]
雖然一般使用find會一次把所有結果列出來,
但xargs可以一項項丟給後面的指令用,
如此就能達到我想要的效果。

VMware上運行FreeBSD使用VMware Tools

首先當然是先用將FreeBSD安裝至VMware之中,
接下來到VMware選單的Virtual Machine選擇Install VMware Tools…
vmtools_freebsd01
便會開始下載。

下載完畢之後切換到VMware Tools所在的光碟映像檔中將檔案copy開始安裝:
[cc no_cc=”1″]# mount /cdrom[/cc]
[cc no_cc=”1″]# cp vmware-freebsd-tools.tar.gz /home/Loki/[/cc]
[cc no_cc=”1″]# cd /home/Loki[/cc]
[cc no_cc=”1″]# tar zxvf vmware-freebsd-tools.tar.gz[/cc]
[cc no_cc=”1″]# cd vmware-tools-distrib[/cc]
[cc no_cc=”1″]# ./vmware-install.pl[/cc]

安裝過程中會詢問哪些設定檔需要以新的複蓋過去,
像我沒有安裝X.org所以除了這以外我是全部都換成新的。
vmtools_freebsd02

另外FreeBSD要透過VMware上internet的話,
(家用ADSL的情況)
只要WMware網路介面的部分有設定為NAT,
在FreeBSD設定網路時只要用DHCP即可上網。

FreeBSD – /etc/fstab出錯的解決方法

有時/etc/fstab這個檔案不小心改錯了,
或是將系統碟移到其他機器上發生抓取的裝置名稱和/etc/fstab內容不符時,
開機後無法正常啟動FreeBSD而進入單人模式,
此時會發現無法使用vi、ee等編輯器修改/etc/fstab ,
這是因為像/usr等分區還沒有被掛入,
解決方法如下:

先將掛載 / 並設定為可讀寫,此例 / 是在ad0s1a
# mount -o rw /dev/ad0s1a

接下來就將/usr 掛入,此例 /usr 是在ad0s1f
# mount /dev/ad0s1f /usr

就可以使用ee等編輯器把/etc/fstab修改好,再重新開機應該就沒問題了。