FreeBSDの入手からログインするまで
このページの趣旨は、FreeBSDのインストールとユーザーがログインするところまでを、このページで簡潔に記します.
ネットワークについては、ある程度の知識を持っていることを前提にしていますので、よろしくお願いします.
筆者のPC環境は、
ディスクトップ : Mac mini Big Sur
サーバー : dell sc430 ハードディスク: 1TB CPU : Intel(R) Pentium(R) D CPU 2.80GHz
同じセグメントのLAN内にあるディスクトップとサーバーをLAN接続して、ディスクトップのターミナルからsshで接続してサーバーをリモートで操作できる環境を構築します.
FreeBSDの入手の方法
FreeBSDの入手は、
https://www.freebsd.org/ja/where/
からダウンロードできます.
どのバージョンを選択すべきかは
新しいCURRENTは開発目的でテスター専用となりますので、実際にサーバーとして使うのであれば、問題の少ないSTABLEを選択しましょう.
インストーラーイメージはCPU別に用意されていますので、インストールするCPUに合わせて選択します.
今回のCPUは、
CPU: Intel(R) Pentium(R) D CPU 2.80GHz (2793.06-MHz 686-class CPU)
でネットで調べると32bitだったので、i386から選びます.
最近のCPUは64bitが多くなったので、amd64から選択になると思います.
メディアは、何を使用してインストールするのか選択をします.
DVD-Rに記録して、DVDドライブからインストールするのであれば、……….disc1.iso
USBメモリからインストールするのであれば ……….memstick.img
最近のサーバーに使うPCにはDVDドライブが付属していないこともありますから、USBメモリーを使用した方が素早く、迷わずに、インストールができるのではないかと思います.
ダウンロードしたファイルを、インストールメディアに書き込みます.
mac os ユーザーがFreeeBSDのインストールUSBディスクイメージを作る
<<macユーザーである自身の健忘録です>>
USBメモリのディスクの番号をデスクユーティリティで読み取る
今回は disk4
<ターミナルを立ち上げる>
コマンドdiskutilでアンマウントする↓
% sudo diskutil unmountDisk /dev/disk4
Unmount of all volumes on disk4 was successful
ディスクトップに表示されていたUSBメモリのアイコンが消える.
FreeBSDのダウンロードしたimgファイルまでディレクトリ移動して、ディスクイメージをUSBディバイスに書き出す↓
% sudo dd if=FreeBSD-12.2-SRABLE-i386-20210930-r370694-memstick.img of=/dev/disk4 bs=1m conv=sync
717+1 records in
718+0 records out
752877568 bytes transferred in 313.225319 secs (2403629 bytes/sec)
コマンド入力してUSBメモリをソフトウエア上イジェクトする.↓
% sudo diskutil eject /dev/disk4
Disk /dev/disk4 ejected
USBメモリを物理的に取り出す.
以上
PC(サーバー)のBIOSの確認
サーバー(PC)にモニターとキーボードを繋げます.
サーバーを起動する時にBIOSの設定を確認して、FreeBSDのインストーラが先に起動するように、確認修正を行う.(普通はデフォルトでOK)
(参考)今回は、DELL SC430という機種で、電源ボタンを押して起動するときに [F2] ファンクションキー2を断続的に押すとBIOS画面になった.
FreeBSDをハードディスクにインストール
ほとんどデフォルトでインストールしたので、順序は記しません.
デフォルトと異なるところは、
- ハードディスクのフォーマットをZFSにしました.
- ntpにチェック
※ ハードディスクのフォーマットについて
デフォルトでは、 Auto ( UFS ) となっています.
Auto( ZFS ) は、ハードウエアのパフォーマンスが必要みたいなので、最新のサーバーと組み合わせるのが良いと思います.
ZFS は、複数のハードディスクを使って簡単にRAID やミラーリングが可能であり、また、スナップショットを作ってデーターの復元が可能なところがメリットです.
インストール時のネットワーク設定
キーボードの設定、日時、等は、常識の範囲内の質問に答えながら進みます.
ネットワーク設定も後からでもできますが、ついでに入力してしまいましょう.
ローカルのネットワークに合った設定にします.
( このサーバーのアドレス、 WAN と LAN を接続しているルーターのアドレス等 )
ipv6やDHCPはwebサーバーなので、設定しませんでした.
インストール時のユーザー設定
rootやuserの設定はしておきましょう.
rootはパスワード設定
userは、自分個人がサーバーにログインで使う名前です.
たとえば、hogeという名前にします.
groupもデフォルトでhogeを登録し、もう一つgroupをwheelで登録しておきましょう.あとは、デフォルトで良いと思います.
groupにwheelに登録しておくと、suでrootに成れるからです.
ターミナルからsshで接続する時に、いきなりrootで接続するのはセキュリティ上のことや、ちょっとした誤操作でサーバーを壊してしまう可能性が高いからです.
インストールが終了したらrebootします.
BIOSの設定で起動順序を変更するか、インストーラーのメディアを外します.
無事起動できればOKですね.
ログインとシャットダウン
Login : root
password : ***********(rootのパスワード)
でログインしてみます.
一旦rootからLogoutしてみる.
#exit
登録したhogeでログインして、rootになってみる.(ssnの設定で、ターミナルから権限の少ないユーザーでロンインしてから、必要な時だけroot権限を得る方が安全性が高い)
Login : hoge
password : ******* (hogeのパスワード)
%su
password : *********** (rootのパスワード)
#
電源を落とすときは
#shutdown -p now
で終了プロセスが終わると電源が切れます.
サーバーにターミナルからsshで接続してみよう
mac os と FreeBSDサーバーをsshで接続してみます.
mac os は、バージョン10以降は、もともとFreeBSD派生のOSになりました.
当然、UNIX互換なので、ターミナルのようなソフトは標準でインストールされています.
mac os のアプリケーション内のユーティリティのフォルダの「ターミナル.app」を使用して、サーバーにsshで接続しましょう.
ターミナル.appを起動すると、mac本体の情報に接続されます.
メニューバーから「シェル」を選んで「新規リモート接続」にします.
サービス セキュアシェル(ssh) —> ユーザー : サーバーで登録したユーザ –> サーバーのIPアドレス を入力して、
「接続」ボタンをクリックするとターミナルのウインドウが表示されます.
サーバーで一般ユーザーで登録した「hoge」のパスワードでログインをします.
rootの権限がないと電源のoffや再起動ができないので su とキーを打ってルートになれるか試します.
rootのパスワードでrootの権限をえることができました.
※一応セキュリティ上、ターミナルからsshでユーザ : root でログインができないことを確認しておいた方が良いかもしれません.
ターミナルからsshでログインで、
インストール時に、一般ユーザーにrootのグループ : wheelを追加するのを忘れた場合
一般ユーザーがsu スーパーユーザーになれないときは、ユーザーのグループに「wheel」を追加する.
# pw groupmod wheel -m hoge
一般ユーザーの登録を忘れた場合(例)一般ユーザーの作り方
# adduser
Username: hoge
Full name: hogerara
Uid (Leave empty for default):
Login group [hoge]:
Login group is hoge. Invite hoge into other groups? []: wheel
Login class [default]:
Shell (sh csh tcsh nologin) [sh]: tcsh
Home directory [/home/hoge]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : hoge
Password : *****
Full Name : hogerara
Uid : 1002
Class :
Groups : hoge wheel
Home : /home/hoge
Home Mode :
Shell : /bin/tcsh
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (hoge) to the user database.
Add another user? (yes/no): no
Goodbye!
アップデートをしておこう
インストールついでFreeBSDの最新版にアップデートしておこう.(バージョンアップではない)
サーバーがLAN接続 ( WAN接続も ) されているか確認して、
ルート権限になって
#freebsd-update fetch
#freebsd-update install
#uname -a
FreeBSD sc43012 12.2-RELEASE FreeBSD 12.2-RELEASE r366954 GENERIC i386
のように表示される.
pkgを使えるようにしよう
サードパティのソフトを使うためにFreeBSDで用意されている方法は、
ports (目的のソフトをコンパイルして使用する方法)
pkg (パッケージシステムですでにコンパイルしてあるソフトをインストールする方法)
portsは、細かな設定が可能ですが、コンパイルに時間が必要です.pkgは、コンパイルされたソフトをインストールするだけなので、短時間で目的のサーバーを構築することが可能です.
#pkg
The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
pkg-1.17.2
pkgを使ってアプリをインストールしてみましょう.
wgetというコマンドでサイトからダウンロードできる優れものです.
#pkg install wget
New packages to be INSTALLED:
libidn2: 2.3.2
libunistring: 0.9.10_1
wget: 1.2
Number of packages to be installed: 3
The process will require 6 MiB more space.
1 MiB to be downloaded.
Proceed with this action? [y/N]:y
今回は、ここまで
FreeBSDのダウンロード、インストールからユーザー設定とpkgで新たなソフトウエアを導入できる環境までを構築しました.
覚書 code highlight back solid #F5F2F0