about 7 years ago

要讓使用者有自己的網頁目錄不麻煩

把 apache2 的 userdir mod 啟動就可以了

在 ubuntu 下的方法:

a2enmod userdir

# /etc/init.d/apache2 restart

預設的網頁目錄是

~/public_html/

就在 userdir.conf 裡的

網址則是

http://localhost/~user/

還可以設定哪些 user 可以使用 userdir

預設是 disabled root

UserDir disabled root

如果 userdir 下的 php 沒辦法打開,會變成下載 php 檔的話,那要調整一下 apache 的 php 設定

就在 /etc/apache2/mods-available/php5.conf 裡有註明

To re-enable php in user directories comment the following lines

# (from to .) Do NOT set it to On as it

# prevents .htaccess files from disabling it.

就如 conf 檔裡所看到的,comment the following lines 吧

另外,這設定好像是 php5.3 才新加的

避免 /var/www/ 的目錄中沒有 index.html 而被瀏覽者看到目錄中的檔案或資料夾

vim /etc/apache2/sites-enabled/000-default

Options Indexes FollowSymLinks MultiViews #將 Indexes 刪除
AllowOverride None
Order allow,deny
allow from all

/etc/init.d/apache2 restart

 
about 7 years ago

一直以來,想找一個好工具可以讓我很方便的做筆記,試過了許多的程式,都差強人意

不過程式太大開太慢,就是筆記太過於單調,不容易整理

官方網站:http://zim-wiki.org/

Latest release: 0.52

PPA網址:https://launchpad.net/~jaap.karssenberg/+archive/zim

Zim 也有 Windows 版本跟 Mac 版本

Mac 版沒試過,Windows 版本沒在 Linux 上那樣的好用就是了

如何安裝

Ubuntu 本身的套件庫裡就有 Zim 了,不需要任何額外的動作就可以安裝

apt-get install zim

不過 Ubuntu 本身的套件庫更新速度不快,所以你可以加上 Zim 的 PPA 這樣會比較快更新的最新版的 Zim

add-apt-repository ppa:jaap.karssenberg/zim

# apt-get update

# apt-get install zim

怎麼用

最初開始使用 Zim 時,程式會要求你建立一個筆記本,

選定資料夾並設定完成之後,就可以正式開始使用了,而你所有的資料都會在所指定的資料夾

Zim 裡,你可以:

跟 wiki 一樣,很輕鬆的編輯跟排版你的文件

有樹狀式的目錄整理文件

對整個筆記進行蒐尋

放上其他文件的連結,建立起文件之間的關連

總之就是許多讓你可以更容易整理資料的功能

特別的功能

這裡另外再列出整個我覺得很有特色的功能

Calendar

會有一個月曆可以讓你選日期,點下去後就會連到該日期的文件

直接拿來當日記用,或是要用日期整理東西不錯用

checkbox

用 "[" 跟 "]" 建立一個 checkbox

用這個 checkbox,你可以建立起工作清單

完成之後打個勾,或是打個叉取消它

再加上事件清單的外掛,你可以更容易的看到你全部的工作項目

tag

0.52這版新的功能!

用"@"為文件標上 tags,用 tags 來整理文件

奔流 X 科技+玩意 - 跨平台桌面維基 - Zim

Ching Wei : This is My Life - 工作、攝影、旅遊 - 【軟體】Zim - A Desktop Wiki (桌上型維基)

XEPC.org - 新軟體推介: Zim – 桌面維基

 
about 7 years ago

好像沒什麼特別好介紹的,就分別裝上 Apache, Mysql, php 就完成了

安裝 mysql:

apt-get install mysql-server

安裝過程中要設定 mysql 的 root password

更重要的是要把密碼記住

安裝 apache2:

apt-get install apache2

安裝好 apache2 後,就可以連到 http://localhost/ 看看是否正常運作,

有跑起來的話,畫面上會顯示 "It works!"

安裝 php:

apt-get install php5 php5-mysql libapache2-mod-php5

下列套件將會被【移除】:

apache2-mpm-worker

裝 php 時,會把 apache2-mpm-worker 移除,換成 apache2-mpm-prefork

安裝 phpmyadmin:

apt-get install phpmyadmin

安裝過程會要求設定 phpmyadmin:

