FreeBSDへの初心者向けTRACのインストール

tracプロジェクト


その機能と、このシステムが必要な理由については説明しません。すべてがオフになっています。 ウェブサイト( http://trac.edgewall.org )またはウィキペディア
初心者向けのインストールと構成についてのみ詳細に検討します(この記事は、誰かに役立つかもしれないリャザンの友人Enverに捧げられています)。

FreeBSD + SVN + Apache2 + Tracバンドル


初心者のために、束とその動作方法についての詳細

開発中のソフトウェアのソースはすべてSVNにあります(すべての変更を確認するのが便利であり、必要に応じていつでも簡単にロールバックできます)。
Tracは、主にsvnリポジトリとwiki(追加のモジュールはカウントしません)でインタラクティブな作業の可能性を提供するシステムです。

設置

まず、Apache 2.2を配置します
cd /usr/ports/www/apache22
make WITH_BERKELEYDB=db42 install


mod pythonをダウンロードしてインストールする
cd /tmp
fetch http://www.apache.org/dist/httpd/modpython/mod_python-3.3.1.tgz
tar -xvf mod_python-3.3.1.tgz
cd mod_python-3.3.1
./configure
make
make install
rm -R mod_python-3.3.1 mod_python-3.3.1.tgz


次のSVN
cd /usr/ports/devel/subversion
make WITH_MOD_DAV_SVN= install


Tracとwebadminモジュールのインストール
cd /usr/ports/www/trac
make install
cd /usr/ports/www/trac-webadmin/
make install


必要に応じて、あなたの裁量で他のモジュールをインストールできます

カスタマイズ

すべてがインストールされたので、構成に進み、まずSubversionを構成します。
リポジトリを保存するディレクトリを作成します、なぜなら WebDavモジュールでApache経由のアクセスを使用するため、Apacheグループの権限を持つフォルダーに保存することをお勧めします
mkdir /usr/local/www/repository

プロジェクトを作成する
svnadmin create /usr/local/www/repository/project_name

Apacheグループとユーザー権限を再帰的に割り当てます
chown -R www:www /usr/local/www/repository

ユーザーとパスワードを含むファイルを作成します
htpasswd -c /usr/local/etc/project_name.passwd user_name
ユーザーに同じコマンドを追加するが、 -cスイッチなし

Apacheに行く
mod_dav_svnがapache config edit /usr/local/etc/apache22/httpd.conf有効になっているかどうかを確認しましょう( LoadModule dav_svn_module libexec / apache22 / mod_dav_svn.soのような行があるはずです)
下に追加
LoadModule python_module libexec/apache22/mod_python.so

締め切りを外す
Include etc/apache22/extra/httpd-vhosts.conf
保存...

仮想ホストでファイルを開き、/ edit /usr/local/etc/apache22/extra/httpd-vhosts.conf / edit /usr/local/etc/apache22/extra/httpd-vhosts.conf / edit /usr/local/etc/apache22/extra/httpd-vhosts.conf / edit /usr/local/etc/apache22/extra/httpd-vhosts.conf / edit /usr/local/etc/apache22/extra/httpd-vhosts.conf / edit /usr/local/etc/apache22/extra/httpd-vhosts.confを編集して編集します
NameVirtualHost *:80

<VirtualHost *:80>
ServerAdmin webmaster@project_name.ru
DocumentRoot "/usr/local/www/trac/htdocs"
ServerName trac.project_name.ru
ErrorLog "/var/log/trac.project_name.ru-error_log"

<Location ~ "/(svn|project_name/login)">
AuthType Basic
AuthName "Subversion repository"
AuthUserFile /usr/local/etc/project_name.passwd
Require valid-user
</Location>

<Location /svn>
DAV svn
SVNParentPath /usr/local/www/repository
</Location>
</VirtualHost>


変更を保存してApacheを再起動します
apachectl restart

ブラウザとSVNクライアント(LinuxとWindowsではそれぞれSubcommanderとSmartSVNを使用) server_ip / svn / project_nameを使用して、作成したユーザーログインを使用して、リポジトリの操作性を確認します。

次に、Tracでプロジェクトを作成します

プロジェクト用のフォルダーを作成し、静的をコピーします
cd /usr/local/www
mkdir trac
cd trac
mkdir -pv /usr/local/www/trac/htdocs/i
cp -R /usr/local/share/trac/htdocs/* /usr/local/www/trac/htdocs/i
echo "<html><body><a href=/project_name>Project Name</a></body></html>" >> /usr/local/www/trac/htdocs/index.html


プロジェクト自体を作成します
trac-admin project_name initenv
次に、指示に従ってインストールを入力します
プロジェクト名
デフォルトのデータベースは、クリックするだけでsqliteによって使用されます(他のデータベースについては、 http://trac.edgewall.org/wiki/DatabaseBackendに情報があります)
リポジトリタイプ:svn
リポジトリパス:/ usr / local / www / repository / project_name
残りはデフォルトで...

プロジェクトの構成を編集するために開きedit /usr/local/www/trac/project_name/conf/trac.ini
ディレクティブを見つけて新しい値を設定する
htdocs_location = /i/
default_charset = utf-8
base_url =http://server_ip/project_name


そして最後にwebadminモジュールを追加します
[components]
webadmin.* = enabled

すべてのディレクティブの詳細はこちらtrac.edgewall.org/wiki/TracIni

ユーザーの1人に管理者権限を割り当てます
trac-admin /usr/local/www/trac/project_name permission add user_name TRAC_ADMIN

プロジェクトを同期する
trac-admin /usr/local/www/trac/project_name resync

インストール後、プロジェクトフォルダーに再び権限を割り当てます。
chown -R www:www /usr/local/www/trac

Trac tracd --port 8000 /usr/local/www/trac/project_nameの機能を確認し、ブラウザhttp:// server_ip:8000で監視します
プロセスを完了するには、<Ctrl + C>の組み合わせを使用します

すべてが正常に動作する場合、TracはApacheを起動する必要があります...
編集のためにもう一度開きます
edit /usr/local/etc/apache22/extra/httpd-vhosts.conf

追加する
<Location /project_name>
SetHandler mod_python
PythonInterpreter main_interpreter
PythonHandler trac.web.modpython_frontend
PythonOption TracEnv/usr/local/www/trac/project_name
PythonOption TracUriRoot /project_name
</Location>


Apacheを再度再起動し、ブラウザhttpで開きます:// server_ip / project_name
管理者のログインの下で作業を整理します。ユーザーのアクセス権を忘れないでくださいhttp://trac.edgewall.org/wiki/TracPermissions

Linuxシステムの場合、インストールプロセスとファイルパスのみが異なります。

1つのサーバーで複数のプロジェクトを実行できるため、svnとtracで新しいプロジェクトを作成し、httpd-vhosts.confに追加するだけです。

PS:この記事は、最初のLinuxユーザーを理解するために最も単純化されて書かれています。 私は、インターネットではなく、会社のローカルネットワーク上のサーバーを想定していました...

Source: https://habr.com/ru/post/J45389/


All Articles