■ インデックス
■ はじめに・・・
「これから自宅サーバを構築しようと思っているけど、どの順番で何を入れれば良いのかよく分からない」と言う質問が、多く寄せられます。
自分がサーバで何をしたいのかによって各サーバをインストールするしないが変わってきますが、最低限行う事とこれから必要と思われるサーバの順番を明記します。
- 説明文のAから始まるアルファベット項番と構築するサーバのリンクの後ろにある括弧"( )"内で参照を表しています。
■ 事前準備
これからサーバを公開するわけですから、ローカル(宅内)からグローバル(インターネット)へアクセス出来ていなければなりません。
当たり前の話ですがISPと契約しインターネット接続できるようにしておきます。
(Windows等からブラウザでインターネットのURLにアクセスできる状態にしておきます。)
また、サーバを公開するに当たりサーバをルータ用途で使用するのか、それともルータの配下に位置付けるのかも決定しておきます。
(注意:当サイトの紹介はサーバをルータ配下に位置付ける方法です。サーバをNATルータにする方法は紹介していません。)
上記以外に、ISPから割り当てられるIPアドレスが静的(固定IP)なのか動的(変動IP)なのかも把握しておきます。
(通常、ISPに契約した時点では動的IPだと思います。)
この時、ドメイン名も決めておいた方が良いでしょう!ドメイン名の取得には大きく分けて2つの方法があります。
「有料のドメイン名を使用する」か「無料のドメイン名を使用する」に分かれます。
- 【有料の場合】
「xxx.jp」や「xxx.com」などの様に任意のドメイン名を選択できます
- 【無料の場合】
「xxx.yyy.com」や「xxx.yyy.net」などの様にサブドメインは任意になりますが、ドメイン名はそのサービスを提供しているドメイン名になります
自分の好みに選択して下さい。
(*:必ずしもドメイン登録する必要はありません。外部からアクセスする時に自分のグローバルIPアドレスでアクセスれば可能です。しかし、IPアドレスは覚えにくい物ですし、動的IPの場合は目も当てられません。ドメイン名を使用した方が良いでしょう!)
- 当初、当サイトはフリーのDynamic Network Services「DynDNS.org」を使用させて頂いていました。
この他、多々の無料サービスもありますので自分の気に入ったドメイン名を選択します。
(勿論、有料でもかまいません。現在当方は、安価なValue Domainを使用しています。)
- 無料で利用できる Dynamic Network Services(DynDNS.org)への登録 (A)
■ 初期インストール〜Linux/サーバの設定
- まず、Linux自身をインストールしないとお話になりません。Linuxをインストールします。
- インストール直後には、管理者ユーザ(root)しか存在しません。一般ユーザの作成を行います。
(厳密にはその他のサービスユーザはいますが・・・。またGUIインストール時の一般ユーザ作成を除く)
- 次に、FedoraCoreの文字コード体系を「UTF-8 → eucJP」に変更します。
(一度、ここでリブート(再起動)しておいた方が良いと思います)
- 再起動後、エディタ「vi」を「vim」に変更します。
- 不要なサービスも起動しているので、サービス一覧を参照しながら「kon」コマンド実行後、「setup」コマンドで表示されるサービスを、自分の不要と思われるサービスを除外します。
(ここでもう一度、再起動しましょう。)
- 【事前準備】でドメイン名登録を行った場合で、且つ、動的IPアドレスが割り当てられる方はIPアドレスの自動更新を行います。
勿論、Value Domainも対応しています。
- FedoraCore1 のインストール手順(GUI) または
FedoraCore2 のインストール手順(GUI) または
FedoraCore2 のインストール手順(CUI) または
FedoraCore3 のインストール手順(GUI) または
FedoraCore4 のインストール手順(GUI・LVM設定含む) または
FedoraCore4 のインストール手順(CUI・LVM設定含む) または
FedoraCore5 のインストール手順(GUI) または
FedoraCore6 のインストール手順(GUI) または
Fedora7 のインストール手順(GUI) または
Fedora8 のインストール手順(GUI) または
Fedora9 のインストール手順(GUI) または
Fedora10 のインストール手順 または
Fedora11 のインストール手順 または
Fedora12 のインストール手順 または
Fedora13 のインストール手順 または
Fedora14 のインストール手順 または
Fedora15 のインストール手順 または
Fedora16 のインストール手順 または
Fedora17 のインストール手順 または
Fedora18 のインストール手順 または
Fedora19 のインストール手順 または
Fedora20 のインストール手順 または
CentOS4 のインストール手順(GUI・ServerCD含む) または
CentOS5 のインストール手順 または
CentOS6 のインストール手順 (A)
CentOS7 のインストール手順 (A)
- Fedora/CentOS インストール後の設定 (B・C・D)
- サーバサービスの操作や自動起動の有効/無効 (E)
- IPアドレスの自動更新(DiCE) (F)
■ 各サーバサービスの最新化
- インストール直後のサービスは、公開された当初のものです。
サービスはバグやセキュリティ強化などで随時アップデートされていますので、常に最新に保つようにしてください。
(注意:ここで紹介しているのはインストール直後に1度だけではありません。随時チェックを行ってください!!)
- 「APT(Advanced Package Tool)のインストール」 または 「yum(Yellow dog Updater, Modified)のインストール」 (A)
- パッケージのアップデートは「APT」と「yum」があります。双方とも結果は同じですが、今後は「yum」の方が良いでしょう。
■ サーバをクライアントで操作できるようにする
主に、コマンド等を発行できるリモート操作とファイル等をサーバにアップロード/ダウンロードできるファイル操作が出来る構築を行います。
操作方法にも2つに分かれます(グラフィカル操作を除く)。暗号化通信方法と非暗号化通信方法です。
(*:グラフィカル操作(VNC)で、グローバルからのアクセスは設定しない方が良いでしょう。)
ローカルアドレス内だけでサーバを操作する場合には、非暗号化通信でもかまいませんが、出来る限り暗号化通信で操作しましょう
- サーバ自身のコンソール上で構築する事は勿論可能ですが、折角のサーバですのでリモート(クライアント)から操作できるように構築しましょう!
■ 自分の目的にあったサーバを構築
- ここから配下は、自分のサーバをどの様な目的で使用するかによって変わってきます。
特に、インストールの順番は関係ありませんので、自分の目的にあったサーバを構築して下さい。
- しかし、私個人的な意見ですがクライアントIPアドレス管理を行う「DHCPサーバ」と名前解決を行う「DNSサーバ」は構築しておいた方が良いと思います。
- 理由としては、例としてメールサーバを構築する場合、メールソフトでメールの送信サーバ「SMTP」と受信サーバ「POP」を設定する箇所があります。
- この欄には自分のサーバIPアドレスを入力しますが、その端末が「自宅」と「外出先」両方で使用する場合はどうでしょう?
- 「自宅」の時はローカルIPアドレス、「外出先」の時はグローバルIPアドレスを設定し直さなければなりません。
- しかし「DNSサーバ」を構築すれば(ドメイン名登録済みとする)この「SMTP」と「POP」の入力欄にはドメイン名さえ設定しておけば変更する必要がありません。
- 「DHCPサーバ」もサーバ側でクライアントのIPアドレスを一元管理する事も出来ます。
- よって、「DHCPサーバ」と「DNSサーバ」を構築する事をお勧めします。
■ ホームページを公開したい!!
- Webサーバの構築(Apache)
参考:Webサーバ(Apache)の設定ファイル説明
■ 自分のホームページのアクセス数などを集計したい
■ 自サイト内の検索エンジンを作りたい
■ あるページをアクセス制限かけたい
■ エラーページの表示をオリジナルにしたい
■ Windowsクライアントのファイルエクスプローラから、ファイルを読み書きしたい
■ ブラウザ上からメールの送受信を行いたい
■ ホームページの通信内容を暗号化したい
■ Javaプログラムでホームページを公開したい
■ コンテンツ転送を圧縮してネットワーク負荷を軽減したい
■ 自動的に指定したヘッダやフッタをHTMLに挿入したい
■ apacheアクセスログを簡単に集計し、かつ精度も上げたい
■ 独自のメールを作りたい!!
- メールサーバ(POP/IMAP)の構築(Dovecot) (受信メールサーバの構築)
↓
- メールサーバ(SMTP)の構築(Postfix) (送信メールサーバの構築)
参考:postfixのセキュリティ設定
バーチャルメールサーバの設定(Virtual Postfix)
■ ウイルスメールをサーバで検知・削除したい
■ メールの送受信内容を暗号化したい
■ 受信したメールを編集し転送したい
■ 外部メールを自サーバに取り込みたい
■ 一つのアカウントで複数のメールを利用したい
■ サーバとクライアントの時刻を正確にしたい!!
- NTPサーバの構築(ntp)
■ 色々なファイルをサーバにおいて、何時でもクライアントから参照したり保存を行いたい!!
- ファイルサーバの構築(Samba)
- ファイルサーバの構築(nfs)
- ファイルサーバの構築(netatalk)
■ サーバにプリンタを接続し、クライアントから印刷を行いたい!!
- プリントサーバの構築(cups)
■ データベースを構築したい!!
- データベースサーバの構築(PostgreSQL)
- データベースサーバの構築(MySQL)
参考:データベース操作 〜 MySQL CGI編 〜 (Perlで操作したい場合)
データベース操作 〜 MySQL PHP編 〜 (PHPで操作したい場合)
■ セキュリティを強化したい!!
■ ディスク関連を制御したい
■ ディスク残量が少なくなったらアラートを上げたい
■ ユーザー毎のディスク使用量を制限したい
■ サーバに物理ディスクを増設して使用したい
■ ツール
■ 文字列をISO-2022-JPのB-encodingやBase64にエンコード・デコードしたい
■ Windowsの実行モジュールをLinuxで動かしたい
■ ブログまたはWebコンテンツを管理したい!!
■ ちょっとした事を知りたい!!
■ 困った時は・・・
■ もしもの時の為に・・・
■ サーバの稼働状況を知りたい
ウェブブラウザよりサーバの稼動状態をグラフィカルに監視可能なツールのインストールと設定方法
■ コンテンツ関連
■ その他