Linux上でのwebサーバーの立て方を勉強しようと思っています

現在の自分の知識は【スクリプト言語など、webアプリケーション構築層】に限られています


そこで、以下の事ができるためには具体的に何から、どういった順番で勉強すればいいのでしょうか?

・PHP,Ruby(Rails),Perl + MySQLによるwebアプリケーションを動かしたい
・サーバーはApache+FastCGI(Rails用にMongrel/lightyも)
・MTAはPostfix
・独自ドメイン取得(DNS/BINDという知識が必要??)

全体像が全く見えていないので、先に勉強されている方々の誘導を欲しています
何卒よろしくお願いします

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2008/03/22 13:38:20
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:t_shiono No.1

回答回数256ベストアンサー獲得回数22

ポイント70pt

大きく3つの領域に分けられると思っています。

1.アーキテクチャ(ハードウェア、ネットワーク、OSなど・・・)

2.サーバプログラム(ApacheやPostfix、Bindなど・・・)

3.アプリケーション領域(.htaccess、PHPスクリプト、DBスキーマなど・・・)

質問文から、3の部分については、ある程度は経験があるということのようですので、1と2のスキルをいかに習得するかという観点で見てみると、ここからは下位レベルの方から学んでも、上位レベルから学んでも、それぞれ知識と経験が必要になると思います。

ただ、やりたいことということから考えれば、上位レベルから進んだほうがよいかなと思います。

つまり、OSのインストールやネットワークの構築などは置いておいて、サーバの設定をしてアプリケーションを作っていくという部分から始めてみてはいかがでしょうか?


現在のスキルがどの程度か測りかねますが、失礼ですがあまりご経験がないという仮定で以下進めます。

そこでまずは、適当なレンタルサーバを借りて、その上でアプリケーションを作成して行ってはいかがでしょうか?

恐らくDB周りはあまり使ったことがないとお見受けいたしましたし、現状ではここにファイルを置くとこうアクセスできるということで作業をしているのかなと思います。

サーバの設定を本質的に知るには、各サーバの設定ファイルを編集できるようになるのが一番だとは思いますが、現状でそこから入るのは難しいのかなと思っております。そこで、レンタルサーバなどで提供される管理ツールを使って、「どんな設定ができるか」を学んだ上で、のちのち「どのように設定するか」を知るのがよいのではないかなと思います。

これだけだと、現状でできることとはそれほど変わりはないのかもしれませんが、今できることを足がかりにしていく方が、挫折しずらいですし、最終的にやりたいことは、これで十分できると思います。


もし、ご自身のスキルなどに自身があるのでしたら、1台PCを用意して、OSのインストール、ネットワークの構築から始めて、自宅にサーバを立てて、一気にすべてやってしまうのが、早いと思います。

id:tokyosmash

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

現在は比較的自由度の高い共用サーバーを複数契約しています

>恐らくDB周りはあまり使ったことがない

MySQLはwebアプリケーションを作る際には必ず使用しています。共用なので当然最初からインストールされていまして、管理画面(あるいはコマンドライン)からDBを作成すればすぐに使えるようにはなります。

しかしインストールからやるとなると、どのくらい難しいのか検討がつきません。


なぜ共用から脱皮したいのかと言うと、パフォーマンスの問題です。国内の共用サーバーでRailsがまともに動くところは無いと思います。Xrea/さくら共用などで動かすのは可能ですが、FastCGIが使えませんし、何より他の方に迷惑がかかってしまうので現実的ではありません。

海外の共用も試してみました。FastCGIが使えたのである程度実用的に動きますが、向こうのピークタイムになると酷く遅くなります。

こんな調子で2ヶ月くらいRails環境の構築で苦労していまして、それならいっその事、半年くらいかかってもいいのでサーバーの勉強を一からやるべきじゃないかという結論に達したのです。

最終的にはレンタルで専用サーバーを管理していきたいと考えています。

>大きく3つの領域に分けられると思っています。

さすがにハードウェアの勉強は避けたいです。

順番的には、

Linux → Apache → MTA → Ruby&PHPの設定 → MySQLの設定

こんな感じなのかな、、とぼんやり考えています。

DNS/BINDがどこに入るのかはわかりません。


長文になりましたが、何かアドバイスございましたらよろしくお願いします。

2008/03/19 22:20:52

