顯示具有 Subversion 標籤的文章。 顯示所有文章
顯示具有 Subversion 標籤的文章。 顯示所有文章
2012-03-14 14:48

[Ubuntu 11] 安裝 Redmine 與 SVN

安裝 LAMP & Redmine
# 安裝 LAMP
apt-get install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 libapache2-mod-auth-mysql 

# 安裝 svn, dav_svn
apt-get install subversion libapache2-svn 

# 安裝 redmine
apt-get install redmine redmine-mysql libapache2-mod-fcgid libapache2-mod-passenger

# 可以使用下面的方式重新設定 redmine DB 連結
#dpkg-reconfigure redmine 

# 啟用 Apache 套件 php5, headers, expires
a2enmod php5 dav_svn auth_mysql cgid fcgid passenger rewrite ssl setenvif 

# 安裝 git, phpmyadmin
apt-get install mercurial git-core phpmyadmin

# 連結 phpmyadmin 設定檔
cd /etc/apache2/conf.d/
ln -s ../../phpmyadmin/apache.conf phpmyadmin.conf
service apache2 restart


安裝 Redmine 套件
gem install pandoc-ruby rdiscount rpeg-markdown bluefeather

cd /usr/share/redmine/vendor/plugins


# 安裝 Code Review 套件
hg clone https://bitbucket.org/haru_iida/redmine_code_review
rake db:migrate_plugins RAILS_ENV=production


# 安裝 Markdown Extra formatter 套件
git clone git://github.com/juno/redmine_markdown_extra_formatter.git


# 安裝 reStructuredText formatting 套件
git clone git://github.com/alphabetum/redmine_restructuredtext_formatter.git
cd redmine_restructuredtext_formatter
git checkout pandoc-ruby


建立SVN庫
mkdir -p /home/repoadmin/repos
svnadmin create /home/repoadmin/repos/team1
svnadmin create /home/repoadmin/repos/team2
chown -R www-data:www-data /home/repoadmin/repos


建立SVN認證時需要的DB使用者(redmine_svn_auth)
CREATE USER 'redmine_svn_auth'@'localhost' IDENTIFIED BY 'redmine_svn_auth';
GRANT SELECT(id, login, hashed_password, status ,type) ON redmine_default.users TO 'redmine_svn_auth'@'localhost';


設定 Apache2 Site
cd /etc/apache2/sites-available/
cp default redmine_svn
vim redmine_svn

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /usr/share/redmine/public

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    <Directory /usr/share/redmine/public>
        Options ExecCGI FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all

        RewriteEngine On
        RewriteRule ^$ index.html [QSA]
        RewriteRule ^([^.]+)$ $1.html [QSA]
        RewriteCond %{REQUEST_FILENAME} !-f [OR]
        RewriteCond %{REQUEST_FILENAME} dispatch.fcgi$
        RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]
    </Directory>

    <Location /svn>
        DAV svn
        SVNParentPath /home/repoadmin/repos
        SVNPathAuthz off

        AuthBasicAuthoritative Off
        AuthUserFile /dev/null
        AuthType Basic
        AuthName "Subversion Repository"

        # auth_mysql help in http://localhost/doc/libapache2-mod-auth-mysql/DIRECTIVES.gz
        Auth_MYSQL On
        Auth_MySQL_Host localhost
        Auth_MYSQL_DB redmine_default
        Auth_MYSQL_Username redmine_svn_auth
        Auth_MYSQL_Password redmine_svn_auth
        Auth_MYSQL_Password_Table users
        Auth_MYSQL_Username_Field login
        Auth_MYSQL_Password_Field hashed_password
        Auth_MySQL_Password_Clause " AND status=1 AND type='User' "
        Auth_MYSQL_Empty_Passwords Off
        Auth_MYSQL_Encryption_Types SHA1Sum
        # Options: Crypt_DES, Crypt_MD5, Crypt, PHP_MD5, SHA1Sum, MySQL, Apache

        Require valid-user
    </Location>

    LogLevel warn
    CustomLog /var/log/apache2/redmine_access.log combined
    ErrorLog /var/log/apache2/redmine_error.log
</VirtualHost>


重新啟動 Apache
a2dissite default
a2ensite redmine_svn
service apache2 restart


測試網址


參考來源:
將 Redmine 安裝於 Debian、Ubuntu Linux
Ubuntu 10.04 using Passenger
svn 使用和 redmine 相同帳號進行認證
2010-12-08 13:45

SVN connection settings for Eclipse

建立 SVN 連結



將現有專案 commit 到 SVN 上



開啟 SVN keywords PS:這個功能是由 client 處理的
選取專案 -> 右鍵 -> 內容



在專案下建立以下內容,然後 commit 到 SVN 上
<?php
// SVN-keywords-test.php
/*
$Id$
$Date$
$Revision$
$Author$
$HeadURL$
*/

參考來源:
Subversion中的关键字替换
关键字替换
如何结合使用 Subversion 和 Eclipse
在eclipse下的SVN插件配置忽略文件和文件夹
2010-12-08 11:42

[Ubuntu] setup SVN base Apache note

# 安裝 Apache & SVN
apt-get install apache2 apache2.2-common apache2-utils apache2-doc libapache2-svn subversion

# 建立 Repositorys 的目錄
mkdir /var/lib/svn