選擇 http server 類型,這個就是選擇我們這裡裝的 apache2 了

設定phpmyadmin 使用者密碼

phpmyadmin 裝好之後,可以連到 http://localhost/phpmyadmin/ 可以看到 phpmyadmin 的登入畫面

現在,你成功的架設了 LAMP Server,可以開始你的 PHP 之路了

Book.Study.Nyo - 在debian squeeze 上裝 LAMP

 
over 7 years ago

任務目標:

針對指定的路徑,列出底下所有的資料夾,但是不列出檔案

用 find

$ find . -type d

用 ls 跟 grep

$ ls -lR | grep '^d'

用 tree

$ tree -d

 
over 7 years ago

ln - make links between files

要在 Linux 底下建立捷徑,只要用 ln 這個指令就 OK 啦

$ ln [參數] 來源檔案或資料夾 要建立的 link 名稱

沒有參數的時候是建立 hard link,沒辦法跨 file system,沒辦法 link directory

-s : symbolic link

-f : 要建立的 link 如果存在,會先移除掉再建立

比較常用的似乎是 symbolic link

在修改 link 裡的資料時,實際上就是去修改 link 所指向的原資料

鳥哥的 Linux 私房菜 - 實體連結與符號連結: ln

凍仁的 Ubuntu 筆記 - 【Ubuntu】ln - Linux 上的捷徑

 
over 7 years ago

Linux Kernel 2.6.16 之後新加入了 drop caches 的機制,可以讓系統空出大量的記憶體

Freeing the page cache:

$ echo 1 > /proc/sys/vm/drop_caches

$ sysctl -w vm.drop_caches=1

Free dentries and inodes:

$ echo 2 > /proc/sys/vm/drop_caches

Free the page cache, dentries and the inodes:

$ echo 3 > /proc/sys/vm/drop_caches

這使 kernel 更勤於回收 cache

$ sysctl -w vm.vfs_cache_pressure=n (n > 100)

Tsung's Blog - Linux 手動回收 已經被 Cache 的記憶體

 
over 7 years ago

netstat 可以讓你看到網路連線等等許多的資料,

不過也要會用才找的到你想要的東西...

鳥哥介紹的指令:

列出目前的路由表狀態,且以 IP 及 port number 顯示

$ netstat -rn

列出目前的所有網路連線狀態,使用 IP 與 port number

$ netstat -an

秀出目前已經啟動的網路服務

$ netstat -tulnp

觀察本機上頭所有的網路連線狀態

$ netstat -atunp

以下是其他實用的 netstat 語法,可以檢查主機的連線數量:

顯示主機上所有已建立的連線。

$ netstat -na

顯示所有 port 80 的連線,並把結果排序。

$ netstat -an | grep :80 | sort

列出主機上有多少個 SYNC_REC,一般上這個數字應該相當低。

$ netstat -n -p|grep SYN_REC | wc -l

同樣是列出 SYNC_REC,但不只列出數字,而是將每個 SYNC_REC 的連線列出。

$ netstat -n -p | grep SYN_REC | sort -u

列出發送 SYNC_REC 的所有 ip 地址。

$ netstat -n -p | grep SYN_REC | awk '{print $5}' | awk -F: '{print $1}'

計算每一個 ip 在主機上建立的連線數量。

$ netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

列出從 TCP 或 UDP 連線到主機的 ip 的數量。

$ netstat -anp |grep 'tcp|udp' | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

列出每個 ip 建立的 ESTABLISHED 連線數量。

$ netstat -ntu | grep ESTAB | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr

列出每個 ip 建立的 port 80 連線數量。

$ netstat -plan|grep :80|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -nk 1

鳥哥的 Linux 私房菜 - 察看本機的網路連線與後門: netstat

使用 netstat 找出不正常的連線 | Tsung's Blog

 
over 7 years ago

SSH

平常用 ssh 登入主機時,都是以打密碼的方式進行驗證

還有另一個驗證的方法,就是用 public key 跟 private key 來驗證

ssh-keygen 可以產生的 key 有三種

rsa1, rsa2, dsa

這邊以 rsa2 為例

ssh-keygen

openSSH 本身就有包含 ssh-keygen 這個產生 key 的工具

