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

Apacheのインストール

まずroot権限になっておきます。

$ su -
パスワード:
最終ログイン: 2017/01/10 (火) 18:16:24 JST日時 pts/0

下記コマンドを実行

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

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

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

$ 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

Apacheの起動

$ 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.

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

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

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

# systemctl stop firewalld

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

画像1

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

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

# systemctl start firewalld.service

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

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

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

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

# 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

Apacheの自動起動の設定

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

# systemctl enable httpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

Apacheの自動起動の設定を解除

# systemctl disable httpd.service
Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.

CentOS の一覧