インターネットに繋がらない環境で、パッケージ(httpd)のローカルリポジトリを作成しyumコマンドでインストールしてみました。
その時の手順を紹介します。
前提条件
- Tera Termをインストール済み
- VirtualBox6.0をインストール済み
- ホストOS:Windows7
- ゲストOS:RedHatEnterpriseLinix7.7
手順
1. Tera TermでゲストOS(LHEL7.7)にログイン
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)へ転送
Fromにrhel-server-7.7-x86_64-dvd.iso
を選択し「Send」ボタンをクリックする。
ファイルを確認する。
[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/
以上