git 1.6.6.1
http://git-scm.com/
subversion 1.6.6
http://subversion.tigris.org/
Linus曰く「Subversionは史上最も無意味なプロジェクト」 - スラッシュドット・ジャパン
http://slashdot.jp/developers/article.pl?sid=07/12/03/1024220
Subversion ユーザーのための Git: 第 1 回 Git 入門
http://www.ibm.com/developerworks/jp/linux/library/l-git-subversion-1/
2010年1月21日木曜日
2010年1月3日日曜日
Install Tutorial: Ubuntu 9.10, Apache with SSL, Subversion over HTTP / HTTPs(digest authentication), and Trac
例によって
Install Tutorial: Ubuntu 9.04, Apache with SSL, Subversion over HTTP / HTTPs, and Trac - NewInstance
http://en.newinstance.it/2009/08/27/tutorial-ubuntu-904-apache-with-ssl-subversion-over-http-https-and-trac/
を元ネタ・たたき台にする。
-http/httpsで同じコンテンツが見られるようにする
-Subversion/tracの認証はdigest
SVNクライアントはrapidsvn,kdesvnなどが良い。
SSLの証明書については
[SOLVED] HOWTO How to renew an expired Dovecot IMAP/POP3 SSL certificate - Ubuntu Forums
http://ubuntuforums.org/showthread.php?t=707161
などを参照。
sudo cat /etc/ssl/private/ssl-cert-snakeoil.key
であらかじめ入っているものが見られる。
apt-getでのインストール時に必要であれば--no-install-recommendsというオプションをつける。
Apache2,Subversionをいれる。
$ sudo apt-get install subversion curl apache2 libapache2-svn
-Apache2の設定を整理する
$ sudo a2dissite default
$ sudo /etc/init.d/apache2 stop
http/httpsで同じ内容を見せる際にdefault/default-sslの両方の内容を同じように編集するのは無駄なので片寄せする
$ cd /etc/apache2/sites-available/
$ sudo cp default 100-default
$ sudo cp default 101-default-core
$ sudo cp default-ssl 102-default-ssl
100と102が101の設定をincludeするように設定する。
101を変更すれば100(http),102(https)のディレクトリ構成が同時に変更される。
最初と最後のVirtualHostの行を削る
$ sudo gedit 101-default-core
最初と最後のVirtualHost以外を消してIncludeに置き換える
$ sudo gedit 100-default
VirtualHost内のServerAdmin~Directoryタグの内容をIncludeに置き換える
$ sudo gedit 102-default-ssl
IfModuleの所にNameVirtualHost *:443を追加する
siteのload
$ sudo a2ensite 100-default
$ sudo a2ensite 102-default-ssl
Apacheの起動
$ sudo a2enmod ssl
$ sudo /etc/init.d/apache2 start
動作確認
$ curl http://localhost/
$ curl -k https://localhost/
/varの容量を割り当てるのは熟練した運用の経験が必要な為、/home以下に各種環境を構築する
$ sudo mkdir /home/svn
任意のproject名でdirectoryを作る。ここでは「project1」
$ sudo mkdir /home/svn/project1
$ sudo chown www-data.www-data /home/svn/project1
$ sudo -u www-data svnadmin create /home/svn/project1
(必要に応じてバックアップ$ sudo cp /etc/apache2/mods-available/dav_svn.conf /etc/apache2/mods-available/dav_svn.conf.bak)
$ sudo gedit /etc/apache2/mods-available/dav_svn.conf
末尾に以下を追加
$ sudo htdigest -c /etc/subversion/project1.passwd "project1" svnuser
-cは新しくpasswdファイルを作る場合。""の中はAuthNameで設定したもの。最後が追加するユーザー名。
$ sudo a2enmod auth_digest
$ sudo /etc/init.d/apache2 restart
*ここではpasswordは「test」にした場合
$ curl --digest http://svnuser:test@localhost/svn/project1/
$ curl --digest -k https://svnuser:test@localhost/svn/project1/
tracのインストール
$ sudo apt-get install trac libapache2-mod-python
$ sudo mkdir /home/trac
$ sudo chown www-data.www-data /home/trac
100と102に読み込まれるtracの共通設定103を作る。
$ sudo gedit /etc/apache2/sites-available/103-default-trac
100(http)に103を読み込む
$ sudo gedit /etc/apache2/sites-available/100-default
102(https)に103を読み込む
$ sudo gedit /etc/apache2/sites-available/102-default-ssl
101と103を読み込むものを作ってそれを100,102で読み込んでも良い。
$ sudo htdigest -c /etc/trac/trac.passwd "trac" svnuser
$ sudo -u www-data trac-admin /home/trac/project1 initenv
$ sudo /etc/init.d/apache2 restart
$ sudo -u www-data trac-admin /home/trac/project1 permission add svnuser TRAC_ADMIN
sites-availableに単体で完結しないsite設定があるのが気持ち悪い場合はどうしたものか。
-/etc/subversion/project1.passwd
-/etc/trac/trac.passwd
これらsvnとtracの認証のpasswdはrealmを同じにすれば統一出来るので一括して変更が可能になる。
to doというか備忘録というか後でやるLDAP
http://blog.acmelab.org/2007/09/02/ubuntu-server-setup-lampldapsvntracmoinmoin/
Install Tutorial: Ubuntu 9.04, Apache with SSL, Subversion over HTTP / HTTPs, and Trac - NewInstance
http://en.newinstance.it/2009/08/27/tutorial-ubuntu-904-apache-with-ssl-subversion-over-http-https-and-trac/
を元ネタ・たたき台にする。
-http/httpsで同じコンテンツが見られるようにする
-Subversion/tracの認証はdigest
SVNクライアントはrapidsvn,kdesvnなどが良い。
SSLの証明書については
[SOLVED] HOWTO How to renew an expired Dovecot IMAP/POP3 SSL certificate - Ubuntu Forums
http://ubuntuforums.org/showthread.php?t=707161
などを参照。
sudo cat /etc/ssl/private/ssl-cert-snakeoil.key
であらかじめ入っているものが見られる。
apt-getでのインストール時に必要であれば--no-install-recommendsというオプションをつける。
Apache2,Subversionをいれる。
$ sudo apt-get install subversion curl apache2 libapache2-svn
-Apache2の設定を整理する
$ sudo a2dissite default
$ sudo /etc/init.d/apache2 stop
http/httpsで同じ内容を見せる際にdefault/default-sslの両方の内容を同じように編集するのは無駄なので片寄せする
$ cd /etc/apache2/sites-available/
$ sudo cp default 100-default
$ sudo cp default 101-default-core
$ sudo cp default-ssl 102-default-ssl
100と102が101の設定をincludeするように設定する。
101を変更すれば100(http),102(https)のディレクトリ構成が同時に変更される。
最初と最後のVirtualHostの行を削る
$ sudo gedit 101-default-core
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
最初と最後のVirtualHost以外を消してIncludeに置き換える
$ sudo gedit 100-default
<VirtualHost *:80>
Include /etc/apache2/sites-available/101-default-core
</VirtualHost>
VirtualHost内のServerAdmin~Directoryタグの内容をIncludeに置き換える
$ sudo gedit 102-default-ssl
<IfModule mod_ssl.c>$ sudo gedit ../ports.conf
<VirtualHost _default_:443>
Include /etc/apache2/sites-available/101-default-core
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
IfModuleの所にNameVirtualHost *:443を追加する
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
# SSL name based virtual hosts are not yet supported, therefore no
# NameVirtualHost statement here
NameVirtualHost *:443
Listen 443
</IfModule>
siteのload
$ sudo a2ensite 100-default
$ sudo a2ensite 102-default-ssl
Apacheの起動
$ sudo a2enmod ssl
$ sudo /etc/init.d/apache2 start
動作確認
$ curl http://localhost/
$ curl -k https://localhost/
/varの容量を割り当てるのは熟練した運用の経験が必要な為、/home以下に各種環境を構築する
$ sudo mkdir /home/svn
任意のproject名でdirectoryを作る。ここでは「project1」
$ sudo mkdir /home/svn/project1
$ sudo chown www-data.www-data /home/svn/project1
$ sudo -u www-data svnadmin create /home/svn/project1
(必要に応じてバックアップ$ sudo cp /etc/apache2/mods-available/dav_svn.conf /etc/apache2/mods-available/dav_svn.conf.bak)
$ sudo gedit /etc/apache2/mods-available/dav_svn.conf
末尾に以下を追加
<Location /svn/project1>
DAV svn
SVNPath /home/svn/project1
AuthType Digest
AuthName "project1"
AuthUserFile /etc/subversion/project1.passwd
Require valid-user
</Location>
$ sudo htdigest -c /etc/subversion/project1.passwd "project1" svnuser
-cは新しくpasswdファイルを作る場合。""の中はAuthNameで設定したもの。最後が追加するユーザー名。
$ sudo a2enmod auth_digest
$ sudo /etc/init.d/apache2 restart
*ここではpasswordは「test」にした場合
$ curl --digest http://svnuser:test@localhost/svn/project1/
$ curl --digest -k https://svnuser:test@localhost/svn/project1/
tracのインストール
$ sudo apt-get install trac libapache2-mod-python
$ sudo mkdir /home/trac
$ sudo chown www-data.www-data /home/trac
100と102に読み込まれるtracの共通設定103を作る。
$ sudo gedit /etc/apache2/sites-available/103-default-trac
<Location /trac>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnvParentDir /home/trac
PythonOption TracUriRoot /trac
PythonOption PYTHON_EGG_CACHE /tmp
</Location>
<LocationMatch "/trac/[[:alnum:]]+/login">
AuthType Digest
AuthName "trac"
AuthUserFile /etc/trac/trac.passwd
Require valid-user
</LocationMatch>
100(http)に103を読み込む
$ sudo gedit /etc/apache2/sites-available/100-default
<VirtualHost *:80>
Include /etc/apache2/sites-available/101-default-core
Include /etc/apache2/sites-available/103-default-trac
</VirtualHost>
102(https)に103を読み込む
$ sudo gedit /etc/apache2/sites-available/102-default-ssl
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
Include /etc/apache2/sites-available/101-default-core
Include /etc/apache2/sites-available/103-default-trac
101と103を読み込むものを作ってそれを100,102で読み込んでも良い。
$ sudo htdigest -c /etc/trac/trac.passwd "trac" svnuser
$ sudo -u www-data trac-admin /home/trac/project1 initenv
Project Name [My Project]> project1
Database connection string [sqlite:db/trac.db]>
Repository type [svn]>
Path to repository [/path/to/repos]> /home/svn/project1
$ sudo /etc/init.d/apache2 restart
$ sudo -u www-data trac-admin /home/trac/project1 permission add svnuser TRAC_ADMIN
sites-availableに単体で完結しないsite設定があるのが気持ち悪い場合はどうしたものか。
-/etc/subversion/project1.passwd
-/etc/trac/trac.passwd
これらsvnとtracの認証のpasswdはrealmを同じにすれば統一出来るので一括して変更が可能になる。
to doというか備忘録というか後でやるLDAP
http://blog.acmelab.org/2007/09/02/ubuntu-server-setup-lampldapsvntracmoinmoin/
2009年9月21日月曜日
Install Tutorial: Ubuntu 9.04, Apache with SSL, Subversion over HTTP / HTTPs, and Trac 改
元ネタ或いは大いに参照すべきもの
Install Tutorial: Ubuntu 9.04, Apache with SSL, Subversion over HTTP / HTTPs, and Trac - NewInstance
より詳しい最新(Ubuntu9.10)の手順は
axis of evil Google: Install Tutorial: Ubuntu 9.10, Apache with SSL, Subversion over HTTP / HTTPs(digest authentication), and Trac
http://salvan-devmemo.blogspot.com/2010/01/install-tutorial-ubuntu-910-apache-with.html
冒頭のURLの手順から
-/etc/apache2/mods-available/dav_svn.conf
-/etc/apache2/sites-available/default
のAuthTypeをBasicからDigestに変更し、passwordの生成はhtpasswdからhtdigestに変更する。引数は同じuser名の前にrealmを入れる。
hashの方式の違いからpasswordが変わるので別のfile名にする場合はAuthUserFileのpathも変える。
/etc/apache2/sites-available/defaultの末尾につけたtrac用の情報を/etc/apache2/sites-available/default-sslにも貼り付ける。
sudo a2enmod auth_digest
でdigest認証moduleを動かし、apacheを再起動する。
Firefox + HttpFox或いはWireshark等で認証がBasicからDigestになっている事を確認する。
Upgrading to 2.2 from 2.0 - Apache HTTP Server
変更前
変更後
参考
core - Apache HTTP Server
Digest認証 - Wikipedia
Basic認証 - Wikipedia
関連
The Trac Project
Install Tutorial: Ubuntu 9.04, Apache with SSL, Subversion over HTTP / HTTPs, and Trac - NewInstance
より詳しい最新(Ubuntu9.10)の手順は
axis of evil Google: Install Tutorial: Ubuntu 9.10, Apache with SSL, Subversion over HTTP / HTTPs(digest authentication), and Trac
http://salvan-devmemo.blogspot.com/2010/01/install-tutorial-ubuntu-910-apache-with.html
冒頭のURLの手順から
-/etc/apache2/mods-available/dav_svn.conf
-/etc/apache2/sites-available/default
のAuthTypeをBasicからDigestに変更し、passwordの生成はhtpasswdからhtdigestに変更する。引数は
hashの方式の違いからpasswordが変わるので別のfile名にする場合はAuthUserFileのpathも変える。
/etc/apache2/sites-available/defaultの末尾につけたtrac用の情報を/etc/apache2/sites-available/default-sslにも貼り付ける。
sudo a2enmod auth_digest
でdigest認証moduleを動かし、apacheを再起動する。
Firefox + HttpFox或いはWireshark等で認証がBasicからDigestになっている事を確認する。
Upgrading to 2.2 from 2.0 - Apache HTTP Server
The directive AuthDigestFile from mod_auth_digest has been merged with AuthUserFile and is now part of mod_authn_file.という事でAuthUserFileをAuthDigestFileにする必要はない。
変更前
app | 認証 | ssl |
---|---|---|
subversion | basic | o |
trac | basic | x |
変更後
app | 認証 | ssl |
---|---|---|
subversion | digest | o |
trac | digest | o |
参考
core - Apache HTTP Server
Digest認証 - Wikipedia
Basic認証 - Wikipedia
関連
The Trac Project
登録:
投稿 (Atom)