2022年12月

自宅サーバ

VPS を知ってから、ずっと VPS を使ってサーバを建てていたので、何年ぶりだか、とても久しぶりです。
プライベート IP アドレスの「192.168.1.」が懐かしい。w

ネットワーク図を描いてみました。キチンとした描き方を知らないのですが、ま、こんな感じです。


サーバ

サーバといっても、古い普通のノートPCです。
OS は、CentOS 7 です。
CentOS Stream 8 では、エラーが出て「Darwin Streaming Server」のインストールができなかったので。

外部には「Darwin Streaming Server」を使って、音楽配信をしています。ポートは、8000番です。
あとは、内部向けのいわゆるイントラネットってヤツを 22(SSH), 80(HTTP)番ポートで。

サーバ用途で使うノートPCなので、閉じてもスリープさせないために下記設定をしています。

~]# vi /etc/systemd/logind.conf

HandleSuspendKey=ignore HandleHibernateKey=ignore HandleLidSwitch=ignore

反映。

~]# systemctl restart systemd-logind.service

ルータ

WAN 側、Cloudflare からの80番ポートを、ルータのポートフォワーディングを使って、サーバの8000番ポートに転送しています。なので、外部からブラウザでアクセスする場合には、アドレスにポート指定はいりません。ちなみに、ドメインは無料ドメインの .tk です。


Cloudflare

「Darwin Streaming Server」が、IPv6 に対応していないので、DNS には、IPv4 だけ設定しています。
固定 IP アドレスではないので、Cloudflare API を利用して、DNS レコードの IP アドレスを自動更新にしてみようかと思ったのですが、「無料ドメインはダメ!」とかエラーが出ましたわ。
ただ、NURO 光なのですが、IPv4 は全然変わっていないと思います。IPv6 の方はたまに変わっていますけど。


メール

OP25B(Outbound Port 25 Blocking)規制のため、メール送信ができなかったので、Postfix から Gmail 経由でメールを送信するようにしています。※ From アドレスが Gmail になります。

Gmail を経由させるには「アプリパスワード」を使った認証が必要で、Gmail の「アプリパスワード」は、2段階認証を設定していないと作成できません。

アプリを選択で「メール」を選択。デバイスを選択で「その他(名前を入力)」を選択。

生成したアプリパスワードを元に、Gmail の SMTP 認証情報ファイルを作成。

~]# vi /etc/postfix/gmail

[smtp.gmail.com]:587 <Gmailのアドレス>:<Gmailのアプリパスワード>

パーミッションを設定。

~]# chmod 600 /etc/postfix/gmail

Postfix 用の DB ファイルを生成。

~]# postmap /etc/postfix/gmail

Postfix の設定ファイルの最終行に以下の設定を追加。

~]# vi /etc/postfix/main.cf

relayhost = [smtp.gmail.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/gmail smtp_sasl_security_options = noanonymous smtp_sasl_tls_security_options = noanonymous smtp_sasl_mechanism_filter = plain smtp_use_tls = yes

設定反映。

~]# systemctl reload postfix

PHP

CentOS 7 では、標準でインストールされる PHP のバージョンが「5.4.16」で、あまりに古くて支障がでそうなので、「7.4」をインストールしています。
EPEL と Remi のリポジトリのインストールが必要です。

EPEL のリポジトリをインストール。

~]# yum install epel-release

EPEL 設定ファイルの「enabled=1」を「enabled=0」に変更。

~]# vi /etc/yum.repos.d/epel.repo

Remi のリポジトリをインストール。

~]# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

「5.4.16」をインストールしてしまっていたら。

~]# yum remove php*

「7.4」をインストール。
以下のエラーがでるので、予め EPELから「libraqm」をインストールする。

エラー: パッケージ: gd3php-2.3.3-7.el7.remi.x86_64 (remi) 要求: libraqm.so.0()(64bit)

~]# yum install --enablerepo=epel libraqm

「7.4」をインストール。

~]# yum install --enablerepo=remi,remi-php74 php php-mbstring php-gd php-json php-xml php-mysqlnd

バージョン確認。

~]# php -v

- guitar site WAVE -