Archive

‘uBuntu’ 分類過的Archive

uBuntu安裝Apache2

2010年4月1日 尚無評論

安裝指令:

sudo apt-get install apache2

在/etc/apache2/conf.d/charset 檔案中設定語系 (現今的網站應該都用UTF-8了吧)

AddDefaultCharset UTF-8

Apache2 對port設定檔:/etc/apache2/ports.conf

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz

Listen 80
Listen 8000
Listen 8080
NameVirtualHost *:80
NameVirtualHost *:8000
NameVirtualHost *:8080

<IfModule mod_ssl.c>
    # SSL name based virtual hosts are not yet supported, therefore no
    # NameVirtualHost statement here
    Listen 443
</IfModule>

網站設定檔在:/etc/apache2/sites-available/default
設定啟用檔是:/etc/apache2/sites-enabled/000-default
兩者關係為:/etc/apache2/sites-enabled/000-default –> /etc/apache2/sites-available/default
也可以直接將設定檔置於/etc/apache2/sites-enabled/ 下

原內容:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>
</VirtualHost>

實作所需內容:原本將所有實做內容放置於default,但實在太長,就做了分割

/etc/apache2/sites-available/web0nono (將各port沒有使用名稱的定為禁止讀取)
/etc/apache2/sites-enabled/001-web0nono -> ../sites-available/web0nono

<VirtualHost *:8080>
    ServerAdmin andy@rdandy.com

    DocumentRoot /var/wwwsites/web0
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/wwwsites/web0/>
        Options -Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        deny from all
    </Directory>
</VirtualHost>

<VirtualHost *:8000>
    ServerAdmin andy@rdandy.com

    DocumentRoot /var/wwwsites/web0
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/wwwsites/web0/>
       Options -Indexes FollowSymLinks MultiViews
       AllowOverride None
       Order allow,deny
       deny from all
   </Directory>
</VirtualHost>

/etc/apache2/sites-available/web1.rdub.com
/etc/apache2/sites-enabled/003-web1.rdub.com -> ../sites-available/web1.rdub.com

<VirtualHost *:8080>
    ServerAdmin andy@rdandy.com
    ServerName web1.rdub.com
    #ServerAlias web1.rdub.com

    DocumentRoot /var/wwwsites/web1
    #<Directory />
    # Options FollowSymLinks
    # AllowOverride None
    #</Directory>
    <Directory /var/wwwsites/web1/>
        Options -Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    #ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    #<Directory "/usr/lib/cgi-bin">
    # AllowOverride None
    # Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    # Order allow,deny
    # Allow from all
    #</Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined

    #Alias /doc/ "/usr/share/doc/"
    #<Directory "/usr/share/doc/">
    #    Options Indexes MultiViews FollowSymLinks
    #    AllowOverride None
    #    Order deny,allow
    #    Deny from all
    #    Allow from 127.0.0.0/255.0.0.0 ::1/128
    #</Directory>

</VirtualHost>

/etc/apache2/sites-available/db.rdub.com
/etc/apache2/sites-enabled/005-db.rdub.com -> ../sites-available/db.rdub.com

<VirtualHost *:80>
    ServerAdmin andy@rdandy.com
    ServerName  db.rdub.com
    ServerAlias db.rdub.com

    DocumentRoot /var/wwwsites/phpmyadmin
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/wwwsites/phpmyadmin/>
        Options -Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    #ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    #<Directory "/usr/lib/cgi-bin">
    #   AllowOverride None
    #   Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    #   Order allow,deny
    #   Allow from all
    #</Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined

    #Alias /doc/ "/usr/share/doc/"
    #<Directory "/usr/share/doc/">
    #    Options Indexes MultiViews FollowSymLinks
    #    AllowOverride None
    #    Order deny,allow
    #    Deny from all
    #    Allow from 127.0.0.0/255.0.0.0 ::1/128
    #</Directory>

</VirtualHost>

※ 設定首頁順序:在/etc/apache2/mods-available/dir.conf

<ifmodule mod_dir.c>
     DirectoryIndex index.php index.html index.htm index.pl index.cgi index.xhtml
</ifmodule>

相關指令:

  • STOP Apache
    sudo /etc/init.d/apache2 stop
  • START Apache
    sudo /etc/init.d/apache2 start
  • RESTART Apache
    sudo /etc/init.d/apache2 restart
  • RELOAD Apache
    sudo /etc/init.d/apache2 reload

如有錯誤還請先進多多指教!!

Categories: uBuntu Tags:

搜尋含有指定文字的檔案的script

2010年3月22日 尚無評論

檔名定為scat,放在/usr/local/bin 且設為可執行

$ chmod 500 scat
$ chown root.root scat

檔案內容:

#!/bin/sh -
fix=`grep $1 ./ -R | awk -F: '{print $1}'`

for i in `echo $fix`
do
echo $i
done
Categories: uBuntu Tags: , ,

我的vim設定檔(.vimrc)

2010年3月18日 尚無評論

