2014年7月16日 星期三

Cent OS 6.5 PostgreSQL 8.4 Install

Cent OS 6.5 安裝 PostgreSQL可以使用yum直接安裝
#yum install postgresql postgresql-server
安裝過程中只要按一下y確認

安裝完成,確認一下版本
# postgres --version
##postgres (PostgreSQL) 8.4.20

初始化db
#service postgresql initdb

修改以下檔案
#vi /var/lib/pgsql/data/postgresql.conf
listen_addresses = '*'     //讓本機的ip address加入
port = 5432  //port開啟

修改以下檔案
#vi /var/lib/pgsql/data/pg_hba.conf

host    all         all         0.0.0.0/0             md5  //加入該行認證

啟動PostgreSQL
#service postgresql start

切換使用者
#su postgres
第一次登入PostgreSQL
#psql -U postgres
#Alter USER postgres WITH PASSWORD '修改的密碼';


2014年6月10日 星期二

MySQL 使用者密碼常用指令

修改使用者密碼
#mysql -u 登入使用者 -p
mysql> SET PASSWORD FOR '目標使用者'@'主機' = PASSWORD('密碼');
mysql> flush privileges;

列出所有資料庫中的使用者
mysql> select * from mysql.user;
移除使用者
mysql> DROP USER '目標使用者'@'主機';

Cent OS 6.5 php-syslog-ng 、syslog-ng 安裝

首先必須安裝yum套件
#yum -y  install  gcc*  tcp_wrappers  tcp_wrappers-libs  glib2  glib2-devel  glib2-static
#yum -y install mysql mysql-server php php-mcrypt php-mbstring php-gd php-mysql
ps:如果要移除yum套件,則使用yum remove
接著確認httpd服務在開機時啟動
#chkconfig httpd on
#service httpd start

接著基本套件設定完成後,開始安裝syslog-ng
首先必須關閉現有rsyslog
#chkconfig --level 2345 rsyslog off
#service rsyslog stop
接著下載eventlog與syslog-ng
#wget  --no-check-certificate   http://www.balabit.com/downloads/files/syslog-ng/open-source-edition/3.5.3/source/eventlog_0.2.12+20120504+1700.tar.gz
#wget  --no-check-certificate   http://www.balabit.com/downloads/files/syslog-ng/open-source-edition/3.5.3/source/syslog-ng_3.5.3.tar.gz

下載完成後,開始進行安裝作業
#tar  -zxvf  eventlog_0.2.12+20120504+1700.tar.gz
#cd eventlog-0.2.12+20120504+1700
#./configure --prefix=/usr/local/eventlog 
#make 
#make install

#tar zxvf syslog-ng_3.5.3.tar.gz
#cd syslog-ng-3.5.3
#export PKG_CONFIG_PATH=/usr/local/eventlog/lib/pkgconfig 
#./configure --prefix=/usr/local/syslog-ng 
#make 
#make install

再來要將syslog-ng添加為系統服務
#vim /etc/init.d/syslog-ng
###內容如下
#!/bin/bash 
#  
# chkconfig: -  60 27 
# description: syslog-ng SysV script.  
. /etc/rc.d/init.d/functions 
 
syslog_ng=/usr/local/syslog-ng/sbin/syslog-ng 
prog=syslog-ng 
pidfile=/usr/local/syslog-ng/var/syslog-ng.pid 
lockfile=/usr/local/syslog-ng/var/syslog-ng.lock 
RETVAL=0 
STOP_TIMEOUT=${STOP_TIMEOUT-10} 
 
start() { 
        echo -n $"Starting $prog: " 
        daemon --pidfile=$pidfile $syslog_ng $OPTIONS 
        RETVAL=$? 
        echo 
        [ $RETVAL = 0 ] && touch ${lockfile} 
        return $RETVAL 
 
stop() { 
    echo -n $"Stopping $prog: " 
    killproc -p $pidfile -d $STOP_TIMEOUT $syslog_ng 
    RETVAL=$? 
    echo 
    [ $RETVAL = 0 ] && rm -f $lockfile $pidfile 
 
case "$1" in 
  start) 
    start 
    ;; 
  stop) 
    stop 
    ;; 
  status) 
        status -p $pidfile $syslog_ng 
    RETVAL=$? 
    ;; 
  restart) 
    stop 
    start 
    ;; 
  *) 
    echo $"Usage: $prog {start|stop|restart|status}" 
    RETVAL=2 
esac 
exit $RETVAL
#####

接著設定服務的執行權限
#chmod a+x /etc/init.d/syslog-ng  
#chkconfig --add syslog-ng 
#chkconfig syslog-ng on 
#service syslog-ng start

接下來要安裝php-syslog-ng,需從web介面進行安裝
#tar  -zxvf   php-syslog-ng-2.9.8m.tar.gz
#cd html
#cp -Rf * /var/www/html/
#chown -Rf apache.apache /var/www/html

這裡需要注意的是,MySQL預設的root Password只能為空白,不然會出現添加使用者的錯誤或是後續syslog導入的錯誤。

