さくらのVPSを使ってみよう (5)


f:id:tr-crm:20150908134737j:plain
(CC BY-SA 2.0) elePHPant | Flickr – Photo Sharing!

こんにちは! シンキングリード株式会社のエンジニア見習い、小久保です。

前回の記事に引き続き、さくらVPSの構築作業を進めていきます。今回は、PHPとvsftpdのインストールを行ないます。

PHPのインストール

PHPをインストールします。CentOS6のYumでは、標準で PHP5.3 という古いバージョンがインストールされます。F-RevoCRM では PHP5.5 以上の新しいバージョンを推奨していますので、今回は PHP5.6 を入れてみましょう。

以下のコマンドを入力してください。PuTTYをお使いの場合は、画面上で右クリックすると、コピーした文字列をペーストできます。

# epelとremiリポジトリを追加
$ rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# PHP5.6と各種モジュールをインストール
$ yum -y install --enablerepo=remi-php56 php php-mbstring php-mysql php-gd php-xml php-imap

上記はいずれもF-RevoCRMの動作に必須となるモジュールです。とくにPHP5.5以降では、標準では php–xml が入っていないため注意が必要です(僕はここで長時間、引っかかりました……)。そのほか必要に応じてモジュールは追加してください。

PHPの設定を変更します。設定ファイル php.ini の中では セミコロン ; で始まる行がコメントとして扱われています。下記の説明のとおりコメントアウトし、設定を変更してください。

$ vim /etc/php.ini
# コメントアウトして日本語を利用可能に
mbstring.language = Japanese
# コメントアウトしてUTF-8に変更
mbstring.internal_encoding = UTF-8
# どちらもコメントアウトして設定を有効化
mbstring.http_input = UTF-8
mbstring.detect_order = auto
# コメントアウトしてoffに変更、HTTPヘッダからPHPに関する情報を削除
expose_php = off
# MySQLのソケットを指定
pdo_mysql.default_socket = /var/lib/mysql/mysql.sock
mysql.default_socket = /var/lib/mysql/mysql.sock
# スクリプト実行時間の上限を3600秒に変更 ※インストール後は60秒程度に変更することをお勧めします。
max_execution_time = 3600
#その他F-RevoCRMの推奨設定に合わせる
display_errors = on
error_reporting = E_WARNING & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
log_errors = off
short_open_tag = on

FTPサーバの設定

vsftpdのインストール

前章までの設定で、F-RevoCRMをインストールする環境は一通り整いました。

実際のサイト運用にあたっては、ファイルのアップロードや編集に、FTPソフトを利用できれば便利です。vsftpd という FTPサーバ をインストールしてみましょう。

$ yum -y install vsftpd

vsftpdの設定を変更します。

$ vim /etc/vsftpd/vsftpd.conf
# 匿名での接続を無効化
anonymous_enable=NO
# デフォルトのパーミッションを664としてグループに書込みを許可
local_umask=002
# アスキーモードを有効化
ascii_upload_enable=yes
ascii_download_enable=yes
# セキュリティのためvsftpdのバージョンを非表示、代替メッセージを表示
ftpd_banner=Welcome to FTP.
# ホームディレクトリのみ参照を許可
chroot_local_user=YES
chroot_list_enable=NO
# サブディレクトリも含めて一括アップロード・ダウンロードを許可
ls_recurse_enable=YES
# ホストアクセスファイルによるアクセス制御を無効化
# iptablesを使ってフィルタリングする
tcp_wrappers=NO
# (追記)日本時間を利用する
use_localtime=YES
# (追記)ユーザーリストによるアクセス制御をホワイトリスト方式に設定
userlist_deny=NO
# (追記)ユーザーの初期アクセスディレクトリを設定
# Apacheのドキュメントルートに
local_root=/home/frevouser/public_html

FTPアクセスを許可するユーザーリストに frevouser を追加します。

$ vim /etc/vsftpd/user_list
# 一番下に frevouser を追加
frevouser

以下のコマンドを入力し、空のファイルを作成します。

$ touch /etc/vsftpd/chroot_list

vsftpdを再起動し、また、次回からは自動起動するように設定します。

$ service vsftpd restart
$ chkconfig vsftpd on
iptables-configの設定

iptables-config を編集し、再起動します。

$ vim /etc/sysconfig/iptables-config
# ファイルの一番下に追加
IPTABLES_MODULES="ip_conntrack_ftp ip_nat_ftp"
$ service iptables restart

……以上で、LAMP環境の構築はすべて完了しました。

レンタルサーバーに比べると最初の敷居はやや高いですが、それを乗り越えてしまえば、VPSの自由度の高さはとても面白いですね。

まだこれから試したいことがたくさんありますが(メールサーバーにしたり、ファイルサーバーにしたり……)セキュリティにも気を配りながら少しづつ覚えていきたいと思います。