さくらVPSにWebminを入れて、Webサーバー設定するときのやりかた(おさらい) | φ(..)メモとして残しておこう…

さくらVPSにWebminを入れて、Webサーバー設定するときのやりかた(おさらい)



最近、サーバー設定はWebminばっかりでSSHを使うことがなくなってしまったわけですが、とりあえずWebminを入れるまではSSHも使ったりして。
最近多い、「さくらのVPSをWebサーバーとして使うときの設定手順」を自分用にメモ。

◆Webminのインストール



Termソフトでrootログイン
(個人的にはTeraTerm使ってます)


とりあえず、ゲットしてくる(現在のバージョンは1.580)
# wget http://jaist.dl.sourceforge.net/sourceforge/webadmin/webmin-1.580-1.noarch.rpm



rpmコマンドでインストール
rpm -ivh webmin-1.580-1.noarch.rpm


Webブラウザでhttp://***.***.***.***:10000にアクセス
(ターミナルソフトは接続したままで。)

webminにrootアカウントでログイン。
(最初にVPSのコントロールパネルでログインしたユーザー名・パスワードと同じです)

Webmin > Webmin Configuration で、とりあえず[Language]を日本語に。



◆ip制限をかける(TCP Wrappersの設定)



まずはsshdサービスのアクセス規制。

ネットワーク > TCP Wrappers > Denied hosts > Add a new rule.

Services:sshd
Remote hosts:ALL

で新規ルール作成。

「sshd」サービスについて「ALL(全ての)」リモートホストからのアクセスを禁止する…という設定です。
とりあえず、Termソフトをもういっこ立ち上げてアクセスできなければOK
このままアクセスできないのはアレなんで、Allowed hostsにアクセス許可ホストを登録します。

ネットワーク > TCP Wrappers > Allowed hosts > Add a new rule.

Services:sshd
Remote hosts:アクセスしたいipアドレス、もしくはドメイン
(***.***. とか .ocn.ne.jp とか途中までの入力でおK。自分のIPアドレスとかを入れる)

またまたTermソフトでアクセスしてみて、今度はアクセス出来ればおk。


アクセス制御の設定例

ALL : 192.168.0.1
適用サービス:全て
192.168.0.7 の IP アドレスを持つホストにのみマッチ。

ALL : 192.168.0.0/255.255.255.240
適用サービス:全て
192.168.0.0 にサブネットマスク 255.255.255.240 をかけた結果の 192.168.0.0 ~ 192.168.0.15 のホストにマッチ。

sshd : 192.168.
適用サービス:sshd
192.168.x.x の IP アドレスを持つホストにマッチ。

ALL : .example.com
適用サービス:全て
example.com ドメインに属するすべてのホスト(abcde.example.com や www.example.com)にマッチ。

sshd : *.example.com
適用サービス:sshd
example.com ドメインに属するすべてのホストにマッチ(上と一緒)。

◆EXCEPT(例外処理)の書き方

ALL: .example.com EXCEPT hack.example.com
適用サービス:全て
hack.example.com を除く、すべての example.com ドメインに属するホストにマッチ。

ALL EXCEPT sshd : 192.168.0.
適用サービス:全て
/etc/hosts.allow に記述すれば、sshd を除く全てのサービスへのアクセスを IP アドレス 192.168.0.x を持つホストに許可。



◆ユーザーの追加とパスワードの変更




システム > ユーザおよびグループ > ローカルユーザ > 新しいユーザを作成
「別のモジュールでユーザを作成しますか?」を[はい]にしとくと便利。

システム > パスワードの変更
でパスワードの変更が出来る。



◆各種モジュールのインストール



・Apache
Webmin > Webmin モジュール > www.webmin.com > 「apache」を入力して[ファイルからモジュールをインストール]ボタン。

Refresh Modules

サーバ > Apache Webサーバ > グローバル設定 > 設定ファイルの編集

「AllowOverride None」→「AllowOverride All」に変更(.htaccessを有効にする)

サーバ > Apache Webサーバ > 存在する仮想ホスト > デフォルトのサーバ > MIMEタイプ > 追加MIMEタイプ


