前陣子處理客戶 mysql 轉移問題,這是從別台主機轉過來,但是對方在編碼部份一直有問題,最後算是匯入進去,不過編碼上還是有問題。
mysql 若沒有設定的話,預設語系是 latin1 ,dump 出來資料也是用 latin1 編碼。所以在匯入資料時候,將 dump 資料之前加上 set names utf8 ,強迫指定 utf8 語系,匯入之後才是正確 utf8 編碼。
這個問題一直困擾很久,只要是 Fedora / Centos 架設的機器,用 ssh 連線過去都有點慢,試著解決問題。
最後用 ssh -v 找出問題,原來是
debug1: Next authentication method: gssapi-with-mic
debug1: An invalid name was supplied
Cannot determine realm for numeric host address
因為 ip 和 dn 沒有對應到,所以造成比較慢。解決方法不採用 gssapi-with-mic 認證。
Client 端 (Ubuntu)
/etc/ssh/ssh_config # GSSAPIAuthentication yes
註解起來,再重新連線就很快,無須等待。
建立 Syslog Server
1.Server 端:
OS: CentOS 5.3
# 修改 syslog 設定 /etc/sysconfig/syslog # 將 SYSLOGD_OPTIONS 加上 "-r" 參數,接受外部資料 SYSLOGD_OPTIONS="-r -m 0" # 重新啟動 sudo /etc/init.d/syslog restart
2.Client 端:
OS: CentOS 5.3
# 修改 syslog.conf /etc/syslog.conf # 原本 /var/log/message 改成 syslogd server ip #*.info;mail.none;authpriv.none;cron.none /var/log/messages *.info;mail.none;authpriv.none;cron.none @server_ip # 重新啟動 syslog /etc/init.d/syslog restart # 測試 ,檢查是否接收到訊息 logger "Test"
3.設定 lighttpd access log 傳到 syslog server
# 修改 lighttpd.conf # 啟動 use syslog accesslog.use-syslog = "enable" # 重新啟動 lighttpd /etc/init.d/lighttpd restart
完工。
利用 Gmail smtp server 發信。
安裝 ssmtp
# 增加 epel 套件庫 wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm # 安裝 套件 sudo rpm -ihv epel-release-5.3.noarch.rpm # 安裝 ssmtp sudo yum update ; sudo yum install ssmtp
設定 /etc/ssmtp/ssmtp.conf
mailhub=smtp.googlemail.com:465 FromLineOverride=YES UseTLS=YES AuthUser=your google account AuthPass=your google account password
發信測試
mail shunhsiung@gmail.com < ssmtp.conf
CentOS 5.3 預設沒有 lighttpd 套件,需要第三方 rpmforge 套件庫安裝。
# 安裝 rpmforge wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm sudo rpm -ihv rpmforge-release-0.3.6-1.el5.rf.i386.rpm # 更新套件庫 sudo yum update # 安裝 lighttpd sudo yum install lighttpd
完工。
這次安裝 Virtualbox 在 CentOS 5.3 居然花很多時間,最後還是找出問題。
wget http://download.virtualbox.org/virtualbox/3.0.6/VirtualBox-3.0.6_52128_rhel5-1.i386.rpm
yum install gcc make
由於我的 Kernl 是 PAE 版本,要安裝 kernel-PAE
yum install kernel-headers kernel-PAE指定 KERN_DIR 變數,以利後面 vboxdrv 安裝
export KERN_DIR=/usr/src/kernels/2.6.18-128.7.1.el5-PAE-i686
sudo rpm -i VirtualBox-3.xxxxx.rpm
因應客戶需求,將 Centos 5.3 中的 PHP 5.1 和 Mysql 5.0 升級到 PHP 5.2 和 Mysql 5.1
其實我很不願意這樣做,未來都會有處理安全性的麻煩。
1.安裝 epel / remi 套件資訊
wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm wget http://rpms.famillecollet.com/el5.i386/remi-release-5-7.el5.remi.noarch.rpm rpm -ihv *-replease-5*.rpm
2.指定 remi 套件組,更新 PHP / Mysql
yum --enablerepo=remi update php mysql3.安裝完,重新啟動 php / mysql
/etc/init.d/httpd restart /etc/init.d/mysqld restart
4.確認版本
php -v
mysql或者
echo "< ? phpinfo(); ?>" | php | less
參考資料:
某客戶應XX小站需求,要主機需要 PHP json extensions 。
1.下載 json-1.2.1.tgz 解開。
2.yum install php-devel
3.執行 phpize
4../configure ; make ; sudo make install
5.json.so 放置在 /usr/lib/php/modules
6.新增 /etc/php.d/json.ini 內容為 extension=json.so
7.重新啟動 apache
8.確認是否有安裝成功,可用 phpinfo() 或者用 php -m 檢視。
今天設定 net-snmp 一直跑不出來,只是要單純流量統計,最後找到簡單作法,/etc/snmp/snmpd.conf 只留下一行
rocommunity public
重新跑 snmpd 即可。
另外 mrtg 去抓某些資料,呈現的圖都是怪怪的,最後找到原因是參數問題,把 MaxBytes[_] 參數調小,圖表正常。
Freebsd 轉到 Linux 的環境真多東西要改。
算晚一點的消息, CentOS 5.3 Release 以及 CentOS 5.3 Release Notes
若是 CentOS 5.2 upgrade CentOS 5.3 ,指令為
yum update