Aery's Note

Note everything!

Home Contact Syndicate this Site (RSS 2.0) Syndicate this Site (Atom) Login
  23 Posts :: 0 Stories :: 10 Comments :: 1 Trackbacks

每月文章

隨筆分類

AJAX

CSS

Javascript

Linux

PHP

Website


Thursday, October 23, 2008 #

最近想開始來整理一些東西~這邊po文常常會怪怪的
而且想換個功能多一點的~比較能控制的
so~搬家囉~
http://blog.gclin.org/
posted @ 4:31 PM | Feedback (0)

Saturday, July 05, 2008 #

安裝相關套件及建立guest帳號
sudo apt-get install vsftpd mysql-server-5.0 libpam-mysql
sudo useradd web_edit

先建立vsftpd這個資料庫,然後建立users這個資料表
CREATE TABLE `users` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`username` VARCHAR( 30 ) NOT NULL ,
`password` VARCHAR( 50 ) NOT NULL ,
UNIQUE (`username`)
) ENGINE = MYISAM ;

INSERT INTO `users` (`username` ,`password`) VALUES ('user', PASSWORD('pass'));

修改/etc/pam.d/vsftpd
sudo vi /etc/pam.d/vsftpd

auth required pam_mysql.so user=vsftpd passwd=bWrRDD host=localhost db=vsftpd table=users usercolumn=username passwdcolumn=password crypt=2
account required pam_mysql.so user=vsftpd passwd=bWrRDD host=localhost db=vsftpd table=users usercolumn=username passwdcolumn=password crypt=2

修改/etc/vsftpd.conf
sudo vi /etc/vsftpd.conf
guest_enable=YES
guest_username=web_edit

sudo /etc/init.d/vsftpd restart

posted @ 8:18 PM | Feedback (2)

Wednesday, May 07, 2008 #

PDT 1.0 + Xdebug in Ubuntu 安裝過程 [討論區 - 程式編輯器]
http://twpug.net/modules/newbb/viewtopic.php?topic_id=2887
我是照這篇去做的,完成之後會出現一個錯誤訊息如下:
Could not initialize the application's security component. The most likely cause is problems with files in your application's profile directory. Please check that this directory has no read/write restrictions and your hard disk is not full or close to full. It is recommended that you exit the application and fix the problem. If you continue to use this session, you might see incorrect application behaviour when accessing security features.

解決方法很簡單,手動建立$HOME/.mozilla/eclipse這個目錄即可
來源:https://bugs.launchpad.net/ubuntu/+source/eclipse/+bug/188380
posted @ 1:19 AM | Feedback (1)

Monday, April 28, 2008 #

先點選要設定下拉選單的欄位
然後 工具列的 資料 => 資料驗證

在 "儲存格內允許" 的下拉選單,選擇 "清單" 這個項目
在 "來原" 的文字方塊內輸入資料來源,例如:=$A$1:$A$9 或是指定工作表 =Sheet2!$A$1:$A$9
最後在copy到其他欄位即可
posted @ 11:21 PM | Feedback (1)

Tuesday, April 22, 2008 #

今天在移機的時候發生了一些小問題
其中一個就是svn的檔案庫狀況如下
直接copy整個檔案庫的目錄至新伺服器
然後dav_svn也設定好了
從client可以做checkout、export...
但是commit的時候會出現錯誤訊息
MKACTIVITY of /svn/!svn/act/...... : Could not read status line: connection was ....

找了一下資料發現可能是版本的問題
網路上有些做法就是改參數重新編譯、去找舊的檔案來蓋掉目前的
不過這太麻煩了,而且有些風險存在

之後我發現了一個比較好的方式來做SVN的轉移
就是先做匯出的動作
svnadmin dump 檔案庫 > svn_dump

然後把這個檔案傳到新的伺服器上
scp svn_dump user@hostname:path

在新的伺服器上建立一個新的檔案庫,並匯入
svnadmin create 檔案庫
svnadmin load 檔案庫 < svn_dump

呼~搞定下班 ^^

posted @ 7:53 AM | Feedback (0)

Tuesday, February 19, 2008 #

$1.99/1st yr
($9.95 / year after)
(Discount for new customers only)

http://smallbusiness.yahoo.com/domains/?p=BESTDEAL