$ ssh-keygen -t rsa

ssh-keygen 會跑出以下訊息:

Generating public/private rsa key pair.

Enter file in which to save the key (/home/nyo/.ssh/id_rsa):

# 設定存放 key 的位置,按 enter 使用預設值

Enter passphrase (empty for no passphrase):

# 輸入 passpharse,想要不打密碼就登入的話,就讓它空白;或是打上 passpharse 之後再交由 ssh-agent 或任何 key 管理系統保管

Enter same passphrase again:

Your identification has been saved in /home/user/.ssh/id_rsa.

Your public key has been saved in /home/user/.ssh/id_rsa.pub.

The key fingerprint is:

XX:XX:18:XX:19:XX:XX:XX:XX:XX:13:XX:XX:05:XX:XX user@Ubuntu

現在在 ~/.ssh/ 裡我們有一把 public key (id_rsa.pub) 跟一把 private key (id_rsa)

只要把這兩隻 key 保管好,把 public key 放到你要連線的主機就可以了!

把 public key 放到你要連線的主機

$ scp ~/.ssh/id_rsa.pub username@server:~/

連到該主機上,這時你還是只能用打密碼的方式登入

$ ssh username@server

將 public key 加到系統預設放 public key 的地方:authorized_keys

$ cat id_rsa.pub >> ~/.ssh/authorized_keys

設定完成,你再次登入該主機就是以 key authentication

如果你沒打 passphrase 就可以直接登入

有打 passphrase 就打 passphrase

之後如果還要連到其他的主機,只要再將原本的 public key 送到該主機的 authorized_keys 就可以了

SSH 免密碼登入 - JosephJ

ssh keygen 免輸入密碼 - Tsung

 
over 7 years ago

blogger 內建只會顯示文章的“發表時間”,卻沒有“更新時間”這個項目

為了做一些區別,“更新時間”這個東西似乎是有必要的

這樣對原本文章做修改才會有所記錄

在網路上找到 abin 大的文章,可以幫自己的文章加上更新時間

將以下 script 加到

裡面
    <script type="text/javascript"> //<![CDATA[ <!-- Function used for generating 
    the last update time for each post: showPostUpdateTime() --> function showPostUpdateTime(json) 
    { var updateTime = json.entry.updated.$t; var publishTime = json.entry.published.$t; 
    if (updateTime.substr(0,10) != publishTime.substr(0,10)) document.write(' | 
    Updated at '+updateTime.substr(0,10)+' '+updateTime.substr(11,5)); } //]]> 
    </script>   

再將以下紅色的部份加到對應的位子就可以了



我有做一些自己的修改

詳細的介紹就到 abin 大的網誌看吧

增加文章更新時間 (Show Post Update Time) by abin

 
over 7 years ago

這是目前所使用的 .vimrc 設定

用 gvim 的 "轉換成 html 格式" 漂亮的展示一下

設定的說明也一起寫在 vimrc 裡了

.vimrc
" 打開語法效果  

syntax on  
" 按下 tab 後會輸入的空白數目  

set softtabstop=4  
" 以空白當tab  

set expandtab  
" 縮排為四個空白  

set shiftwidth=4  
" 顯示當前模式  

set showmode  
" 顯示游標所在行列  

set cursorline  
set cursorcolumn  
  
" 在狀態列顯示游標所在行列狀態  

set ruler  
" 顯示行號  

set number  
" hightlight search  

set hls  
" 尋找不分大小寫  

set ignorecase  
" 搜尋時,自動跳到符合的字串  

set incsearch  
" 自動縮排  

set ai  
" 色彩主題 torte  

colorscheme torte   
  
" 游標形狀跟閃爍速度  

set guicursor+=n-v-c:block-cursor-blinkwait300-blinkon90-blinkoff90  
set guicursor+=i:ver3-cursor-blinkwait200-blinkon110-blinkoff110  
set guicursor+=v:ver90-cursor-blinkwait200-blinkon150-blinkoff150  
  
" statusline  

set ls=2  
set statusline=%<%f\ %m%=\ %h%r\ %-19(\ [ASCII:%b]\ [%p%%]\ %3l,%02c%03V%)%y  
highlight StatusLine term=bold,reverse cterm=bold,reverse