RHEL 5/CentOSシステムでsvnserveをサービスとして設定

svnserveをサービスとして実行するように設定するにはどうすればいいですか。

svnserve -d -r /var/svn/

サーバーが再起動されるまで動作します。


編集1:サーバの詳細

[email protected] [~]# uname -a
Linux vps.example.com 2.6.18-028stab070.14 #1 SMP Thu Nov 18 16:04:02 MSK 2010 x86_64 x86_64 x86_64 GNU/Linux
4
nl ru de

4 答え

/etc/init.dにサービスを開始するためのスクリプトがまだない場合は、スクリプトを作成してから、関連するランレベルディレクトリにリンクを追加します。

The process is described at http://queens.db.toronto.edu/~nilesh/linux/subversion-howto/

2
追加された
サンプルスクリプトを見ていますが、(1) 'svn'固有のユーザーで実行しないでください。現在私はrootとしてsvnserve -d ...を実行しています。 (2)自分のシステムのどこかにstartprocファイルがあるとは思わない。
追加された 著者 Manny Nunez,
どのように私はこれを行うことができますかについての任意の考え?
追加された 著者 Manny Nunez,

これを実行する最も早い方法は /etc/rc.local/ に起動コマンドを追加することです。これはシステム起動の最後に実行されます。

「正しい」方法はinitシステムを使うことです。 /etc/init.d/skeleton というファイルがあります。これはサービスを開始するためのinitスクリプトを作成するための基本的なフレームワークです。 /etc/init.d/svnserveにコピーして、必要に応じてカスタマイズしてください。 svnserve initファイルの例はウェブ上にたくさんあります。 /etc/init.d/svnserver [start | stop] が正常に機能したら、 chkconfig svnserve on を実行できます。このinitスクリプトは起動時に起動され、シャットダウン時に停止されます。

2
追加された
すみません、/ etc/init.d/skeletonにしてください。メイン記事を更新しました。
追加された 著者 jrojo,
うーん、/ etc/init.d/skeletonはDebianのものです!最善の策は、ウェブ上で入手可能な多くのsvnserve initスクリプトを探すことです。例えば、 mygeekproject.com /?p = 152
追加された 著者 jrojo,
こんにちは@Niall - ファイルは私が持っているrhel/centosシステムには存在しません...
追加された 著者 Manny Nunez,
うーん... root @ vps [〜]#検索/名前 'スケルトン'は何も見つかりませんでした
追加された 著者 Manny Nunez,
何か別の考え?
追加された 著者 Manny Nunez,

Supervisor may be the easiest way to do this. It's available in EPEL, a high-quality 3rd party repository of packages for RHEL/CentOS.

rpm -ivh http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
yum install supervisor
chkconfig --levels 345 supervisor on

ドキュメントに従って/etc/supervisord.confを編集します。

service start supervisor
1
追加された

ランレベル3、4、5でsvnserveを起動するには、これを試してください。

chkconfig --level 345 svnserve on

問題がないかどうかを確認するには

systemctl list-unit-files | grep *svn*

Screenshot for systemctl list-unit-files | grep *svn*

注:chkconfigの前に、サービスファイルが既に存在するかどうかを確認できます。

ls  /usr/lib/systemd/system/*svn*

screenshot for ls /usr/lib/systemd/system/*svn*

1
追加された