Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

前提条件

前回の記事、 さくらの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じゃないとだめみたい。)

shuthimaru
お仕事はプロジェクトマネジメントとネットワークエンジニアリング。サーバも齧ろうとして頑張っている。機械とかソフトウェアサービスとか生活をちょっと快適にするライフハックが好き。スマートホームとか自動化とかとにかくそういうごちゃごちゃしたものをスッキリするのが好き。でも部屋はとても汚い。不思議。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした