[Ubuntu] 安裝 apache php5 遇到的問題

很奇怪的,今天在安裝 apache2 跟 php5 想說很簡單,可是安裝好,寫測試檔測試的時候,發現當會變成下載 php5 的檔案,然後我看了一下 apache2.conf 觀察到如下 AddType application/x-httpd-php .php .phtml .php3 AddType application/x-httpd-php-source .phps LoadModule php5_module /usr/lib/apache2/modules/libphp5.so 然後我去 /usr/lib/apache2/modules/ 底下看,也有看到 libphp5.so 這個檔案,但是就是不能執行 php,後來在 ubuntu 官網找到解答,解答方法如下

檢查 /etc/apache2/mods-enabled 內有沒有php5.conf , php5.load若沒有, 請 sudo a2enmod php5 重新啟動 apahce2 sudo /etc/init.d/apache2 restart http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?viewmode=flat&type=&topic_id=5298&forum=9

[Apache] mod_rewrite 進階用法,網域 redirect

我對 mod_rewrite 的技術相當有興趣,最近又有人在 ptt Linux 版上問到這相關的問題,如下

我用的是虛擬主機 (web hosting) 他的管理是這樣的, 不論代管哪個domain 一律都是對應到 /home/user/public_html 這個目錄下 也就是說, 1.com 跟 2.com 都會對到 ~/public_html 問題是: –> 我希望有人輸入 “1.com” 時, 就是讀 ~/public_html/data1 –> 有人讀 “2.com” 時, 就是讀 ~/public_html/data2 當然目前如果都不做設定, 那就是要用 http;//1.com/data1/ 跟 http;//2.com/data2/ 才能答成相同功能. 請問 .htaccess 有辦法改寫這樣的狀況嗎.

[Read More]

[MySQL] 取代部份字串問題

剛剛在 ptt 遇到之前當兵的工作同事,話說他要去中華電信工作了,還真是不錯,他在 database 版問一個取代的問題,然後我幫他找一下答案,解決了,這可以用 sql 語法解決,或者是用程式都可以 問題:

在MySQL 我有大約50000筆資料 有個欄位像這樣 00400000010040050000 現在因故要把 004改成005 變成像這樣 00500000010050050000 我的解法:

UPDATE `test` SET `test` = CONCAT( '005', SUBSTRING( `test` , 4 ) )  WHERE
SUBSTRING( `test` , 1, 3 ) = '004'
有更快解法嗎? REPLACE 好像不行,因為後面數字也會被改到,不過還是主要用 SUBSTRING

[Proftpd] 如何讓 /bin/false 跟 /sbin/nologin 連上 Proftpd

昨天遇到這個問題,不過其實之前就有解決過這問題,只是忘記怎麼解決,之前是利用 MySQL 的方式建立帳號,因為相當方便,請參考這篇 [Linux] Ubuntu 6.06 Proftpd + Mysql 安裝方式,支援 /bin/false 跟 /sbin/nologin 也相當簡單 只要在 proftpd.conf 加上

RequireValidShell on
官網寫的

config_ref_RequireValidShell 然後在編輯 /etc/shells 加上

/sbin/nologin

[MYSQL] 忘記 root 密碼,登不進去 phpMyAdmin 教學

2011.06.24 Update: 修改語法 剛剛在處理老闆的機器移機問題,雖然有給我 root 權限,可是 MySQL 密碼沒有給我 root 的,然後我去看程式,都沒有用到 root ,都是用普通使用者,所以就上網找一下忘記密碼怎麼處理,其實找到的方法就是利用 command line 的方法,相當方便,最終解決方法還是文字介面,作法如下 首先先 Kill 掉所有 MySQL 的連線 # on Linux /etc/init.d/mysqld stop # on FreeBSD /usr/local/etc/rc.d/mysql-server stop killall -9 mysqld 然後進入 MySQL 安全模式 mysqld_safe -u root --skip-grant-tables & 然後利用文字介面修改 MySQL root 密碼 $ mysql -u root -p > use mysql; > UPDATE user SET password=password('這裡輸入你的密碼') where user='root'; > FLUSH PRIVILEGES; > exit; dump database $ mysqladmin -uroot -p flush-logs $ mysqldump -B -uroot -p --opt phpbb2 > phpbb2_20020601. [Read More]

[UNIX] bash 記憶指令 For Linux

在 FreeBSD 裡面,要做到這樣非常方便,當我們在終端機輸入 vi 之後按下 Up 鍵,終端機會顯示之前下過的 vi 指令,這在常常使用 command 的使用者來講相當方便,也非常重要,在 FreeBSD 底下,只要在 .cshrc 裡面加上

bindkey “^W” backward-delete-word bindkey -k up history-search-backward bindkey -k down history-search-forward 可是在 linux 底下要如何達到這樣呢,那就是 man bash『history-search-backward』,『history-search-forward』這兩個功能,對我來說非常重要,然而你要達到這功能,就是利用 showkey 跟 bind 這兩個指令 首先你要先找到 Up 這個鍵的 16 位元的編碼

showkey -a

Press any keys - Ctrl-D will terminate this program