その他の回答2件)

id:t_shiono No.1

回答回数256ベストアンサー獲得回数22ここでベストアンサー

ポイント70pt

大きく3つの領域に分けられると思っています。

1.アーキテクチャ(ハードウェア、ネットワーク、OSなど・・・)

2.サーバプログラム(ApacheやPostfix、Bindなど・・・)

3.アプリケーション領域(.htaccess、PHPスクリプト、DBスキーマなど・・・)

質問文から、3の部分については、ある程度は経験があるということのようですので、1と2のスキルをいかに習得するかという観点で見てみると、ここからは下位レベルの方から学んでも、上位レベルから学んでも、それぞれ知識と経験が必要になると思います。

ただ、やりたいことということから考えれば、上位レベルから進んだほうがよいかなと思います。

つまり、OSのインストールやネットワークの構築などは置いておいて、サーバの設定をしてアプリケーションを作っていくという部分から始めてみてはいかがでしょうか?


現在のスキルがどの程度か測りかねますが、失礼ですがあまりご経験がないという仮定で以下進めます。

そこでまずは、適当なレンタルサーバを借りて、その上でアプリケーションを作成して行ってはいかがでしょうか?

恐らくDB周りはあまり使ったことがないとお見受けいたしましたし、現状ではここにファイルを置くとこうアクセスできるということで作業をしているのかなと思います。

サーバの設定を本質的に知るには、各サーバの設定ファイルを編集できるようになるのが一番だとは思いますが、現状でそこから入るのは難しいのかなと思っております。そこで、レンタルサーバなどで提供される管理ツールを使って、「どんな設定ができるか」を学んだ上で、のちのち「どのように設定するか」を知るのがよいのではないかなと思います。

これだけだと、現状でできることとはそれほど変わりはないのかもしれませんが、今できることを足がかりにしていく方が、挫折しずらいですし、最終的にやりたいことは、これで十分できると思います。


もし、ご自身のスキルなどに自身があるのでしたら、1台PCを用意して、OSのインストール、ネットワークの構築から始めて、自宅にサーバを立てて、一気にすべてやってしまうのが、早いと思います。

id:tokyosmash

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

現在は比較的自由度の高い共用サーバーを複数契約しています

>恐らくDB周りはあまり使ったことがない

MySQLはwebアプリケーションを作る際には必ず使用しています。共用なので当然最初からインストールされていまして、管理画面(あるいはコマンドライン)からDBを作成すればすぐに使えるようにはなります。

しかしインストールからやるとなると、どのくらい難しいのか検討がつきません。


なぜ共用から脱皮したいのかと言うと、パフォーマンスの問題です。国内の共用サーバーでRailsがまともに動くところは無いと思います。Xrea/さくら共用などで動かすのは可能ですが、FastCGIが使えませんし、何より他の方に迷惑がかかってしまうので現実的ではありません。

海外の共用も試してみました。FastCGIが使えたのである程度実用的に動きますが、向こうのピークタイムになると酷く遅くなります。

こんな調子で2ヶ月くらいRails環境の構築で苦労していまして、それならいっその事、半年くらいかかってもいいのでサーバーの勉強を一からやるべきじゃないかという結論に達したのです。

最終的にはレンタルで専用サーバーを管理していきたいと考えています。

>大きく3つの領域に分けられると思っています。

さすがにハードウェアの勉強は避けたいです。

順番的には、

Linux → Apache → MTA → Ruby&PHPの設定 → MySQLの設定

こんな感じなのかな、、とぼんやり考えています。

DNS/BINDがどこに入るのかはわかりません。


長文になりましたが、何かアドバイスございましたらよろしくお願いします。

2008/03/19 22:20:52
id:KUROX No.2

回答回数3542ベストアンサー獲得回数140

ポイント10pt

独自ドメインは、外部に用意されているネームサーバー(DNS,BIND)を

使えば取り合えず何も考える必要はありません。

自宅サーバーで使う例を挙げておきます。

http://fedorasrv.com/domain-org.shtml

id:watch00 No.3

回答回数112ベストアンサー獲得回数0

ポイント10pt

OSのLINUXをとりあえずWindowsにすることをお勧めします。

一度になれないものを一気に導入するのは負担が大きいと思います。

http://y-kit.jp/saba/

XPでApache、メールサーバー、DNSの設定の仕方です。