posted @ 11:31 PM | Feedback (0)

Sunday, January 13, 2008 #

剛剛發生了一件很怪的事
我已經把session_start();放到設定檔的最前面了
甚至是刪到只剩session_start();他還是會發生錯誤
Warning: session_start(): Cannot send session cookie - headers already sent by ......

之前遇到這個就是把output buffer打開
今天心血來潮找了一下原因~~~~~
原來是UTF-8的BOM搞的鬼
我這個檔案是用Notepad++開的

解決方式:
再用Nodepad++開啟然後   格式 => 編譯成 UTF-8 碼〈檔首無 BOM〉=> 存檔

posted @ 7:24 PM | Feedback (0)

Sunday, December 30, 2007 #

在vimrc裡面加上

let &termencoding=&encoding
set fileencodings=utf-8,gbk,ucs-bom,cp936

posted @ 2:19 AM | Feedback (0)

Saturday, December 29, 2007 #

Ubuntu常用命令與技巧
sudo apt-get install 軟體名 安裝軟體命令
sudo nautilus 打開文件(有root權限)
su root 切換到“root”

ls 列出當前目錄文件(不包括隱含文件)
ls -a 列出當前目錄文件(包括隱含文件)
ls -l 列出當前目錄下文件的詳細資訊

cd .. 回當前目錄的上一級目錄
cd - 回上一次所在的目錄
cd ~ 或 cd 回當前使用者的宿主目錄
mkdir 目錄名 創建一個目錄
rmdir 空目錄名 刪除一個空目錄
rm 文件名 文件名 刪除一個文件或多個文件
rm -rf 非空目錄名 刪除一個非空目錄下的一切

mv 路經/文件 /經/文件 移動相對路經下的文件到絕對路經下
mv 文件名 新名稱 在當前目錄下改名
find 路經 -name “字符串” 搜尋路經所在範圍內滿足字符串匹配的文件和目錄

fdisk fdisk -l 查看系統分區資訊
fdisk fdisk /dev/sdb 為一塊新的SCSI硬碟進行分區
chown chown root /home 把/home的屬主改成root使用者
chgrp chgrp root /home 把/home的屬組改成root組

Useradd 創建一個新的使用者
Groupadd 組名 創建一個新的組
Passwd 使用者名 為使用者創建密碼
Passwd -d使用者名 刪除使用者密碼也能登陸
Passwd -S使用者名 查詢賬號密碼
Usermod -l 新使用者名 老使用者名 為使用者改名
Userdel–r 使用者名 刪除使用者一切

tar -c 創建包 –x 釋放包 -v 顯示命令過程 –z 代表壓縮包
tar –cvf benet.tar /home/benet 把/home/benet目錄打包
tar –zcvf benet.tar.gz /mnt 把目錄打包並壓縮
tar –zxvf benet.tar.gz 壓縮包的文件解壓恢復
tar –jxvf benet.tar.bz2 解壓縮

make 編譯
make install 安裝編譯好的源碼包
reboot Init 6 重啟LINUX系統
Halt Init 0 Shutdown –h now 關閉LINUX系統

uname -a 查看內核版本
cat /etc/issue 查看ubuntu版本
lsusb 查看usb設備
sudo ethtool eth0 查看網卡狀態
cat /proc/cpuinfo 查看cpu資訊
lshw 查看當前硬體資訊
sudo fdisk -l 查看磁盤資訊
df -h 查看硬碟剩余空間
free -m 查看當前的記憶體使用情況
ps -A 查看當前有哪些進程
kill 進程號(就是ps -A中的第一列的數字)或者 killall 進程名( 殺死一個進程)
kill -9 進程號 強制殺死一個進程

常用apt命令:

apt-cache search package 搜索包
apt-cache show package 獲取包的相關資訊,如說明、大小、版本等
sudo apt-get install package 安裝包
sudo apt-get install package - - reinstall 重新安裝包
sudo apt-get -f install 修復安裝”-f = –fix-missing”
sudo apt-get remove package 刪除包
sudo apt-get remove package - - purge 刪除包,包括刪除配置文件等
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安裝的包
sudo apt-get dist-upgrade 昇級系統
sudo apt-get dselect-upgrade 使用 dselect 昇級
apt-cache depends package 了解使用依賴
apt-cache rdepends package 是查看該包被哪些包依賴
sudo apt-get build-dep package 安裝相關的編譯環境
apt-get source package 下載該包的源代碼
sudo apt-get clean && sudo apt-get autoclean 清理無用的包
sudo apt-get check 檢查是否有損坏的依賴