^[[A     27 0033 0x1b
         91 0133 0x5b
         65 0101 0x41
然後在 bind 上去,寫到 /etc/bashrc 地下就可以了
bind '"\x1b\x5b\x41":history-search-backward'
bind '"\x1b\x5b\x42":history-search-forward'
我之前有寫一篇

[Ubuntu] bash 記憶指令,也可以參考看看

[PHP] 好用的 PEAR – PHP Mail and Mail_Mime

今天在寫期末的 Project,我的專題是寫無線 802.1X 認證,搭配 FreeBADIUS Server,然後我在搭配網頁整合認證機制,然後我在做使用者帳號申請部份,需要靠 Email 認證,但是我去看官網,介紹好像也沒什麼,在寄信的時候常常會遇到亂碼,不然就是寄信 html 部份會有問題,或者是不能附加檔案之類的,然後網路上找不到一個好用的 class ,所以就用了 PEAR::Mail_MimePEAR::Mail,這兩個套件還不錯用,如果想寄單純的信件,就用 PEAR::Mail 這個就可以了,如果要搭配 html 網頁,就要搭上 PEAR::Mail_Mime

[Read More]
mail  PEAR  php 

[FreeBSD] 無線 AP 鎖定使用者 MAC Address

在之前的文章已經提到如何利用一張無線網卡架設 AP 伺服器,[FreeBSD] 無線網卡架設AP Server DWL-G520 Ralink RT2561,但是如何跟外面賣得產品一樣可以鎖mac呢,雖然mac的竄改相當普遍,linux底下只要下一個指令就可以達到了,不過你要知道別人的mac還蠻難的吧,除非你跟她同一網域,所以底下就介紹在freebsd底下如何做到。 在linux底下其實很簡單,因為google一下就好了 http://madwifi.org/wiki/UserDocs 這個網頁相當豐富,教你如何在linux底下實做ap跟鎖MAC。 Steps 1. First, make sure your card is not set to any particular mode or essid. 2. Run: * To flush the list of MAC addresses: iwpriv ath0 maccmd 3 * To make the list a whitelist: iwpriv ath0 maccmd 1 3. Put the card in master mode: iwconfig ath0 mode master essid test ifconfig ath0 up 4. At this point, nothing will be able to connect to the AP, since the whitelist is empty. [Read More]

[FreeBSD] 安裝 memcache for php 多重伺服器共享 Session

今天來玩看看 memcache 看看,話說 memcache 是個非常好用的東西,可以參考官網作法 連結,其實我在前一個工作,就有老闆問我說,像公司作這麼多網站,有沒有辦法統整成一個,然後底下各種服務,只需要登入過一次就好,而不必重複登入,畢竟會讓使用者覺得很煩,所以就有了 memcache 這東西出來,底下就來介紹 FreeBSD 的安裝方式

  • 安裝方法: 安裝 ports 的套件 memcache 跟 pecl-memcache
cd /usr/ports/databases/memcached; make install clean
cd /usr/ports/databases/pecl-memcache; make install clean
然後他會把 extension=memcache.so 寫到 /usr/local/etc/php/extensions.ini 然後你只需要重新啟動 apache 即可,還有把 memcached 服務打開 所以請下底下指令
echo "memcached_enable=\"YES\"" >> /etc/rc.conf
/usr/local/etc/rc.d/memcached start
/usr/local/etc/rc.d/apache22 restart
[Read More]

[Apache] mod_bw 頻寬下載限制

自己在站內有寫一篇 [apache] mod_cband 頻寬限制,不過這套好像沒有真對網站用 header「[PHP] header下載檔案 搭配資料庫」 吐出來的下載方式做限制,只能針對單存下載的連結做限制,所以自己爬文了一下,又找到了 Bandwidth Module 這個套件,Banwidth官方網,目前出到 mod_bw v0.8 說明檔。 底下是針對 FreeBSD 安裝方式,所以其他安裝方法就參考上面的說明檔了 cd /usr/ports/www/mod_bw/ make install clean 上面這樣就安裝好了,再來就是設定 mod_bw 了 BandWidthModule [On|Off] apaceh 預設是關閉的,所以請把他打開 BandWidthModule on ForceBandWidthModule [On|Off] 這個設定預設情形,他不會對每個要求限制,如果你把他打開,他就會對每個要求做限制 普通要求:AddOutputFilterByType MOD_BW text/html text/plain 打開設定:ForceBandWidthModule On BandWidth [From] [bytes/s] 這個設定有2個參數,第一是from,第二是速度,第一你可以用整個ip位址,或者是network mask例如:192.168.0.0/24 or 192.168.0.0/255.255.255.0) or all。最後的all就是全部皆可,不限制 BandWidth localhost 10240 BandWidth 192.168.218.5 0 上面針對 localhost 給 10KB的速度,然後針對 192.168.218.5 不限制速度 在版本0.8還可以針對client端的瀏覽器做限制 BandWidth u:[User-Agent] [bytes/s] 你可以利用正規語法比對client端瀏覽器 BandWidth “u:^Mozilla/5(.*)” 10240 BandWidth “u:wget” 102400 還蠻不錯的功能 [Read More]