自宅サーバー、自宅ファイルサーバー、Linuxサーバー構築の初心者におすすめ!コピペ(コピー&ペースト)でできる自宅サーバーFedora36(Linux)の作り方。

例:DHCPのIPアドレス/マスク長:192.168.1.1/24
例:WebサーバのIPアドレス:192.168.1.3
s50

自宅サーバーFedora36(Linux)の作り方.

初心者の方でもコピー、貼付けでLinux自宅サーバーを簡単に作れるように説明しています。
Webサーバー、メールサーバー、VPNサーバー、WordPressなどを設定します。s51

サーバー構築準備:自宅サーバー準備作業.

  • モデム設定(ご自身の環境に合わせてお調べください。)
  • サーバー本体
  • ルーターの設定
  • 有料ドメイン取得
  • isoファイルの容量確認
  • ImgBurn(インストールDVD作成ソフト)
  • Rufus(インストールUSBメモリ作成ソフト)
  • Tera Term(端末)
  • Gmailの登録
  • Thunderbirdのダウンロード・インストール

s52

Fedora36:インストール.

  • Fedora36ダウンロード
  • インストールDVD作成
  • Fedora36インストール

s53

Fedora36:SSHサーバー設定.

  • SSHサーバーのインストール

s54

サーバー構築準備:SSHサーバーリモート接続(Tera Term).

  • SSHサーバーリモート接続の準備
  • Tera Termの使い方

s55

Fedora36:初期設定.

  • rootファイルシステムを拡張
  • 一般ユーザーの作成
  • rootになれるユーザーを限定
  • 一般ユーザーの削除
  • ファイアウォールとSELinuxを無効化
  • ネットワークの設定
  • システムの最新化
  • リポジトリを追加
  • パッケージの自動更新
  • 開発ツールパッケージのインストール
  • Vim(テキストエディタ)の設定
  • Sudo(root権限)の設定

s56

Fedora36:デスクトップ環境設定.

  • デスクトップ環境インストール
  • VNCサーバーの設定
  • Xrdpサーバーの設定
  • 日本語環境の設定

s57

Fedora36:ファイルサーバー設定.

  • sambaのインストール
  • sambaの初期設定

s58

Fedora36:バックアップ設定.

  • バックアップ領域の作成
  • 自動バックアップの設定

s59

Fedora36:NTPサーバー設定(Chrony).

s60

Fedora36:セキュリティ対策.

  • アンチウィルスソフトの導入(Clam AntiVirus)
  • ファイル改竄検知システムの導入(Tripwire)
  • rootkit検知システムの導入(RkHunter)
  • SSHサーバー公開鍵認証方式接続の設定

s61

Fedora36:ドメイン設定.

  • DiCEのインストール
  • DiCE の設定
  • DiCEのイベントの追加

s62

Fedora36:DNSサーバー設定.

  • BINDのインストール
  • ゾーン情報の設定
  • TCP/UDP53番ポート開放
  • ポート開放テスト
  • BINDの起動と作動確認
  • chroot環境に移行
  • ホスト別名の設定
  • ホームネットワーク内PCのDNSを設定変更
  • 第二DNSの確認

s63

Fedora36:Webサーバー設定.

  • thhpdのインストール
  • TCP80番ポート開放
  • ポート開放テスト
  • Perlのインストール
  • PHPのインストール
  • Rubyのインストール
  • Perlモジュールのインストール
  • ImageMagikのインストール
  • サーバー証明書の取得
  • SSLの設定

s64

Fedora36:データベース設定.

  • MariaDBの インストール

s65

Fedora36:FTPサーバー設定.

  • Vsftpd のインストール
  • FTPクライアントの設定

s66