清理所有軟體緩存(即緩存在/var/cache/apt/archives目錄里的deb包 )
sudo apt-get clean

刪除系統不再使用的孤立軟體
sudo apt-get autoremove

資料來源:http://www.busfly.cn/post/Ubuntu-cmd.html

posted @ 5:02 PM | Feedback (0)

在處理時有錯誤發生:
ttf-opensymbol
openoffice.org-core
openoffice.org-common
openoffice.org-style-human
python-uno
openoffice.org-writer
openoffice.org-calc
     .
     .
     .

資料來源:http://www.busfly.cn/post/ubuntu-failed-to-write-cache.html

posted @ 4:41 PM | Feedback (0)

在Putty的設定Window => Translation 裡面

有個UserFontEncoding,把這個下拉選單改成UTF-8

posted @ 3:41 PM | Feedback (0)

Friday, December 28, 2007 #

Eclipse選單 => Help => Software Updates => Find and Install...

點選Search for new features to install => Next >

按下New Remote Site,並在下列兩個項目擇一新增,然後Next >

Name: Subclipse 1.2.x (Eclipse 3.2+)
URL:  http://subclipse.tigris.org/update_1.2.x

Name: Subclipse 1.0.x (Eclipse 3.0/3.1)
URL:  http://subclipse.tigris.org/update_1.0.x

勾選Subclipse Plugin,然後Next => Next => Finish

posted @ 1:14 AM | Feedback (0)

Monday, December 24, 2007 #

checking for mysql_query() in -lmysqlclient… no
checking for main() in -lm… yes
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lz… yes
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lsocket… no
checking for mysql_query() in -lmysqlclient… no
checking for main() in -lnsl… yes
checking for mysql_query() in -lmysqlclient… no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Provided configuration options:
–with-opt-dir

所以得先 remove MySQL 然後再重新安裝 MySQL 跟 MySQL Development Lib

yum remove mysql
yum install mysql
yum install mysql-devel

要在 CentOS 安裝 Rails Gem,那就

gem i rails -y 即可。

gem install mysql -- --with-mysql-include=/usr/include/mysql/mysql --with-mysql-lib=/usr/lib/mysql/

參考資料:http://faq.serverdiy.org/read.php?tid=71

posted @ 9:00 PM | Feedback (1)

apache的設定:
<Directory /usr/local/apache/htdocs/upload>
php_flag engine off
#如果是php3換成php3_engine off
</Directory>
posted @ 6:38 PM | Feedback (0)

時間設定
Linux 如果需要做時間校正可以執行下面 shell script :

如果只是要做一次校正, 則可直接執行:

posted @ 6:33 PM | Feedback (0)

[root@test root]# iptables [-t filter] [-AI INPUT,OUTPUT,FORWARD]
> [-io interface] [-p tcp,udp,icmp,all] [-s IP/network] [--sport ports]
> [-d IP/network] [--dport ports] -j [ACCEPT,DROP]
參數說明:
-A :新增加一條規則,該規則增加在最後面,例如原本已經有四條規則,
    使用 -A 就可以加上第五條規則!
-I :插入一條規則,如果沒有設定規則順序,預設是插入變成第一條規則,
    例如原本有四條規則,使用 -I 則該規則變成第一條,而原本四條變成 2~5
  INPUT :規則設定為 filter table 的 INPUT 鏈
  OUTPUT :規則設定為 filter table 的 OUTPUT 鏈
  FORWARD:規則設定為 filter table 的 FORWARD 鏈
 
-i :設定『封包進入』的網路卡介面
-o :設定『封包流出』的網路卡介面
  interface :網路卡介面,例如 ppp0, eth0, eth1....
 
-p :請注意,這是小寫呦!封包的協定啦!
  tcp :封包為 TCP 協定的封包;
  upd :封包為 UDP 協定的封包;
  icmp :封包為 ICMP 協定、
  all :表示為所有的封包!
 
