目的
社内のnugetサーバーを作りたい
実行環境の構築
Vagrantでubuntu18.04を使用する。自分の開発環境で以下を使用する。
https://github.com/kaepa3/develop_environment
初期化のシェルなんかは今回いらない、単純にVagrant up からのssh で充分。
インストール
以下を叩く
sudo apt install nginx nginx-extras
この記事を参考にしました。
すいません、結果これの補足記事になりました。
nginxの設定
先ほどの記事同様以下のファイルを編集する。
/etc/nginx/sites-available/default
※sudoで実行する必要がある。
serverディレクティブの中に以下を追加する。
既にlocationが一つあるが消す必要はない
location /dav/ {
client_body_temp_path /var/www/temp;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
create_full_put_path on;
dav_access user:rw group:rw all:rw;
autoindex on;
allow all;
}
なお本ファイルは以下の繋がりで読み込まれている。
nginx.conf->sites-enabled/default->sites-available/default
本番環境としてはconf.dの中に入れるなどなんか作法があるのだと思う。
↓がkindle unlimitedだったのでサクッと読んでみたが、該当の情報は拾えなかった。
nginx実践ガイド impress top gearシリーズ
ディレクトリの作成
以下のディレクトリを作成する。
sudo mkdir /var/www/temp /var/www/html/dav
sudo chown www-data:www-data /var/www/temp/var/www/html/dav
midirの前者はclient_body_temp_path用、後者はURLの解決のために作る。
chownはwebdavの外部からの操作権限に必要になる」。
nginxの再起動
sudo nginx -s reload
以下にアクセスすると以下のようにフォルダの参照が可能になる。
※Vagrantの設定でクライアント80portのアクセスをホストの8080にフォワードしている。
http://localhost:8080/dav/
参照限定のサーバに変更
location /dav/ {
client_body_temp_path /var/www/temp;
dav_ext_methods PROPFIND OPTIONS;
create_full_put_path on;
dav_access user:rw group:rw all:r;
autoindex on;
allow all;
}
- dav_methodsを消す。
- dav_accessのallをrに変更
dav_accessの設定については公式見ましたが検証しないと分からない。
多分、認証等でログイン指定した時にもう少しきめ細かく設定するためだろうが
面倒なので今回は検証しない。
あと、nugetのサーバなら普通のウェブサイトでも良いみたいな情報があったら誰か教えて欲しいです。