LoginSignup
3
3

More than 3 years have passed since last update.

インターネットに繋がらない環境でyumでApache Http Serverをインストールする手順(Red Hat Enterprise Linux編)

Last updated at Posted at 2019-10-05

インターネットに繋がらない環境で、パッケージ(httpd)のローカルリポジトリを作成しyumコマンドでインストールしてみました。
その時の手順を紹介します。

前提条件

  • Tera Termをインストール済み
  • VirtualBox6.0をインストール済み
  • ホストOS:Windows7
  • ゲストOS:RedHatEnterpriseLinix7.7

手順

1. Tera TermでゲストOS(LHEL7.7)にログイン

Tera Term を起動する。
01.png

ゲストOS(LHEL7.7)にログインする。
02.png
03.png

Last login: Sat Oct  5 21:48:15 2019 from 192.168.0.2
[root@RHEL-DEMO ~]#

2. rhel-server-7.7-x86_64-dvd.isoをゲストOS(LHEL7.7)へ転送

「ファイル」-「SSH SCP...」を選択する。
04.png

Fromにrhel-server-7.7-x86_64-dvd.isoを選択し「Send」ボタンをクリックする。
05.png

ファイルを確認する。

[root@RHEL-DEMO ~]# ls -l
合計 4396036
-rw-------. 1 root root       1550 10月  5 17:35 anaconda-ks.cfg
-rw-r--r--. 1 root root 4501536768 10月  5 02:42 rhel-server-7.7-x86_64-dvd.iso
[root@RHEL-DEMO ~]#

3. rhel-server-7.7-x86_64-dvd.iso/mediaにマウントする。

[root@RHEL-DEMO ~]# mount -o loop -t iso9660 /root/rhel-server-7.7-x86_64-dvd.iso /media
mount: /dev/loop0 is write-protected, mounting read-only
[root@RHEL-DEMO ~]#

mountしたディレクトリを確認する。

[root@RHEL-DEMO ~]# cd /media
[root@RHEL-DEMO media]# ls -l
合計 974
dr-xr-xr-x. 3 root root   2048  7月 23 23:56 EFI
-r--r--r--. 1 root root   8266  7月 23 23:29 EULA
-r--r--r--. 1 root root  18092  7月 23 23:29 GPL
dr-xr-xr-x. 2 root root   2048  7月 23 23:56 LiveOS
dr-xr-xr-x. 2 root root 946176  7月 23 23:56 Packages
-r--r--r--. 1 root root   3375  7月  3 21:51 RPM-GPG-KEY-redhat-beta
-r--r--r--. 1 root root   3211  7月  3 21:51 RPM-GPG-KEY-redhat-release
-r--r--r--. 1 root root   1796  7月 23 23:56 TRANS.TBL
dr-xr-xr-x. 4 root root   2048  7月 23 23:56 addons
-r--r--r--. 1 root root   1455  7月 23 23:29 extra_files.json
dr-xr-xr-x. 3 root root   2048  7月 23 23:56 images
dr-xr-xr-x. 2 root root   2048  7月 23 23:56 isolinux
-r--r--r--. 1 root root    114  7月 23 23:32 media.repo
dr-xr-xr-x. 2 root root   2048  7月 23 23:56 repodata
[root@RHEL-DEMO media]#

4. マウントしたメディアのリポジトリファイルを作成する。

[root@RHEL-DEMO rpm-gpg]# cd /etc/yum.repos.d
[root@RHEL-DEMO yum.repos.d]# vi RHEL-Server-DVD.repo

以下のファイルを作成する。

/etc/yum.repos.d/RHEL-Server-DVD.repo
[RHEL-Server-DVD]
name=Red Hat Enterprise Linux $releasever - $basearch (DVD)
baseurl=file:///media/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

5. createrepo、yum-utils をインストールする。

