↑
2024年7月
ホームサーバ
使っていない古いノートPCでホームサーバとやらを建てています。
内輪だけ向けの Web サーバと、ファイル移動とかチョッとしたファイルの共有のためのファイルサーバです。
OS は、CentOS Stream 9 です。
x86-64-v2 がサポートされていないといけないようなので、「How do I check if my CPU supports x86-64-v2?」にあるスクリプトを使わせてもらって予め確認してみました。
基本的な設定やインストールしているものは、「WAVE Log : VPS Construction Ⅱ」と同じです。
違っているトコを書いておきます。
【VPS ではやっているけど、ホームサーバではやっていないこと】
・IPv6 は固定の設定をしていません。
・DNS サーバー構築(BIND)をしていません。
・「PHP のアップデート」ではなく初めから 8.2 をインストールしています。
・SSL 化は自己署名証明書で行っています。
・メールサーバは建てていません。
Logwatch など root 宛てのメールを転送先アドレスで受け取るために、Postfix で Gmail 経由のメール送信をできるようにしています。受信はなしです。
【VPS ではやっていないけど、ホームサーバではやっていること】
・このページに書いていること。
↑
インストール時のネットワーク設定
IPv4 だけ、こんな感じで。メソッド(M)は「手動」。
↑
ノートPC用設定
サーバ用途で使うノートPCなので、閉じてもスリープさせないために下記設定をしています。
反映。
↑
メール
OP25B(Outbound Port 25 Blocking)規制のため、メール送信ができなかったので、Postfix から Gmail 経由でメールを送信するようにしています。※ From アドレスが Gmail になります。
Gmail を経由させるには「アプリパスワード」を使った認証が必要で、Gmail の「アプリパスワード」は、2段階認証を設定していないと作成できません。
アプリを選択で「メール」を選択。デバイスを選択で「その他(名前を入力)」を選択。
生成したアプリパスワードを元に、Gmail の SMTP 認証情報ファイルを作成。
パーミッションを設定。
Postfix 用の DB ファイルを生成。
Postfix の設定ファイルの最終行に以下の設定を追加。
設定反映。
↑
PHP
8.2 を入れました。
リスト表示。
8.2 をデフォルトとして設定してインストール。
バージョン確認。
確認。(現在ロードしているすべてのモジュールの名前を表示)
↑
tinytag インストール
MP3 ファイルのメタデータを読み込むために tinytag というライブラリをインストールしています。
↑
自己署名証明書で SSL 化
ちょっと意外なところで SSL 化を要求された(※)ので、自己署名証明書で https アクセスできるようにしました。
※ JavaScript でクリップボードへテキストをコピーするのに、「Clipboard API」とやらを使っているのですが、コイツが SSL に対応したページでないと動作しないのですわ。
Uncaught TypeError: Cannot read properties of undefined (reading 'writeText')
mod_ssl インストール。
秘密鍵と自己署名証明書を作成。(入力したのは3ヶ所、あとはエンター。)
鍵と証明書を SSL 設定ファイル(/etc/httpd/conf.d/ssl.conf)にデフォルトで書かれているパス,ファイル名で(上書き)保存しちゃう。
設定反映。
ポート開放。
↑
ルータの DNS サービスの機能
ルータは NURO 光の F660A を使っているのですが、「アプリケーション」-「DNSサービス」で「ドメイン名の設定」と「ホスト名設定」をしてホスト名とドメイン名でアクセスできるようにしました。特に必要ではないのですが、その方が感じなので。ドメイン名は本当はキチンと取得しないといけないのでしょうが、文字数を2文字にして絶対に登録されていないドメイン名を設定しています。(.com, .net などは3文字以上)
↑
LuxCal インストール
DB 設定
Alias 設定
Webブラウザで https://サーバ名/luxcal/ へアクセスする。
フォームに入力。
MySQL Database
Server、Username、Password、Database name
「Server」はデータベースサーバの名前であり、たとえば「localhost」のようになります。
「Username」「Password」「Database name」は、サーバ上にデータベースを作成したときに使用された値です。
Administrator
Name、Email、Password
これらの値は、後でカレンダーにログインするために必要になるため、覚えておく必要があります。
「test」でフォームフィールドを検証し、「install/save」をクリック。
1) カレンダーのルートフォルダにある構成ファイル lcconfig.php をバックアップします。
2) カレンダーのルートフォルダからファイル installxxx.php と upgradexxx.php を削除します。
アクセスは、https://サーバ名/luxcal/ 。
カレンダーにログインし、管理メニュー(右上)に移動し、
- [Settings]ページで Timezone を「Asia/Tokyo」に設定するなど、好みの設定に変更する。
- [Users]ページで Public Access を「Read access」→「No access」に変更すれば、ログインしないと閲覧も出来なくなる。
使用言語などを変更した場合は、再ログインしないと反映されない。
復元や他サーバへの移動のためのデータは、「Menu」-「Database」から「Backup」,「Restore」でできる。
↑
Samba でファイルサーバ
Samba インストール。
共有フォルダ作成。
設定ファイル編集。
変更と追加。
「workgroup」には、Windows のワークグループ名を指定する。
起動およびファイアウォールで Samba を許可。
クライアント側の設定。
Windows :
「PC」フォルダで右クリック→「ネットワークの場所を追加する」
Fedora :
「他の場所」-「サーバーアドレスを入力…」に「smb://~」を入力して「接続」をクリック。
↑
リモートデスクトップ
・VNC接続をするユーザ:sshuser
SSHポートフォワーディングを利用して接続するので、SSH接続しているユーザと同じにしています。
・ディスプレイ番号:1
・ポート:5901(5900+ディスプレイ番号)/TCP SSHポートフォワーディングを利用して接続するので、5901のポートを開放する必要はありません。
TigerVNC Server インストール。
ディスプレイ番号とユーザの定義を追記。
自動起動設定+起動。
デスクトップ環境のインストール。(Xfce)
日本語対応。
Chrome をインストール。
google-chrome.repo を作成。
インストール。
あと、テキストエディタはあった方が良いかな。
sshuser での設定。
VNC用パスワードを設定。入力。
オプションを設定。(~/.vnc/config ファイルを新規作成)
「localhost」(VNCクライアントが安全なトンネル経由で接続するとき以外は接続できなくなる)と「nolisten=tcp」(VNCサーバがTCP経由でのX接続を受け付けないようにする)を設定しています。
設定反映。
ローカルに TigerVNC(vncviewer)をインストール。
SSHポートフォワーディングを利用して接続。
50000:任意のローカルホストポート
5901:リモートホストポート
xxx.xxx.xxx.xxx:リモートホスト IP アドレス
上記 SSH 接続を維持したまま、VNC Viewer で接続するので、新たな端末(ターミナル)の画面で VNC Viewer を起動。
VNC server 欄に「localhost::50000」と入力。
上記 SSH 接続をした際に決めた任意のローカルホストポートを指定します。(localhost と 50000 の間のコロンは二つです)
そして、「Connect」。
Password 欄に vncpasswd で設定したVNC用パスワードを入力。
そして、「OK」。
「新規セッション(N)」で「続行(C)」としました。
カーソルが見えなかったですが、選択されているかどうかは判別できました。カーソルで探るか、「Tabキー」で移動。
少し待つと以下の画面が現れます。
Chrome を起動すると「新しいキーリングのパスワード指定」が出ますが、空白で続行しました。
次回からは表示されません。
「日本語(Anthy)」追加後、反映に systemctl restart vncserver@:1.service が必要でした 。
また、リモート画面でログアウトすると、次回 vncviewer で接続時に以下エラーが出ます。
これも、systemctl restart vncserver@:1.service が必要でした 。右上の「×」で画面を閉じればエラーは出ません。
↑
- guitar site WAVE -