OpenBSDでWERCセットアップを自動化します。
setup.shとunsetup.shスクリプトの両方が、最新の利用可能なバージョン(v2.1)で、最新のOpenBSD安定リリース(7.6)で正常にテストされています。 OpenBSDの以前または後のバージョンは機能しない場合があります。
OpenBSDリリースのアップグレードを実行すると(sysupgrade(8)を使用して)、現在のWERCインストールが破損する場合があります。システムアップグレード、WERCアップデート、またはPlan9portアップデートのいずれかを実行した後、常にWERCインストールをテストすることをお勧めします。動作が停止した場合は、トラブルシューティングに向かいます。
今のところ、 setup.shから生じるインストールは、 GETリクエストのみでテストされているため、確実にサポートされています。他のタイプのHTTPリクエストは、機能する場合と機能しない場合があります(「ユーザーログイン」機能など)。 /etc/httpd.confのURLベースのルール( location ... )には、 GET以外のHTTP要求をサポートするために異なる構成が必要になる場合があります。
vN.M (ここで、 NとMは整数)のタグ名を使用したタグ付きコミットは、作業ツリーに次の特性があるコミットです。
setup.shとunsetup.shがあり、最新のOpenBSD安定バージョン(その時点で利用可能)に対してテストされ、肯定的な結果とシステムに既知の副作用がありません。テストプロセスはマニュアルであるため、いくつかのエッジケースを見落とす場合があります。私は自分のソフトウェアの品質に関心がありますが、すべての可能なエッジケースに対してすべてのラインをテストすることは、本当に時間がかかり、持続不可能です。
(rat.mdに移動しました)
注:変更される元の構成ファイルを保存するには、名前の最後に.bkを追加することにより、セットアップスクリプトをバックアップします。たとえば、 /etc/httpd.confの元のコンテンツは/etc/httpd.conf.bkにコピーされます。元のファイルを復元するために、変更されたスクリプトは、バックアップファイルを元の名前で変更し、変更されたバージョンを置き換えます。
次のリストでは、それぞれ$webdirと$p9pdir 、それぞれhttpdのWebコンテンツディレクトリ、デフォルト/var/www 、および$webdirをrootとしてデフォルト/plan9にしたplan9portのインストールディレクトリを参照してください。
/etc/httpd.conf.bkおよび/etc/fstab.bkは、マシンのファイルシステムにすでに存在していますか?もしそうなら、 setup.shおそらくそれらを上書きし、それらの名前を変更または削除することを検討します。$webdirにファイルを追加または変更しましたか?セットアップスクリプトは、既存のファイルを上書きする可能性のある$webdirに新しいファイルを作成します。 $webdirから重要なファイルを移動することを検討してください。setup.sh unsetup.sh実行することも、修理することにつながります。 (もしそうなら、あなたはただ幸運です。)どのコマンドが失敗したか、エラーの種類に応じて、自分でインストールを手動で修復できるかもしれません。ただし、これは常に当てはまるわけではなく、エラーが発生しやすい手順であるため、まったくお勧めしません。次の手順では、最新リリースタグを使用してスクリプトをダウンロードします。以下のURLに示されている最新のタグは手動で更新されています。先に進む前に実際の最新リリースと一致することを確認してください。 mainブランチからスクリプトを実行することは(まったく)お勧めしません。
次の手順は、セットアップスクリプト( setup.sh )を参照しています。 Un-Setupスクリプト( unsetup.sh )の場合、手順はスクリプト名を除いて同じです。
手順は次のとおり、人間の読み取り可能な手順とコマンドとして書かれています。
domain変数(および必要に応じてwebdir )を変更します。ftp https://raw.githubusercontent.com/EdoardoLaGreca/werc-on-openbsd/v2.1/setup.sh
sha256 -q setup.sh
vi setup.sh # change domain and webdir
chmod 744 setup.sh
doas ./setup.shセットアップスクリプトは、自動的にhttpdとslowcgi起動しません。それは2つの理由でそのように動作します。まず、公開する前にウェブサイトに最終的な変更を加えたいと思うかもしれません。第二に、 /etc/fstabスクリプトによって変更された場合、Webサーバーを起動する前にシステムを再起動する必要があります。再起動する必要がある場合は、スクリプトにログメッセージを表示する必要があります(および/または/etc/fstab変更されました)。ログにそのようなメッセージがないことは、再起動が必要ではないことを意味します。これはすべて、 unsetup.shには適用されません。
スクリプト全体を実行する代わりに、たとえば、スクリプトをデバッグするか、正常に終了できないパーツを再度実行するために、1つまたは一部の部分のみを実行したい場合があります。そうすることは、引数と同じくらい簡単なことです。例を以下に示します。
./setup.sh preinst inst上記の行はsetup.shを使用しますが、 unsetup.shもこのように動作します。
新しい機能を受け取ることと既存の脆弱性のパッチを適用するために、ソフトウェアを最新の状態に保つことをお勧めします。
WERCを使用する場合、4個のソフトウェアを最新の状態に保つ必要があります。
httpdとslowcgi ) OpenBSDの-currentブランチを使用している場合を除き、 httpdとslowcgiは通常、すべてのシステムアップグレードで更新されます。彼らはかなり安全でミニマリストなので、それらを最新の状態に保つことは必須ではありません。これらのプログラムは、カーネル、必須ライブラリ、すべてのプリインストールされたユーティリティなど、オペレーティングシステム全体を含むOpenBSDのソースツリーの一部です。そのソースツリーのすべてのソフトウェアは厳しいセキュリティ監査を受けているため、それらは非常に安全です。
一方、WERCとPlan9portを最新の状態に保つことが重要です。そのために、シェルで次の行を実行します。既存のWERCおよびPlan9portのインストールを削除し、更新されたバージョンをダウンロードして、再度インストールします。
doas ./unsetup.sh uninst rm9env
doas ./setup.sh inst mk9env開発に貢献したい場合を除き、このセクションをスキップしてください。
テストスクリプト、つまりtest.shは、セットアップと設定されたスクリプトのテストを自動化します。テストスクリプトには、3つの主要な関数が含まれています。
initsetup 、セットアップスクリプトを実行し、ファイルシステムの変更に関する情報を収集しますunsetup setup同じですが、絶え間ないスクリプトを使用していることはありませんテストスクリプトの動作は、セットアップおよび設定されたスクリプトの動作と類似しています。関数は、コマンドライン引数として指定することで呼び出すことができます。ただし、少し違いはありません。つまり、スクリプトを引用せずに実行することは、スクリプトをまったく実行しないことと違いはありません。この動作は、理論的には不注意なテストを減らす必要がある選択です。
OpenBSDをアップグレードした後、Webサイトが機能しなくなり、「500内部サーバーエラー」のみが表示されることがあります。
この動作の背後にある正確な理由は慎重に分析して理解する必要がありますが、WERCとPlan9portのアンインストールと再インストールを試みることができます。手順は、それらを更新する場合と同じです。
doas ./unsetup.sh uninst rm9env
doas ./setup.sh inst mk9envこれらのチェックサムは、最新リリースの作業ツリーで計算されます。
setup.sh:
7a08ee3a8e824f9a54b9a471ef0ebc6fb7ee2a848f13a33264b42a3e9d8817da
unsetup.sh:
18f74da2537dc4dcc97c3fc6d4439faf6340f068309d9110a5dc098b899c3e50
V2.0から始まって、プロジェクトは、Creative Commons Zeroの代わりに、ISCライセンスに基づいてライセンスされています。ユーザーや貢献者により多くの権利を与えることを除いて、ほとんどのことは変わりません。