タイプ / 拡張子

application/x-httpd-php .php
application/x-httpd-php .htm
application/x-httpd-php .html

を追加。



・MySQL
Un-used Modules > MySQL データベース サーバ
「The MySQL administration program package can be automatically installed by Webmin. Click here to have it downloaded and installed using YUM.」の「Click here」をクリックしてMySQLをインストール。(ver.5.1.6)

サーバ > MySQL データベースサーバ > [MySQL サーバを起動]

管理パスワードの変更 > 新しい管理パスワードを登録 > [更新]
ユーザの許可 > 新規ユーザーの作成 > 「ユーザ名,パスワード,ホスト,許可」を設定して[作成]

「匿名,root」は消したほうがいいかも。もし消した場合は

モジュールインデックス > で管理者IDとパスワードを再設定(先ほど新規で追加したユーザー)



・vsftpd
Webmin > Webmin モジュール > FTP またはhttp URL から > 「http://provider4u.de/images/downloads/vsftpd.tar.gz」を入力 > [ファイルからモジュールをインストール]

(サードパーティー製モジュールからのインストールが出来なくなってる…なぜだろう?)


システム > ソフトウェア パッケージ > Package from YUM > 「vsftpd」を入力して[インストール]

サーバ > Vsftpd > 「Could not find the vsftpd.conf file. Please check your Module Configuration.」の「Module Configuration」をクリック

The path and filename to vsftpd.confを「/etc/vsftpd.conf」→「/etc/vsftpd/vsftpd.conf」
Path where the virtual user will be storedを「/etc/vsftpd/vsftpd_user_conf」→「/etc/vsftpd/user_conf」
に変更して[保存]


サーバ > Vsftpd >Manual entries

#ascii_upload_enable=YES
#ascii_download_enable=YES
をコメントアウト

pasv_enable=YES
pasv_min_port=10100
pasv_max_port=10150
chroot_local_user=NO
を追加

Anonymous FTP > Anonymous enable:No
で匿名ログインを無効に


おまけ。
フォルダの権限を変更するUNIXコマンド(chown)

htmlフォルダ以下全てのファイルの権限を「webmage」に変更
   ▼
「chown -R webmage html」


解凍コマンド
圧縮書庫形式拡張子解凍コマンド
TAR 形式+GZIP 形式~.tgz, ~.tar.gzgzip -dc filename | tar xvf -
GNU tarが使える時(zオプションを使える時)
tar zxvf filename
LZH 形式~.lzhlha e filename
もしくは
lha x filename
ZIP 形式~.zipunzip filename
bzip2(BZ2) 形式~.bz2bzip2 -dc filename
もしくは
bunzip2 -c filename
TAR.BZ2(TBZ) 形式~.tar.bz2, ~.tbzbzip2 -dc filename | tar xvf -
y/z/I オプションを使えるtarコマンドを持っている時
tar yxvf filename
tar zxvf filename
tar Ixvf filename
tar.bz2、tbz2形式~.tar.bz2、tbz2tar -jxf filename
bzip2 -dc filename | tar xvf -
TAR.Z(TAZ) 形式~.tar.Ztar zxvf filename
もしくは
uncompress -c filename | tar xvf -
gzip(GZ) 形式~.gzgunzip filename
もしくは
gzip -dc filename
compress(Z) 形式~.Zuncompress filename
もしくは
compress -d filename
TAR 形式~.tartar xvf filename
ARJ 形式~.arjunarj filename




◆PHP関連インストール



PHP5.3のインストール。
システム > ソフトウェア パッケージ > Package from YUM > 「php」を入力して[インストール]ボタン。

最近まで「php53」でコマンドを入れなきゃいけなかったけど、どうやら正式にphp5.3がインストールデフォルトになった模様。

ほかにも入れておきたいPHP関係のモジュール。

php-mysql
php-mbstring
php-gd
php-pdo
php-pear




ここまでくるとApache/MySQL/PHPが使えるようになるのでLAMP環境でWebサービス開発ができるようになる…と。