Fedora36:MAILサーバー設定.

  • Postfixの設定
  • SMTP認証設定
  • Maildir形式メールボックスの作成
  • TCP25番、TCP587番ポート開放
  • ポート開放テスト
  • OP25B対策
  • Dovecotのインストール
  • TCP110番またはTCP143番ポート開放
  • ポート開放テスト
  • メールユーザーの追加
  • sendmailパスの確認
  • メールソフトの登録
  • サーバー証明書の取得
  • SSLの設定
  • TCP465番ポート開放
  • ポート開放テスト
  • TCP587番ポート閉鎖
  • ポート開放テスト
  • Dovecot設定
  • TCP995番またはTCP993番ポート開放
  • ポート開放テスト
  • メールソフトの設定変更
  • アンチウィルスソフトの連携(Clamav+Amavisd)

s67

Fedora36:ログ解析設定.

  • Webアクセスログ解析(AWStats)のインストール
  • メールログ解析(Pfiogsumm)のインストール

s68

Fedora36:システム監視設定.

  • Nagiosのインストール
  • Nagios起動

s69

共通設定:VPNサーバー設定(Soft Ether VPN Saver).

  • Soft Ether VPN Serverインストール
  • Soft Ether VPN Server起動
  • UDP500番ポート、UDP4500番ポート開放
  • ポート開放テスト
  • Soft Ether VPN Server設定
  • Soft Ether VPN Serverダウンロード、インストール
  • Soft Ether VPN Server初期設定
  • 外部から固定ひかり電話子機接続

s70

Fedora:Webmin設定.

  • Webminインストール
  • 起動確認

s71

Fedora:Usermin設定.

  • Userminインストール
  • 起動確認

s72

Fedora:サブドメイン設定.

  • サブドメイン用ディレクトリ作成
  • テストページ作成
  • サーバー証明書取得
  • メインドメインSSL設定
  • サブドメインSSL設定

s73

Fedora:複数ドメイン設定.

 

  • 複数ドメイン用ディレクトリ作成
  • テストページ作成
  • サーバー証明書取得
  • 複数ドメインSSL設定
  • BIND設定
  • ゾーン情報の設定

s74

Fedora:ブログサイト構築(Word Press)設定.

  • Webサーバー、PHP設定
  • データベース設定
  • ブログ用データーベースを作成
  • WordPressインストール
  • WordPress設定
  • Apache設定
  • WordPress初期設定
  • WordPressをドメイン直下での表示設定

s75

WordPress:使いやすいWordPressの作り方.

  • 初期設定
  • 記事エディターの拡張
  • SEO対策
  • Site Kit by Google
  • 投稿記事ごとのSEO対策
  • ウィジェット追加
  • カスタムCSS
  • クイックタグの追加
  • スライドショー設置
  • コメント欄非表示
  • 関連記事表示
  • もくじ表示
  • リダイレクト検知
  • Google にインデックスさせる
  • マルチバイト機能の拡張
  • サイトマップを出力
  • お問い合わせフォーム
  • 予約自動投稿
  • 投稿記事の表示順
  • 代替え入力

s76

共通設定:サーバ自動起動設定.

  • BIOS設定

s77

Fedora36:起動不能をインストールDVDで復旧.

共通設定:ディスクのクローン作成.

  • Ubuntu Desktopダウンロード
  • ライブDVD作成
  • ディスクのクローン作成

WP-Coder title=”section_top_num”]s78

Fedora36:アップグレード.

  • アップグレード

Ubuntu21:バックアップ設定

バックアップ領域の作成

サーバーの電源を切ってHDD(メインHDDより容量の大きいもの)を追加しておきます。

Windows のリモートデスクトップ機能でサーバーに接続します。

「アクティビティ」→「アプリケーションを表示する」→「ディスク」を選択します。

「バックアップ用HDD」→「+」を選択します。

→「サイズを設定」→「名前を設定」→「作成」で初期バックアップ用(Defalt HDD Backup 20Gb)、システムバックアップ用(Sestem Backup)のパーティション作成します。

」をクリックしてマウントします。

自動バックアップの設定

epelリポジトリをインストールします。

root@www:~# add-apt-repository ppa:teejee2008/ppa
root@www:~# apt update

timeshiftをインストールします。

root@www:~# apt -y install timeshift

独自翻訳した日本語化ファイルを用意いたしました.

