こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

専用サーバーの仕様は第三者でも分かるものですか?

web制作に従事している者です。
サーバーの要件に合わせた制作の知識はありますが、サーバーサイドに関しては初心者です。
現在、ある専用サーバーでwebサイトを構築しています。
専用サーバーはクライアントの所有ですが、管理は外部へ委託されています。

・wordpressサイト構築
・メールフォームの設置

を行うことになっておりますが、
私(制作)←→上司←→クライアント←→サーバー管理会社との伝達がうまくいかず、
サーバーの情報があまりなく困っております。

現在の状況としては以下です(時系列で書きます)。

A - wordpressはインストール出来たが、ファイルの書き換えはwpから出来ない仕様となっている
(configファイルの作成やプラグインの追加・削除はFTPソフトから行いました)

B - CGIメールフォームの設置を試みましたが、指定のパーミッションにしても動かなかった(.cgiファイルにアクセスすると白背景に文字列だけが表示されるだけ)

C - パーミッションが違うのかも?と思い、サーバー管理会社へ「CGIを使いたいのでパーミッションを教えて欲しい」とたずねたところ、「業者なら調べれば分かるんじゃないですか」と返答された。

D - その後CGIディレクトリがあることを知り(教えてはもらえず)、そのディレクトリにアクセルするとアクセス権がないといわれた。

E - phpメールフォームも試してみましたが、送信まではいくもののメールは届かず正常ではないようです。

wordpressは一応インストール出来なのでよしとして、、、
メールフォームの設置がうまくいかず行き詰っています。
php.iniのページのURLをもらいましたが、私は見方があまりわからず、、、
ここでサーバーの情報というのはすべて分かるのでしょうか?
また、web制作者がサーバーのことを管理者へいろいろ聞くことはあまりよくないことなのでしょうか?
また、パーミッションは第三者がなんらかの方法で調べれば分かるようなものなのでしょうか?

こちらが管理会社へサーバーの仕様に関していろいろ聞くことを、とても面倒に扱われるのです。
あいだに挟まれているクライアントさんも無知なため、管理会社へ問い合わすことが億劫なようで…
クライアントの元には、サーバーのマニュアルはFTP設定のものしかなく、その他はないとのことでした。

とりとめのない文章ですみませんm(_ _)m
制作者ならそれくらい知っておけよ!ということもあれば、あわせて教えていただきたいです。
よろしくお願いします。

投稿日時 - 2014-05-20 10:02:18

QNo.8602850

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

13人が「このQ&Aが役に立った」と投票しています

回答(9)

デザイナー上がりでフリーの方ですか?
「サーバ要件に合わせた制作の知識がある」というのであれば、
まずサーバの仕様書を貰ってください。
これはマストです。
逆に言うと、これだけでほぼ解決しますし、そもそもサーバの仕様も貰わないでどうやって作るんですか・・・
最適化とかやってらっしゃいますか?インストーラが動けば終了とかなんじゃないんですか?

また、No.1の方が仰有るように、sshのログインを許可して貰ってください。これはベストですが、貰えないこともあります。
ただ操るスキルが無さそうですので、あっても無くてもでしょう。

正直ウェブ屋としてどうなんでしょうか。
補足を見れば見るほどどきどきしてきます。
PCにvirtualboxとcentos
https://www.virtualbox.org/
https://www.centos.org/
でも入れて、最低限ウェブサーバの挙動くらい勉強してください。
分かっているはずのことが分かっていなくて、応えようにも応えられません。
単純にMTAが動いてないだけとかそんな感じはひしひしとしますが・・・。

投稿日時 - 2014-07-05 00:01:59

ANo.8

>> perlは動いてなくて、phpは動いている(そもそもwordpressは動いている)。
>> あとはメール送信だけが問題だ。メールが送信できればperlでもphpでもいい」
>> という質問でしょうか?

> 簡潔に言えばおっしゃるとおりです。


状況としては
「phpメールフォームも試してみましたが、送信まではいくもののメールは届かず正常ではないようです」
ですよね?

とりあえずphpでメールを送れればよしとした場合、メールがなぜ送れてないか調べていく
ことになります。まず、
- エラーログを確認する
- すでにもらった情報を整理する(特にメール周り、ネットワーク周り)
- メールの送信設定の確認をする(メールサーバのアドレス、送信アカウント、認証)
をお薦めします。具体的には、

(1) メール送信エラーはないか?
本当にメールが送れていますか?phpやwordpressは知りませんが、メールの送信エラーは分かるようになっているはずです。

(2) メールの送信元アカウントは正しいか
不明なアカウントから送信しないように、メールの送信元アカウントを
制限していることがあります。これはサーバ管理者に聞くしかありません。
あるいは既に指示されていれば、
phpやwordpressに設定しておく必要があるでしょう。


