【VPS】サーバ構築メモ@さくらVPS+Debian7
大家のSaasesから容赦なき締め出しを喰らい、我らのサーバはネット難民の生活を余儀なくされてしました。
ただ単に更新忘れ・・w
楽しい楽しい難民生活の始まりです。
以前から気になっていたさくらVPSが手招きしてるじゃありませんか。Saasesよりも家賃が倍になってしまうが、よし、ここに決めよう。
料金からすると、お名前comやConoHaなどのGMO系に分があるんですが、どこぞの記事で韓国人スタッフが映ってたので、情報漏えいの危険アリと判断。詳細は割愛、自己責任で。
サーバ構築時のメモがメインなので、ちょっと読み辛いですが了承ください。
セグメント処理をNICに移管
標準だとソフトウェア処理で、放っておくとネットワーク速度が低下するそうです。それを、ハードウェア処理にします。詳しくは以下
まずはアップデートっすな
aptitude update、aptitude upgradeにて、パッケージ関連もろともアップデートします。Debian系なら、このaptitude(パッケージ管理)は覚えなきゃ始まりません。
使い易くロケールとか色々と設定
これからの作業に向け、ヘルプを表示するにも英語なので、ロケールやコンソール、VIエディタ関連の設定を行います。
dpkg-reconfigure localesにて、ja UTF-8にロケール変更。これで思い存分ヘルプを日本語で堪能できますッ。
aptitude install vimにて、VIMエディタをインストールします。
カラーモードにしたいので、~/.vimrcを開いて編集します。
こんな感じで設定しました。色々なサイトからのコピペなんですけど。
中でも見た目的に重要なのが、色付けカラースキーマでしょう。
colorschemeのところ。
こちらは、VIMに予め予約されてる定義があり、/usr/share/vim/vim73/colors/こちらに、保存されてます。
私の環境ではこれだけ種類がありました。slateだとこんな感じ。
blue・delek・evening・murphy・slate・darkblue・desert・koehler・pablo・ron・torte・default・elflord・morning・peachpuff・shine・zellner
Debianでは、sudoが入ってなかったので、導入。aptitude install sudo
ls周りとか自分なりに追加。~/.bashrcにalias ll=’ls -laF’とか
(良く知らないけど)Redhatに慣れてるなら、aptitude install sysv-rc-confこのパッケージを入れておくといいかもしれません。サービス管理(ランレベル)がやりやすい。
SSH環境の設定
デフォだと危険極まりないので(常時ネットから試行アクセスが頻発してる)、出来るだけ早めにセキュリティレベルを上げておく必要があります。鍵認証によるアクセスのみにします。
ssh-keygenにて鍵作成、~/.sshに2つ出来上がるので、mv id_rsa.pub authorized_keys、chmod 600 authorized_keys、と名称及びパーミッション変更。
もう一つ(秘密鍵)は、cat id_rsaで表示させて、コピペでファイル保存しておこう。機密を守りたければ、この時点で、ターミナルソフトのバッファーをクリアしておこう。このファイルは削除する(削除が嫌ならROOT所有にしてchmod 600とか)
/etc/ssh/sshd_configを編集します(この画像のようには設定しない事、撮影用に改変してます)
PermitRootLogin noにて、rootログインを不可にします。重要
PasswordAuthentication noで、パスワード認証を不可にします。
RSAAuthentication yes、PubkeyAuthentication yesで、RSA鍵認証を有効にします。
AuthorizedKeysFile .ssh/authorized_keysこれで、先ほど作成した鍵を紐付けます。
もし貴方が固定IPアドレスなら、ListenAddressに記述する事でアクセス元を完全に限定できます(普通は非固定でしょうけども)
SSHは22番ポートが標準ですが、これを移動する事もできます。若干ながら、セキュリティを上げられます。Portを変更します。
これで最低限の編集は終了で、service ssh reloadで、SSHにリロードさせます。
先ほど保存した、秘密鍵を使って、Teratermなどお好きなSSHクライアントからSSH2接続を行います。ちなみに、PederosaというSSHクライアントソフトがありますが、鍵の互換性が無いため残念ながら利用できません(;^ω^)
IPTABLESの導入と設定
公開するサーバには必須のIPTABLESです。ネットワークの出入口に、制限を掛けたり、DOS攻撃の対処やログ記録などが行えます。
ネットワークの高度な知識が必要で、下手に設定すると、サーバにアクセス不可能とかになってしまいます。
しかしながら、想像以上にシンプルなシロモノです。色々なパターンがあるので、ネットから色々つまんで設定追加していく事をオススメします(中国や韓国からのアクセスを全てブロックするような書き方もあります)
ここでは、自分のサーバ設定がバレてまうので、割愛します。SSH、VPN、WWWなどのポートオープン、DOS対策とログ、最悪侵入された際の対策などをしてます。
aptitude install iptables-persistentこちらを入れると、serviceから管理できるので便利です。service iptables-persistent reloadなど
iptables –Lで、現在のルールを確認できます。
WWW系の導入
書くまでも無く簡単なんですけど一応。まとめてインスコ。
aptitude install apache2、aptitude install php5ここまでは、普通にインストール。
あとは必要に応じて、aptitude mysql-server、aptitude php5-mysqlとMySQL系のもの。
PHP5系で必要なものが他にもあるかもしれない。php5-curl、php5-rpcxmlとか。
aptitude search phpなどで必要なパッケージを探そう。
Apache2設定の情報はあまたとあるので、こちらも割愛。前に使ってたApacheが古過ぎたのか、色々と変わって焦った(;^ω^)
サイトの定義は、/etc/apache2/site-available/にconfをそれぞれファイルにして保存しておき、a2ensiteでサイトの有効化、a2dissiteでサイト無効化します。通常は、VirtualHostで利用します。
同じように、モジュールも、mods-availableにconfが、まとめられてて、a2enmodで有効化しないといけません。設定の場所が、分断されてしまったので、まず、目的のモジュールが何なのか調べないといけません(CGIとかmime.conf)
ちょっと面倒になった感は否めないけども、管理的には良いのかもしれません。
service apache2 reloadで読み込みなのですが、稀に失敗してるようで、確実を求める際はrestartが良いようです。
ディスカッション
コメント一覧
まだ、コメントがありません