Tracのインストール方法を記載します。ダイジェスト認証でユーザを管理します。
Table of Contents
1 Tracのインストール
以下のスクリプトはTracをインストールし、testという名前のプロジェクトを作成します。
- Digest認証経由でTracへログインします。
- ADMIN_PASSWDはDigest認証で使うadminユーザのパスワードです。
- USER_NAMEはDigest認証で使う一般ユーザのユーザ名です。
- USER_PASSWDはDigest認証で使う一般ユーザのパスワードです。
#!/bin/sh -e [ -z "${ADMIN_PASSWD}" ] && ADMIN_PASSWD="trac" [ -z "${USER_NAME}" ] && USER_NAME="trac" [ -z "${USER_PASSWD}" ] && USER_PASSWD="trac" trac_install() { sudo dnf install -y trac mod_wsgi mod_ssl sudo firewall-cmd --add-service=https --permanent sudo firewall-cmd --reload sudo setsebool -P httpd_unified on sudo mkdir /var/lib/trac sudo mkdir /var/www/html/trac sudo chown apache:apache /var/www/html/trac } create_project() { proj=${1} sudo trac-admin /var/lib/trac/"${proj}" initenv "${proj}" sqlite:db/trac.db sudo trac-admin /var/lib/trac/"${proj}" deploy /var/www/html/trac/"${proj}" sudo chown -R apache:apache /var/lib/trac/"${proj}" sudo chown -R apache:apache /var/www/html/trac/"${proj}" sudo chcon -R -t httpd_sys_content_t /var/lib/trac/"${proj}" yes "${ADMIN_PASSWD}" | \ sudo htdigest -c /var/lib/trac/"${proj}"/.htdigest "${proj}" admin sudo trac-admin /var/lib/trac/"${proj}" permission add admin TRAC_ADMIN yes "${USER_PASSWD}" | \ sudo htdigest /var/lib/trac/"${proj}"/.htdigest "${proj}" "${USER_NAME}" cat <<EOF | sudo tee /etc/httpd/conf.d/"${proj}".conf WSGIScriptAlias /trac/${proj} /var/www/html/trac/${proj}/cgi-bin/trac.wsgi <Location /trac/${proj}> AuthType Digest AuthName "${proj}" AuthUserFile /var/lib/trac/${proj}/.htdigest Require valid-user </Location> EOF sudo systemctl restart httpd } trac_main() { trac_install create_project test create_project OtherProject } trac_main
2 Tracへのアクセス
以下のURLにブラウザでアクセスします。ブラウザでこのページの証明書を許可してください。
https://<server>/trac/test
ダイジェスト認証のダイアログが表示されます。ユーザ名をadmin、パスワードをADMIN_PASSWDの値に設定します。
Tracのページが表示されました。adminユーザでログインしています。