(3) メールサーバのアドレスは正しいか

(4) メール送信に認証があるか?
メール送信前に認証が必要な場合があります。大抵は、POP before か
SMTP Authenticationです。
これはサーバ管理者に聞くしかありません。あるいは既に指示されていれば、
phpやwordpressに設定しておく必要があるでしょう。

(5) Webサーバからメールサーバにメール送信できるか
Webサーバとメールサーバ間にfirewallがあって、そもそもメール送信を遮断している。
これはサーバ管理者に聞くしかありません。


> ここで質問させていただき、私の聞き方が悪いのだろうと分かりました。
> サーバー管理者へ、「こうしたい」という要望を分かるように伝えるにはどうしたらよ
> のでしょうか、、、。

- (目的) 顧客の要件により、Webからメールを送信したい。phpは動くようなので、phpでメールを送りたい。
- (状況) (1)の調査でXXのエラーがあった。もしくはエラーなく送信できたが、別のメールアカウントに届かない
- (質問と、なぜその質問をするのか) そこで、Webサーバからのメールの送信環境について教えていただきたい。
- (質問詳細) (2)から(5)のうちもらってない情報を質問する

投稿日時 - 2014-05-22 00:48:50

補足

ご回答ありがとうございました。
順序立てて解説してくださりとても分かりやすいです。
初歩的な質問で申し訳ないのですが、、、

(1) メール送信エラーはないか?
本当にメールが送れていますか?phpやwordpressは知りませんが、メールの送信エラーは分かるようになっているはずです。

エラーのログはどこで見ることが出来るのでしょうか??

投稿日時 - 2014-05-22 14:49:21

ANo.7

とりあえずCGIを置いているディレクトリに
ErrorDocument 401 /error/401.html
ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.html
ErrorDocument 500 /error/500.html
と書いた.htaccessをおきます。
合わせて、HTTPのルートに/errorディレクトリを作って、401.htmlなどを作っておきます。
<html>
<body style="text-align:center;font-size:4em">
<h1>Error401</h1>
<p>このページの利用は制限されています。
</body>
</html>