日本語化ファイル(timeshift.zip)をダウンロードし、解凍します.

解凍したファイル(timeshift.mo)をsambaのフォルダにコピーします。

「ubuntu」→「Share」にtimeshift.moをペーストします。

timeshift.moをペースト

Windows のリモートデスクトップ機能でサーバーに接続します。

「アクティビティ」→「ファイル」→「samba/share/timeshift.mo」をコピーします。

「アクティビティ」→「ファイル」→「usr/share/locale/ja/LC_MESSAGES」へ貼付けます。

「アクティビティ」→「Timeshiftを検索」→「Timeshift」を選択します。(次回からアプリケーションにアイコンが表示されます。)

「RSYNC」を選択し、「次」をクリックします。

「Sestem Backup」を選択し、「次」をクリックします。

「毎日」を選択し、「次」をクリックします。

「次」をクリックします。

「完了」をクリックします。

「設定」をクリックします。

「ユーザー」をクリックし、「すべてのファイルを含める」を選択します。

「作成」をクリックしスナップショットを作成します。

(リモートディスクトップで復元できない場合はサーバーにログインして復元します。)

CentOS8:デスクトップ環境設定

VNCサーバーの設定

デスクトップ環境は GNOMEデスクトップを導入しておきます。
VNCサーバーをインストールします。

[root@www ~]# dnf -y install tigervnc-server

VNC 接続を設定したいユーザーでログインし、VNC サーバーでパスワード(英数字8桁以内)を設定します。

[root@www ~]# vncpasswd
Password:
Verify:

VNC サーバーを起動します。

[root@www ~]# vncserver
New 'sentosserver.jp:1 (root)' desktop is sentosserver.jp:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/sentosserver.jp:1.log

クライアントPCにUltraVNCUltraVNC_1_2_40_X64_Setup.exeをダウンロードします。(ページの下部にダウンロードリンクがあります。)

UltraVNCをダウンロード

23bit、64bitを選択して「DOWNLOAD」をクリックします。

23bit、64bitを選択して「DOWNLOAD」

「I accept the above listed conditions」を選択して「Download」をクリックします。

「I accept the above listed conditions」を選択して「Download」

ダウンロードした「UltraVNC_***_Setup.exe」のアイコンをWクリックしてインストールします。

UltraVNC_***_Setup.exe

「Windowsスタートメニュー」をクリックし、「UltraVNC Viewer」を起動します。

Windowsスタートメニュー

先に起動したVNCサーバーのIPアドレス:ディスプレイ番号を入力をして「Connect」をクリックします。

VNCサーバーのIPアドレス:ディスプレイ番号を入力

VNCパスワードを入力し「Log on」をクリックします。

VNCパスワードを入力

ディスクトップが表示されます。

Xrdpサーバーの設定

Windows のリモートデスクトップ機能で接続できるようにXrdpサーバーをインストールして設定します。

[root@www ~]# dnf --enablerepo=epel -y install xrdp

自動起動を設定します。

[root@www ~]# systemctl enable --now xrdp

Windows スタートメニューから「アクセサリ」→「リモートデスクトップ接続」 を選択して接続画面を起動します。

スタートメニュー

サーバーIPアドレスを入力し「接続」をクリックします。

サーバーIPアドレスを入力し「接続」をクリック

「usermame」(ユーザー名)、「password」(パスワード)を入力し「OK」をクリックします。

「usermame」(ユーザー名)、「password」(パスワード)を入力し「OK」をクリック

ディスクトップが表示されます。

日本語環境の設定

日本語環境のパッケージをインストールします。

[root@www ~]# dnf -y install ibus-kkc vlgothic-*

システムの文字セットを設定します。

[root@www ~]# localectl set-locale LANG=ja_JP.UTF-8
[root@www ~]# source /etc/locale.conf

設定を確認します。

[root@www ~]# echo $LANG
ja_JP.UTF-8

 

共通設定:ドメイン設定

s50

IPアドレス取得スクリプト作成.

IPアドレス取得スクリプトを作成します。

