TestLink1.8.5 / 1.9.2 CAS (SSO) パッチ こんにちは、SundayWalkerです。 以前、TestLink1.9用のCASパッチを紹介しましたが、TestLink1.8.5 と 1.9.2用のパッチも提供します。 以前からTestLinkとRedmineは、非常に良いツールと思っており、2つのツールの連携がより強化できると良いと考えておりました。 TestLink 1.8.5 / 1.9.2とRedmine 1.2.0のCASを使用したSingle Sign Onを行い連携するための設定手順を示します。 Redmine1.2.0が公開され、このバージョンからパスワードにSaltを使用するようになったため、以前紹介したCASの設定手順を変更する必要が発生しました。 また、以前の手順には記載漏れがありました。 今回は、XAMPPなども新規にインストールしなおしたので、その手順も含めて記載します。 インストールするソフトのバージョンの組み合わせでうまく動作しない場合もあったので、バージョンなどがわかるようにファイル名を明示するようにしました。 CASでRedmineのDBのユーザ情報をもとに認証を行えるように設定しています。 手順中のlocalhostの部分は適切なホスト名に変更ください。 また、セキュリティ上はCASサーバはSSLを使用するのが良いのですが、簡単のため暗号化せずにhttpとしています。 Windows 7 64bit OSにて作業をしたため、32bitアプリケーションのインストールフォルダが C:\Program Files (x86) フォルダ以下になっていますが、 32bit OSの場合は C:\Program Files フォルダ以下になると思われますので、読み替えてください。 64bit OSの場合でも、xamppなどの中心になるアプリケーションが32bitなので、ほかのアプリケーションも32bitとしたほうが動作しないなどの問題を起こしにくいようです。 ==================================================== (1) Redmineの設定 その1 ==================================================== (参考文献: http://www.redmine.org/projects/redmine/wiki/HowTo_Install_Redmine_in_a_sub-URI_on_Windows_with_Apache ) xamppをインストールします。(既に古いバージョンがインストールされている場合はバックアップをとって、サービスなどを停止、サービスを削除し、アンインストールしておきます。不要なXAMPPのフォルダは削除しておく。) http://www.apachefriends.org/jp/xampp-windows.html xampp-win32-1.7.1-installer.exe をダウンロード(TestLink1.8.xの動作環境PHP5.2系の最新版)し、実行、C:\xampp フォルダにインストールします。(インストール時にApache, MySQLのサービス登録を選択。) システム環境変数 path に C:\xampp\mysql\bin の指定がない場合は追加します。 http://rubyforge.org/frs/?group_id=167 rubyinstaller-1.8.7-p334.exe をダウンロード(Redmine1.2.0の要求バージョンンの最新版)し、実行、C:\Program Files (x86)\ruby-1.8 にインストールします。 システム環境変数 path に C:\Program Files (x86)\ruby-1.8\bin の指定がない場合は追加します。 http://rubyforge.org/frs/?group_id=12&release_id=42049 RMagick-2.12.0-ImageMagick-6.5.6-8-Q8.zip をダウンロード(執筆時の最新版)し、解凍し、ImageMagick-6.5.6-8-Q8-windows-dll.exe を実行、C:\Program Files (x86)\ImageMagick-6.5.6-Q8 フォルダにインストールします。 >cd RMagick-2.12.0-ImageMagick-6.5.6-8-Q8 >gem install rmagick-2.12.0-x86-mswin32.gem http://www.redmine.org/projects/redmine/wiki/Download http://rubyforge.org/frs/?group_id=167 redmine-1.2.0.zip をダウンロード(執筆時の最新版)し、解凍し、C:\redmine にコピーします。 http://rubyforge.org/frs/?group_id=126 rubygems-1.6.2.zip をダウンロード(Redmine1.2.0の要求バージョンの最新版)し、解凍し、コマンドプロンプトで以下を実行します。 >cd rubygems-1.6.2 >ruby setup.rb >gem -v 1.6.2 >gem install rails -v=2.3.11 >gem install rack -v=1.1.1 >gem install i18n -v=0.4.2 >gem install mysql http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll をダウンロードして C:\Program Files (x86)\ruby-1.8\bin にコピーします。 初めてRedmineをインストールするときは、コマンドプロンプトで以下を実行して、mysqlのrootパスワードを変更し、redmineのDBを作成します。 (MysqlRootPassword、MysalRedminePassword の部分は適宜変更ください。) >mysql -u root -p mysql> SET PASSWORD FOR root@localhost=PASSWORD('MysqlRootPassword'); mysql> create database redmine character set utf8; mysql> grant all privileges on redmine.* to 'redmine'@'localhost' identified by 'MysalRedminePassword'; mysql> quit; C:\redmine\config\database.yml.example を database.yml としてコピーし、以下を参考に編集します。 ------------ production: adapter: mysql database: redmine host: localhost - username: admin + username: redmine - password: + password: MysqlRedminePassword encoding: utf8 ------------ コマンドプロンプトで以下を実行し、redmineの初期化を行います。 >cd \redmine >rake generate_session_store >rake db:migrate RAILS_ENV="production" 初めてRedmineをインストールするときは、コマンドプロンプトで以下を実行し、redmineの初期データを設定します。 >rake redmine:load_default_data RAILS_ENV="production" コマンドプロンプトで以下を実行し、webrickサーバを起動します。 >ruby script/server webrick -e production Webブラウザで http://localhost:3000/ にアクセスして、redmineの画面が表示されることを確認します。(localhostの部分はホスト名を指定) Redmineの「Administration/管理」「Settings/設定」の「General/全般」の「Host name and path/ホスト名」と「protocol/プロトコル」を適切に設定して、「Save/保存」 Redmineを再起動します。 コマンドプロンプトで以下を実行し、mongrelを設定します。 >gem install mongrel >gem install mongrel_service C:\redmine\config/enviroment.rb の最後に以下を追加します。 ------------ Redmine::Utils::relative_url_root = "/redmine" ------------ コマンドプロンプトで以下を実行し、mongrelサービスを登録します。(以下の例ではmongrelサーバを3つ用意していますが、適宜変更ください。) >mongrel_rails service::install -N mongrel_redmine_3001 -D "Mongrel serving Redmine on 3001" -p 3001 -e production -c C:\Redmine >mongrel_rails service::install -N mongrel_redmine_3002 -D "Mongrel serving Redmine on 3002" -p 3002 -e production -c C:\Redmine >mongrel_rails service::install -N mongrel_redmine_3003 -D "Mongrel serving Redmine on 3003" -p 3003 -e production -c C:\Redmine コマンドプロンプトで以下を実行し、mongrelサービスを起動します。 >net start mongrel_redmine_3001 >net start mongrel_redmine_3002 >net start mongrel_redmine_3003 C:\xampp\apache\conf\extra\httpd-mongrel.conf を作成します。(以下を参考) ------------ LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so ProxyPass /redmine balancer://redmine_cluster ProxyPassReverse /redmine balancer://redmine_cluster BalancerMember http://127.0.0.1:3001 BalancerMember http://127.0.0.1:3002 BalancerMember http://127.0.0.1:3003 ------------ C:\xampp\apache\conf\httpd.conf の最後に以下を追加します。 ------------ Include "conf/extra/httpd-mongrel.conf" ------------ apacheを再起動して、Webブラウザで http://localhost/redmine にアクセスしてredmineが正しく表示されることを確認します。(localhostの部分はホスト名を指定) FirefoxでHTMLが表示される場合は、 https://gist.github.com/826692 mongrel.rb をダウンロードし、 C:\redmine\config/initializers フォルダにコピーし、mongrelを再起動します。 (参考文献:http://www.redmine.org/issues/6887 ) ==================================================== (2) CASの設定 ==================================================== (参考文献: https://wiki.jasig.org/display/CASUM/JDBC ) (LDAP/ActiveDirectoryを使用する場合の参考文献: https://wiki.jasig.org/display/CASUM/LDAP ) JDKをインストールします。 http://www.oracle.com/technetwork/java/javase/downloads/index.html jdk-6u26-windows-i586.exe をダウンロード(執筆時の最新版)し、実行します。 環境変数 JAVA_HOME に C:\Program Files (x86)\Java\jdk1.6.0_26 を設定します。 環境変数  path に %JAVA_HOME%\bin を追加します。 http://www.apachefriends.org/jp/xampp-windows.html xampp-win32-tomcat-addon-6.0.18-2.2.11-pl1-installer.exe をダウンロード(xampp 1.7.1に含まれるapache 2.2.11に対応した版)し、実行、C:\xampp フォルダにインストールします。 http://www.jasig.org/cas/download cas-server-3.4.8-release.zip をダウンロード(執筆時の最新版)し、解凍します。 cas-server-3.4.8\modules\cas-server-webapp-3.4.8.war を C:\xampp\tomcat\webapps\cas.war という名称でコピーします。 >cd \xampp\tomcat\bin >service install C:\xampp\apache\conf\extra\mod_jk.conf ファイルを編集します。(以下を参考) ------------ JkMount /examples/* ajp13 +#JkMount /examples/* ajp13 +JkMount /cas/* ajp13 ------------ C:\xampp\tomcat\conf\server.xml を編集します。(以下を参考) ------------ + ------------ CASでSSLを使用しない場合は、 C:\xampp\tomcat\webapps\cas\WEB-INF\spring-configuration\ticketGrantingTicketCookieGenerator.xml を編集します。(以下を参考) (参考文献: http://rossy-dev.blogspot.com/2009/11/grails-cascas2.html ) ------------ ------------ tomcatを起動します。 Webブラウザで http://localhost/cas/ にアクセス(localhostの部分はホスト名を指定) ネットID:admin パスワード:admin でログインできることを確認します。 Webブラウザで http://localhost:8080/cas/ にアクセスし接続できないことを確認します。 C:\xampp\tomcat\webapps\cas\WEB-INF\deployerContext.xml を修正します。(以下を参考) ------------ + + + Select hashed_password from users where auth_source_id IS NULL AND status = 1 AND login = ? + + + + + + + + + + + + + + + + com.mysql.jdbc.Driver + + + jdbc:mysql://localhost:3306/redmine + + redmine + MysqlRedminePassword + ------------ C:\xampp\tomcat\webapps\cas\META-INF\maven\org.jasig.cas\cas-server-webapp\pom.xml を修正します。(以下を参考) ------------ org.jasig.cas cas-server-support-ldap ${project.version} + + org.jasig.cas + cas-server-support-ldap + ${project.version} + + + + org.jasig.cas + cas-server-support-generic + ${project.version} + + + + org.jasig.cas + cas-server-support-jdbc + ${project.version} + ------------ C:\xampp\tomcat\webapp\cas\WEB-INF\lib に cas-server-3.4.8\modules\cas-server-support-generic-3.4.8.jar をコピーする。 C:\xampp\tomcat\webapp\cas\WEB-INF\lib に cas-server-3.4.8\modules\cas-server-support-jdbc-3.4.8.jar をコピーする。 C:\xampp\tomcat\webapp\cas\WEB-INF\lib に cas-server-3.4.8\modules\cas-server-support-ldap-3.4.8.jar をコピーする。 http://www.springsource.com/download/community spring-ldap-1.3.1.RELEASE-with-dependencies.zip をダウンロード(執筆時の最新版)し、解凍し、 C:\xampp\tomcat\webapp\cas\WEB-INFO\lib に spring-ldap-1.3.1.RELEASE\dist\modules\spring-ldap-core-1.3.1.RELEASE.jar をコピーする。 http://dev.mysql.com/downloads/ http://dev.mysql.com/downloads/connector/j/ mysql-connector-java-5.1.16.zip をダウンロード(執筆時の最新版)し、解凍して、C:\xampp\tomcat\common\lib に mysql-connector-java-5.1.16-bin.jar をコピーする。 http://commons.apache.org/dbcp/ http://commons.apache.org/dbcp/download_dbcp.cgi commons-dbcp-1.4-bin.zip をダウンロード(執筆時の最新版)し、解凍して、C:\xampp\tomcat\common\lib に commons-dbcp-1.4.jar をコピーする。 http://commons.apache.org/pool/ http://commons.apache.org/pool/download_pool.cgi commons-pool-1.5.6-bin.zip をダウンロード(執筆時の最新版)し、解凍して、C:\xampp\tomcat\common\lib に commons-pool-1.5.6.jar をコピーする。 tomcatを再起動して、apacheを再起動し、 http://localhost/cas/ にアクセスし、Redmineのadminのパスワードでログインできることを確認します。(localhostの部分はホスト名を指定) Redmine1.2.0以降の場合は、パスワードにsaltを使用するようになったため、上記adminでログインできないので、以下を行います。 ------------------------------------------------------- tomcatを停止します。 http://maven.apache.org/download.html apache-maven-3.0.3-bin.zip をダウンロード(執筆時の最新版)し、解凍して、C:\Program Files\apache-maven-3.0.3 フォルダにコピーします。 環境変数  path に C:\Program Files\apache-maven-3.0.3\bin を追加します。 コマンドプロンプトで、以下を実行します。 >cd cas-server-3.4.8 >mvn package cas-server-3.4.8\cas-server-support-jdbc\src\main\java\org\jasig\cas\adaptors\jdbc\QueryDatabaseAuthenticationHandler.java を編集します。 ------------ @NotNull private String sql; + private String sqlsalt = null; + protected final boolean authenticateUsernamePasswordInternal(final UsernamePasswordCredentials credentials) throws AuthenticationException { final String username = getPrincipalNameTransformer().transform(credentials.getUsername()); final String password = credentials.getPassword(); - final String encryptedPassword = this.getPasswordEncoder().encode( - password); + String encryptedPassword = null; + if (sqlsalt != null) { + try { + final String dbSalt = getJdbcTemplate().queryForObject( + this.sqlsalt, String.class, username); + encryptedPassword = this.getPasswordEncoder().encode( + dbSalt + this.getPasswordEncoder().encode(password)); + } catch (final IncorrectResultSizeDataAccessException e) { + encryptedPassword = this.getPasswordEncoder().encode( + password); + } + } else { + encryptedPassword = this.getPasswordEncoder().encode( + password); + } try { final String dbPassword = getJdbcTemplate().queryForObject( this.sql, String.class, username); return dbPassword.equals(encryptedPassword); } catch (final IncorrectResultSizeDataAccessException e) { // this means the username was not found. return false; } } /** * @param sql The sql to set. */ public void setSql(final String sql) { this.sql = sql; + } + + /** + * @param sqlsalt The sql to set. + */ + public void setSqlsalt(final String sqlsalt) { + this.sqlsalt = sqlsalt; } } ------------ コマンドプロンプトで、以下を実行します。 >cd cas-server-3.4.8\cas-server-support-jdbc >mvn package C:\xampp\tomcat\webapp\cas\WEB-INF\lib に cas-server-3.4.8\cas-server-support-jdbc\target\cas-server-support-jdbc-3.4.8.jar をコピーします。 C:\xampp\tomcat\webapps\cas\WEB-INF\deployerContext.xml を修正します。(以下を参考) ------------ Select hashed_password from users where auth_source_id IS NULL AND status = 1 AND login = ? + Select salt from users where auth_source_id IS NULL AND status = 1 AND login = ? ------------ tomcatを起動します。 http://localhost/cas/ にアクセスし、Redmineのadminのパスワードでログインできることを確認します。(localhostの部分はホスト名を指定) ------------------------------------------------------- ==================================================== (3) TestLinkの設定 ==================================================== C:\xampp\php\php.ini を編集します。(以下を参考) ------------ -max_execution_time = 60 ; Maximum execution time of each script, in seconds +max_execution_time = 120 ; Maximum execution time of each script, in seconds -memory_limit = 32M ; Maximum amount of memory a script may consume (16MB) +memory_limit = 128M ; Maximum amount of memory a script may consume (16MB) -upload_max_filesize = 64M +upload_max_filesize = 256M -;extension=php_curl.dll +extension=php_curl.dll -;extension=php_ldap.dll +extension=php_ldap.dll -;extension=php_openssl.dll +extension=php_openssl.dll ------------ C:\xampp\apache\conf\http.conf および Include しているファイルに以下の行がなければ追加します。(xampp 1.7.1では設定されている。) PHPIniDir "c:/xampp/php" コマンドプロンプトにて、以下を実行します。 >cd \xampp\php >go-pear.bat >pear install http://downloads.jasig.org/cas-clients/php/1.1.2/CAS-1.1.2.tgz testlink1.8.5 / 1.9.2を適切なフォルダに展開します。 testlinkに添付のパッチ(testlink-1.8.5-CAS-1.patch / testlink-1.9.2-CAS-1.patch)を適用するか、 もしくはzipファイル(testlink-1.8.5-CAS-1-diff.zip / testlink-1.9.2-CAS-1-diff.zip)解凍してコピーします。 testlink\config.inc.php の以下の行を適切に設定します。(localhostの部分はホスト名を指定) ------------ $tlCfg->authentication['method'] = 'CAS'; $tlCfg->authentication['cas_server_name'] = 'localhost'; $tlCfg->authentication['cas_server_port'] = 80; $tlCfg->authentication['cas_server_path'] = 'cas'; ------------ CASサーバにてSSLを使用していない場合は、 C:\xampp/php/PEAR/CAS/client.php を編集します。(以下を参考) ポート番号は実際に使用するものに適切に変更等行ってください。 ------------ { // the URL is build only when needed if ( empty($this->_server['base_url']) ) { - $this->_server['base_url'] = 'https://' + if (($this->getServerPort()==80)||($this->getServerPort()==8080)) { + $this->_server['base_url'] = 'http://' ; + } else { + $this->_server['base_url'] = 'https://' ; + } + $this->_server['base_url'] = $this->_server['base_url'] .$this->getServerHostname() .':' .$this->getServerPort() ------------ ==================================================== (4) Redmineの設定 その2 ==================================================== CASプラグインを http://github.com/ifad/redmine-cas-plugin の「Download」からダウンロードします。(ZIPを選択) C:\redmine\vendor\plugins\redmine_cas に解凍したものをコピーします。 コマンドプロンプトで以下を実行します。 >gem install rubycas-client Redmineを再起動します。 Redmineの「Administration/管理」「Plugins/プラグイン」の「CAS Authentication」の「Configure/設定」にて、 Enabledにチェック CAS base urlにhttp://localhost/cas/ (localhostの部分はホスト名を指定) Keep native login linkにチェック 「Apply/適用」 C:\redmine\config\initializers\session_store.rb を編集し、セッションタイムアウトを設定します。(以下を参考) (参考文献: http://blog.redmine.jp/articles/cookie-expiration/ ) ------------ ActionController::Base.session = { + :expire_after => 60.minutes, :key => '_redmine_session', ------------ Redmineを再起動します。 Redmineにログインできることを確認します。 Redmineからlogout 時にエラーとなり、C:\redmine\log\production.log に以下の内容がログされている場合 ------------ NoMethodError (undefined method `destroy' for {}:Hash): app/controllers/application_controller.rb:89:in `logged_user=' app/controllers/account_controller.rb:134:in `logout_user' config/initializers/mongrel.rb:62:in `dispatch_cgi' Rendering c:/redmine/public/500.html (500 Internal Server Error) ------------ C:\redmine\vendor\rails\actionpack\lib\action_controller\request.rb を以下を参考に変更し、redmine を再起動します。 (参考文献:http://dora.bk.tsukuba.ac.jp/~takeuchi/index.php?%A5%BD%A5%D5%A5%C8%A5%A6%A5%A7%A5%A2%2Frails%2Freset_session%20%A4%CE%A5%D0%A5%B0%A1%A9 ) ------------ def reset_session - session.destroy if session + session.destroy if session and session.respond_to?(:destroy) self.session = {} end ------------ TestLinkプラグインを http://sourceforge.jp/ticket/browse.php?group_id=3032&tid=23961 redmine_testlink0.0.1.zip からダウンロードし、解凍して、 C:\redmine\vendor\plugins\redmine_testlink フォルダにコピーします。 Redmineを再起動します。 Redmineの'Administration'の'Plugins'の画面にて、 'TestLink plugin for Redmine'の'Configure'を選択し、 'TestLink base path'に適切な値(例:/testlink)を設定します。 Redmineの'Administration'の'Roles and permissions'の画面にて、 'Testlink'の機能を利用するRoleを選択し、 'TestLink'にチェックを付けます。 Redmineの各プロジェクトの'Settings'のModulesにて'Testlink'にチェックを付けます。 ==================================================== (5) Subversionの設定 (Redmineのユーザ情報で認証) ==================================================== (参考文献:http://www.redmine.org/projects/redmine/wiki/Repositories_access_control_with_apache_mod_dav_svn_and_mod_perl ) http://helog.jp/environment/subversion/1324/ Setup-Subversion-1.6.17.msi をダウンロードして、インストールします。 C:\svn\work1 リポジトリを作成します。(work1は適切な名称にしてください。) C:\Program Files (x86)\Subversion\bin の以下のファイルを C:\xampp\apache\modules にコピーします。 mod_dav_svn.so Mod_authz_svn.so C:\xampp\apache\conf\httpd.conf の以下のコメントをはずします。 LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so C:\xampp\apache\conf\extra\httpd-svn.conf を以下を参考にして作成します。 ------------ LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_avn_module modules/mod_authz_svn.so DAV svn SVNParentPath "C:/svn" ------------ C:\xampp\apache\conf\httpd.conf の最後に以下を追加します。 ------------ Include "conf/extra/httpd-svn.conf" ------------ apacheを再起動します。 Webブラウザで http://localhost/svn/work1 にアクセスしてリポジトリの内容が表示されることを確認します。(localhostの部分はホスト名を指定。work1は適切な名称にしてください。) http://www.activestate.com/activeperl/downloads ActivePerl-5.10.1.1008-MSWin32-x86-294165.msi をダウンロードして、C:\perl にインストールします。 環境変数 path に C:\perl\bin が追加されていることを確認します。 >ppm install http://ppm.activestate.com/PPMPackages/5.10-windows/Authen-Simple-LDAP.ppd >ppm install http://ppm.activestate.com/PPMPackages/5.10-windows/DBI.ppd >ppm install DBD-MySQL >ppm install mod_perl C:\xampp\apache\modules を指定する。 C:\xampp\apache\conf\extra\httpd-perl.conf を以下を参考に作成します。 ------------ LoadFile "C:/perl/bin/perl510.dll" LoadModule perl_module modules/mod_perl.so AddType text/html .pl SetHandler perl-script PerlResponseHandler ModPerl::Registry PerlOption +ParseHeaders ------------ C:\xampp\apache\conf\httpd.conf の最後に以下を追加します。 ------------ Include "conf/extra/httpd-perl.conf" ------------ C:\xampp\apache\conf\extra\httpd-svn.conf を以下を参考にして修正します。 ------------ LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so PerlLoadModule Apache::Authn::Redmine PerlLoadModule Authen::Simple::LDAP # PerlLoadModule IO::Socket::SSL DAV svn SVNParentPath "C:/svn" AuthType Basic AuthName "Redmine SVN Repository" Require valid-user Satisfy any PerlAccessHandler Apache::Authn::Redmine::access_handler PerlAccessHandler Apache::Authn::Redmine::authen_handler ## for mysql RedmineDSN "DBI:mysql:database=redmine;host=localhost" ## for postgres # RedmineDSN "DBI:Pg:dbname=databasename;host=my.db.server" RedmineDbUser "redmine" RedmineDbPass "MysqlRedminePassword" ------------ C:\redmine\extra\svn\Redmine.pm を C:\perl\site\lib\Apache\Authn\ にコピーします。 この状態では、Subversionリポジトリ名称と同じRedmineのプロジェクトID(Identifier/識別子)のプロジェクトのユーザ情報で認証が行われます。 Subversionリポジトリ名称とRedmineのプロジェクトID(Identifier/識別子)が異なるものを使用したい場合は、コピーしたRedmine.pmを以下を参考に編集します。 (以下は、リポジトリ名称:work1に対応してプロジェクトID:wk1、リポジトリ名称:work2に対応してプロジェクトID:wk2を使用する場合の例。名称は適切に変更ください。) ------------ Sub get_project_identifier { my $r = shift; my $location = $r->location; my ($identifier) = $r->uri =~ m{$location/*([^/]+)}; + + $identifier = lc $identifier; + if ($identifier =~ /^work1$/) { + $identifier = 'wk1'; + } elsif ($identifier =~ /^work2$/) { + $identifier = 'wk2'; + } + $identifier; } ------------ apacheを再起動します。 Webブラウザで http://localhost/svn/work1 にアクセスして認証が正しく行われて、リポジトリの内容が表示されることを確認します。(localhostの部分はホスト名を指定。work1は適切な名称にしてください。) ==================================================== (付録) 操作画面 ==================================================== (1) testlink-cas-01.png Webブラウザで http://localhost/testlink/ にアクセスした時の画面 (2) testlink-cas-02.png IDとパスワードを入力後の画面 (3) testlink-cas-03.png Webブラウザで http://localhost/redmine/ にアクセスした時の画面 (4) testlink-cas-04.png work1プロジェクトを選択し、Testlinkタブをクリックした時の画面 (5) testlink-cas-04.png Webブラウザで http://localhost/testlink/ にアクセスし、Logoutをクリックした時の画面 以上、皆さんの参考になれば幸いです。