以下応答ヘッダにあわせたメッセージを書く。
 ⇒ステータス応答一覧( http://www.cresc.co.jp/tech/java/Servlet_Tutorial/Lesson_41.htm )

投稿日時 - 2014-05-21 10:08:08

ANo.6

> CGIメールフォームの設置を試みましたが、指定のパーミッションにしても動かなかった
> phpメールフォームも試してみましたが、送信まではいくもののメールは届かず正常ではないようです。

よくわからないんですが、
「perlは動いてなくて、phpは動いている(そもそもwordpressは動いている)。あとはメール送信だけが問題だ。メールが送信できればperlでもphpでもいい」
という質問でしょうか?

投稿日時 - 2014-05-21 05:55:24

補足

ご回答ありがとうございました。
分かりづらい文章ですみませんm(_ _)m
所々で使っている用語が的を得ていないと思います。。。

>perlは動いてなくて、phpは動いている(そもそもwordpressは動いている)。
>あとはメール送信だけが問題だ。メールが送信できればperlでもphpでもいい」
>という質問でしょうか?

簡潔に言えばおっしゃるとおりです。
ここで質問させていただき、私の聞き方が悪いのだろうと分かりました。
サーバー管理者へ、「こうしたい」という要望を分かるように伝えるにはどうしたらよいのでしょうか、、、。

投稿日時 - 2014-05-21 10:14:52

ANo.5

>どの部分を調べたらよいのでしょうか...?
HTMLの応答ヘッダの
Last-Modified: Mon, 14 Jun 2010 10:46:11 GMT
 がどのCGIも同じなら、指定ファイル

>また.htaccessファイルは、rootディレクトリにありました。
 .htaccessそれより下位のディレクトリで、個別の指定が上書きされない限りすべて継承されます。
 CGIを置いているファイルに先のものを書いたものをおいても良いし、rootにあるものに追記しても良い。

>(今、わたしがさわっている階層はrootから2階層下です)
 たぶん、FTPに置けるルートでしょうね。
 お使いの物は、[専用サーバー]ではなく、ディレクトリレンタルかせいぜいVPSだと思われます。

 たぶん、いずれもCGIが動作していない可能性が高いです。perlへのパスとかをマニュアルで確認してください。

投稿日時 - 2014-05-20 19:39:14

ANo.4

>文末に記載していただいたものを、Terapadで保存し(utf-8 CR+LF)、試してみました。
パーミッション705、755どちらも試しましたが、やはり白背景の文字列のみ表示されるという状態です。

.htaccessは???
単にエラーが白紙ページを参照している場合がある。
 HTTP応答ヘッダを確認しましょう。
 製作なので、firefoxお使いだと思いますが、 Live HTTP Headers( https://addons.mozilla.jp/firefox/details/3829 )を使うと良いです。


 

投稿日時 - 2014-05-20 16:11:13

補足

回答ありがとうございました。

firefoxのアドオン、試してみました。
ヘッダ情報見ることが出来ました。
どの部分を調べたらよいのでしょうか...?

また.htaccessファイルは、rootディレクトリにありました。
(今、わたしがさわっている階層はrootから2階層下です)
見てみましたが、アクセス制限やURLリライトなどの記述だけでした。

投稿日時 - 2014-05-20 18:44:11

ANo.3

その動作の説明おかしいです。
 初歩的な事ですので・・
CGIが動作しないなら、何らかのエラーメッセージが帰ってくるはずです。
Internal Server error
とか、さもなければ.htaccessにて、
ErrorDocument 401 /error/401.html
ErrorDocument 403 /error/403.html
ErrorDocument 404 /error/404.html
ErrorDocument 500 /error/500.html
とでも指定してコードがわかるようにして置けばよい。
 これは、サイト構築時、以降も必要なので

> CGIメールフォームの設置を試みましたが、指定のパーミッションにしても動かなかった(.cgiファイルにアクセスすると白背景に文字列だけが表示されるだけ)
 HTTP応答ヘッダが違う。CGIは動作していると思われます。変更もできます。
 ごく簡単なCGIを動かしてみれば??(末尾に記載)

> パーミッションが違うのかも?と思い、サーバー管理会社へ「CGIを使いたいのでパーミッションを教えて欲しい」とたずねたところ、「業者なら調べれば分かるんじゃないですか」と返答された。
 当然です。引き受けてはなりません。
 FTP経由でもわかります。 705でよいはずです。動かないときは755

>その後CGIディレクトリがあることを知り(教えてはもらえず)、そのディレクトリにアクセルするとアクセス権がないといわれた。
 このcgi-binディレクトリは、ウェブサイト側が利用するものではありません。インストール済みのCGIなどのために用意されているものでしょう。
 最近は、ユーザー側のディレクトリでCGIなどは動作するように指定することが多いです。完全に丸ごとレンタルしている場合は別プロセスで動作するように分けることもありますがVPAN程度でしたらないでしょう。

>phpメールフォームも試してみましたが、送信まではいくもののメールは届かず正常ではないようです。
 これもsendmail、ないしqmail、Postfixに対する引渡しミスです。
 ヘッダ部分が間違っていることが多いです。
 ⇒( http://www.puni.net/~mimori/rfc/rfc2822.txt )

telnetが必要な場面はそうそうはないでしょう。許可していないサーバーが多いです。
どうしても必要なら、telnet.cgiを作ればよい。私は自分で作りました。サーバーで可能なシェルコマンドは使えます。--セキュリティなどの問題もあり、簡単なものしか蜜からないでしょう。私も公開する予定はありません。--なんでも出来ちゃうので。

>また、web制作者がサーバーのことを管理者へいろいろ聞くことはあまりよくないことなのでしょうか?
 聞かなければならない人は借りませんので。
 また、個別の動作に関しては問合せにしません。出来ないというほうが正確です。
 「『戸が閉まらない』と言われて行ってみたら床に石っころが転がっていた」なんて事です。
 分担が異なります。サーバー管理側の仕事は新しいパッチの適用とか、リセットとかです。利用内容についてはサポート対象外です。

>また、パーミッションは第三者がなんらかの方法で調べれば分かるようなものなのでしょうか?
 いくらなんでも、その質問はないです。FTPで接続したらわかる。

★絶対にすべきこと
 CGIなどの動作確認をサーバーで行なってはなりません。
 ローカルにサーバーを用意して、localhostレベルで、まず確認しましょう。

 私は、ウェブ製作用に独立したパーテーションを用意して、そのドライブのルートに、シェル経由で確認用にCygwinを入れた上で、ほぼ標準的な構成でapacheサーバー、PHP、MSQLなどを入れています。ユーザーさんのフォルダーは/user/hoge/homeなどに展開しています。HTMLもCGIもhtaccessの動作などは、そこで確認後サーバーへアップロードです。
 サーバーにアップロードする前にノートパソコンで顧客の眼前ですべてのデモンストレーションも出来ます。


#!/usr/local/bin/perl
print "Content-Type: text/html\n\n";
print "<html>\n";
print "<head>\n";
print "<title>CGI Test</title>\n";
print "</head>\n";
print "<body>\n";
print "<p>",$ENV{'QUERY_STRING'},"</p>\n";
print "</body>\n";
print "</html>\n";

投稿日時 - 2014-05-20 14:28:51

補足

ご回答ありがとうございました。初歩的な質問ばかりですみません。。。

>>CGIメールフォームの設置を試みましたが、指定のパーミッションにしても
>>動かなかった(.cgiファイルにアクセスすると白背景に文字列だけが表示されるだけ)

>HTTP応答ヘッダが違う。CGIは動作していると思われます。変更もできます。
>ごく簡単なCGIを動かしてみれば??(末尾に記載)

文末に記載していただいたものを、Terapadで保存し(utf-8 CR+LF)、試してみました。
パーミッション705、755どちらも試しましたが、やはり白背景の文字列のみ表示されるという状態です。

cgi-binディレクトリについては、そうなのですね。勉強になりました。

投稿日時 - 2014-05-20 15:34:17

ANo.2

> ということは、ログイン情報を問い合せる必要がありますよね。。。
> 設定を変更する、というのは、何の設定でしょうか?
Apache等のWebサーバやPHPの設定情報、ファイルやディレクトリのパーミッションを変更するということです

> 「SSHでサーバにログインして設定等をいじる」というのは、勝手にしてはいけないことですよね?
> 通常、サーバー管理者ではなく制作側が行う作業なのでしょうか?
管理ポリシー次第でしょう。
サーバ管理者はOSレベルまでしか面倒を見てくれなくて、ApacheやPHP、DB等のミドルウェア以上は開発側で面倒見てくれというのはあります。

私自身、本来はPHP等でセッセとプログラムを書くのが仕事ですが「サーバは用意したから後は好きに設定してね」って言われることがよくあります。
もちろんサーバ管理者と、どんなソフトを入れたか、どんな設定をしたかと言った情報を共有する必要があります。

管理の厳格な所だと設定は全てサーバ管理者が行いますが、その場合は制作サイドからどんなソフトを入れて欲しいのか、どんな設定をして欲しいのかと言った事を細かく指示する必要があります。
このような管理の場合、サーバ管理者は言われた通り設定するだけで、アドバイスをくれないケースがあります。(よほどセキュリティ上問題のある設定を指示しない限り、言ったことだけやるケースが多いように感じます)
従って、どうなっているか聞くのではなく、どうして欲しいのかを指示すると言った方法がスムーズに作業が進みます。
当然ながら、指示する側がちゃんとした知識を持っていないと指示ができませんので、サーバに関するスキルを身に付ける必要があると思います。

投稿日時 - 2014-05-20 12:49:11

補足

ご回答ありがとうございました。

>管理の厳格な所だと設定は全てサーバ管理者が行いますが、その場合は制作サイドからどんなソフト
>を入れて欲しいのか、どんな設定をして欲しいのかと言った事を細かく指示する必要があります。
>このような管理の場合、サーバ管理者は言われた通り設定するだけで、アドバイスをくれないケース
>があります。(よほどセキュリティ上問題のある設定を指示しない限り、言ったことだけやるケースが多
>いように感じます)

「こんな設定にして欲しい」ということを、制作側から言ってもいいものなのでしょうか?
これまで、与えられたサーバーに併せて制作することしかやってこなかったので、、、
具体的にどのように要望を出したらよいのか、お教えいただけませんか。

ちなみに、さきほどphp.iniを見ていて思ったのですが、「sendmail_from」の値がno value でした。
これはどのような意味なのでしょうか?

投稿日時 - 2014-05-20 15:40:18

ANo.1

そのサーバにSSHかTelnetでログインできるのであれば、ログインしてサーバの設定情報を確認することは可能です。
また、root権限があれば設定変更も可能ですが、設定変更は運用担当者と調整をしたほうがいいですね。
web制作をされていて、CGI等のサーバサイドプログラムを使われるのであれば、SSHでサーバにログインして設定等をいじるスキルを身に付けられる方がいいかと思います。

投稿日時 - 2014-05-20 10:30:52

補足

ご回答ありがとうございました。

>そのサーバにSSHかTelnetでログインできるのであれば、ログインしてサーバの設定情報を確認する>ことは可能です。

>root権限があれば設定変更も可能ですが、設定変更は運用担当者と調整をしたほうがいいですね。

ということは、ログイン情報を問い合せる必要がありますよね。。。
設定を変更する、というのは、何の設定でしょうか?

>web制作をされていて、CGI等のサーバサイドプログラムを使われるのであれば、
>SSHでサーバにログインして設定等をいじるスキルを身に付けられる方がいいかと思います。

「SSHでサーバにログインして設定等をいじる」というのは、勝手にしてはいけないことですよね?
通常、サーバー管理者ではなく制作側が行う作業なのでしょうか?

「CGIメールフォームを使いたい」と言うと、「どうぞ」と言われる始末で、
それ以上、何をどう尋ねたらよいのか、、、という状況です。。。

投稿日時 - 2014-05-20 11:35:45

あなたにオススメの質問