*Trac インストール [#uf91ee7f]
#contents2_1(compact=true,depth=1-2)

&br;
*OpenSSL インストール [#ac13faa7]
**インストール [#f3f14c11]

 $ wget http://www.openssl.org/source/openssl-0.9.8k.tar.gz
 $ cd /usr/local/src
 $ tar zxvf openssl-0.9.8k.tar.gz
 $ cd openssl-0.9.8k
 $ ./config -fPIC shared --prefix=/usr/local/openssl
 $ make
 $ sudo make install



**共有ライブラリに追加 [#wc238dd3]
***ファイルの修正 [#r043ed10]
openssl.conf を新たに作成し「/usr/local/openssl/lib」を記述する。

 $ sudo vim /etc/ld.so.conf.d/openssl.conf
 
 /usr/local/openssl/lib

***ldconfig 更新 [#rca7b67f]
 $ sudo ldconfig

***確認 [#j5ec0cd4]
 $ ldconfig -p | grep 'openssl'


**参考URL [#f67e6b9d]
-[[http://www.openssl.org/source/]]

&br;
*Apache2 の取得 [#i9a07994]
 $ cd /usr/local/src
 $ wget http://www.meisei-u.ac.jp/mirror/apache/httpd/httpd-2.2.11.tar.gz
 $ tar zvxf httpd-2.2.11.tar.gz


&br;
*apr インストール [#i2266444]
apr(Apache Portable Runtime)をインストールする。&br;

**インストール [#pbddd53d]
 $ cd /usr/local/src/httpd-2.2.11/srclib/apr
 $ ./configure --prefix=/usr/local/apr --enable-threads
 $ make
 $ sudo make install

**参考URL [#r239e525]
 http://apr.apache.org/


&br;
*apr-util インストール [#b5ee011f]
apr-util(Apache Portable Runtime Utility)をインストールする。&br;

**確認 [#q2d0f939]
事前に apr、iconv、expat をインストールしておく。&br;

***iconv [#daddbaa4]
iconv がインストールされているか確認する。
 $ which iconv

***expat [#g67c82ba]
expat がインストールされているか確認する。
 $ yum list install | grep expat-devel

expat がインストールされていなかったら、インストールする。
 $ sudo yum install expat-devel


**インストール [#d9fcac61]
 $ cd /usr/local/src/httpd-2.2.11/srclib/apr-util
 $ ./configure --prefix=/usr/local/apr --with-apr=/usr/local/apr
 $ make
 $ sudo make install

**メモ [#zd3dcd69]
confiture するとき、 --with-expat=/usr/local --with-iconv=/usr/local などと場所を指定もできるみたい。

&br;
*apache2 インストール [#l593257e]
**インストール [#m1341061]
configure するときは、OpneSSL をインストールしたので、「--enable-ssl と --with-ssl」オプションをつける。

 $ cd /usr/local/src/httpd-2.2.11
 
 $ ./configure 
 --prefix=/usr/local/apache2  
 --enable-mods-shared=most 
 --enable-dav 
 --enable-dav-fs 
 --enable-dav-lock 
 --enable-cgi 
 --enable-cgid 
 --enable-cache
 --enable-mem-cache
 --enable-proxy 
 --enable-proxy-blancer
 --enable-rewrite 
 --enable-so 
 --enable-ssl 
 --with-apr=/usr/local/apr 
 --with-apr-util=/usr/local/apr 
 --with-ssl=/usr/local/openssl 

 $ make
 $ sudo make install

**configure オプションメモ [#tb330315]
ドキュメントキャッシュ機能(参考:[[強化されたドキュメントキャッシュ機能を使う:http://www.atmarkit.co.jp/flinux/special/apache22/apache02.html]])
-enable-cache (ドキュメントキャッシュ機能を有効にする)
-enable-disk-cache (ディスクキャッシュ)
-enable-mem-cache (メモリキャッシュ)

負荷分散のためのロードバランス機能
-enable-proxy
-enable-proxy-blancer

&br;
*apache 設定 [#tbee60f3]
**apache 実行ユーザ作成 [#ub95dd88]
 $ sudo groupadd apache
 $ sudo useradd -g apache -s /sbin/nologin apache

**設定ファイル(httpd.conf)の修正 [#n0b4715e]
以下のように修正する。
 $ sudo vim /usr/local/apache2/conf/httpd.conf

 変更前
 User daemon
 Group daemon
  ↓
 変更後
 User apache
 Group apache

以下の1行を追加する。
 LoadModule dav_svn_module     modules/mod_dav_svn.so


&br;
*apache 自動起動 [#t2affc34]
**apache 起動のためファイルコピー [#w14b21f8]
 $ sudo cp /usr/local/src/httpd-2.2.11/build/rpm/httpd.init /etc/rc.d/init.d/httpd
 $ sudo chmod 755 /etc/init.d/httpd

**ファイルの修正 [#i98ebcdc]
 $ sudo vim /etc/rc.d/init.d/httpd

 変更前
 CONFFILE=/etc/httpd/conf/httpd.conf
  ↓
 変更後
 CONFFILE=/usr/local/apache2/conf/httpd.conf

 変更前
 apachectl=/usr/sbin/apachectl
  ↓
 変更後
 apachectl=/usr/local/apache2/bin/apachectl

 変更前
 httpd=${HTTPD-/usr/sbin/httpd}
  ↓
 変更後
 httpd=${HTTPD-/usr/local/apache2/bin/httpd}


**apache 自動起動設定に httpd を追加 [#ab710d58]
 $ sudo chkconfig --add httpd

**apache 自動起動設定 [#e5d7f652]
 $ sudo chkconfig httpd on

**apache 自動起動設定の確認 [#z7f71bf7]
ランレベル 2, 3, 4, 5 になっていればよい。
 $ chkconfig --list httpd

&br;
*Apache の SSL 設定 [#x5316ffe]

**設定ファイル(http.conf)の修正 [#b5089993]
以下の1行をコメントアウトする。
 $ sudo vim /usr/local/apache2/conf/httpd.conf

 変更前
 #Include conf/extra/httpd-ssl.conf
   ↓
 変更後
 Include conf/extra/httpd-ssl.conf

もし、ssl_module を読み込んでいなかったら、以下の1行を追記する。 

 LoadModule ssl_module modules/mod_ssl.so

**設定ファイル(httpd-ssl.conf)の修正 [#la308981]
 $ sudo vim /usr/local/apache2/conf/extra/httpd-ssl.conf

 変更前
 SSLCertificateFile /usr/local/apache2/conf/server.crt
 SSLCertificateKeyFile /usr/local/apache2/conf/server.key
			↓
 SSLCertificateFile "/usr/local/apache2/conf/ssl_key_crt/server.crt"
 SSLCertificateKeyFile "/usr/local/apache2/conf/ssl_key_crt/server.key"


**フォルダ作成 [#d052d041]
 $ cd /usr/local/apache2/conf
 $ sudo mkdir ssl_key_crt

**秘密鍵/自己署名証明書作成 [#n9d37dcf]

 $ cd /usr/local/apache2/conf/ssl_key_crt
 $ sudo /usr/local/openssl/bin/openssl genrsa -des3 -out server.key 1024
 
 Enter pass phrase for server.key:パスワードを入力
 Verifying - Enter pass phrase for server.key:パスワードを入力

 $ cd /usr/local/apache2/conf/ssl_key_crt
 $ sudo /usr/local/openssl/bin/openssl req -new -x509 -days 365 -key ./server.key -out server.crt

 Enter pass phrase for ./server.key:パスワードを入力
 
 Country Name (2 letter code) [AU]:JP
 State or Province Name (full name) [Some-State]:Tokyo
 Locality Name (eg, city) []:foo
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:hoge
 Organizational Unit Name (eg, section) []:hoge
 Common Name (eg, YOUR name) []:hoge
 Email Address []:hoge@exmaple.com

**Apache 起動時のパスフレーズ入力を回避する [#c923c840]
 $ cd /usr/local/apache2/conf/ssl_key_crt
 $ sudo /usr/local/openssl/bin/openssl rsa -in server.key -out server.key

 Enter pass phrase for server.key:パスワードを入力

**Apache 起動 [#d814805a]
 $ sudo /etc/init.d/httpd start


&br;
*Neon インストール [#afce283c]
neon(WebDAVクライアントライブラリ)をインストールする。&br;

**確認 [#j83cd236]
事前に zlib と expat もしくわ libxml2 (XMLパーサーライブラリ)をインストールしておく。 &br;

***zlib [#n6e566a7]
zlib がインストールされているか確認する。
 $ yum list installed | grep zlib-devel

zlib がインストールされていなかったら、インストールする。
 $ sudo yum install zlib-devel

***libxml2 [#l86bab7a]
libxml2 がインストールされているか確認する。
 $ yum list installed | grep libxml2-devel

libxml2 がインストールされていなかったら、インストールする。
 $ sudo yum install libxml2-devel


**インストール [#v5025174]
バージョンは 0.25.5。&br;
Trac をインストールするときは、「--enable-shared」をつける。

 $ cd /usr/local/src/
 $ wget http://www.webdav.org/neon/neon-0.25.5.tar.gz
 $ tar zvxf neon-0.25.5.tar.gz
 $ cd neon-0.25.5
 
 $ ./configure --prefix=/usr/local/neon --enable-shared --disable-static -with-zlib --with-ssl --with-libs=/usr/local/openssl

 $ make
 $ sudo make install

**共有ライブラリに追加 [#ge82cec0]
***ファイルの修正 [#ld83d2dc]
neon.conf を新たに作成し「/usr/local/neon/lib」を記述する。
 $ sudo vim /etc/ld.so.conf.d/neon.conf
 
 /usr/local/neon/lib

***ldconfig 更新 [#oee41197]
 $ sudo ldconfig
 
***確認 [#y5950994]
 $ ldconfig -p | grep 'neon'

**参考URL [#z0818b46]
-[[http://www.webdav.org/neon/]]



&br;
*swig インストール [#z5874b4d]
swig(Simplified Wrapper and Interface Generator)をインストールする。&br;

**インストール [#w8bb347e]
バージョンは 1.3.29。&br;

 $ cd /usr/local/src/
 $ wget http://downloads.sourceforge.net/swig/swig-1.3.29.tar.gz
 $ tar zvxf swig-1.3.29.tar.gz
 $ cd swig-1.3.29
 $ ./configure --prefix=/usr/local/swig --with-python=/usr/local/python-2.5.2/bin/python 
 $ make
 $ sudo make install


**共有ライブラリに追加 [#zfaf1ae5]
***ファイルの修正 [#tdb49a53]
swig.conf を新たに作成し「/usr/local/swig/lib」を記述する。
 $ sudo vim /etc/ld.so.conf.d/swig.conf
 
 /usr/local/swig/lib

***ldconfig 更新 [#yad2ebfd]
 $ sudo ldconfig
 
***確認 [#j839c7b3]
 $ ldconfig -p | grep 'swig'


**参考URL [#p4afb3ad]
-[[http://www.swig.org/]]




&br;
*Subversion インストール [#xee02197]

**確認 [#u2ff3fdc]
事前に arp、apr-util、neon、zlib、gettext、iconv をインストールしておく。 &br;


***gettext [#z78caec9]
gettext がインストールされているか確認する。
 $ yum list installed | grep gettext

gettext がインストールされていなかったら、インストールする。
 $ sudo yum install gettext
 $ sudo yum install gettext-devel

**インストール [#kbea5ceb]
 $ cd /usr/local/src/
 $ wget http://subversion.tigris.org/downloads/subversion-1.5.6.tar.gz
 $ tar zvxf subversion-1.5.6.tar.gz
 $ cd subversion-1.5.6
 $ ./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --with-neon=/usr/local/neon --with-swig=/usr/local/swig --without-jdk
 $ make
 $ sudo make install

**参考URL [#k8d85a68]
-[[http://subversion.tigris.org/]]


&br;
*Subversion リポジトリ作成 [#c0239ea2]
環境にあわせて適当に設定してください。&br;
ちなみに、私はこんな感じ。&br;
 /home/svn
    |-- .htpasswd
    |-- .svnaccess
    `-- repos
       |-- sample (リポジトリ)
       |   |-- trunk
       |   |-- branches
       |   `-- tags
       |-- hoge (リポジトリ)
       |   |-- trunk
       |   |-- branches
       |   `-- tags
       `-- fuga (リポジトリ)
           |-- trunk
           |-- branches
           `-- tags

**Subversion 用のユーザ作成 [#zcc1f337]
 $ sudo useradd -m svnadmin
 $ sudo passwd svnadmin

**ディレクトリを作成 [#lf17d7ca]
 $ sudo mkdir -p /home/svn/repos

 $ cd /home/
 $ sudo chown svnadmin:svnadmin svn

 $ cd /home/svn
 $ sudo chown svnadmin:svnadmin repos


**リポジトリの作成 [#b03797f6]
 $ su - svnadmin
 [svnadmin@hoge]$ cd /home/svn/repos 
 [svnadmin@hoge]$ mkdire sample

 [svnadmin@hoge]$ svnadmin create sample

 [svnadmin@hoge]$ svn mkdir file:///home/svn/repos/sample/trunk -m "create"
 [svnadmin@hoge]$ svn mkdir file:///home/svn/repos/sample/branches -m "create"
 [svnadmin@hoge]$ svn mkdir file:///home/svn/repos/sample/tags -m "create"


**リポジトリの権限設定 [#t66e1fb0]
sample(リポジトリ)フォルダ以下を apache ユーザの権限でアクセスできるようにする。&br;
なんか、もっといい方法ありそう。&br;

***方法 1 [#d6025ad4]
2行目で apache グループに変更し、3行目で他人が実行する場合にグループの権限で実行するように設定。
 $ cd /home/svn/repos
 $ sudo chgrp -R apache sample
 $ sudo chmod -R g+s sample

***方法 2 [#o97e4132]
もしくわ、所有者とグループを apache に設定。
 $ cd /home/svn/repos
 $ sudo chown -R apache:apache sample



**設定ファイル(http.conf)の修正 [#aa21f5eb]
以下の1行を追加する。
 $ sudo vim /usr/local/apache2/conf/httpd.conf

 Include conf/extra/httpd-subversion.conf

**設定ファイル(httpd-subversion.conf)を作成 [#jcb30379]
 $ sudo vim /usr/local/apache2/conf/extra/httpd-subversion.conf

 <Location /svn>
  DAV svn
  SVNParentPath /home/svn/repos
 </Location>

**apache 再起動 [#e433f468]
 $ /etc/init.d/httpd restart

**動作確認 [#lea7cba3]
以下のURLにアクセスすると、ブラウザでリポジトリが表示される。
 http://localhost/svn/sample/



&br;
*Subversion ベーシック認証の設定 [#w107fc48]
**設定ファイル(httpd-subversion.conf)の作成 [#r4c141ca]
以下のように修正する。

 $ sudo vim /usr/local/apache2/conf/extra/httpd-subversion.conf

 <Location /svn>
   DAV svn
   SVNParentPath /home/svn/repos
   
   # only authenticated users may access the repository
   Require valid-user
 
   # how to authenticate a user
   AuthType Basic
   AuthName "Subversion repository"
   AuthUserFile /home/svn/.htpasswd
 </Location>

**htpasswd の作成 [#p10debc2]
ソースから apache をインストールした場合、htpasswd コマンドは、/usr/local/apache2/bin/htpasswd (apache のディレクトリ/bin/htpasswd)にインストールされている。&br;
そうでなければ、/usr/bin/htpasswd とかかな?&br;

 $ cd /home/svn

新規作成
 $ htpasswd -c .htpasswd ユーザ名

ユーザ追加
 $ htpasswd .htpasswd ユーザ名
ユーザ削除
 $ hpasswd -D .htpasswd ユーザ名

**apache 再起動 [#w3ed4e19]
 $ /etc/init.d/httpd restart

**動作確認 [#rc74aee4]
以下のURLにアクセスすると、認証がかかっている
 http://localhost/svn/sample/



&br;
*Subversion アクセス権限の設定 [#s5c8f7bf]
**設定ファイル(subversion.conf)の修正 [#q619d997]
以下のように修正する。

 $ sudo vim /usr/local/apache2/conf/extra/httpd-subversion.conf

 <Location /svn>
    DAV svn
    SVNParentPath /home/svn/repos
    
    # only authenticated users may access the repository
    Require valid-user
 
    # how to authenticate a user
    AuthType Basic
    AuthName "Subversion repository"
    AuthUserFile /home/svn/.htpasswd
 
    # how to access a user
    AuthzSVNAccessFile /home/svn/.svnaccess
 </Location>


**設定ファイル(httpd.conf)の修正 [#i24ea201]
以下のように修正する。
 $ sudo vim /usr/local/apache2/conf/httpd.conf

authz_svn_module の行を dav_svn_module の後に追加する。
 LoadModule dav_svn_module     modules/mod_dav_svn.so
 LoadModule authz_svn_module   modules/mod_authz_svn.so


**設定ファイル(.svnaccess)を作成 [#ia04e38c]
.svnaccess の書き方は、 [[httpd, Apache HTTP サーバ:http://subversion.bluegate.org/doc/ch06s04.html#svn.serverconfig.httpd.authz.perdir]]     を参考に。&br;
以下は、たとえばです。&br;

 $ cd /home/svn
 $ sudo vim .svnaccess

 [/]
 admin = rw
 
 # sample1 リポジトリ
 [sample1:/]
 user1 = rw
 user2 = r
 
 # sample2 リポジトリ
 [sample2:/trunk/test]
 user1 = rw
 user2 = r
 
 # sample3 リポジトリ
 [/sample3]
 * = 

**Apache 再起動 [#o566c639]
 $ /etc/init.d/httpd restart

**動作確認 [#qaba709f]
以下のURLにアクセスすると、リポジトリが表示される。
 http://localhost/svn/sample/


&br;
*Clearsilver のインストール [#l9b88e5b]
テンプレートシステム

**インストール [#ta117af2]
 $ cd /usr/local/src
 $ wget http://www.clearsilver.net/downloads/clearsilver-0.10.5.tar.gz
 $ tar zxvf clearsilver-0.10.5.tar.gz
 $ cd clearsilver-0.10.5
 $ ./configure --prefix=/usr/local/clearsilver --with-apache=/usr/local/apache2 --with-python=/usr/local/python-2.5.2/bin/python 
 $ make
 $ sudo make install

**参考URL [#k8d85a68]
-[[http://www.clearsilver.net/downloads/]]


&br;
*Trac インストール [#d016c11c]

**インストール [#q6943573]
 $ cd /usr/local/src
 $ wget http://ftp.edgewall.com/pub/trac/Trac-0.11.5.tar.gz
 $ tar zxvf Trac-0.11.5.tar.gz
 $ cd Trac-0.11.5
 $ sudo /usr/local/python-2.5.2/bin/python2.5 ./setup.py install

**参考URL [#k8d85a68]
-[[http://ftp.edgewall.com/pub/trac/]]

&br;
*Trac 用のプロジェクト作成 [#p1525b42]

**Trac のプロジェクトを作成 [#sa912329]
tractest リポジトリのプロジェクトを作成する。&br;
/home/project/web 以下に tractest プロジェクトを作成するものとする。&br;

 $ cd /home/project/web
 $ trac-admin tractest initenv

 Project Name [My Project]> TracTest (プロジェクト名を入力)
 Database connection string [sqlite:db/trac.db]> (デフォルトがsqliteなのでそのままEnter)
 Repository type [svn]> (デフォルトのままなのでEnter)
 Path to repository [/path/to/repos]> /home/svn/repos/tractest (リポジトリを指定)

**確認 [#l6d1af46]
**以下のコマンドを実行する [#m1a8d0cd]
 $ tracd --port 8000 /home/project/tractest

**ブラウザからアクセスする [#dd90f8d8]
 http://localhost:8000/



&br;
*mod_wsgi インストール [#i4a07a0c]
**インストール [#d161bfd6]
 $ cd /usr/local/src
 $ wget http://modwsgi.googlecode.com/files/mod_wsgi-2.5.tar.gz
 $ tar zxvf mod_wsgi-2.5.tar.gz
 $ cd mod_wsgi-2.5
 $ ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-python=/usr/local/python-2.5.2/bin/python 
 $ make
 $ sudo make install

**設定ファイル(httpd.conf)の修正 [#mb9b0378]
以下の1行を追加する。
 $ sudo vim /usr/local/apache2/conf/httpd.conf
 
 LoadModule wsgi_module	modules/mod_wsgi.so


**設定ファイル(dispatch.wsgi)を作成 [#qad798d4]
 $ cd /home/project/web/tractest
 $ mkdir apache
 $ cd apache

 $ vim dispatch.wsgi

 import os
 
 os.environ['TRAC_ENV'] = '/home/project/web/tractest'
 os.environ['PYTHON_EGG_CACHE'] = '/tmp/.python-eggs'
 import trac.web.main
 
 application = trac.web.main.dispatch_request

**アップデートする [#n35712cd]
 $ cd /home/project/web
 $ trac-admin trac1 upgrade

**権限設定 [#l1287c22]
なんか、権限がなかったので、パーミッション変更する。
 $ cd /home/project/web/tractest
 $ chmod -R 777 log 
 $ chmod -R 777 db 


&br;
*VirtualHost 設定 [#zd8f410d]
**設定ファイル(httpd.conf)の修正 [#xe219bcc]
 $ sudo vim /usr/local/apache2/conf/httpd.conf

 変更前
 # Virtual hosts
 #Include conf/extra/httpd-vhosts.conf
  ↓
 変更後
 # Virtual hosts
 Include conf/extra/httpd-vhosts.conf

**設定ファイル(httpd-vhosts.conf)の修正 [#j13b75bc]
 $ sudo vim /usr/local/apache2/conf/extra/httpd-vhosts.conf

 <VirtualHost *:80>
    ServerName hoge.localhost.localdomain
    ServerAdmin m.minaco@gmial.com
    DocumentRoot /home/project/web/tractest/apache
    ErrorLog logs/centos21-error_log
    CustomLog logs/centos21-access_log combined
 
    WSGIScriptAlias / /home/project/web/tractest/apache/dispatch.wsgi
 
    <Directory /home/project/web/tractest/apache>
        Order deny,allow
        Allow from all
 
        # how to authenticate a user
        AuthType Basic
        AuthName "Trac1"
        AuthUserFile /home/svn/.htpasswd
        Require valid-user
    </Directory>
 
    <Directory /home/project/web/tractest/htdocs>
        Order deny,allow
        Allow from all
 
        # how to authenticate a user
        AuthType Basic
        AuthName "Trac1"
        AuthUserFile /home/svn/.htpasswd
        Require valid-user
    </Directory>
 </VirtualHost>

**Apache 再起動 [#j9eed18d]
 $ /etc/init.d/httpd restart


**確認 [#ac7eacf6]
ブラウザから表示できれば成功

&br;
*エラー [#e16a8749]

**エラー内容 [#a06daa8c]
ブラウザから Trac にアクセスすると以下のようなエラーが出た。
 Warning: Can't synchronize with the repository (Unsupported version control system "svn": "/usr/local/svn/lib/libsvn_ra_neon-1.so.0: undefined symbol: gss_delete_sec_context" ). Look in the Trac log for more information.


**確認 [#cdd3a20f]
 $ python
 >>>import svn.repos
 
 ImportError: /usr/local/svn/lib/libsvn_ra_neon-1.so.0: undefined symbol: SSL_shutdown

**解決策 [#y114cd50]
neon の configure オプションを以下のようにしてコンパイルしなおしたらなおった。&br;
ちなみに、--enable-shared が必要だったぽい。

 ./configure --prefix=/usr/local/neon --enable-shared --disable-static -with-zlib --with-ssl --with-libs=/usr/local/openssl


***neon のリコンパイル [#s4d31da8]
 $ cd /usr/local/src/neon-0.25.5
 $ sudo make clean
 $ ./configure --prefix=/usr/local/neon --enable-shared --disable-static -with-zlib --with-ssl --with-libs=/usr/local/openssl
 $ make
 $ sudo make install

***Subverion のリコンパイル [#h9a6e11d]
 $ cd /usr/local/src/subversion-1.5.6
 $ sudo make clean
 $ ./configure --prefix=/usr/local/svn --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr --with-neon=/usr/local/neon --with-swig=/usr/local/swig --without-jdk
 $ make
 $ sudo make install

&br;
*Comment [#ld60a577]
#comment_nospam
&br;
#counter


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS