由於我的Debian 6是用netinstall方式安裝的
有些套件必須要先裝過並進行設定
其中linux-headers要對應當前使用的kernel版本
apt-get install gcc-4.3 make linux-headers-2.6.32-5-686
export CC=/usr/bin/gcc-4.3
分類: Linux/UNIX管理實紀
CentOS 使用yum僅安全性更新方法
環境: CentOS 6.2
安裝yum的plugin: yum-plugin-security (CentOS 5為yum-security):
yum install yum-plugin-security
檢查有無安全性更新:
yum –security check-update
安裝安全性更新:
yum –security update
Linux Distribution Chooser – 幫助你選擇適合自己的Linux發行版本
Linux的發行版本非常多,
可能很多使用者會傷腦筋應該要選哪一種才好,
這個網站透過一些簡單的問答,
來幫助你選擇可能適合Linux發行版本:
http://www.zegeniestudios.net/ldc/
問答雖然有多國語音可以選擇但就是獨漏了中文,
但它的英文也不難就是了,
問答內容包含你的Linux的瞭解程度、使用習慣與環境等等,
我自己測出來適性100%的Linux發行版本是:
OpenSuSE
Ubuntu
Debian
Fedora
Mandriva
我最常用的CentOS反而沒進適性100%和95%…(而Fedora我很不喜歡)
不過Debian最近有在碰給我的印象倒是很好。
Debian GNU/Linux方便的iptables設定工具: ufw
Debian GNU/Linux時設定iptables時可以利用ufw這個方便的工具。
安裝ufw:
apt-get install ufw
執行ufw啟動iptables並於開機時載入:
ufw enable
以下是我的設定方式,
因為測試環境僅開放ssh與ftp即可,
先deny所有incoming的連線:
ufw default deny
再開放特定的服務:
ufw allow 21
ufw allow 22
Debian GNU/Linux建置Apache + MySQL + PHP
先前都是接觸像CentOS這類Red Hat系列的Linux,
聽聞Debian GNU/Linux以穩定性聞名,
最近也試著安裝一些服務來玩玩看,
這次是使用Debian GNU/Linux 6.0.4 x64。
1. 安裝 Apache + MySQL + PHP:
apt-get install apache2 mysql-server mysql-client php5 php5-mysql php5-gd php5-imagick php5-mcrypt
安裝過程中會出現提示畫面要輸入MySQL的ROOT密碼。
2. 設定/etc/mysql/my.cnf設定預設語系為UTF-8:
[client] default-character-set=utf8 [mysqld] default-character-set=utf8 default-collation=utf8_general_ci init_connect='SET NAMES utf8'
3. 因為設定檔有更動,重新啟動Apache與MySQL服務
/etc/init.d/mysql restart
/etc/init.d/apache2 restart
4. Apache與MySQL設定檔位置與CentOS上不同
/etc/mysql/
/etc/apache2/
CentOS 6關閉IPv6功能
編輯 /etc/sysctl.conf 加入以下敘述:
# Disable IPv6 net.ipv6.conf.all.disable_ipv6 = 1
關閉不必要的IPv6服務如ip6tables:
service ip6tables stop
chkconfig ip6tables off
重新開機:
reboot
參考資料:
wiki.centos.org
編譯安裝PHP出現錯誤訊息:/usr/bin/ld: cannot find -lltdl
先前在CentOS 6測試環境中用tarball編譯安裝安裝PHP時出現以下的錯誤訊息:
/usr/bin/ld: cannot find -lltdl collect2: ld returned 1 exit status make: *** [libphp5.la] Error 1
補行安裝libtool-ltdl-devel即可:
yum install libtool-ltdl-devel
清空檔案文件內容
可利用/dev/null把檔案文件清空
cat /dev/null > filename
CentOS 6 安裝crontabs
因為之前安裝CentOS 6時是用最小化安裝,
所以少了這個套件,
再補安裝並啟動就可以了。
yum install crontabs
service crond start
以yum安裝crontabs時會一併安裝sendmail,
因為用不到它所就乾脆停用別讓它開機時執行:
chkconfig sendmail off
利用CentOS 6.2 建構LAMP環境
CentOS 6也推出一陣子了,
為了日後可能也將loki.ind主機升級為第六版先實作一下LAMP環境,
1. 安裝CentOS 6.2
由於是純伺服器的環境,因此我只下載
CentOS-6.2-x86_64-minimal.iso
最小安裝的光碟ISO,
由於只包含最基本的套件安裝,
安裝過程中除了硬碟分割、網卡與時區設定外,
幾乎是點下一步就可以了。
2. 環境設定
一開始安裝CentOS 6.2沒先設定網卡是不會啟動它的,
如果安裝時沒設定要就編輯 /etc/sysconfig/network-script/ifcfg-eth0
例如內容是:
DEVICE="eth0" HWADDR="00:0C:29:B4:C2:2A" NM_CONTROLLED="yes" ONBOOT="no"
就改為(BOOTPROTO依取得IP的方式修改):
DEVICE="eth0" HWADDR="00:0C:29:B4:C2:2A" NM_CONTROLLED="yes" BOOTPROTO="dhcp" ONBOOT="yes"
再重新啟動網卡:
service network restart
由於CentOS 6.2預設的防火牆規則把SSH以外的協定都檔掉,
如果不熟iptables的設定可以安裝system-config-firewall-tui這個工具:
yum install system-config-firewall-tui
接著就直接輸入system-config-firewall-tui去使用這個工具,
選擇Customize將WWW (HTTP)開放即可,
退出system-config-firewall-tui後它會馬上幫你套用新設定至iptables,
很方便的設定工具。
3. 安裝Apache + PHP + MySQL
這次我不用下載tarball自行編譯安裝的方式,
由於CentOS 6裡的套件都比較新,
改用方便的yum來安裝:
yum install httpd php php-devel php-gd mysql mysql-server
一樣視需求增加要安裝的套件。
接下來啟動服務前設定好my.cnf內容,
可以直接到/usr/share/mysql下找到設定範例檔直接利用,
例如我選擇my-large.cnf將替換新建立的my.cnf (視主機記憶體大小去選擇,設定檔內容開頭也會寫)
cp /usr/share/my-large.cnf /etc/my.cnf
最後啟動mysqld和httpd即可:
service mysqld start
service httpd start
若需要開機時一併啟動服務則只要設定chkconfig將兩項服務on起來:
chkconfig mysqld on
chkconfig httpd on
就這麼簡單!