星期一, 9月 12, 2011

「arch linux」安裝 APACHE + Mercurial

沒記錄起來,下次就忘記了,記憶力越來越不可靠了。
「arch linux」安裝 APACHE + Mercurial

「Apache 」

「 Mercurial」
  • 安裝 Mercuial 
    • pacman -S mercurial
  • 查詢安裝位置,可以發現他的lib都放在 /usr/lib/python2.7/site-packages/mercurial/
    • pacman -Ql mercurial
  • 建立hgwebdir.cgi ,arch 沒有像ubuntu 有附 hgwebdir.cgi範例,最後找了老半天
    • python2.7 是對應 剛剛查的lib路徑裡面的python版本
#!/usr/bin/env python2.7
from mercurial import demandimport; demandimport.enable()
import cgitb
cgitb.enable()
import os
os.environ["HGENCODING"] = "UTF-8"
from mercurial.hgweb.hgwebdir_mod import hgwebdir
import mercurial.hgweb.wsgicgi as wsgicgi
application = hgwebdir('hgweb.config')
wsgicgi.launch(application)

  • 之後建立 hgweb.config 
    • colletions 是你WEB的HG專案的位置,小弟是直接同步到Dropbox作備份了。
[collections] 
/home/cake/Dropbox/jeff/Project/ = /home/cake/Dropbox/jeff/Project/
[web]
style = gitweb
allow_push = *
push_ssl = false
#allow_read = cake
[trusted]
users = *
#groups = *
[hooks]
#changegroup = hg update

  • 建立好的2個檔案  hgwebdir.cgi  和 hgweb.config  需要在同個目錄,
    • 檔案位置 看喜歡放在哪裡都行,不過不要弄丟了,權限也要設好。
    • 小弟放在 /srv/hg/cgi-bin/

  •  建立虛擬目錄 編輯/etc/httpd/conf/httpd.conf 或者 你的設定檔
    • 目錄要按照CGI自己的放的位置
    • ^/hg(.*)  則是網址
    • AuthUserFile 使用者檔案
ScriptAliasMatch        ^/hg(.*)       /srv/hg/cgi-bin/hgwebdir.cgi$1
<Directory /home/cake/public_html/hg/cgi-bin/>
Options ExecCGI FollowSymLinks
AllowOverride None
AddHandler cgi-script .cgi
</Directory>
<Location /hg/>
 AuthType Digest
  AuthName "mercurial"
  #AuthDigestProvider file
  AuthUserFile /srv/hg/hgusers
</Location>


詳細參考:http://kevinjalbert.blogspot.com/2010/05/mercurial-setup-guide.html



2013 - 03/10 - 更新

關於APACHE CONFIG 設定 ,多那黃色的三行 就行跑。


<VirtualHost *>
ErrorLog "/srv/apache_error_git.log"
#cx   hgwebdir.cgi   /srv/hg/cgi-bin
#ScriptAlias /hg "/srv/hg/cgi-bin/hg.cgi"

ScriptAliasMatch ^/hg(.*) /srv/hg/cgi-bin/hg.cgi$1
<Directory  /srv/hg/cgi-bin/>
Options ExecCGI FollowSymLinks
AllowOverride None
AddHandler cgi-script .cgi
    Order allow,deny
    Allow from all
    Satisfy all

</Directory>

<Location       /hg/>
 AuthType Digest
  AuthName "mercurial"
  #AuthDigestProvider file
  AuthUserFile /srv/hg/hgusers
</Location>

</VirtualHost>





星期五, 9月 09, 2011

「Arch Linux」安裝記錄

從去年 的Ubuntu 10.04  -> 10.10 -> 11.04 -> 11.10 beta1
用了一年,最後還是掛掉了,以及那個 隨時都會跑出 “回報錯誤”的該死小框框,
而且回報錯誤還要打密碼....
最後只好殺掉來 嘗試看看 arch linux。

[網路]
一開始安裝好後,是沒有pppoe 的功能,看了論壇之後得到了解答。
0.載入arch 的LIVE CD
1.掛載硬碟
mount /dev/sdaX /mnt/disk
2.ADSL上網 pppoe-setup pppoe-start
3.安裝pppoe ppp net-tool ,
pacman -r /mnt/disk -S rp-pppoe ppp

[配置]
1.安裝顯示卡(NVIDIA)

  • nvidia
    • pacman -S nvidia
  • 設定檔
    • nvidia-xconfig
2.安裝 滑鼠鍵盤
  • pacman -S xf86-input-keyboard
  • pacman -S xf86-input-mouse
3.安裝 dbus
  • pacman -S dbus
4.安裝音效卡
  • pacman -S alsa-utils
  • pacman -S alsa-oss
[設定檔]
1.編輯 /etc/rc.conf 修改DAEMONS,加入啟動
DAEMONS=(syslog-ng network dbus crond alsa)
[增加使用者]
adduser -m -s /usr/bin [YourUserNAME]
[群組] audio, lp,storage,vidieo,wheel,games,power,scanner

[安裝Gnome]

  • pacman -Syu gnome
  • pacman -S gnome-extra
  • pacman -S gdm

[IBUS]

  • pacman -S ibus
  • pacman -Ss ibus ,用搜尋 來看想裝的輸入法
  • 若安裝ibus-googlepingyin ,需要安裝 opencc 才可以轉繁體

[iBus 設定]
1.家目錄的 .bashrc
export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus

2.家目錄的 .profile
export XMODIFIERS=@im=ibus
export GTK_IM_MODULE=xim
export QT_IM_MODULE=xim
ibus-daemon -d -x -r

[網路 改用 networkmanager]
參考
https://wiki.archlinux.org/index.php/NetworkManager_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#Gnome.E7.8E.AF.E5.A2.83

  •  pacman -S network-manager-applet
  • pacman -S gnome-keyring
  • 在 rc.conf DAEMONS 取消network 增加 networkmanager
  •  修改 /etc/NetworkManager/NetworkManager.conf 
[main]
plugins=keyfile
[keyfile]
hostname=localhost

[載入硬碟]


[android SDK]

  • 啟動 adb 會說缺少一個 lib ,那個lib 需要安裝 32位元的lib,pacman 找的到。

[END]
感覺很好用,可以只裝用的到的軟體。