[root@RHEL-DEMO yum.repos.d]# yum --enablerepo=RHEL-Server-DVD install -y createrepo yum-utils
読み込んだプラグイン:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
RHEL-Server-DVD                                          | 2.8 kB     00:00
(1/2): RHEL-Server-DVD/group_gz                            | 103 kB   00:00
(2/2): RHEL-Server-DVD/primary                             | 2.0 MB   00:00
RHEL-Server-DVD                                                       5229/5229
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ createrepo.noarch 0:0.9.9-28.el7 を インストール
--> 依存性の処理をしています: python-deltarpm のパッケージ: createrepo-0.9.9-28.el7.noarch
--> 依存性の処理をしています: deltarpm のパッケージ: createrepo-0.9.9-28.el7.noarch
---> パッケージ yum-utils.noarch 0:1.1.31-52.el7 を インストール
--> 依存性の処理をしています: python-kitchen のパッケージ: yum-utils-1.1.31-52.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ deltarpm.x86_64 0:3.6-3.el7 を インストール
---> パッケージ python-deltarpm.x86_64 0:3.6-3.el7 を インストール
---> パッケージ python-kitchen.noarch 0:1.1.1-5.el7 を インストール
--> 依存性の処理をしています: python-chardet のパッケージ: python-kitchen-1.1.1-5.el7.noarch
--> トランザクションの確認を実行しています。
---> パッケージ python-chardet.noarch 0:2.2.1-3.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package              アーキテクチャー
                                  バージョン         リポジトリー          容量
================================================================================
インストール中:
 createrepo           noarch      0.9.9-28.el7       RHEL-Server-DVD       94 k
 yum-utils            noarch      1.1.31-52.el7      RHEL-Server-DVD      121 k
依存性関連でのインストールをします:
 deltarpm             x86_64      3.6-3.el7          RHEL-Server-DVD       82 k
 python-chardet       noarch      2.2.1-3.el7        RHEL-Server-DVD      227 k
 python-deltarpm      x86_64      3.6-3.el7          RHEL-Server-DVD       31 k
 python-kitchen       noarch      1.1.1-5.el7        RHEL-Server-DVD      266 k

トランザクションの要約
================================================================================
インストール  2 パッケージ (+4 個の依存関係のパッケージ)

総ダウンロード容量: 822 k
インストール容量: 3.4 M
Downloading packages:
警告: /media/Packages/createrepo-0.9.9-28.el7.noarch.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fd431d51: NOKEY
createrepo-0.9.9-28.el7.noarch.rpm の公開鍵がインストールされていません
--------------------------------------------------------------------------------
合計                                               3.4 MB/s | 822 kB  00:00
file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release から鍵を取得中です。
Importing GPG key 0xFD431D51:
 Userid     : "Red Hat, Inc. (release key 2) <security@redhat.com>"
 Fingerprint: 567e 347a d004 4ade 55ba 8a5f 199e 2f91 fd43 1d51
 Package    : redhat-release-server-7.7-10.el7.x86_64 (@anaconda/7.7)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
Importing GPG key 0x2FA658E0:
 Userid     : "Red Hat, Inc. (auxiliary key) <security@redhat.com>"
 Fingerprint: 43a6 e49c 4a38 f4be 9abf 2a53 4568 9c88 2fa6 58e0
 Package    : redhat-release-server-7.7-10.el7.x86_64 (@anaconda/7.7)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : deltarpm-3.6-3.el7.x86_64                       1/6
  インストール中          : python-deltarpm-3.6-3.el7.x86_64                2/6
  インストール中          : python-chardet-2.2.1-3.el7.noarch               3/6
  インストール中          : python-kitchen-1.1.1-5.el7.noarch               4/6
  インストール中          : yum-utils-1.1.31-52.el7.noarch                  5/6
  インストール中          : createrepo-0.9.9-28.el7.noarch                  6/6
  検証中                  : python-chardet-2.2.1-3.el7.noarch               1/6
  検証中                  : python-deltarpm-3.6-3.el7.x86_64                2/6
  検証中                  : yum-utils-1.1.31-52.el7.noarch                  3/6
  検証中                  : deltarpm-3.6-3.el7.x86_64                       4/6
  検証中                  : createrepo-0.9.9-28.el7.noarch                  5/6
  検証中                  : python-kitchen-1.1.1-5.el7.noarch               6/6
RHEL-Server-DVD/productid                                | 1.6 kB     00:00

インストール:
  createrepo.noarch 0:0.9.9-28.el7       yum-utils.noarch 0:1.1.31-52.el7

依存性関連をインストールしました:
  deltarpm.x86_64 0:3.6-3.el7            python-chardet.noarch 0:2.2.1-3.el7
  python-deltarpm.x86_64 0:3.6-3.el7     python-kitchen.noarch 0:1.1.1-5.el7

完了しました!
[root@RHEL-DEMO yum.repos.d]#

6. httpdに必要なrpmファイルをダウンロードし、ローカルリポジトリを作成する。

ディレクトリを作成する。

