Tech Karte::

できることをひとつずつ。

CentOS 7にyumパッケージからApacheを導入~設定・動作確認

今回はネットワークの勉強から少し離れて、CentOSApache(httpサーバ)を導入してみたのでその備忘録に。

参考にしたのはこちら。
blog.apar.jp
CentOS 7.0 でWebサーバー構築・公開(Apache)
httpd(apache)をインストールする(CentOS,ScientificLinux編) | レンタルサーバー・自宅サーバー設定・構築のヒント

Apacheのインストール

$sudo yum -y install httpd

Apache初期設定

/etc/httpd/conf/httpd.confファイルの編集を行いました。

$sudo vi /etc/httpd/conf/httpd.conf

あまりにも長いので、編集した部分だけ抜粋してあります。

ServerAdmin hoge@*****.com ←サーバ管理者用メールアドレスを設定。
ServerName hogehoge.com:80 ←サーバ名を設定。

<Directory "/var/www/html"> 
Options Includes ExecCGI FollowSymLinks ←"/var/www/html"ディレクトリ配下では、CGIが実行できるように設定。
AllowOverride FileInfo AuthConfig Limit 
Require all granted 

<IfModule dir_module>
DirectoryIndex index.html index.cgi index.php ←URLでファイル名を省略した場合の表示しようとする優先順位を設定

#ScriptAlias /cgi-bin "/var/www/cgi-bin ←#を付加してコメントアウト(無効)

#<Directory "/var/www/cgi-bin"> ←すべてコメントアウト
#AllowOverride None
#Options None
#Require all granted
#</Directory>

AddHandler cgi-script .cgi .pl ←cgiスクリプトの拡張子に.plを追加

#AddDefaultCharset UTF-8 ←#を付加してコメントアウト


------------------以下httpd.conf末尾に追記-----------
ServerTokens Prod ←HTTPヘッダ情報の出力設定。ここでは最低限の出力のみ設定。
ServerSignature OFF ←Server管理者情報を表示しない。
HostnameLookups OFF 
KeepAlive ON ←接続の定期的チェックをオン


<Directory "/var/www/html/adm"> ←バーチャルホスト用ディレクトリの設定
Options All
DirectoryIndex index.html index.htm index.cgi index.php ←URLでファイル名を省略した場合の表示しようとする優先順位を設定
AllowOverride All
Order allow,deny
Allow from all
</Directory>

<VirtualHost *:80> ←バーチャルホスト設定
Servername www.*******.jp
DocumentRoot "/var/www/html/adm"
ServerAlias *******.jp

ErrorLog /var/log/httpd/adm-error.log
CustomLog /var/log/httpd/adm-access.log
</VirtualHost>

その他設定

index.htmlファイルの作成

$mkdir /var/www/html/adm ←[adm]ディレクトリを作成。
$echo "<h1>Hello.</h1>" >> /var/www/html/adm/index.html ←[adm]ディレクトリに「Hello.」と表示されるindex.htmlを作成。


SELINUXの無効化

$vi /etc/sysconfig/selinux ←SELinux設定を編集

SELINUX=enforcing 
↓
SELINUX=disabled ←SELinuxをdisabled(無効)に設定。

ポート開放

$firewall-cmd --zone=public --add-service=http --permanent ←ファイアウォールにhttp許可を指定。
[success]で完了
$firewall-cmd --reload ←ファイアウォールを再起動。
[success]で完了


ここまで設定が完了したので、以下コマンドでApacheを起動・有効化しました。

$systemctl start httpd ←Apache起動
$systemctl enable httpd ←次回以降の起動時に自動でApacheを有効化
認証を入力すると起動・有効化される。

Apache起動中に実機(windows10)側からアクセスした結果が以下。
f:id:k-matsuda0901:20160509154323p:plain

先ほど作成したindex.htmlの内容が表示されました。



試しにApacheをストップしてアクセスしてみた結果が以下。

$systemctl stop httpd ←Apacheストップ

f:id:k-matsuda0901:20160509154420p:plain

アクセスできませんでした。止まってます。


とりあえずアクセスできることは分かったので、今日はここまで。