0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Raspberry Pi 4 でHDDをrootにしてarch Linuxでサーバにしてみる(後編)

Posted at

#概要
Raspberry Piの4が出てUSB周りが強化されサーバ向けにピッタリになりました。ということで、Raspberry Pi 4をHDDで動作するようにして、arch Linuxで安定に動作させてみることにしました。
前編のインストールに続いて後編では環境設定と、各種ソフトのインストールを行います。

#参考サイト
Arch Linuxインストールガイド

Raspberry Pi 4 でHDDをrootにしてarch Linuxでサーバにしてみる(前編)

#目次

  • 必要なもの(前編)
  • HDDのセットアップとarch Linuxインストール(前編)
  • 初期設定
  • 各種ソフトのインストール

#初期設定
arch LinuxはDIYのディストリビューションのため、各種設定は自分で行います。
前提条件として、raspberry Pi 4にarch Linuxをインストールし、有線ネットワークでDHCPで接続している状態ということです。ディスプレイは接続していてもしていなくても大丈夫です。外部からteratermなどで接続してセットアップします。
まず初回ログインです。

ログイン名:alarm
パスワード:alarm

すぐrootになります。
$ su -
パスワード:root
すぐrootのパスワードを変更しておく。
# passwd

####swapパーティションの有効化

# mkswap /dev/sda2
# swapon /dev/sda2
確認します
# free

              total        used        free      shared  buff/cache   available
Mem:        4008168      150844       22260         628     3835064     3818516
Swap:       4882352       12040     4870312

スワップがあればOK。
####pacmanのイネーブル
pacmanはubuntuでいうところのaptに当たります。

# pacman-key --init
# pacman-key --populate archlinuxarm
# pacman-key --refresh-keys

エラーがなければOKです。
システムをアップデートします。
# pacman -Syu

####ロケールの設定
locale.genを編集。
# vi /etc/locale.gen

ja_JP.UTF-8の行のコメント(#)を外す。

:
ja_JP.UTF-8 UTF-8
:

実行
# locale-gen

locale.confを設定
# vi /etc/locale.conf

LANG=ja_JP.UTF-8

実行
# localectl set-locale LANG=ja_JP.UTF-8

タイムゾーンの設定。
# timedatectl set-timezone Asia/Tokyo

確認
# timedatectl status

ローカルタイムに設定
# timedatectl set-local-rtc true

####ユーザーの追加
デフォルトのユーザとは別にユーザを作ります。
今回はpiというユーザにします。

# useradd -m -s /bin/bash pi
# passwd pi

####sudoのインストールと設定
arch Linuxはsudoすらインストールされていません。インストールします。

# pacman -S sudo
# visudo

%wheel ALL=(ALL) ALL

の行をコメント(#)を外す。

wheelグループにpiを追加。
# usermod -aG wheel pi

piで入ってみてsudoが動くか確認。
いったんログアウト。
piで入り直す。

piのパスワードで入れる。

#各種ソフトウェアのインストール
####ntpdのインストール
サーバなので時刻合わせのデーモンを入れます。arch Linuxでは、ubuntuとは違い、インストールだけでは動作せず、必ずサービスをイネーブルする必要があります。

# pacman -S ntp
# systemctl start ntpd
# systemctl enable ntpd

動作確認
# ntpq -p

     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
+207.209.218.133 224.199.97.245   2 u  306 1024  377   23.435    0.915   4.894
-ntp.wide-net.pl 194.29.130.252   2 u 1020 1024  377  252.934   -7.574   0.896
+ntp.paina.net   131.113.192.40   2 u  492 1024  377    6.500   -0.305   0.999
*122x215x240x51. 10.84.87.146     2 u  158 1024  377    2.425    1.090   0.861

####sambaのインストール
ファイルのやり取りを行うため、sambaをインストールします。

# pacman -S samba

/etc/samba/smb.confをダウンロードします。
その前にwgetをインストール。

# pacman -S wget

# wget "https://git.samba.org/samba.git/p=samba.git;a=blob_plain;f=examples/smb.conf.default;hb=HEAD" -O /etc/samba/smb.conf

ユーザを追加。
# vi /etc/samba/smb.conf
ファイルの最後に以下のパートを追加。

/etc/samba/smb.conf

[pi]
path = /home/pi
browseable = yes
writable = yes
guest ok = yes
force user = pi

[work]
path = /work
browseable = yes
writable = yes
guest ok = yes
force user = pi

サービスをイネーブルします。smbとnmbをイネーブルします。
# systemctl start smb
# systemctl start nmb
# systemctl enable smb
# systemctl enable nmb

起動確認。
# systemctl is-enabled smb
# systemctl is-enabled nmb

piのユーザを追加。パスワードを設定。
# pdbedit -a -v pi

new password:
retype new password:
Unix username:        pi
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-1430355575-3986400016-133405529-1000
Primary Group SID:    S-1-5-21-1430355575-3986400016-133405529-513
Full Name:
Home Directory:       \\alarmpi\pi
HomeDir Drive:
Logon Script:
Profile Path:         \\alarmpi\pi\profile
Domain:               ALARMPI
Account desc:
Workstations:
Munged dial:
Logon time:           0
Logoff time:          never
Kickoff time:         never
Password last set:    木, 30  1月 2020 21:49:54 JST
Password can change:  木, 30  1月 2020 21:49:54 JST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

windowsからアクセスしてみる。

####apacheとphp7のインストール

# pacman -S apache
# pacman -S php
# pacman -S php-apache
# pacman -S php-cgi

php7の設定。
# vi /etc/httpd/conf/httpd.conf

以下のエディットを行う。

追加

LoadModule php7_module modules/libphp7.so
Include conf/extra/php7_module.conf

コメントを外す。

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

コメントアウトする。

#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
#LoadModule mpm_event_module modules/mod_mpm_event.so

サービスをスタートする。
# systemctl start httpd
# systemctl enable httpd

確認。
/srv/http/phpinfo.phpを作成。

/srv/http/phpinfo.php
<?php
phpinfo();
?>

PCからブラウザでアクセス。
http://archlinuxのアドレス/phpinfo.php

以下のような画像が見えればOKです。
無題.png

#最後に
arch Linuxをセットアップして、サーバとして使いそうなソフトウェアをインストールしてみましたが、目的に応じて必要なだけインストールしていただければ、軽量なままで使い続けられると思います。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?