[root@RHEL-DEMO ~]# cd
[root@RHEL-DEMO ~]# pwd
/root
[root@RHEL-DEMO ~]# mkdir -p yum/httpd_repo/Packages
[root@RHEL-DEMO ~]# cd yum/httpd_repo/Packages

メディアのリポジトリから httpd のインストールに必要なrpmファイルをダウンロードする。

[root@RHEL-DEMO Packages]# yumdownloader --enablerepo=RHEL-Server-DVD install --resolve httpd
読み込んだプラグイン:product-id, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
RHEL-Server-DVD                                          | 2.8 kB     00:00
(1/2): RHEL-Server-DVD/group_gz                            | 103 kB   00:00
(2/2): RHEL-Server-DVD/primary                             | 2.0 MB   00:00
RHEL-Server-DVD                                                       5229/5229
No Match for argument install
--> トランザクションの確認を実行しています。
---> パッケージ httpd.x86_64 0:2.4.6-90.el7 を インストール
--> 依存性の処理をしています: httpd-tools = 2.4.6-90.el7 のパッケージ: httpd-2.4.6-90.el7.x86_64
--> 依存性の処理をしています: /etc/mime.types のパッケージ: httpd-2.4.6-90.el7.x86_64
--> 依存性の処理をしています: libaprutil-1.so.0()(64bit) のパッケージ: httpd-2.4.6-90.el7.x86_64
--> 依存性の処理をしています: libapr-1.so.0()(64bit) のパッケージ: httpd-2.4.6-90.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ apr.x86_64 0:1.4.8-5.el7 を インストール
---> パッケージ apr-util.x86_64 0:1.5.2-6.el7 を インストール
---> パッケージ httpd-tools.x86_64 0:2.4.6-90.el7 を インストール
---> パッケージ mailcap.noarch 0:2.1.41-2.el7 を インストール
--> 依存性解決を終了しました。
(1/5): apr-1.4.8-5.el7.x86_64.rpm                          | 104 kB   00:00
(2/5): httpd-2.4.6-90.el7.x86_64.rpm                       | 1.2 MB   00:00
(3/5): httpd-tools-2.4.6-90.el7.x86_64.rpm                 |  91 kB   00:00
(4/5): mailcap-2.1.41-2.el7.noarch.rpm                     |  31 kB   00:00
(5/5): apr-util-1.5.2-6.el7.x86_64.rpm                     |  92 kB   00:00
[root@RHEL-DEMO Packages]#

httpd のインストール用のローカルリポジトリを作成する。

[root@RHEL-DEMO Packages]# cd ../..
[root@RHEL-DEMO yum]# ls
httpd_repo
[root@RHEL-DEMO yum]# createrepo httpd_repo
Spawning worker 0 with 5 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
[root@RHEL-DEMO yum]#

ローカルリポジトリファイルを作成する。

[root@RHEL-DEMO yum]# cd /etc/yum.repos.d
[root@RHEL-DEMO yum.repos.d]# vi httpd_repo.repo

以下のファイルを作成する。

/etc/yum.repos.d/httpd_repo.repo
[httpd_repo]
name=httpd_repo
baseurl=file:///root/yum/httpd_repo
enabled=1
gpgcheck=0

7. ローカルリポジトリからhttpdをインストールする。

cleanする。

[root@RHEL-DEMO yum.repos.d]# cd
[root@RHEL-DEMO ~]# pwd
/root
[root@RHEL-DEMO ~]# yum --enablerepo=RHEL-Server-DVD clean all
読み込んだプラグイン:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
リポジトリーを清掃しています: RHEL-Server-DVD httpd_repo
[root@RHEL-DEMO ~]#

httpdをインストールする。

[root@RHEL-DEMO ~]# yum --enablerepo=httpd_repo install httpd
読み込んだプラグイン:product-id, search-disabled-repos, subscription-manager
This system is not registered with an entitlement server. You can use subscription-manager to register.
httpd_repo                                               | 2.9 kB     00:00
httpd_repo/primary_db                                      | 6.2 kB   00:00
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> パッケージ httpd.x86_64 0:2.4.6-90.el7 を インストール
--> 依存性の処理をしています: httpd-tools = 2.4.6-90.el7 のパッケージ: httpd-2.4.6-90.el7.x86_64
--> 依存性の処理をしています: /etc/mime.types のパッケージ: httpd-2.4.6-90.el7.x86_64
--> 依存性の処理をしています: libaprutil-1.so.0()(64bit) のパッケージ: httpd-2.4.6-90.el7.x86_64
--> 依存性の処理をしています: libapr-1.so.0()(64bit) のパッケージ: httpd-2.4.6-90.el7.x86_64
--> トランザクションの確認を実行しています。
---> パッケージ apr.x86_64 0:1.4.8-5.el7 を インストール
---> パッケージ apr-util.x86_64 0:1.5.2-6.el7 を インストール
---> パッケージ httpd-tools.x86_64 0:2.4.6-90.el7 を インストール
---> パッケージ mailcap.noarch 0:2.1.41-2.el7 を インストール
--> 依存性解決を終了しました。