[root@www ~]# 50_1vi /var/www/html/ip_add.php
50_2<?php
$ip_address = $_SERVER['REMOTE_ADDR'];
echo $ip_address ;
?>

s51

ドメインIPアドレス取得スクリプト作成.

ドメインのIPアドレス取得スクリプトを作成します。

[root@www ~]# 51_1vi /var/www/html/ip_host.php
51_2<?php
$ip_host_address = empty($_GET['host'])?null:gethostbyname($_GET['host']);
echo $ip_host_address;
?>s52

s51

ドメインIPアドレス更新スクリプト作成.

ドメインのIPアドレス更新スクリプトを作成します。

[root@www ~]# 52_1vi /usr/local/bin/dns-update.sh
52_2#!/bin/bash

UPIPURLMODE=${0}
SCRIPT=${1}
DNSUPURL=${2}

DOMAIN_LOG=${3}
DOMAIN=${4}
if [ "${DOMAIN_LOG}" = "" ]; then
    DOMAIN_JOB=""
else
    DOMAIN_JOB="?${DOMAIN_LOG}=${DOMAIN}"
fi

PASS_LOG=${5}
PASS=${6}
if [ "${PASS_LOG}" = "" ]; then
    PASS_JOB=""
else
    PASS_JOB="&${PASS_LOG}=${PASS}"
fi

IPGET_LOG=${7}

if [ "${UPIPURLMODE}" = "0" ]; then
    HOST_LOG=${8}
    HOST=${9}
elif [ "${UPIPURLMODE}" = "1" ]; then
    OTHERS1_LOG=${8}
    OTHERS1=${9}
    HOST_LOG=${10}
    HOST=${11}
elif [ "${UPIPURLMODE}" = "2" ]; then
    OTHERS1_LOG=${8}
    OTHERS1=${9}
    OTHERS2_LOG=${10}
    OTHERS2=${11}
    HOST_LOG=${12}
    HOST=${13}
else
    HOST_LOG=${8}
    HOST=${9}
fi

if [ "${OTHERS1_LOG}" = "" ]; then
    OTHERS1_JOB=""
else
    OTHERS1_JOB="&${OTHERS1_LOG}=${OTHERS1}"
fi

if [ "${OTHERS2_LOG}" = "" ]; then
    OTHERS1_JOB=""
else
    OTHERS1_JOB="&${OTHERS1_LOG}=${OTHERS1}"
fi

if [ "${HOST_LOG}" = "" ]; then
    HOST_JOB=""
else
    HOST_JOB="&${HOST_LOG}=${HOST}"
fi

#################################################################################

if [ "${HOST}" = "" ]; then
    FQDN=${DOMAIN}
else
    FQDN="${HOST}.${DOMAIN}"
fi

# Get domain ip address
IPGET=`curl /var/www/html/ip_host.php?host=${FQDN} 2>&1`
DOMAINIP=`echo "${IPGET}"|grep "has address"|awk '{ print $NF }'|egrep ^[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+$`
if [ $? -ne 0 ]; then
    echo "${FQDN} Domain ip address detection error" | logger -t $(basename $0)
    echo ${IPGET} | logger -t $(basename $0)
    exit
fi
IPGET_JOB="&${IPGET_LOG}=${IPGET}"

