CentOS 7 ~Apacheの導入~

サーバー

httpdのインストール

次にWebサーバーの構築をしていく。
CentOS 7の初期設定でhttpdが入っているかどうか確認。yum list installed | grep httpdと入力してみるとhttpd-toolsというものが入っていることがわかる。正直これが何かよくわからないので、とりあえずyum install httpdと入力してインストール。

もう一度入っているかどうか確認すると無事インストールされていることが分かった。

httpdの起動

まずは設定云々より起動確認を行ってみた。
systemctl status httpdと入力して現在の状況を表示。まあ、インストールしたてなので動いているわけないですよね。Active: inactive(dead)となっているのでsystemctl start httpdと入力して起動させてあげる。

ここで相変わらずの設定だが、OSの再起動時には自動的に立ち上がらない設定となっているので、ここだけは最初に設定しておく。systemctl enable httpdと入力する。

firewalldの停止

前回のFTPサーバーの時にも行ったが、ファイアウォールの設定がまだなのでとりあえず切っておく。systemctl stop firewalldと入力し、次にsystemctl status firewalldと入力してActive:inactive(dead)となっていることを確認。

起動テスト

これでひとまずはつながるはずなので、適当にブラウザを立ち上げてIPアドレスを直打ちしてみる。私の設定だと「192.168.11.13」。こんな画面がでてくればとりあえずはWebサーバーとしての機能は構築できた。

次に設定ファイルをのぞいてみる。vi /etc/httpd/conf/httpd.confと入力してエディタを立ち上げる。
中ほどにDocumentRoot “/var/www/html”の記載が見つかる。これは先ほどブラウザでIPアドレスを直打ちしたが、サーバーのどこ読み込まれているかの設定。

つまり私の場合、http://192.168.11.13と入力されたものは/var/www/htmlが読み込まれていることになる。

ああpあppあ

アップロード先のフォルダ設定

ということで、この/var/www/htmlの所有者、所有グループを確認しておく。やはりroot-rootとなっていた。FTPでアップロードするときにrootでするわけにもいかないので、次のように設定した。

ネットで調べてみると所有者と所有グループを一般ユーザーにしてしまう方法もあるみたいだが、apache:apacheにしてapacheグループに一般ユーザーを入れたほうがいいのかなと思い、そちらで設定してみる。

まずはcd /var/wwwで目的のフォルダの一つ上まで移動。chown apache:apache html/と入力して所有グループと所有者をapacheに変更。
次にusermod -aG apache ユーザー名と入力して一般ユーザーをapacheグループに入れる。

一応、一般ユーザーに切り替えてグループをみるとapacheを確認することができた。これでFTPでアップロードできるはず。

よしよしと満足していたが、/var/www/htmlのディレクトリのパーミッションを変えるのを忘れていた。グループの設定がr-xとなっているのでapache所属のユーザーが書き込みできない形となっていた。cd /var/wwwと入力してhtmlの一つ上のディレクトリに移動。chmod 775 htmlと入力することでグループ員が書き込みできるようにする。これで大丈夫な…はず。

ここでつながるにはつながったのですが、中身が全く見れない状態に。
ネットで調べるとSELinuxというものが悪さをしているとのこと。ひとまず一時無効にするsetenforce 0と入力する。も一度FFFTPで接続すると無事中身が見れました。

コメント

タイトルとURLをコピーしました