Pi-holeのインストール
Alpine LinuxへのPi-hole導入は、有志により公開されているこちらのスクリプトを使わせて頂きました(Great Works!!)。
まず、 bash と git パッケージのインストールから(Alpine Linuxの標準シェルは ash )。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
~$ echo $SHELL /bin/ash ~$ sudo apk add bash git (1/9) Installing readline (8.2.1-r2) (2/9) Installing bash (5.2.21-r0) Executing bash-5.2.21-r0.post-install (3/9) Installing ca-certificates (20230506-r0) (4/9) Installing brotli-libs (1.1.0-r1) (5/9) Installing c-ares (1.24.0-r1) (6/9) Installing nghttp2-libs (1.58.0-r0) (7/9) Installing libcurl (8.5.0-r0) (9/9) Installing git (2.43.0-r0) Executing busybox-1.36.1-r15.trigger Executing ca-certificates-20230506-r0.trigger OK: 108 MiB in 94 packages |
次に edge レポジトリへ切り替えます。
|
1 2 3 4 5 6 7 |
#/media/cdrom/apks #http://mirror.xtom.com.hk/alpine/v3.19/main #http://mirror.xtom.com.hk/alpine/v3.19/community #http://mirror.xtom.com.hk/alpine/edge/main #http://mirror.xtom.com.hk/alpine/edge/community https://dl-cdn.alpinelinux.org/alpine/edge/main https://dl-cdn.alpinelinux.org/alpine/edge/community |
パッケージアップグレードの後、再起動するとAlpine Linux 3.20.0に進んでいました。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
~$ sudo apk update fetch https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz fetch https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz v20231219-5518-gcd98eef9b6e [https://dl-cdn.alpinelinux.org/alpine/edge/main] v20231219-5518-gcd98eef9b6e [https://dl-cdn.alpinelinux.org/alpine/edge/community] OK: 23547 distinct packages available ~$ sudo apk upgrade ... OK: 108 MiB in 94 packages ~$ sudo reboot ~$ uname -a Linux resolv11 6.6.21-0-virt #1-Alpine SMP PREEMPT_DYNAMIC Thu, 07 Mar 2024 10:55:08 +0000 x86_64 Linux ~$ cat /etc/os-release NAME="Alpine Linux" ID=alpine VERSION_ID=3.20.0_alpha20231219 PRETTY_NAME="Alpine Linux edge" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://gitlab.alpinelinux.org/alpine/aports/-/issues" |
インストールスクリプトを git clone します。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
~$ git clone https://gitlab.com/yvelon/pi-hole Cloning into 'pi-hole'... warning: redirecting to https://gitlab.com/yvelon/pi-hole.git/ remote: Enumerating objects: 19304, done. remote: Counting objects: 100% (2594/2594), done. remote: Compressing objects: 100% (765/765), done. remote: Total 19304 (delta 1856), reused 2550 (delta 1826), pack-reused 16710 Receiving objects: 100% (19304/19304), 6.34 MiB | 9.35 MiB/s, done. Resolving deltas: 100% (12049/12049), done. ~$ cd pi-hole/ ~/pi-hole$ls -l -rw-r--r-- 1 user user 253 Mar 14 11:24 CONTRIBUTING.md -rw-r--r-- 1 user user 14204 Mar 14 11:24 LICENSE -rw-r--r-- 1 user user 2594 Mar 14 11:24 README.md drwxr-sr-x 6 user user 4096 Mar 14 11:24 advanced drwxr-sr-x 2 user user 4096 Mar 14 11:24 automated install -rwxr-xr-x 1 user user 33744 Mar 14 11:24 gravity.sh drwxr-sr-x 2 user user 4096 Mar 14 11:24 manpages -rwxr-xr-x 1 user user 18472 Mar 14 11:24 pihole |
インストールスクリプトを root 権限で実行。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
~/pi-hole$ sudo bash automated\ install/basic-install.sh [✓] Root user check .;;,. .ccccc:,. :cccclll:. ..,, :ccccclll. ;ooodc 'ccll:;ll .oooodc .;cll.;;looo:. .. ','. .',,,,,,'. .',,,,,,,,,,. .',,,,,,,,,,,,.... ....''',,,,,,,'....... ......... .... ......... .......... .......... .......... .......... ......... .... ......... ........,,,,,,,'...... ....',,,,,,,,,,,,. .',,,,,,,,,'. .',,,,,,'. ..'''. [i] Checking apk for upgraded packages.. up to date! [i] Checking for / installing Required dependencies for OS Check... [i] Checking for / installing Required dependencies for this install script... [i] Checking for dialog (will be installed) [✓] Checking for git [i] Checking for newt (will be installed) [i] Checking for procps (will be installed) [i] Checking for dhcpcd (will be installed) [✓] Checking for openrc [i] Checking for ncurses (will be installed) [i] Checking for newt (will be installed) [✓] Checking for git [i] Processing apk install(s) for: dialog newt procps dhcpcd ncurses newt, please wait... ---------------------------------------------------------------------- (1/9) Installing dhcpcd (10.0.6-r0) Executing dhcpcd-10.0.6-r0.pre-install (2/9) Installing dhcpcd-openrc (10.0.6-r0) (3/9) Installing dialog (1.3.20240307-r0) (4/9) Installing ncurses (6.4_p20231125-r0) (5/9) Installing popt (1.19-r3) (6/9) Installing slang (2.3.3-r3) (7/9) Installing newt (0.52.24-r0) (8/9) Installing libproc2 (4.0.4-r0) (9/9) Installing procps-ng (4.0.4-r0) Executing busybox-1.36.1-r21.trigger OK: 112 MiB in 103 packages |
途中何度か確認のダイアログが現れます。まずは静的IPアドレスを使用しているかの確認。
IPアドレスを固定してない場合も、次のここで設定可能。
次のUnboundでは、自身をDNSリゾルバにしたいので、Unboundインストールを選択(一緒にインストールから設定までしてくれるのはとても便利)。
サードパーティブロックリストも、SteveBlackさんのリストを導入時に入れてくれるようです。
Admin WebUIとそれに伴うWebサーバ機能のインストール。
クエリログを隠すこと無く明示的に記録します。
インストールでは、自分でソースからコンパイルするのではなく、インストールスクリプトの提供元で事前にある程度コンパイルされたバイナリを利用します。
Pi-holeのインストールが終わると、最後にWeb UIへのアクセス情報とログインパスワードが提示されます。
Web UIのパスワードは、以下の要領で好みの文字列へ変更可能です。
|
1 2 3 4 5 |
~$ pihole -a -p [sudo] password for user: Enter New Password (Blank for no password): Confirm Password: [✓] New password set |
ブラウザでPi-holeのWeb UIへアクセス、パスワードを入力してログイン。
Web UIのフッターに稼働中のPi-holeシステムのバージョン情報が記載されているので、同時期に別環境で構築したdebianベースのPi-holeと比べてみると、今回の「Alpine Linux版」は少し古めのバージョンも、機能やUI上に差異は無し。
次ページでは、Pi-holeの基本設定やWeb UIの使い方へ進みます。














