質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.02%
IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

samba

Samba(サンバ)とは、UNIX系OSにおいてSMBを用いたサービスを提供するためのソフトウェアです。ネットワークを通じて、ファイル共有及びプリンタ共有などのサービスをWindowsマシンへと提供します。ライセンス体系GPLに基づきフリーソフトウェアとして公開されています。

Q&A

解決済

httpを使わずWindowsサーバーにファイル転送を行いたい

hatsuzo
hatsuzo

総合スコア51

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

samba

Samba(サンバ)とは、UNIX系OSにおいてSMBを用いたサービスを提供するためのソフトウェアです。ネットワークを通じて、ファイル共有及びプリンタ共有などのサービスをWindowsマシンへと提供します。ライセンス体系GPLに基づきフリーソフトウェアとして公開されています。

2回答

0グッド

0クリップ

430閲覧

投稿2022/10/19 04:57

前提

社内システムで、画面から選択したファイルをWindowsサーバー上にアップロードするアプリ(php)を作っています。
アプリと格納先のフォルダは同じサーバー上にあり、WebサーバはIISを使っています。

格納先のフォルダに対しては、IUSRとIIS_IUSRSのアクセス権を付けてあり、この状態でアップロードとダウンロードができています。

実現したいこと

格納先のフォルダを別サーバーにしたいと思っています。
この時、phpからファイルをアップロードする場合は、httpで転送していると思うので、対象のサーバーでもIISを起動させておく必要があろうかと思います。
このサーバーでWebサーバーを置けない場合、どんな方法が考えられるのでしょうか?
php上で、SMBプロトコルを使ってコピーするようなことは可能でしょうか?
仮に出来たとして、アクセス権はどのように設定すればよいのでしょうか?

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

SurferOnWww

2022/10/19 23:16

質問者さん、無言ですが、回答したのでそれに対するフィードバックを返してください。役に立った/立たなかったぐらいはすぐに返せるのでは? 役に立たなかったならどこがダメかを書くとより期待に近い回答が出てくるかも。とにかく無言は NG です。
hatsuzo

2022/10/20 23:49

大変失礼いたしました。 無視するつもりは全くありません。こんなに早くレスポンスを頂けるとは思っておりませんでしたので放置しているような形になってしまいました。申し訳ないです。
SurferOnWww

2022/11/03 23:48

質問者さん、その後無言ですが、どうなりましたか? 結果を書いてクローズするようにしてください。放置は NG です。

回答2

2

ベストアンサー

格納先のフォルダに対しては、IUSRとIIS_IUSRSのアクセス権を付けてあり、この状態でアップロードとダウンロードができています。

現状で「格納先のフォルダ」にアップロードしたファイルを書きこむのは IIS のワーカープロセス(IIS_IUSRS はワーカープロセスが属するグループ)なのでしょうか? そして、

格納先のフォルダを別サーバーにしたいと思っています。

Active Directory ドメイン環境で、Web サーバーも、その「別サーバー」もドメイン環境に属しているのでしょうか?

であれば、以下の記事に書いてあるように設定して、そのアカウントに「格納先のフォルダ」に書き込み権限を与えれば、Web サーバーのアプリからネットワーク越しに「格納先のフォルダ」にアップロードしたファイルの書き込み書き込みができるはずです。

ネットワークへのアクセス
https://learn.microsoft.com/ja-jp/previous-versions/ee886292(v=technet.10)#%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%B8%E3%81%AE%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9

この時、phpからファイルをアップロードする場合は、httpで転送していると思うので、対象のサーバーでもIISを起動させておく必要があろうかと思います。

その必要はないです。

投稿2022/10/19 06:40

編集2022/10/19 06:42
SurferOnWww

総合スコア17417

dameo, len_souko👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

hatsuzo

2022/10/21 00:05

コメント遅れまして失礼しました。 データの格納先はADドメインに参加させたクラウドサーバーにしようと思っています。 送るのはWebサーバーなので、転送先は要らない訳ですね。 権限の与え方が分からないので、出来ないと思い込んでいました。 everyoneフルコントロールにする訳にもいかず、ISR等のIISの権限を付けたらうまくいったのですが、 アプリケーション プールという概念は全く知りませんでした。 有難うございます。試してみたいと思います。 これを機にファイルサーバーもクラウドに置くことも検討していたのですが、 Webサーバを置くとすればWebサーバーを立てて管理も面倒になると思っていたので、 敷居が高いと思っていました。 コスト的にも二の足を踏んでいたのですが、これならAWSでいうところのEC2でなく、FSXでも使えるということになりますね。安心しました。 有難うございました。
SurferOnWww

2022/10/25 22:55

質問者さん、その後無言ですが、どうなりましたか? 結果を書いてクローズするようにしてください。放置は NG です。
hatsuzo

2022/11/07 00:29

結果のつもりだったのですが、クローズが漏れていました。失礼しました。

2

適当なファイルシステムでディレクトリとしてマウントしていれば
普通にcopyコマンドでコピーできると思います
ただしアクセス権はファイルシステム上のものになるので注意が必要です

投稿2022/10/19 05:23

yambejp

総合スコア109059

spoofy_dragon, ghjklpoiuy👍を押しています

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

回答へのコメント

hatsuzo

2022/10/21 00:06

コメントありがとうございます。 不勉強なので申し訳ないですが、Webアプリでコピーというのは、SMBプロトコルで転送するということなのでしょうか?PHPでそのようなことは可能なのでしょうか?

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.02%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

IIS

IIS(Internet Information Services)はマイクロソフト社によって開発されたwebサーバーです。Windows上で動作します。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

samba

Samba(サンバ)とは、UNIX系OSにおいてSMBを用いたサービスを提供するためのソフトウェアです。ネットワークを通じて、ファイル共有及びプリンタ共有などのサービスをWindowsマシンへと提供します。ライセンス体系GPLに基づきフリーソフトウェアとして公開されています。