-s :來源封包的 IP 或者是 Network ( 網域 );
--sport:來源封包的 port 號碼,也可以使用 port1:port2 如 21:23
     同時通過 21,22,23 的意思
-d :目標主機的 IP 或者是 Network ( 網域 );
--dport:目標主機的 port 號碼;
 
-j :動作,可以接底下的動作;
  ACCEPT :接受該封包
  DROP :丟棄封包
  LOG :將該封包的資訊記錄下來 (預設記錄到 /var/log/messages 檔案)

範例:
 
範例一:所有的來自 lo 這個介面的封包,都予以接受
[root@test root]# iptables -A INPUT -i lo -j ACCEPT
# 注意一下,因為 -d, --dport, -s, --sport 等等參數都沒有設定,這表示:
# 不論封包來自何處或去到哪裡,只要是來自 lo 這個介面,就予以接受!
# 這個觀念挺重要的,就是『沒有設定的規定,則表示該規定完全接受』的意思!
# 例如這個案例當中,關於 -s, -d...等等的參數沒有規定時!
 
範例二:來自 192.168.0.1 這個 IP 的封包都予以接受:
[root@test root]# iptables -A INPUT -i eth0 -p tcp -s 192.168.0.1 -j ACCEPT
# 新增一條規則,只要是來自於 192.168.0.1 的封包,不論他要去哪裡,
# 使用的是那個協定 (port) 主機都會予以接受的意思~
 
範例三:來自 192.168.1.0 這個 C Class 的網域的任何一部電腦,就予以接受!
[root@test root]# iptables -A INPUT -i eth0 -p tcp -s 192.168.1.0/24 -j ACCEPT
# 這個是網域的寫法喔!稍微注意一下的是,在範例二當中我們僅針對一個 IP ,
# 至於這個範例當中,則是針對整個網域來開放吶!而網域的寫法可以是:
# 192.168.1.0/24 也可以是 192.168.1.0/255.255.255.0 都能夠接受喔!
 
範例四:來自 192.168.1.25 的封包都給他丟棄去!
[root@test root]# iptables -A INPUT -i eth0 -p tcp -s 192.168.1.25 -j DROP
 
範例五:只要是想進入本機的 port 21 的封包就給他丟棄
[root@test root]# iptables -A INPUT -i eth0 -p tcp --dport 21 -j DROP
 
範例六:來自 192.168.0.24 這個 IP 的封包,想要到我的 137,138,139 埠口時,都接受
[root@test root]# iptables -A INPUT -i eth0 -p tcp -s 192.168.0.24
> --dport 137:139 -j ACCEPT
 
範例七:只要是接觸到我主機的 port 25 就將該封包記錄 (LOG) 下來
[root@test root]# iptables -A INPUT -p tcp --dport 25 -j LOG
# 還是請特別注意到『規則的順序排列』的問題喔!


iptables 的其他相關參數說明:

[!] --syn :這個設定僅能用於 -p tcp 的規則中,因為 TCP 封包有 syn 的旗標存
  在啊!當 TCP 封包存有 syn 旗標,表示這個連線是對方『主動』連過來的!
  若於 --syn 之前加上 ! 表示該封包不帶有 syn 的意思~(剛好相反之意!)
--icmp-type:可以管制 ICMP 封包的某些類型!還記得我們在 網路基礎 裡面
  談到的 ICMP 的某些類型吧!對啦!如果您不想要讓對方 ping 到您的機器,
  就是利用這個項目啦!
 
範例二:別的主機 ping 我們主機時,我們主機不予以回應
[root@test root]# iptables -A INPUT -p icmp --icmp-type 8 -j DROP
# 當您下達這樣的指令後,就表示未來別人對您使用 ping 的時候,
# 我們的主機將不會回應,所以對方主機就會顯示我們主機『無法連接』的狀態!
 