依存性を解決しました

================================================================================
 Package            アーキテクチャー
                                  バージョン            リポジトリー       容量
================================================================================
インストール中:
 httpd              x86_64        2.4.6-90.el7          httpd_repo        1.2 M
依存性関連でのインストールをします:
 apr                x86_64        1.4.8-5.el7           httpd_repo        104 k
 apr-util           x86_64        1.5.2-6.el7           httpd_repo         92 k
 httpd-tools        x86_64        2.4.6-90.el7          httpd_repo         91 k
 mailcap            noarch        2.1.41-2.el7          httpd_repo         31 k

トランザクションの要約
================================================================================
インストール  1 パッケージ (+4 個の依存関係のパッケージ)

総ダウンロード容量: 1.5 M
インストール容量: 4.3 M
Is this ok [y/d/N]: y
Downloading packages:
--------------------------------------------------------------------------------
合計                                                56 MB/s | 1.5 MB  00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  インストール中          : apr-1.4.8-5.el7.x86_64                          1/5
  インストール中          : apr-util-1.5.2-6.el7.x86_64                     2/5
  インストール中          : httpd-tools-2.4.6-90.el7.x86_64                 3/5
  インストール中          : mailcap-2.1.41-2.el7.noarch                     4/5
  インストール中          : httpd-2.4.6-90.el7.x86_64                       5/5
  検証中                  : httpd-tools-2.4.6-90.el7.x86_64                 1/5
  検証中                  : apr-1.4.8-5.el7.x86_64                          2/5
  検証中                  : mailcap-2.1.41-2.el7.noarch                     3/5
  検証中                  : httpd-2.4.6-90.el7.x86_64                       4/5
  検証中                  : apr-util-1.5.2-6.el7.x86_64                     5/5

インストール:
  httpd.x86_64 0:2.4.6-90.el7

依存性関連をインストールしました:
  apr.x86_64 0:1.4.8-5.el7                 apr-util.x86_64 0:1.5.2-6.el7
  httpd-tools.x86_64 0:2.4.6-90.el7        mailcap.noarch 0:2.1.41-2.el7

完了しました!
[root@RHEL-DEMO ~]#

8. systemctlコマンドでhttpdを起動する。

[root@RHEL-DEMO /]# systemctl start httpd
[root@RHEL-DEMO /]# ps -ef | grep httpd
root      1620     1  0 22:20 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    1621  1620  0 22:20 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    1622  1620  0 22:20 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    1623  1620  0 22:20 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    1624  1620  0 22:20 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
apache    1625  1620  0 22:20 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
root      1627  1306  0 22:20 pts/0    00:00:00 grep --color=auto httpd
[root@RHEL-DEMO /]# yum list installed | grep httpd
apr.x86_64                           1.4.8-5.el7                @httpd_repo
apr-util.x86_64                      1.5.2-6.el7                @httpd_repo
httpd.x86_64                         2.4.6-90.el7               @httpd_repo
httpd-tools.x86_64                   2.4.6-90.el7               @httpd_repo
mailcap.noarch                       2.1.41-2.el7               @httpd_repo
[root@RHEL-DEMO /]#

9. firewall-cmdコマンドで80番ポート(http)をオープンする。

[root@RHEL-DEMO /]# firewall-cmd --add-service=http --permanent
success
[root@RHEL-DEMO /]#

設定内容を反映させる。

[root@RHEL-DEMO /]# firewall-cmd --reload
success
[root@RHEL-DEMO /]#

内容を確認する。

[root@RHEL-DEMO /]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3
  sources:
  services: dhcpv6-client http ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
[root@RHEL-DEMO /]#

10. ホストOSからブラウザで接続確認する。

以下でブラウザで接続し、デフォルトのトップページが表示されることを確認する。

http://192.168.0.6/

06.png

以上

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3