# Server ip address acquisition
IPGET=`curl /var/www/html/ip_add.php 2>&1`
echo "${IPGET}" | egrep ^[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+$ > /dev/null 2>&1
if [ $? -eq 0 ]; then
    SERVERIP=`echo "${IPGET}" | tail -n 1 | awk '{ print $NF }'`
else
    echo "${DOMAIN} Server ip address detection error" | logger -t $(basename $0)
    echo "${IPGET}" | logger -t $(basename $0)
    exit
fi

# Domain ip address update
if [ "${DOMAINIP}" != "${SERVERIP}" ]; then
    IPUPDATE=`wget -q -O - "${DNSUPURL}${DOMAIN_JOB}${PASS_JOB}${HOST_JOB}${SERVERIP_JOB}${OTHERS1_JOB}${OTHERS2_JOB}${IPGET_JOB}"`
    echo ${IPUPDATE}|grep -q OK
    if [ $? -eq 0 ]; then
        echo "${FQDN} Ip address update success ${DOMAINIP} to ${SERVERIP}" | logger -t $(basename $0)
    else
        echo "${FQDN} Ip address update error" | logger -t $(basename $0)
        echo ${IPUPDATE} | logger -t $(basename $0)
        (
        echo IP ADDRESS UPDATE ERROR
        echo ${IPUPDATE}
        )|mail -s "${SCRIPT##*/} ERROR on ${FQDN}" root
        exit 1
    fi
fi
exit

[root@www ~]# 52_2chmod +x /usr/local/bin/dns-update.sh

s53

IPアドレス更新スクリプト実行.

IPアドレス更新スクリプトを実行します。

[root@www ~]# 53_1/usr/local/bin/dns-update.sh           

IPアドレス更新スクリプト定期自動実行設定.

IPアドレス更新スクリプト定期自動設定を実行します。

[root@www ~]# 54_1 vi /etc/cron.d/dns-update
54_2/usr/local/bin/dns-update.sh           

CentOS7:デスクトップ環境設定

デスクトップ環境は GNOMEデスクトップを導入しておきます。

VNCサーバーの設定

VNCサーバーをインストールします。

[root@www ~]# yum -y install tigervnc-server

VNC 接続を設定したいユーザーでログインし、VNC サーバーでパスワード(英数字8桁以内)を設定します。

[root@www ~]# vncpasswd
Password:
Verify:

VNC サーバーを起動します。

[root@www ~]# vncserver
New 'sentosserver.jp:1 (root)' desktop is sentosserver.jp:1

Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/sentosserver.jp:1.log

クライアントPCにUltraVNCUltraVNC_1_2_40_X64_Setup.exeをダウンロードします。(ページの下部にダウンロードリンクがあります。)

UltraVNCをダウンロード

23bit、64bitを選択して「DOWNLOAD」をクリックします。

23bit、64bitを選択して「DOWNLOAD」

「I accept the above listed conditions」を選択して「Download」をクリックします。

「I accept the above listed conditions」を選択して「Download」

ダウンロードした「UltraVNC_***_Setup.exe」のアイコンをWクリックしてインストールします。

UltraVNC_***_Setup.exe

「Windowsスタートメニュー」をクリックし、「UltraVNC Viewer」を起動します。

Windowsスタートメニュー

先に起動したVNCサーバーのIPアドレス:ディスプレイ番号を入力をして「Connect」をクリックします。

VNCサーバーのIPアドレス:ディスプレイ番号を入力

VNCパスワードを入力し「Log on」をクリックします。

VNCパスワードを入力

ディスクトップが表示されます。

Xrdpサーバーの設定

Windows のリモートデスクトップ機能で接続できるようにXrdpサーバーをインストールして設定します。

[root@www ~]# yum --enablerepo=epel -y install xrdp

Xrdpサーバーを起動します。

[root@www ~]# systemctl start xrdp

自動起動を設定します。

[root@www ~]# systemctl enable xrdp

再起動します。

root@www:~# reboot

Windows スタートメニューから「アクセサリ」→「リモートデスクトップ接続」 を選択して接続画面を起動します。

スタートメニュー

サーバーIPアドレスを入力し「接続」をクリックします。

サーバーIPアドレスを入力し「接続」をクリック

「usermame」(ユーザー名)、「password」(パスワード)を入力し「OK」をクリックします。

「usermame」(ユーザー名)、「password」(パスワード)を入力し「OK」をクリック

ディスクトップが表示されます。

日本語環境の設定

日本語環境のパッケージをインストールします。

[root@www ~]# yum -y install ibus-kkc vlgothic-*

システムの文字セットを設定します。

[root@www ~]# localectl set-locale LANG=ja_JP.UTF-8
[root@www ~]# source /etc/locale.conf

設定を確認します。

[root@www ~]# echo $LANG
ja_JP.UTF-8