目前分類:Linux (7)

瀏覽方式: 標題列表 簡短摘要
直接設定 vim /etc/fstab 寫入下面那行
tmpfs /tmp tmpfs size=100m,mode=1777 0 0
# 設讓 RAM 掛 100Mb 在 /tmp

roder0419 發表在 痞客邦 留言(0) 人氣()

之前用過Cacti,但若硬體不同或是OS不同,甚至因為安裝的軟體版本不同,有時SNMP吐出來的資訊便有所差異,要去找相對應的plug-in
造成監控資訊多少有誤差,大概只有網路流量比較正確一點
網路上看了Zabbix的相關資訊,打算用它來替代Cacti&Nagios來做監控

roder0419 發表在 痞客邦 留言(0) 人氣()

用此來編譯PHP程式加快執行速度

 

先更新APT

apt-get update

 

Packages installation

Using sudo or as root user:

As outlined in the 11.04 instructions
sudo apt-get install git-core cmake g++ libboost-dev libmysqlclient-dev libxml2-dev libmcrypt-dev libicu-dev openssl build-essential binutils-dev libcap-dev libgd2-xpm-dev zlib1g-dev libtbb-dev libonig-dev libpcre3-dev autoconf libtool libcurl4-openssl-dev libboost-system-dev libboost-program-options-dev libboost-filesystem-dev wget memcached libreadline-dev libncurses-dev libmemcached-dev libicu-dev libbz2-dev libc-client2007e-dev php5-mcrypt php5-imagick libgoogle-perftools-dev libjemalloc-dev

Required on 11.10
sudo apt-get install libcloog-ppl0

 

Getting HipHop source-code

cd /home/roder
git clone git://github.com/facebook/hiphop-php.git
cd hiphop-php
export CMAKE_PREFIX_PATH=`/bin/pwd`/../
export HPHP_HOME=`/bin/pwd`
export HPHP_LIB=`/bin/pwd`/bin
cd ..

 

Building third-party libraries

libevent

wget http://www.monkey.org/~provos/libevent-1.4.14b-stable.tar.gz
tar -xzvf libevent-1.4.14b-stable.tar.gz
cd libevent-1.4.14b-stable
cp ../hiphop-php/src/third_party/libevent-1.4.14.fb-changes.diff .
patch -p1 < libevent-1.4.14.fb-changes.diff
./configure --prefix=$CMAKE_PREFIX_PATH
make
sudo make install
cd ..

 

libCurl

Make sure that your system time is correct, otherwise ./configure will fail.

wget http://curl.haxx.se/download/curl-7.21.2.tar.gz
tar -xvzf curl-7.21.2.tar.gz
cd curl-7.21.2
cp ../hiphop-php/src/third_party/libcurl.fb-changes.diff .
patch -p1 < libcurl.fb-changes.diff
./configure --prefix=$CMAKE_PREFIX_PATH

As per: https://github.com/bagder/curl/commit/26b487a5d6ed9da5bc8e4a134a88d3125884b852

  • Edit lib/ssluse.c

As per: https://github.com/facebook/hiphop-php/issues/319#issuecomment-1445537

  • Edit runtime/ext/extension.cpp

make
sudo make install
cd ..

libmemcached

wget http://launchpad.net/libmemcached/1.0/0.49/+download/libmemcached-0.49.tar.gz
tar -xzvf libmemcached-0.49.tar.gz
cd libmemcached-0.49
./configure --prefix=$CMAKE_PREFIX_PATH
make
sudo make install
cd ..

Building HipHop

cd hiphop-php
git submodule init
git submodule update
cmake .
make

roder0419 發表在 痞客邦 留言(0) 人氣()

一般的解決方法為

1. # 列出所有的 mysql 執行緒
2. ps -aux|grep mysql
3.
4. # 刪掉看見的 pid
5. kill [pid]
6.
7. # 再重啟 MySQL
8. /etc/init.d/mysql

自己的解決方法

1. 不過上面的方法不行,最後我就得自找一下出錯的問題
2. 通過使用 mysqld_safe& 這指令,看見有 error msg 輸出到檔案.
3. 打開檔案查看,發現記錄很多,最後決定刪除,再讓他生成之際..
4. 奇積出現.再執行 mysqld_safe& 時,發現錯誤沒再輸出.而是寫著重啟成功?
5. 打開網頁查看,發現真的可以了 ..
6. 最後再看 HDD 位置,發現原來被 Data 備份寫滿了,變成不能再寫入新檔案 = =

roder0419 發表在 痞客邦 留言(0) 人氣()

這個是在/etc/skel的目錄裡面所建立的子目錄,之後都匯出現在新建帳號的/home/XXX下面
例如:
sudo mkdir /etc/skel/tmp
sudo useradd test

之後在/home/test下面就會出現一個tmp目錄