我的vim設定是參考網路上很多人的設定然後撿需要的
放著備註
而底下的function是用了一套windows裡用的gVim(http://portablegvim.sourceforge.net/)軟體附加的設定
可有可無的就是了

set fileencodings=utf-8,ucs-bom,big5
set encoding=utf-8
set hlsearch
set laststatus=2
set backspace=2 "可以刪除任意值
syntax on
set bg=dark       "background
set noautoindent     "設定不自動縮排
"set autoindent       "設定自動縮排
set ruler            "設定顯示游標尺
set showmode         "左下角那一行的狀態
set nu               "可以在每一行的最前面顯示行號
""""""""""""""""""""""設定tab為n個空白
set tabstop=4
set sts=4      "softtabstop 
set shiftwidth=4
set ai
set expandtab
set ignorecase       "search 字串時不分大小寫
let loaded_matchparen = 1
set diffexpr=MyDiff()
function MyDiff()
  let opt = '-a --binary '
  if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
  if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
  let arg1 = v:fname_in
  if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
  let arg2 = v:fname_new
  if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
  let arg3 = v:fname_out
  if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
  let eq = ''
  if $VIMRUNTIME =~ ' '
    if &sh =~ '\<cmd'
      let cmd = '""' . $VIMRUNTIME . '\diff"'
      let eq = '"'
    else
      let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"'
    endif
  else
    let cmd = $VIMRUNTIME . '\diff'
  endif
  silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 . eq
endfunction


相關學習:
http://www.study-area.org/tips/vim/Vim-9.html

Categories: uBuntu Tags: ,

Ubuntu 用指令查詢已安裝套件

2010年3月18日 尚無評論

在 Ubuntu 可以用下列指令找出指定的套件 ( Package ) 是不是已經安裝過了

例如,想找看看 rar 是不是已經安裝過了,就這樣子打:


dpkg --get-selections | grep gtk

也可以用這個指令來產生已安裝套件的清單檔。


dpkg --get-selections > inistalled_packages.txt

(取自:阿舍 http://www.arthurtoday.com/2010/01/ubuntu.html)

Categories: uBuntu Tags:

[轉貼] FTP 指令集

2010年3月3日 6 則評論

FTP 指令集

這裡列出FTP相關的指令~來源忘了是哪個BBS了 @@

(1) ?, help, remotehelp, rhelp:

help 顯示 local 端的命令說明, 若不接命令則顯示所有可用命令.
? 相當於 help. e.g. ? cd (Enter)
rhelp 同 help, 除了他為顯示 remote 端.
remotehelp 相當於 rhelp.

(2) asc (ascii), bin (binary), image, type:

ascii 切換傳輸模式為文字模式. (只能用來傳送 doc, 因為是 7-bit)
binary 切換傳輸模式為二進位模式. (除文字檔外皆用此模式)
image 相當於 binary.
type 讓你更改或顯示目前傳輸模式.

(3) bye, quit:

bye 退離 ftp.
quit 相當於 bye.

(4) cd, cdup, lcd, pwd, !:

cd 改變目前工作目錄 (change directory). e.g. cd /pub (Enter)
cdup 回到上一層目錄, 相當於你打 cd .. (Enter)
lcd 讓你更改或顯示 local 端的工作目錄. e.g. lcd /tmp (Enter)
pwd 顯示目前的工作目錄. (remote 端)
! 讓你執行 shell command. e.g. !ls (Enter)

(5) delete, mdelete, rename:

delete 刪除 remote 端的檔案.
mdelete 集體(大量)刪除檔案, 需配合萬用字元.
rename 更改 remote 端的檔案名稱.

(6) get, mget, put, mput, recv, send:

get 抓取(下傳)檔案.
mget 集體(大量)抓取檔案, 需配合萬用字元. e.g. mget *.gz
put 丟放(上傳)檔案.
mput 集體(大量)丟放檔案, 需配合萬用字元.
recv 相當於 get. (receive)
send 相當於 put.

(7) hash, prompt, verbose, status, bell:

hash 切換 # 字號的出現. 每一個 # 字號表示每傳送了 1024/8192 bytes.
prompt 切換 Interactive on/off. e.g. 當 mget * , on/off 確定傳檔.
verbose 切換所有檔案傳輸過程的顯示.
status 顯示目前的一些參數.
bell 切換嗶嗶聲,當指令做完時會發出一聲…beep!

(8) ls, dir, mls, mdir, mkdir, rmdir:

ls 有點像 UNIX 下的 ls (list) 命令.
dir 相當 ls -l (list -long).
mls 只是將 remote 某目錄下的東東存在 local 端的某檔案裡.
mdir 相當於 mls, 但資料較豐.
mkdir 像 UNIX 下的 mkdir 一般. (make directory)
rmdir 像 UNIX 下的 rmdir 一般. (remove directory)

(9) open, close, disconnect, user:

open 開一個 connection 到某個 remote ftp host.
close 關閉目前的 connection.
disconnect 相當於 close.
user 再輸入一次 username 和 password. (有點像 UNIX 的 su)

備註:

– 抓取整個目錄(包括子目錄)的方法:

(1) 使用 X 環境下的 ftptool, mftp 一類工具.

(2) 若 ftp site 支援 tar, 先打包再行傳送.

(3) 利用 mirror.

– 把 ftp 丟到幕後 (background) 執行:

(1) 正當你在 ftp-ing 時, 按 Ctrl-Z (Enter) 和 bg (Enter) 就行囉.

(2) 首先在 .netrc 檔內要有該 ftp site 的對應指示.
再建一個 script 檔, 之後用 nohup 指令即可.

e.g. 要到 140.117.11.3 抓檔, 先建一個叫 ftp.scr 的檔, 內容為:

bin
prompt
cd ????
mget ???????
bye

之後在 UNIX 下打 nohup ftp 140.117.11.3 < ftp.scr& 記得 .netrc 檔中必須包含下行: machine 140.117.11.3 login ftp password

注意: .netrc 檔 mode 應為 400. 若失敗, 試試 chmod 400 .netrc
.netrc 檔應置於 $home 目錄下.
為你的 Login User ID 後加一個 @ 字號.

– 傳 doc 檔(純文字檔)時, 一定要使用 ascii 模式. 否則會沒跳行, 通通變同行.
(當然若你使用的是一個聰明的文書編輯程式,那倒無所謂)

Categories: uBuntu Tags: ,