Ubuntu (Debian) 架設 apache mpm worker mod_fcgid 筆記

最近想架設 RedmineUbuntu 伺服器上面,架設之前要先搞定 apache 搭配 mpm worker 及 mod_fcgi module,安裝步驟其實不難,就搭配懶人指令 apt 就可以了。

安裝 apache mpm worker 由於怕安裝過程會叫你把 apache2-mpm-worker 移除,改裝 apache2-mpm-prefork,所以安裝順序上面有些變化,請參考底下:

# 先安裝
$ apt-get install apache2.2-bin apache2.2-common apache2-mpm-worker libapache2-mod-fcgid php5-cli php5-cgi php5-common
#後安裝
$ apt-get install apache2 php5 php5-gd php5-curl
至於 PHP 5 套件就看你需要什麼就裝什麼吧,搜尋一下 php5-* 看看,apache 裝好預設看不到 PHP 網頁,也就是認不得 php type,請在 apache config 檔案加入底下 [Read More]

切換 Ubuntu apt 的 mirror site

Update: 國網內部員工建議用 http://ftp.twaren.net 這台

最近常常會發生 apt-get update 指令失敗,台大這台 tw.archive.ubuntu.com 似乎常常掛點,所以網路上找一下其他的 mirror site,看到似乎很多人都在用國網的 Server ( http://free.nchc.org.tw ),要換的話,請更改 /etc/apt/sources.list,將全部 tw.archive.ubuntu.com 都取代成 free.nchc.org.tw,其實還有另一個 domain 就是 opensource.nchc.org.tw,這些都可以用,沒有 apt 的 UbuntuDebian 簡直就不是 Server 了…XD

[Linux] 打造 Ubuntu 10.10 嵌入式系統 Embedded System 開發環境

作者於公司內部擔任嵌入式系統(Embedded System)工程師,由於嵌入式系統開發環境,本 Team 大多是用於 Fedora 作業系統,個人覺得 Fedora 太肥了,所以打造了 Ubuntu 的環境,針對於各家不同晶片廠商所提供的 ToolChain 及 Code base 進行編譯,其實也不會很難,修改 Makefile 檔案大致上都可以完成,安裝各種不同版本的 gcc 來搭配各家 Vendor 所提供的環境,底下是剛安裝好 Ubuntu 10.10 版本所需要的一些軟體套件,利用 apt-get 指令就可以安裝完成:

#!/bin/sh
apt-get update
apt-get -y install openssh-server
apt-get -y install vim
apt-get -y upgrade
apt-get -y install build-essential
apt-get -y install git
apt-get -y install subversion
apt-get -y install bison
apt-get -y install flex
apt-get -y install gettext
apt-get -y install g++
apt-get -y install libncurses5-dev
apt-get -y install libncursesw5-dev
apt-get -y install exuberant-ctags
apt-get -y install sharutils
apt-get -y install help2man
apt-get -y install zlib1g-dev libssl-dev
# for samba 3.0.2 
apt-get -y install gawk 
# for Ralink      
apt-get -y install libid3tag0-dev
apt-get -y install libgdbm-dev
[Read More]

[Linux] VirtualBox + Ubuntu 10.10 編譯嵌入式系統

vbox_logo2_gradient (by appleboy46)
最近使用

Ubuntu 來編譯嵌入式的環境,由於個人比較不喜歡 Fedora 的系統,所以自己用了 VirtualBox 來搭配 10.10 的 Ubuntu 系統,在這裡提醒一下,請安裝最新版的 VirtualBox 3.2.12 for Windows hosts,否則在安裝 Ubuntu 之後,繼續安裝 Guest Addition 的時候會當機喔,重開機之後可以看到桌面多出一個光碟,是要您繼續安裝 Additions VirtualBox + Ubuntu 切換到該光碟目錄

cd /media/VBOXADDITIONS_3.2.12_68302/
直接執行
sh VBoxLinuxAdditions-x86.run
重新開機就完成了,可以直接切換視窗大小...等,編譯 gcc 必須要一些 Cross tool,利用 apt-get 方式安裝:
apt-get install build-essential
安裝額外 USB 裝置: 視窗上面 Devices -> USB Devices 選擇你要的外接硬碟,會跳出 Windows 安裝額外 Driver

VirtualBox + Ubuntu 10.10 直接按 Continue Anyway VirtualBox + Ubuntu 10.10 完成 VirtualBox + Ubuntu 10.10 補上 Ubuntu 畫面 VirtualBox + Ubuntu 10.10

[Ubuntu/Debian] 使用系統設定全域 http Proxy

如果想讓 Ubuntu/Debian 不管是 http 或者是 ftp 都可以透過 Proxy 去取得資料,就必須要設定系統 Proxy,目前任職公司就必須這樣設定,當然也可以透過其他方式出去(ex. ssh tunnel) 可以搜尋其他文章,底下分成兩種方式設定。 1. 利用 command line 方式設定

export http_proxy=http://username:password@proxyserver.net:port/
export ftp_proxy=http://username:password@proxyserver.netport/
寫入 ~/.bashrc
source ~/.bashrc 
2. 利用 Desktop 介面設定
Settings-> Preference -> Network
系統\偏好設定\代理伺服器
reference:

How to use apt-get behind proxy server (Ubuntu/Debian) Ubuntu Proxy的設定

How to change run levels and init.d scripts in Ubuntu & Debian

Ubuntu 6.10 (Edgy Eft) 之後使用 Upstart 代替原來的 sysinit,而 init 是用來管理 Upstart 的 Daemon,本來系統預設的 runlevel 可以在 /boot/menu.list 或者是 /etc/inittab,可是現在這檔案已經移除了,取而代之的就是 Upstart 管理,可以利用 telinit 來改變系統 runlevel,然而現在 runlevel 的定義跟以前不太一樣了,原先 Ubuntu 跟 Fedora 系列 runlevel 代表意義如下: 0:系統關機 (to halt the system) 1:單一使用者模式 (single-user mode) 2:尚未使用(可由使用者定義) 3:多使用者模式 (文字介面登入) 4:尚未使用 (可由使用者定義) 5:多使用者模式 (含有一個X介面的登入畫面) 6:重新開機 (reboot the system) 轉換成 Upstart 的話,就會變成底下 0:系統關機 (to halt the system) 1:單一使用者模式 (single-user mode) 2:多使用者模式 (含有一個X介面的登入畫面) 3:多使用者模式 (含有一個X介面的登入畫面) 4:多使用者模式 (含有一個X介面的登入畫面) 5:多使用者模式 (含有一個X介面的登入畫面) 6:重新開機(reboot the system) 上面資訊可以在 man telinit 裡面找到,寫得很詳細,現在 Ubuntu 9. [Read More]

YASnippet is a template system for emacs

在 irc 頻道上面看到 gugod 貼了 YASnippet 介紹短片,gugod 也寫了一篇 Writing Moose code with yasnippet,YASnippet 是一個針對 emacs 開發者的模組工具,它大量減少寫程式的時間,且自動幫忙補其該有的程式,大家可以在 Linux 底下試試看這一套 template system,我們直接來看影片,就很清楚了。 目前支援程式語言:C, C++, C#, Perl, Python, Ruby, SQL, LaTeX, HTML, CSS and more.

如何在 console 端使用 Tail (View) Multiple Files on UNIX / Linux Console

這在管理 UNIX base 系統方面最重要的地方,不管是維護 Linux or FreeBSD 主機,都要學習如何觀看 log 檔案,系統出問題,不管是 apache 不能啟動,或者是 MySQL 發生錯誤,基本上都可以觀察 /var/log 底下的檔案來達到解決問題,平常在使用 Linux 預設可以用 tail 這個指令,使用方法如下:

tail -F /var/log/message
tail -f /var/log/message
-f 如果在 message 晚上 rotate 檔案的時候,就會停止
-F 持續偵測是否有新檔案,會繼續維持下去
[Read More]

[Debian] GNU/Linux 5.0 發布 zhcon 解決終端機亂碼

Debian 釋出了 GNU/Linux 5.0 發布,官方新聞 於2009年02月14日發佈出來,最近想說把自己的 NB 要換成 Debian 5.0 版本,不過之前都是在玩 Ubuntu 的狀況下,所以就找 i386 的 ISO 檔案,利用虛擬機器 VirtualBox,之前也沒有玩過虛擬機器,都是直接燒光碟,拿主機來硬幹,哈哈,不過想說學習一下 VitualBox 來試試看,我參考了一篇 VirtualBox指南,寫的很不錯,我就拿來使用 Debian 5.0 了,不過安裝過程其實還蠻簡易的,可以參考這篇:[教學]圖解Debian Desktop安裝筆記(1),這篇寫的很好,也淺顯易懂,安裝好之後,開機 grub 畫面如下: 2009-02-18_151709 (by appleboy46)

[Read More]

[MySQL] 實做 MySQL Master-Master Replication 同步

今天無聊實做了 MySQL 資料庫同步化,那可以先看看 MySQL Master Slave Replication,中文網站可以上 google 查詢或者是看看這一篇:MySQL 設定 Replication (Master – Slave),基本上設定還蠻容易的,如果會 Master 同步到 Slave 的話,那 MySQL Master-Master 只是在用相同的方法在做一遍,如果不懂 MMM 的可以先參考這一篇:MySQL Master-Master Replication Manager(1) – 簡介,這篇寫的很清楚,今天看了文章,我實做起來,遇到一些問題,其實還蠻奇怪的,所以底下就來紀錄一下步驟,順便也說明一下。 實做兩台 Ubuntu 機器: db1:192.168.1.1 db2:192.168.1.2 先設定 db1: 目前我都是在 Ubuntu 7.10 底下實做的,那基本上只要有支援 MySQL 的 Linux 或者 FreeBSD 機器都可以實做這個方法: 步驟一:先修改 my.cnf 這個檔案: FreeBSD 的話在:/var/db/mysql/my.cnf Ubuntu:/etc/mysql/my.cnf 有的版本是在 /etc/my.cnf 所以不太一定,請依照自己的作業系統 修改:

#
# bind-address 請 mark 起來,因為我們必須讓 MySQL Listen 各個不同的 IP Address
#bind-address           = 127.0.0.1
#
# server id 請記得每台機器都設定不同喔
#
server-id               = 1
log_bin                 = /var/log/mysql/mysql-bin.log
[Read More]