-m :表示封包的狀態,狀態有底下數種:
 -m mac --mac-source aa:bb:cc:dd:ee:ff
   這個就是我們上面提到的可以控制『網路卡卡號, MAC』的設定方法囉!
   那個 aa:bb:cc:dd:ee:ff 就是網路卡的 MAC !
 -m state --state <狀態>
   有數種狀態,狀態有:
   INVALID:無效的封包,例如資料破損的封包狀態
   ESTABLISHED:已經連線成左熙s線狀態;
   NEW:想要新建立連線的封包狀態;
   RELATED:這個最常用!表示這個封包是與我們主機發送出去的封包有關,
    可能是回應封包或者是連線成奶妨嶊熄e封包!這個狀態很常被設定,
    因為設定了他之後,只要未來由本機發送出去的封包,即使我們沒有設定
    封包的 INPUT 規則,該有關的封包還是可以進入我們主機喔!
    可以簡化相當多的設定規則啦!
 
範例三:讓 bb:cc:dd:aa:ee:ff 網路卡無法使用我們主機的資源
[root@test root]# iptables -A INPUT -p all -m mac --mac-source
> 01:01:01:01:02:01 -j DROP
# 這種方式可以用來管制網路卡卡號喔!就不怕別人使用 IP 搞怪了!
 
範例四:讓已經建立或者是與我們主機有關的回應封包通過,但是讓不合法的,
    以及想要嘗試新建立的封包被抵擋在外!
[root@test root]# iptables -A INPUT -p tcp -m state
> --state ESTABLISHED,RELATED -j ACCEPT
[root@test root]# iptables -A INPUT -p tcp -m state
> --state INVALID,NEW -j DROP
# 需要設定兩條喔!至於封包狀態則可以使用逗號隔開!逗號兩邊不要有空格
 
-j <動作>:除了比較常見的 ACCEPT 與 DROP 之外,還有哪些動作?
 REDIRECT --to-ports <port number>
   這個也挺常見的,基本上,就是進行本機上面 port 的轉換就是了!
   不過,特別留意的是,這個動作僅能夠在 nat table 的 PREROUTING 以及
   OUTPUT 鏈上面實行而已喔!(關於連線流程,請參考圖八)
 MASQUERADE:封包偽裝
   這個就是 NAT 主機最重要的一個機制啦!進行封包的偽裝!
 
範例五:將要求與 80 連線的封包轉遞到 8080 這個 port
[root@test root]# iptables -t nat -A PREROUTING -p tcp --dport 80
> -j REDIRECT --to-ports 8080
# 這玩意最容易在您使用了非正規的 port 來進行某些 well known 的協定,
# 例如使用 8080 這個 port 來啟動 WWW ,但是別人都以 port 80 來連線,
# 所以,您就可以使用上面的方式來將對方對您主機的連線傳遞到 8080 囉!
 
範例六:進行封包的偽裝,將來自 192.168.0.0/24 的封包的來源 IP 偽裝成為
    本機的 ppp0 那個介面的 IP
[root@test root]# iptables -t nat -A POSTROUTING -s 192.168.0.0/24
> -o ppp0 -j MASQUERADE

 

紀錄與回復防火牆規則
[root@test root]# iptables-save > filename
# 將目前的防火牆機制儲存成 filename 那個檔案!該檔案為 ASCII 格式,
# 您可以進入查黎@下喔!
[root@test root]# iptables-restore < filename
# 將 filename 那個防火牆檔案 (注意!並不是 shell scripts 的格式) 的規則
# 讀入目前的 Linux 主機環境中!

文章來源:鳥哥的 Linux 私房菜

posted @ 6:30 PM | Feedback (1)

/etc/rc.d/init.d/mysqld stop

/usr/bin/safe_mysqld --skip-grant-tables &

mysql -u root -p mysql

update user set password=password("新密碼") where user="root" and host="localhost";

flush privileges;

quit

/etc/rc.d/init.d/mysqld stop

/etc/rc.d/init.d/mysqld start

posted @ 6:28 PM | Feedback (0)

在 /etc/pam.d/system-auth 加入
account required /lib/security/pam_access.so

在 /etc/security/access.conf 加入
-:帳號1 帳號2:ALL EXCEPT ip1 ip2

參考來源:http://www.adj.idv.tw/server/linux_pam.php

posted @ 6:26 PM | Feedback (0)

上傳的程式碼(放在表單後的JavaScript):

上傳的程式碼(接收上傳檔案的PHP): 

下載的超連結:

 get_file.php 程式碼:

posted @ 6:16 PM | Feedback (4)

 參考來源:http://xwarez.com.ru/html/3/33/PHPgengbingaicai.html

posted @ 6:09 PM | Feedback (0)