はじめてのVPS 初期セットアップ④ ~ Webサーバーのインストール ~

「はじめてのVPSシリーズ」の第4回目です。

前回はポート番号の変更を行いました。

SSH接続に関してのセキュリティ対策としてはこの辺りでOKです。

今回はVPSにWEBサーバー(Apache)をインストールしてHTMLファイルをアップして表示してみます。

 

今回のゴール

VPSにWEBサーバーをインストールしてブラウザにIPアドレスを入力して以下のようにHTMLページが表示される。

 

前提知識

WEBサーバーをインストールしたら次にHTMLファイルをアップロードします。

/var/www/html ディレクトリ(ドキュメントルート)にHTMLファイルをアップロードすることになるのですが、デフォルトでは一般ユーザーの権限(SFTPユーザーの権限)では書き込みできません。

ですので、ここの権限(パーミッション)を変更する作業が発生します。

事前に、Linuxコマンドで権限の確認の仕方や変更手順を調べておくと、作業はスムーズにいきます。

例えば、デフォルトの状態でドキュメントルートの権限を確認する場合は

・ /var/www ディレクトリに移動
・ ls-l コマンドで権限確認

すると、以下のような内容が確認できます。

これをApacheユーザーと一般ユーザーでも書き込みできるように所有者と権限を変更します。

 

手順

 

1. WEBサーバー(Apache)インストール

CentOSでは、httpd は Apache のことを指します。


# 事前にrootユーザーになっておく
$ yum install httpd

 

2. httpd(Apache)起動

インストールしたら早速httpd(Apache)を起動します。


#httpd(Apache)を起動
$ systemctl start httpd

#httpd(Apache)を自動起動
$ systemctl enable httpd

 
自動起動が正しく設定されたかどうかは以下のコマンドで確認できます。


$ systemctl list-unit-files -t service

 
上下キーでリストをたどるか "/httpd" と入力してエンターを押すとキーワード検索ができます。

この辺りはviコマンドの操作と同じです。

よくわからない方は以下のページにある「ファイルを閲覧する」にあるviコマンドの説明をご参照ください。

 

3. ファイアウォールの設定

http通信が遮断されている状態なので、通信が通過できるようにします。

ついでに、暗号化された通信(SSL)も許可しておきます。


#http通信
$ firewall-cmd --add-service=http --zone=public --permanent

#https通信
$ firewall-cmd --add-service=https --zone=public --permanet

 
以下のように "success" と表示されていれば成功です。

 
最後に設定を反映させるためにファイアウォールを再起動します。


#ファイアウォール再起動
$ systemctl restart firewalld

 
ブラウザに VPS の IPアドレスを入力してみます。

以下のような画面になればOK。

 

4. ドキュメントルートの所有者・権限変更

Apache をインストールするとデフォルトでは /var/www/html の場所が HTML を設置するディレクトリ(ドキュメントルート)になります。

ただ、書き込み権限がrootユーザーのみなので、apacheユーザーと一般ユーザーでも書き込みできるように、所有者と権限を変更してあげます。


#ドキュメントルートまで移動
$ cd /var/www

#--------------------------
#所有者・権限を変更
#--------------------------
#htmlディレクトリの所有者をapacheに
#グループを一般ユーザー(例ではlaraweb)に
$ chown apache:laraweb html

#権限を変更
#所有者とグループの権限を全部OKにする
$ chmod 775 html

 

実演

 

5. SFTPクライアントソフトで接続・アップロード

上記の作業が完了すると、htmlファイルをドキュメントルートにアップロードするとブラウザで確認することができます。

SFTPクライアントソフトを使ってHTMLファイルをアップロードしてみましょう。

Windows Mac
RLogin、WinSCP、Filezilla Cyberduck、Filezilla、Transmit

 
どのツールを使うにしても、以下の情報があれば接続できます。

プロトコル SFTP
ポート番号 22(前回記事でsshのポート番号を変更した人はその番号)
接続先 VPSのIPアドレス
ユーザー名 一般ユーザー(例では "laraweb" ) ※ SFTP は ssh と同様、root では接続できません
パスワード 一般ユーザのパスワード

 
自分はFilezilla(ファイルジラ)を選択しました。

Filezillaの設定では以下のようになります。

 
ポイントはログオンタイプに「鍵ファイル」を選択することと、利用できる鍵ファイルが ppk 形式なので変換することです。

ただ、Filezillaには ppk 形式に変換する機能があるので、「変換するか?」というダイアログが表示されればそのまま「OK」を押すだけです。

秘密鍵をppk形式に変換できたら保存し、再びサイトマネージャから読み込みます。

接続が成功したら一般ユーザーのホーム画面(/home/laraweb)にアクセスします。

ここから親ディレクトリへ2階層上がり、var → www → html とディレクトリを移動します。

この場所に以下の index.html を作成し、アップロードします。


<html>
<head>
	<title>Test Page</title>
</head>
<body>
	<h1>Hello Apache!</h1>
</body>
</html>

 

6. 動作確認

VPSのIPアドレスをブラウザに入力して下記のように確認できればOKです。

 
以上です。

 

さくらのVPS

Linuxの知識がある方や初心者の枠から脱した人は「VPS」をおススメします!もし、あなたがデザイナーで静的ページのサイトしか作らないのであれば「レンタルサーバー」でOKです。ただ、Webプログラマーとして仕事をするのであればroot権限のあるVPSサーバーを最低1台、自分専用(学習用)を持っておいたほうがいいでしょう。

Laravelプログラマーの初心者が選ぶ学習用サーバーとは?

公式サイトで詳細を見る

オススメ

 

本庄マサノリ

仕事で Laravel を使っています。気づいたことや新しい発見など情報を発信していきます。問い合わせはこちら

>> Twitter をフォローする

 

-環境構築