ひとり勉強ログ

ITエンジニアの勉強したことメモ

CentOS7.1にApacheをインストールする方法

Apacheのインストール

まずroot権限になっておきます。 [bash] $ su - パスワード: 最終ログイン: 2017/01/10 (火) 18:16:24 JST日時 pts/0 [/bash]

下記コマンドを実行

[bash] [root@localhost ~]# yum -y install httpd [/bash]

インストールしたApacheのバージョンを確認

apachectl -v または httpd -versionでバージョンの確認ができます。

[bash] $ apachectl -v Server version: Apache/2.4.6 (CentOS) Server built: Nov 14 2016 18:04:44 $ httpd -version Server version: Apache/2.4.6 (CentOS) Server built: Nov 14 2016 18:04:44 [/bash]

Apacheの起動

[bash] $ systemctl start httpd.service ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Active: active (running) since 日 2017-01-15 23:28:50 JST; 35s ago Docs: man:httpd(8) man:apachectl(8) Main PID: 3148 (httpd) Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec" CGroup: /system.slice/httpd.service tq3148 /usr/sbin/httpd -DFOREGROUND tq3149 /usr/sbin/httpd -DFOREGROUND tq3150 /usr/sbin/httpd -DFOREGROUND tq3151 /usr/sbin/httpd -DFOREGROUND tq3152 /usr/sbin/httpd -DFOREGROUND mq3153 /usr/sbin/httpd -DFOREGROUND

1月 15 23:28:50 localhost.localdomain httpd[3148]: AH00558: httpd: Could no... Hint: Some lines were ellipsized, use -l to show in full. [/bash]

これでブラウザに「http;//<サーバーのIPアドレス>」を入力してアクセスできます。 アクセスしてもApacheの画面が表示されない場合は、ファイアウォールが有効になっていることが原因と考えられます。

ファイアウォールの無効化

「su -」で管理者権限になっておき、下記を実行します。

[bash]

systemctl stop firewalld

[/bash]

これでブラウザを更新するとApacheの画面が表示されると思います。

画像1

ファイアウォールhttpdへの通信を許可する

再度ファイアウォールを有効にします。 [bash]

systemctl start firewalld.service

[/bash]

ファイアウォールhttpdへの通信を許可するコマンドを実行します。 [bash]

firewall-cmd --add-service=http --zone=public

success

firewall-cmd --add-service=http --zone=public --permanent

success [/bash]

これでファイアウォールが有効になっていても、ブラウザでApacheの画面が表示されるようになります。

※自分のサーバーのIPアドレスは下記コマンドで確認できます。 [bash]

ip addr show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:b1:fb:6c brd ff:ff:ff:ff:ff:ff inet 192.168.0.11/24 brd 192.168.0.255 scope global enp0s3 valid_lft forever preferred_lft forever inet 192.168.0.12/24 brd 192.168.0.255 scope global secondary dynamic enp0s3 valid_lft 3070sec preferred_lft 3070sec inet6 fe80::a00:27ff:feb1:fb6c/64 scope link valid_lft forever preferred_lft forever [/bash]

Apache自動起動の設定

現状だとCentOSを立ち上げた際に、毎回Apacheの起動コマンドを実行しないとApacheが起動しません。 自動的に起動させたい際は下記のコマンドを実行してApache自動起動を有効にしておきます。 [bash]

systemctl enable httpd.service

Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service. [/bash]

Apache自動起動の設定を解除

[bash]

systemctl disable httpd.service

Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service. [/bash]