[[FrontPage]] #contents 2011/09/18からのアクセス回数 &counter; CMS(コンテンツサーバ)の各記事にふさわしい広告を表示する実験と Sageの公開サーバを構築するために、さくらのVPSを使うことにしました。 ここでは、VPSの申し込み直後から最低限必要な設定 - 管理ユーザアカウントの作成 - SSHの設定 - IPTables(ファイアーウォール)の設定 - Apacheの設定 - MySQLの設定 - PHPの設定 方法を紹介します。 ** さくらコントロールパネル [#wafc7333] さくらのVPSを申し込むと、「さくらコントロールパネル」のURLとIPアドレス、パスワードが送られてきます。 VPSの初期画面は以下のようなものです。 &ref(さくらVPSコントロールパネル.png); 何の準備もなく、いきなりサーバを起動するのは危険です。 必要最低限のセキュリティ対策を整えてからはじめましょう。 ** テンプレートの必要性 [#gc443693] 少し調べて見ましたが、さくらのサイトには、VPSサーバ構築の情報は提供されていませんでした。 ユーザが何の対処もしないでVPSサーバを起動した場合、セキュリティーの甘いサーバが多数現れることが予想されるため、サーバテンプレートを提供する等の策を講じたが良いと思われます。 Googleで検索したところ、色々な方がさくらのVPSの構築方法を紹介されていますが、 ここでは、独断と偏見で参考になるサイトを紹介し、私の取った設定方法について説明します。 参考にしたサイト、 - 樋口 彰久氏の [[さくらVPSでWebサーバを構築するテンプレ>http://www.unlimited-extreme.com/akihisa.higuchi/development/sakura-vps-web-server.html]] - cross cloverの [[[さくらのVPS] サーバ移行戦記 (2)>http://www.cross-clover.cc/memo/archives/2010/09/server-move-2.html]]、 [[サーバ移行戦記 (3)>http://www.cross-clover.cc/memo/archives/2010/09/server-move-3.html]] - jitsu102の日記の [[さくらVPSサーバの初期設定いろいろ>http://d.hatena.ne.jp/jitsu102/20110417/1303050903]] です。 ** 管理者アカウントの作成 [#need3c8d] 「さくらコントロールパネル」「起動」ボタンを押して、サーバを起動します。 続いて、「リモートコンソール」ボタンを押して、リモートコンソールを表示します。 改行キーを押すとloginプロンプトが表示されますので、rootとさくらから送られたパスワードを入力します。 &ref(remote_console.png); *** rootパスワードの変更 [#ad1c6d16] 最初にrootのパスワードを自分の覚えやすいものに変更します。 #pre{{ # passwd }} *** 管理者アカウントの作成 [#sa3ff185] インターネットと直接つながったサーバなので、 - rootでのログインは、リモートコンソールに限定する - 管理者は、suコマンドを使用しようしないで、すべてsudoコマンドを使用する ことを原則します。 まず、管理者用のアカウントを作成します。 #pre{{ # useradd 管理者アカウント # passwd 管理者アカウント }} suコマンドの使用をwheelグループに限定します。 #pre{{ # cp /etc/pam.d/su /etc/pam.d/su.org # vi /etc/pam.d/su 以下の行のコメント(#)を外す # auth required pam_wheel.so use_uid }} これで、wheelグループ以外のユーザがsuコマンドを使用すると #pre{{ $ su su: incorrect password }} のエラーが表示され、suコマンドが使えなくなります。 どうしても管理者アカウントにsuコマンドの使用を許したい場合には、 #pre{{ # usermod -G wheel 管理者アカウント }} としてください。 *** sudoの設定 [#m5f58300] 管理者にsudoコマンドの使用を許可するために以下の行を追加します。 #pre{{ # visudo 管理者アカウント ALL=(ALL) ALL }} これで、管理者アカウントの設定は完了です。rootアカウントをログアウトし、管理者アカウントでログインします。 ** SSHの設定 [#ka7543f8] SSHの設定ポリシーは、 - SSHでのrootログインを許可しない - パスワード認証を許可しない - RSA認証のみを許可する とします。 まず、管理者アカウントにSSH用のディレクトリを作成します。 #pre{{ $ mkdir .ssh }} *** クライアントの公開鍵の転送 [#eeaa970b] クライアント側のホームディレクトリに.sshが存在しない場合、 #pre{{ $ ls -a }} で.sshが表示されない時には、クライアント側の公開鍵を作成します。 #pre{{ $ ssh-keygen -t rsa }} 作成された公開鍵をVPSサーバに転送します。 ((SCPの認証はデフォルトのパスワード認証を使っています。)) #pre{{ $ scp .ssh/id_rsa.pub 管理者アカウント@サーバアドレス:/home/管理者アカウント/ }} *** サーバ側のSSH設定 [#bf54c1a9] サーバに戻って、 ** コメント [#nbb5d09f] #vote(おもしろかった,そうでもない,わかりずらい) 皆様のご意見、ご希望をお待ちしております。 #comment_kcaptcha