LoginSignup
0
0

More than 5 years have passed since last update.

ApacheをインストールしてHTMLファイルを表示させてみる(Linux権限)

Last updated at Posted at 2018-10-24

前提条件

前回の記事、 さくらのVPSを使ったサーバの初期設定(一般ユーザ作成とrootアクセスの禁止) が終わっていること

Apacheをインストールする

httpサーバ、webサーバと呼ばれるものの大半はイコールこいつである。
```
yum install httpd #httpサーバをダウンロードする

Is this ok [y/d/N]: #ここでyを入力、Enterを押す。
```
Complete!が出ればOK.

しゅてぃまる は Apache を てにいれた !

Apache「Apacheは装備していかないと意味がないぜ」

systemctl restart httpd #httpサーバを再起動する

FireWallを無効化する

デフォルトではCentOS7はFWでHTTP通信等は拒否されているらしいので、それを許可に変更する必要がある。

#http通信を許可
firewall-cmd --add-service=http --zone=public --permanent 
#https通信を許可
firewall-cmd --add-service=https --zone=public --permanent 

successと出ればOK.これでhttp,httpsの通信を許可する準備ができた。

systemctl restart firewalld

するとなにやら怖い文章が出てくるがそのままrootのパスワードを打ち込む

==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: root
Password:
==== AUTHENTICATION COMPLETE ===

と出てコマンドが入力可能な状態になればOK.

サーバがダウンしたときにHTTPサーバが自動で再起動するようにする

でも、このままではサーバがダウンしたときに再起動を行ってもhttpサーバは死んだままになる。なのでサーバが復旧すると同時にHTTPサーバも復活するように設定を行う。

systemctl enable httpd

先ほどのように警告とrootのパスワードが求められるので入力する。

設定を見返してみよう

下記を入力するとサービスの有無がわかる
アルファベット順に並んでいるのでhttpを探してみよう。enableになっていたらOK.

systemctl list-unit-files -t service

htmlを自分の作ったページに置き換えてみよう

先ほど表示されたページはサーバ内のスタートページだ。そのファイルをWinSCPを使って自作のhtmlファイルに置き換えよう。
WinSCPはダウンロードをしてNEXTを連打していたら使えるようになる。
基本情報としてサーバの一般ユーザとパスワード、SFTP(ssh)のポート番号を指定してやる必要がある。

ログインを押したらパスワードを入力し、接続しよう。
あとはドラッグ&ドロップで投入できるのだが、Permission Deniedとでるはず。
なぜか?
これはファイルの書き込み権限がユーザにないからだ。

一般ユーザが読み書き実行ができるようにする

cd /var/www # var以下のwwwに移動
ls -l # フォルダ内ファイルの詳細情報を見る

上記を実行すると、

drwxr-xr-x 2 root root 6 Jun 27 22:49 html
↑↑↑権限↑↑↑  ↑作成者 ↑グループ      ↑ファイル名

という一文がいるはず。
この一文だけでこのファイルの所有者や他人がこのファイルにどれだけ干渉できるかがわかる。
注目すべきは
drwxr-xr-xの「権限」。
前から3文字ずつが所有者、グループ、他人の権限を表しており、この場合だと

対象ユーザ 権限
所有者 rwx
グループ r-x
他人(others) r-x

とわけることができ、それぞれの意味は

文字 略なし 意味
r read 読み込み
w write 書き込み
x execute 実行
- - なし

となる。
よって、上記の権限は作成者は全ての権限を持っており、グループと他人は読み込みと実行ができ、書き込みはできないことになる。

WinSCPでの処理は書き込みに当たり、一般ユーザには所有者ではなく、rootグループにも属していないため、他人の扱いになっている。
よってhtmlフォルダに一般ユーザでwrite(書き込み)できる権限をつけることで解決できる。

su - #rootユーザに移行
cd /var/www #wwwに移動
chown apache:[一般ユーザ名] html #所有者をapche,グループを[一般ユーザ]に変更
chmod 775 html # htmlフォルダの権限をrwxrwxr-xに変更する

※775はr=4(2^2),w=2(2^1),x=1(2^0)と2進数で表されておりその足し算の数字となる。

変更が終わったら再度WinSCPでアップロードしてみる。

03.png

移動できた!

ブラウザを更新してみると、
04.png

こんな感じでWebページが自分の指定したhtml
ファイルの内容に書き換わった。(ファイル名はindex.htmlじゃないとだめみたい。)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0