安裝完成後需要將syslog與MySQL進行連結,所以要修改以下設定
#vi /usr/local/syslog-ng/etc/syslog-ng.conf
在最後面加入
destination d_mysql {
       pipe("/var/log/mysql.pipe"
       template("INSERT INTO logs
       (host, facility, priority, level, tag, datetime, program, msg)
       VALUES ( '$HOST', '$FACILITY', '$PRIORITY', '$LEVEL', '$TAG', '$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC','$PROGRAM', '$MSG' );\n") template-escape(yes));
};

log {
       source(s_network);
       destination(d_mysql);
};
#####
接著在編寫一個sh的檔案來進行啟動作業,可以將其命名為syslog2mysql.sh
檔案內容如下:
#!/bin/bash
# If you add this script to cron, be sure to change $config to the full path name
# ie: /var/www/html/php-syslog-ng/html/config/config.php
config="/var/www/html/config/config.php"

user=`cat $config | grep "'DBADMIN'" | awk -F"'" '{print $4}' `
pw=`cat $config | grep "'DBADMINPW'" | awk -F"'" '{print $4}' `
db=`cat $config | grep "'DBNAME'" | awk -F"'" '{print $4}' `

if [ ! -e /var/log/mysql.pipe ]
then
mkfifo /var/log/mysql.pipe
fi
while [ -e /var/log/mysql.pipe ]
do
mysql -u $user --password=$pw $db < /var/log/mysql.pipe >/dev/null
done
#####
最後可以把這個檔案放在
/var/www/html
並且須建立兩個log目錄
#mkdir -p /var/log/httpd/php-syslog-ng
#mkdir -p /var/log/php-syslog-ng
修改要連結MySQL檔案的sh執行權限
#chmod 755 syslog2mysql.sh
#/var/www/html/syslog2mysql.sh >> /var/log/php-syslog-ng/mysql.log 2>&1 &
如果沒有出現錯誤表示正常執行

接著可以用指令與工具測試syslog導入
SyslogGen.exe -t:192.168.1.118 -f:1 -s:7 -h:server -m:"Too many bytes.\x0D\x0A"
SyslogGen.exe -t:192.168.6.35 -f:1 -s:7 -h:server -m:"Too many bytes.\x0D\x0A"
SyslogGen.exe -t:192.168.9.45 -f:1 -s:7 -h:server -m:"Too many bytes.\x0D\x0A"
SyslogGen.exe -t:192.168.19.45 -f:1 -s:7 -h:server -m:"Too many bytes.\x0D\x0A"

2014年6月9日 星期一

Cent OS 6.5 DNS 設定與 yum install issue 排除

Cent OS 6.5 DNS若沒有正確設定會導致 yum install 安裝出現錯誤訊息。
最簡單的檢查方式就是下指令
#ping www.google.com.tw
如果要設定DNS則可以用以下指令
# vi /etc/sysconfig/network-scripts/ifcfg-eth0















加入
DNS1=8.8.8.8
接著重新啟動network服務
#service network restart

2014年2月17日 星期一

linux java unrecognized class file version 錯誤的解決方式

通常Linux當執行Java時出現以下錯誤訊息:
java unrecognized class file version
at java.lang.VMClassLoader.defineClass(libgcj.so.7rh)
at java.lang.ClassLoader.defineClass(libgcj.so.7rh)
at java.security.SecureClassLoader.defineClass(libgcj.so.7rh)
at java.net.URLClassLoader.findClass(libgcj.so.7rh)
at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
at gnu.java.lang.MainThread.run(libgcj.so.7rh)

表示執行的Java版本與編譯的Java版本不相容。
看了很多解決的方式都是找到原本Java 1.4.2的完整路徑然後執行,但是在我的SUSE卻無法正常運作。因此我安裝了最新版的jdk-7u51-linux-i586.rpm,然後採用以下的完整路徑執行即可解決。
/usr/java/jdk1.7.0_51/bin/java -jar text.jar

2014年2月13日 星期四

ASP.NET 潛在危險自動偵測

最近遇到一個問題,當某個使用者帳號登入系統時,居然會無法登入,開啟Error檢查發現如下錯誤訊息
A potentially dangerous Request.Form value was detected from the client
原來是Server自動偵測出來的,要排除這個問題只要在web.config加入以下兩行:
<pages  validateRequest="false" />
<httpRuntime  requestValidationMode="2.0" />

2014年1月24日 星期五

WAMP Link MsSQL

之前在說明WAMP安裝時,有提到雖然就php_sqlsrv_53_ts.dll加入引用的函式庫外,還需安裝SQL Management Studio並非完全正確,而是要安裝SQL Server Native Client 11,並確認本機資源的ODBC有如下圖出現才可以正常連結成功。

2014年1月23日 星期四

Samsung Galaxy S Advance i9070 Root 刷機

今天幫同事刷i9070順便紀錄一下給有需要的朋友。
首先要取得odin3刷機root程式(請自行搜尋google下載)
下載相對應的PIT檔案(GT-I9070_EUR_XX_8G_20111220_KL6.pit)
下載相對應的Root檔案(rootkernel.tar.md5)
下載要更新的ROM(TGY-I9070ZSMG2-20130812170623)

操作流程:
1.先開啟手機中的USB偵錯,然後關閉手機。
2.在手機關機的狀態下按下音量下鍵+電源鍵+Home鍵,當出現warring時,在按一下音量上鍵,進入download模式。
3.開啟odin3主程式,手機連接電腦,如果連接成功ID:COM會出現連接成功的COM Port號碼
4.Re-Partition勾選要移除,並在pit選擇上方提到下載的pit,而PDA則選擇ROOT檔案。
5.接著按下Start開始,當跑完出現成功後,重新2~3兩個步驟,接著在PDA選擇要更新的ROM按下start開始更新。
6.如果在ROOT過程出現失敗,重新回到2的步驟多試幾次。

CentOS Python 3.7 安裝方式

有些開發的程式在python 3.8的檔案套件不相容,例如pymssql,等。 所以如果不建置虛擬環境的話才特意安裝3.7版本的python 安裝流程如下 # 先進行yum套件的update yum update -y # 安裝相依性套件 yum install gcc o...