roder0419 發表在 痞客邦 留言(0) 人氣()

網路上看這篇文章http://www.ichiayi.com/wiki/tech/svnmantis
他的PERL程式我在整合上都出現問題,所以還是參考這裡的文章
http://alt-tag.com/blog/archives/2006/11/integrating-mantis-and-subversion/
加上自己的修改而成,終於順利整合成功
做法如下:


1.先裝SVN套件
apt-get install subversion

2. 安裝apache svn module 以取得svn相關組件
apt-get install apache2-utils apache2.2-common libapache2-svn

3.安裝mantis
到這裡下載最新的穩定版 http://www.mantisbt.org/download.php
我裝的是1.1.4

4.建立svn repository
sudo mkdir /home/svn
sudo svnadmin create /home/svn/mantis

5.設定dav_svn.conf
sudo vim /etc/apache2/mods-available/dav_svn.conf


DAV svn
SVNParentPath /home/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
Require valid-user


6.編輯dav_svn.authz
[mantis:/] #<---mantis是我當初svnadmin create的名稱
* =
test= rw #<--test是帳號他擁有讀寫權

7.產生dav_svn.passwd的密碼
sudo htpasswd -c /etc/apache2/dav_svn.passwd test
若要增加第二位以上的使用者(不要加-c)
sudo htpasswd /etc/apache2/dav_svn.passwd test

8.修改mantis下的config_inc.php,加入以下敘述
#Source Control
$g_source_control_account = 'svn'; #<--這是在mantis建立的帳號
$g_source_control_regexp = '/\b(?:bug|issue|mantis)\s*[#]{0,1}(\d+)\b/i';
$g_source_control_set_status_to = RESOLVED;
$g_source_control_set_resolution_to = FIXED;
$g_source_control_fixed_regexp = '/\bfix(?:ed|es)\s+(?:bug|issue|mantis)?\s*[#]{0,1}(\d+)\b/i';

9.在/home/www/mantis下新增svn2mantis.sh (這是指mantis的網頁的路徑下)
#!/bin/sh

REPOS="$1"
REV="$2"
#export LANG=zh_TW.UTF-8這是為了相容中文
auth="$(export LANG=zh_TW.UTF-8;/usr/bin/svnlook author -r $REV $REPOS)"
dt="$(export LANG=zh_TW.UTF-8;/usr/bin/svnlook date -r $REV $REPOS)"
log="$(export LANG=zh_TW.UTF-8;/usr/bin/svnlook log -r $REV $REPOS)"
changed="$(export LANG=zh_TW.UTF-8;/usr/bin/svnlook changed -r $REV $REPOS)"
border='========================'
n=$'\n'

echo "Changeset [${REV}] by $auth, $dt$n$log$n$border$changed$border" | /usr/bin/php -q /home/www/mantis/scripts/checkin.php

10.新增/home/svn/mantis/hook/post-commit
#!/bin/sh

REPOS="$1"
REV="$2"

/home/www/mantis/svn2mantis.sh "$REPOS" "$REV"

11.建立一個PROJECT目錄
sudo mkdir /home/svn/mantis/files

12.import這個PROJRCT到svn
sudo svn import /home/svn/mantis/files file:///home/svn/mantis

以上設定完成,重新啟動apache2
sudo /etc/init.d/apache2 restart

這個時候用瀏覽器開啟 http://XXX/svn/mantis 輸入剛剛建立的svn帳號和密碼就可以看到最新的更新文件

以下介紹在client端用TortoiseSVN commit文件時的設定

1.先在你要做SVN的目錄按下滑鼠右鍵,選SVN checkout,將檔案庫的路徑用http://XXX/svn/mantis
之後會出現要你輸入SVN帳密

2.之後在TortoiseSVN裡設置一下項目的屬性,右鍵點擊目錄,屬性,在subversion一欄裡,加入這幾個屬性

bugtraq:label = issue
bugtraq:url = http://%3cmantisserver%3e/mantis/view.php?id=%BUGID%
bugtraq:message = issue %BUGID%
bugtraq:warnifnoissue = true

3.這時候使用者用TortoiseSVN commit時會要輸入issue編號,這是在mantis中的BUG編號
輸入完畢送出後,到http://XXX/mantis 網頁可以看到剛剛輸入的bug note

roder0419 發表在 痞客邦 留言(0) 人氣()

#每 30 分鐘同步一次
*/30 * * * * (/usr/sbin/ntpdate -s time.stdtime.gov.tw; /usr/sbin/hwclock -w) > /dev/null 2>&1

#/usr/sbin/hwclock -w 把目前的時間寫到 BIOS 裡
#"> /dev/null" 表示不留下任何記錄
#"2>&1" 表示若有錯誤,就照標準錯誤輸出

roder0419 發表在 痞客邦 留言(0) 人氣()