# 建立三個 Repository
svnadmin create /var/lib/svn/repo1
svnadmin create /var/lib/svn/repo2
svnadmin create /var/lib/svn/repo3


# 變更 Repositorys 的權限給 Apache
chown -R www-data:www-data /var/lib/svn

# 啟用 Apache 中的 dav_svn
a2enmod dav_svn

# 設定 SVN 使用者帳號
htpasswd -c /etc/apache2/dav_svn.passwd user1
htpasswd /etc/apache2/dav_svn.passwd user2
htpasswd /etc/apache2/dav_svn.passwd user3


# 編輯 SVN 配置檔
vim /etc/apache2/mods-available/dav_svn.conf
<Location /svn>
  DAV svn
  SVNParentPath /var/lib/svn
  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd
  AuthzSVNAccessFile /etc/apache2/dav_svn.authz
  <LimitExcept GET PROPFIND OPTIONS REPORT>
    Require valid-user
  </LimitExcept>
</Location>

# 編輯 SVN 資源權限
vim /etc/apache2/dav_svn.authz
# 設定使用者群組
[groups]
group1 = user1,user2
group2 = user1,user3


# 設定全域皆可讀取
[/]
* = r

# 指定 repo1 只有 group1 可以寫入
[repo1:/]
@group1 = rw

# 指定 repo1 中 blog 這個目錄只有 uesr2 可以寫入
[repo1:/blog/]
uesr2 = rw


# 指定 repo2 只有 group2 可以寫入
[repo2:/]
@group2 = rw

# 指定 repo3 只有 user1 可以寫入
[repo3:/]
user1 = rw

# 重新啟動 Apache
/etc/init.d/apache2 restart


參考來源:
Ubuntu - 安裝 SVN (Subversion Server)
Subversion用户,权限管理
2010-08-28 19:42

Eclipse + PHPEclipse + Aptana 安裝

要安裝 Eclipse 說實在的還需要一點經驗
首先 Eclipse 是 Base 在 Java 上的應用程式,所以先到 Java.com 去下載 Java Runtime Environment。
再來到 Eclipse Downloads 去下載 Eclipse 主程式。


這裡我還是用我熟悉 3.5 版本 Eclipse Galileo 做範例,既然 Web 開發那就直接下載 Eclipse for PHP Developers 這個有封裝 PDT 的 Package
Downloda : eclipse-php-galileo-win32.zip



再來我們先來去找中文語言包 Eclipse Babel Project Downloads
Downloda :
BabelLanguagePack-eclipse-zh_TW_3.5.0.v20100814074441.zip
BabelLanguagePack-tools.mylyn-zh_TW_3.5.0.v20100814074441.zip
BabelLanguagePack-tools.pdt-zh_TW_3.5.0.v20100814074441.zip
BabelLanguagePack-tptp.platform-zh_TW_3.5.0.v20100814074441.zip
BabelLanguagePack-rt.equinox-zh_TW_3.5.0.v20100814074441.zip

下載好後將全部解壓縮就可以了,然後執行 eclipse.exe



先來安裝 PHPEclipse,進入 -> 說明 -> Install New Software
在 Work with 貼上 PHPEclipse 的線上安裝路徑,然後按下 Enter,選項出現後選擇 PHPEclipse,下一步 下一步 同意 完成 (因為是線上安裝,所以會有點久)
http://phpeclipse.sourceforge.net/update/stable/1.2.x/



再來安裝 Aptana,進入 -> 說明 -> Install New Software
在 Work with 貼上 Aptana 的線上安裝路徑,然後按下 Enter,選項出現後選擇 Aptana Studio,下一步 下一步 同意 完成
http://download.aptana.com/tools/studio/plugin/install/studio



最後來安裝我常用的套件
  • Database Developers:可以撰寫 SQL script 跟連接 Database
  • Subversive:用來連接 SVN 的 Client 套件
  • RSE:可以連接 SSH 跟 SFTP 的遠端連接套件

進入 -> 說明 -> Install New Software
在 Work with 的選項中選擇 Galileo - http://download.eclipse.org/releases/galileo,然後按下 Enter,然後就會出現一堆官方套件選擇
  • Data Tools Platform Enablement Extender SDK
  • Data Tools Platform Extender SDK
  • Subversive SVN Integration for the Mylyn Project
  • Subversive SVN Team Provider
  • Remote System Explorer End-User Runtime
  • Remote System Explorer User Actions

一樣 下一步 下一步 同意 完成

重開之後會跳出 Subversive 的選項,OS 是 Windows 的話選擇下面的選項:
  • JavaHL 1.5.4 Win32 Binaries
  • JavaHL 1.6.0 Win32 Binaries
  • Native JavaHL 1.5 Implementation
  • Native JavaHL 1.6 Implementation
  • Subversive SVN Connectors



因為額外多裝了一些官方套件,順便來去下載語言包
BabelLanguagePack-datatools-zh_TW_3.5.0.v20100814074441.zip
BabelLanguagePack-technology.subversive-zh_TW_3.5.0.v20100814074441.zip



最後最後中肯的建議,別在單一一個 Eclipse 上加太多套件,不然 Eclipse 會變成吃效能的怪物,最好依工作性質分成幾個不同類型的開發環境。