/
自宅サーバー設定手順書
自宅サーバーの設定手順書の覚書。
さくらVPSの時と違って、メールサーバーやNextcloudの設定はしない。
そもそもプロバイダ的に自宅サーバーOKなのかも微妙。
SSHとWebサーバー(SSL対応)の設定のみする。
1. ドメイン取得
お名前.comでドメインを取得する。
.work が安くて良い。更新料のことまで考えて取得すること。
最初 .online にしてたが、更新料が高くて.workに変更した。
その際のSSL証明書とかの設定変更が面倒だったし、SEO対策的にも損をした。
2. ダイナミックDNS設定
固定IPなど持ってるはずがないのでDDNSの設定をする。
2-1. Aレコード設定
まずはお名前.comにログインし、Aレコード設定を行う。
ネームサーバーの設定→DNS関連の設定を選び、ドメインを選んで次へ
DNSレコード設定を利用するの右側の「設定する」ボタンを押す
Aレコードの「追加」ボタンを押す
こんだけ。
2-2. IPアドレスの反映
DDNSは簡単に言うと、定期的に変わる自分のIPアドレスをDNS上に展開することで、擬似的に固定IPアドレスっぽく振る舞う方法。
お名前.comダイナミックDNS(DDNS)クライアントをダウンロード。
実行すると定期的に自分の外部からのIPアドレスを取得し、DNSに反映させる。
Linuxしかない場合はしらん。(DiCEというのがあるがもう長いことメンテもされてない。使うなら自己責任)
3. CentOS 7のインストール
DVDにCentOS7のisoを焼いてインストール。最初ソフトウェアの選択を何もしなかったので minimal でインストールしてしまって往生した。
結局、サーバー (GUI 使用) を選択して再インストール。
※自分用メモ
うちのvaioは電源入れて「assist」ボタンを押すことによってBIOSに進んだ。F2とかF11とか死ぬほど連打してた。
この時userも作っておく。ここでは便宜上、unkoとしておく。
3-1. unkoにsudo権限をつける
1 2 |
|
3-2. hostnameを変えておく
1 |
|
とりあえずrebootとかちょいちょいすること。
3-3. yumのアップデート
インストールしたらとりあえずこれをやる。念の為再起動。
1 2 |
|
3-4. 勝手にスリープするの止める
ノートPCの蓋を閉じるとスリープしてしまうのでしないように設定を変更する。
1 2 3 4 5 6 7 |
|
4. ssh設定
SSH設定は主に2点。
ひとつはrootでのアクセスを禁止する。(同時に、unkoからしかログイン出来ないようにする)
もうひとつは公開鍵認証(クライアント認証)設定をする。
さくらVPSの時はポート番号の変更をし、Firewallに穴も開けたが、自宅なので(ルーターをいじれるので)、ポートフォワーディング設定で外部からのポート番号を変更した。
やり方は割愛。Buffaloのルーターの説明を見て。
4-1. sshサービスの起動、停止
起動
1 2 |
|
停止
1 2 |
|
4-1. rootでのアクセスを禁止する
rootでssh出来ないようにする。と同時に、sshで入れるユーザーの制限もする。
1 2 3 4 |
|
4-2. 公開鍵認証(クライアント認証)設定をする
これをしておけばまぁまずsshから侵入されることはない。
流れは
- クライアント側で秘密鍵と公開鍵を作る
- 公開鍵をサーバーに一旦置く
- サーバー上でauthorized_keysに公開鍵を追記する
これだけ。
ただ、失敗すると外部からアクセスできなくなるので注意。(自宅サーバなのでそんなに心配でもないが)
クライアント側がLinuxだと簡単。Windowsの場合はTeraTermで。
4-2-1. クライアントがWindowsでの公開鍵認証設定
以下のサイトが非常に丁寧でわかりやすいので、以下参照。
公開鍵認証によるSSH接続 - Tera Termの使い方(https://webkaru.net/linux/tera-term-ssh-login-public-key/)
4-2-2. クライアントがLinuxでの公開鍵認証設定
クライアント側で秘密鍵と公開鍵を作る。
1 2 3 |
|
公開鍵(id_rsa.pub)をサーバー上のどこか適当なディレクトリにアップロード
サーバー側(CentOS)でクライアントの作成した公開鍵をauthorized_keysに追加する。
(権限変更を忘れないこと)
1 2 3 4 5 |
|
sshサービスを再起動
1 |
|
4-3. パスワード認証を無効にする
公開鍵認証にしたのでパスワードで入れなくする。
1 2 3 |
|
sshサービスを再起動
1 |
|
5. Webサーバーの設定
外部からアクセスできるようにPort 80をルーターのポートフォワーディングしないといけないが割愛。
ルーターの説明書を見て設定する。
5-1. Apache
インストール
1 2 |
|
設定(jitaku.work。wwwは付けないけど付けたければつければ良い。ただし、SSL証明書の時に気を付けること)
1 2 3 4 5 6 7 |
|
サービス起動
1 2 |
|
Firewall設定
1 2 3 |
|
ログイン確認
http://jitaku.workにログイン出来ることを確認。
(まだ、httpsでは入れない)
ログイン出来なかったらFirewall、ルーターの設定どちらかに問題がある。ので、そのあたりを確認。
5-2. SSL設定
注意!!
理由はわからないが自己署名証明書になってしまった。
原因かどうかわからないが、
/etc/httpd/conf.d/ssl.conf
内のデフォルトの記載に問題があるらしい。
別にいらないので、mvしておく。
1 |
|
5-2-1. Let's Encryptで電子証明書を発行
1 2 |
|
証明書作成(Apacheの場合、いろんな設定をまとめてやってくれるのでこれが楽ちん)
1 2 3 4 5 6 7 8 |
|
5-2-2. Welcomeページを消す
Welcomeページを消しておく
1 2 3 |
|
5-2-3. 証明書の削除
証明書を作り直したい、ドメインを間違えた、などある場合は以下のコマンドで証明書を消せる。
が、再度証明書を作らないとApacheの設定上、起動できなくなるので注意。
1 |
|
5-3. 定期的な証明書の更新
Cronの設定
1 2 3 |
|
6. Samba設定
6-1. インストール
1 |
|
6-2. 設定ファイル更新
1 2 3 4 5 6 7 8 9 10 |
|
6-3. アクセスできるユーザの登録
すでに user というユーザーが存在しているとして、
1 |
|
とする。(居なければuseraddで作る)
アクセスできるユーザーの確認は、
1 |
|
6-4. Firewall設定
1 2 3 |
|
6-5. 共有ディレクトリ作成
1 2 3 4 5 |
|
6-6. 再起動
1 2 3 4 |
|
その他
自宅サーバなんでこんなもん。
メールサーバー、ファイルサーバはさくらVPS側でやってるので。