基本はLinuxでも設定は同じなので、このあたりをクリアーしてから

Linuxにしてもう一度設定すればどうかなと思います。

  • id:tokyosmash
    質問が漠然としていますので捕捉いたします。


    これまで共用サーバーを使っていたので、「最初から何でも揃っている状態」でした。
    しかしrootを持ってまっさらな状態から作るとなると、当然何も無いわけです。

    そこで、何が必要で、何を勉強しなければいけないのかを知りたいのです。
  • id:t_shiono
    もし、最終的にやりたいことが、自由にRailsアプリを公開したいということであれば、サーバ周りの設定は、それに関するものに絞った方が早いのではないでしょうか?

    特殊なサービスを公開することを考えなければ、Linux、MTA、DNSについては、特殊な設定をする必要がないかと思います。(セキュリティについては別です)

    なので、オススメとしては、専用サーバを借りちゃうことではないでしょうか?(コスト的に許せばですが)
    それであれば、OSレベルでの基本的なセキュリティは確保された状態で提供してもらえるでしょういし、メールサーバは、アプリケーションから送受信ができる状態で手に入り、もし、メール起動で何かやる場合でも、同一レンタルサーバでの情報が見つかれば、そのまま適用できると思います。それ以前に、procmailや.forwardというキーワードで検索でも十分です。DNSについては、もちろん自前で管理するのもありですが、それよりは、ドメインを取得した会社のDNSで管理してもらえば十分んです。

    各サーバプログラムのインストールは、大体の場合はコマンド一つ叩けば済むので、インストール自体はあえて学ぶというほどのものではありません。設定はしないといけませんが、開発をする上で重要となるのは、ApacheとMySQL、Ruby/PHPの設定かと思います。

    代表的なところでいえば、

    Apache
    ・各種モジュールを利用するかどうか
    ・パフォーマンスチューニング
    ・ログの設定

    MySQL
    ・文字コード周り
    ・パフォーマンスチューニング

    Ruby/PHP
    ・追加モジュール(ライブラリ)など

    でしょうか。
    これらは、どれもネット上にはたくさんの情報がありますので、それらを見ながら試行錯誤すれば、すぐにできるのではないかと思います。一昔前は、インストールに手間取って、設定に手間取って、サーバを一通り利用できるまでに、大変な苦労が必要だったかもしれませんが、各ディストリビューションがプロフェッショナルだけでなく、もっと多くの人に使い易いものを提供するようになって来ていますので、つけて頂いたコメントから察すると、これからの知識ももちろんありますが、いきなり飛び込んで、問題ごとに対処して行くのが早いと思いました。
  • id:Kumappus
    ありゃ、こっちにも質問が。
    すでにコメントでも指摘されていますが、機能としてやりたいことを出した方がアドバイスがつきやすいと思いますよ。
    たとえばRoRを実験的にやるんだったらローカルにマシンたててlocalhost相手にfirefoxでアクセスできれば十分で、MTAやMySQL、DNSの学習の必要はありません(最近はDBにもsqlite使うから)。
  • id:tokyosmash
    >t_shionoさん

    ご丁寧にありがとうございます。
    ある程度面倒を見てくれる専用サーバーを借りてみました

    感想としては「思ったより簡単に動く」のですね。
    yumコマンドですぐにパッケージが入りますし、Linuxにはもっと難解なイメージがありました。

    ただ、セキュリティの事を考えてなるべくポートを空けない方針でいこうと思います。MTAも当面は使わずに、Apacheの運用に専念したいと考えています。とは言え、RailsはApacheをほとんど使わない(フロントでさばくだけでバックエンドにMongrelを使います)ので運用も比較的楽なようです。


    >Kumappusさん
    コメントありがとうございます。
    今までローカルで開発、共用サーバで運用してきましたが、共用サーバのパフォーマンスが貧弱すぎるので、この度の行動に移ったしだいです。
    とりあえずMTAとDNSは他に任せる事にしました。MTAはともかく、DNSはドメイン業者がやってくれているので全く勉強する必要は無かったようです。

    全体像が見えていないと「何が必要で何が不必要」なのか、それすらもわからないので、こうやって漠然とした質問でも人力検索の皆さんに伺うことにしています。


    これにて質問を終了させていただきます。
    大変勉強になりました。ありがとうございます!

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません