2012年9月9日 星期日

[Linux] cgit 中文安裝

這篇的內容百分之一百 都是抄之官網的說明書..

所以 當個翻譯官吧

順便給自己一個紀錄

最近ezilla專案用到這玩意 , 來紀錄專案開發歷程

OS: CentOS 6.3 minimal 安裝

由於系統安裝最小化,再編譯時會遇到沒有所需工具的關係。

所以我偷懶得

直接用

 
yum groupinstall 'Development Tools'

安裝完成後

接下來 我是採取使用git clone下來最新的版本,

所以

 
git clone git://hjemli.net/pub/git/cgit
cd cgit
git submodule init
git submodule update
更新git submodule 新的版本
然後 vi Makefile 更新

 
CGIT_SCRIPT_PATH = /var/www/htdocs/cgit #(這裡改到你要放的CGI空間)
 
make
sudo make install
#此時3個檔案應該會被寫入至/var/www/htdocs/cgit

分別為 cgit.cgi cgit.css ,cgit.png

利用root 帳號建立 /etc/cgitrc 檔案

vi /etc/cgitrc
 
repo.url=UI
repo.path=yourgitplace ex:/home/git/123.git
repo.desc= description of your project ..
repo.owner= Anyone Group.
repo.readme= Your Readme Site.
repo.url=Your Project Website

cache-size=1000
css=/cgit/cgit.css
logo=/cgit/your_logo.png


enable-commit-graph=1 # 圖形化 commit線條 ,但是不知道為何 我的版本無法正常work
enable-tree-linenumbers=1 # 開啟tree 頁面的 行數 功能
enable-log-linecount=1 #開啟log 頁面的 行數 功能
remove-suffix=1

root-desc= your project description
root-title= your project title

#此資料夾必須於Apache處設定

 
<Directory "/var/www/htdocs/cgit/">
      AllowOverride None
      Options +ExecCGI
      Order allow,deny
      Allow from all
</Directory>


[1] http://hjemli.net/git/cgit/about/

2012年9月4日 星期二

如何自動化登入在sourceforge,(shell,web)的終端連入 而不需密碼。 How to automate login sourceforge (shell,web)

備份一下這篇文章,
不然我一個早上都再建立sourceforge上的家目錄中的.ssh資料夾,

再丟入authorized_keys 實在很蠢

sourceforge 上的文件實在太長了,小J我英文實在不怎樣..

翻一早上文件總算找到了之前看到的部份,

原來他只有短短幾行敘述 ,被我忽略掉了


All SourceForge.net services that are accessed via SSH will make use of the same set of (one or more) keys.
All SSH key data is managed using the links from the Account Services page on the SourceForge.net site. [1]

sourceforge的帳號管理頁面(用來註冊ssh key)

登入後你將會看到

Number of SSH Shared Keys 的欄位

然後點下這個地方,將會轉跳至


把你的ssh key 貼進來這裡

然後

使用

ssh -t yoursourceforgeaccount ,yourproject@shell.sourceforge.net create
example :
              ssh -t batman,ezilla-project@shell.sourceforge.net create


應該就可以無密碼登入了 (可能需要稍等一會,約估1分鐘)

當然最重要的是 web 的更新,


所以利用不用密碼的特性。

就可以使用crontab來更新 sourceforge上的網頁。

由於小J需要將把外部主站上資訊定時更新至其他的mirror站台

所以就使用rsync 來更新至sourceforge上。(script 放置於Evernote, 有需要者再來信詢問)

[1] https://sourceforge.net/apps/trac/sourceforge/wiki/SSH%20keys


pmwiki 搬移站台筆記

由於小J最近在搬移pmwiki專案,(第二次搬,第一次搬成功的時候我忘了做筆記。這次學乖了)

做一下筆記來方便以後如遇到這樣的情形,


該該如何改動pmwiki專案的設定值

來確保原先網站能正常執行

首先需先確保pmwiki檔案的群組為apache,使用者為你一般的使用者
(當然也可以用root,但此處希望能簡化管理需求)

pmwiki 中的 wiki.d 資料夾需更改權限為 2775  (drwxrwsr-x)

userauth2 套件

chmod 2775 cookbook/userauth2/session_data/ 讓session可正常寫入至網站伺服器做登入紀錄


fileupload 套件( jsfilelist.php  check 已上傳什麼東西)
                         ( ddmu.php 拖曳上傳images)


由於要開放使用者上傳檔案,所以需更改upload資料夾的權限 為2775,
其子資料夾也必須更改為2775,才能正常創立頁面。


至於config檔設定,備份於Evernote中,若有此處疑問,請留言詢問

更換Terminal 字體在Gnome 終端機 (Mint 13)

OS : Mint 13


 為什麼會寫這篇文呢?

因為我看到ptt推薦將預設的字體更換,來方便程式開發者 更快瞎掉!?

應該說看起來更舒服比較能寫久一點,

上網google了一下找到[1] fred大推薦的字體,Terminus 字型

安裝完成後卻找不到設定字體的地方在Terminal上,只好一個一個點開來找。

結果居然藏在
編輯->設定編輯組合偏好設定裡頭















然後再將使用系統的固定寬度字型 打勾取消
然後更改為Terminus ,














關掉這視窗後,接下來你可以繼續努力的宅下去了

:)

 [1] http://fred-zone.blogspot.tw/2009/01/terminus.html

2012年9月3日 星期一

[Linux] Apache - VirtualHost within server different port(如何利用伺服器的port來架設多個site

此篇為筆記可能未整理完整概念,
剛好是因為遇到工作環境硬碟損壞的情形,
需要將所有的伺服器合併到同一台虛擬機上。(虛擬機架設於 Easy Cloud - powered by ezilla)
此篇筆記比較適合於您的DNS申請麻煩,
還未下來前您需要再這台機器上先佈置多個網站環境,所以,用port來分別多個不同site。


OS: CentOS 6.3 minimal
Software: Apache version 2.2.15
             

下面yourdomainname 可以替代為你的伺服器domainname(網址列上打的那串),或者是IP。
而Directory 的 /var/www/html/site808x都可以替換成你原先置放的網頁位子
例如 /var/www/html/yoursite
 
#此三行必加 用來增加apache聆聽主機上的port
Listen 8080 
Listen 8081
Listen 8082

NameVirtualHost yourdomainname:8080
NameVirtualHost yourdomainname:8081
NameVirtualHost yourdomainname:8082

#此處改成你想放置的網頁位子
#/var/www/html/site1
<directory "/var/www/html/site8080">
        Options FollowSymLinks Indexes
        AllowOverride None
        Order allow,deny
        Allow from all
</directory>

<directory "/var/www/html/site8081">
        Options FollowSymLinks Indexes
        AllowOverride None
        Order allow,deny
        Allow from all
</directory>

<directory "/var/www/html/site8082">
        Options FollowSymLinks Indexes
        AllowOverride None
        Order allow,deny
        Allow from all
</directory>

# set DocumentRoot

<virtualhost yourdomainname:8080>
        ServerAdmin     your@email.com
        ServerName      yourdomainname:8080
#這裡也可以改成
#       ServerName      www.example.com
        DocumentRoot    /var/www/html/site8080
        ErrorLog        logs/site8080-error_log
        CustomLog       logs/site8080-access_log common

</virtualhost>

<virtualhost yourdomainname:8081>
        ServerAdmin     your@email.com
        ServerName      yourdomainname:8081
        DocumentRoot    /var/www/html/site8081
        ErrorLog logs/site8081-error_log
        CustomLog logs/site8082-access_log common
</virtualhost>

<virtualhost yourdomainname:8080>
        ServerAdmin     your@email.com
        ServerName      yourdomainname:8082
        DocumentRoot    /var/www/html/site8082
        ErrorLog logs/site8083-error_log
        CustomLog logs/site8083-access_log common
</virtualhost>
別忘了再檢查 iptables 是否有開設8080 - 8083 port
 
vi /etc/sysconfig/iptables
#新增下列三行
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8082 -j ACCEPT
新增完成後,將 iptables 重啟
 
service iptables restart
你就可利用 任何一種瀏覽器做測試了! [1]http://linux.vbird.org/linux_server/0360apache.php#www_adv_virtual
[2]http://httpd.apache.org/docs/2.2/vhosts/examples.html#port