サーバー

From ArchWiki
Revision as of 14:00, 22 February 2015 by Kusakata (talk | contribs) (ページの作成:「Category:ウェブサーバー en:Server このガイドでは最も一般的なサーバーについての概要と選択肢、管理やセキュリティに関...」)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

このガイドでは最も一般的なサーバーについての概要と選択肢、管理やセキュリティに関するガイドラインを提供します。

序文

サーバーとは何か?

かいつまんで言うと、サーバーとは遠隔地のクライアントと関係するサービスを実行するコンピューターのことです。全てのコンピューターは何らかのサービスを実行しています、例えば: Arch をデスクトップとして使っている場合、ネットワークに接続するにはネットワークサービスを動かす必要があります。ただし、サーバーは外部のクライアントと関わりを持つサービスを実行します、例えば: ウェブサーバーはインターネットを介して、またはローカルネットワーク上のどこかから見ることができるウェブサイトを管理します。

サーバー OS としての Arch Linux

次のような批評または主張を見たことがあるかもしれません: Arch Linux はサーバーのオペレーティングシステムには全く向いていない!。これは真実です: サーバーのインストールディスクというものは存在していません。他のディストリビューションでは用意されているようなディスクのことです。これは Arch Linux には最小限の (しかしながら堅実な) ベースシステムしか含まれていないためで、初めからインストールされているデスクトップまたはサーバーとしての機能は、ほんのわずかしかありません。ただし、このことは Arch Linux をサーバーとして使うべきでないということを意味しません。むしろ正反対です。Arch のコアインストール環境はセキュアかつ有能な基礎です。少数の機能しかプリインストールされてないからこそ、Linux サーバーのベースとして簡単に使うことができます。人気のサーバーソフトウェア (Apache, MySQL/MariaDB, PHP, Samba など) は全て公式リポジトリからインストールすることができ、さらに多くのソフトウェアが AUR には存在します。さらに、ソフトウェアをセットアップするための方法を記した詳細なドキュメントが wiki にはあります。

要件

サーバーで Arch Linux を使うには、まず Arch Linux をインストールしておく必要があります。

ほとんどの GNU/Linux サーバーオペレーティングシステムには、2つの選択肢があります:

  • OS の'テキスト'バージョン (全てをコマンドラインから実行する)
  • OS の GUI バージョン (GNOME/KDE などのデスクトップインターフェイスを使用する).
ノート: If you have services on your server that need to be administered using a GUI and cannot be done remotely, you must choose the second option.

Arch Linux のインストールについては、ビギナーズガイド一般的な推奨事項の記事を参照してください。ただし GUI を必要としない場合はこのセクション以降は不要です。

基本的なセットアップ

"基本的な"セットアップとは:

  • サーバーへのリモートアクセス。

管理作業をするためにサーバーにリモートでログインできるようにすると良いでしょう。サーバーがどこか別のところにあったり、モニターが取り付けられていない場合: ファイルの削除や追加、設定オプションの変更やサーバーの再起動など、全ての作業はリモートでサーバーにログインしないかぎり実行することが不可能です。SSH がこの機能を提供します。

  • Arch Linux サーバー。
  • ウェブページを公開するために必要な http サーバー (Apache)。
  • アドレス帳、フォーラム、またはブログの文章などのデータを保存するのによく使われるデータベースサーバー (MySql/MariaDB)。
  • ブログ、フォーラム、コンテンツ管理システムなどのウェブスクリプトで使われている人気のスクリプト言語である PHP スクリプト言語。

太字でわかるように、このアプリケーションの組み合わせには名前が付けられています: LAMP。

以下のセクションでは上述の基本機能のセットアップのインストールと設定をガイドします。

SSH

SSH は Secure Shell の略です。SSH を使うことで SSH クライアントでサーバーにログインでき、見覚えのあるターミナルのようなインターフェイスを使うことができます。SSH によるリモートログインのアクセス権限をシステムのユーザーに与えることで、サーバーのリモート管理ができるようになります。

インストールと設定方法は SSH のページに書かれています。

LAMP

LAMP サーバーは合理的で標準的なウェブサーバーです。

'P' が何を意味するのかということについてはよく議論があります。ある人は PHP だと言い、またある人は Perl のことだと言い、また、Python だと主張する人もいます。このガイドでは P は PHP ということにしますが、Linux には素晴らしい Perl や Python モジュールが存在するので、同じように Perl や Python をインストールすることもできます。

とは言え、ここに書くにはあまりに多くのことがありすぎます。

インストールや設定の方法は LAMP の wiki ページを見てください。

他のウェブサービス

E-Mail

メールサーバーのインストールと設定についてはカテゴリ:メールサーバーのページを参照してください。

FTP

FTP は File Transfer Protocol の略です。FTP クライアント (FileZilla, gftp など) や FTP 対応のブラウザを使って遠隔地からファイルシステムにアクセスすることができるサービスを提供します。FTP を使うことで、遠隔地からファイルを追加・削除できるだけでなく、chmod コマンドを適用してファイルに特定のパーミッションを設定することもできます。

FTP のアクセスはシステム上のユーザーアカウントに関連付けられるため、権限の管理をシンプルに行なえます。FTP は遠隔地からウェブサーバーにファイルを追加するのによく使われているツールです。

複数の FTP デーモンが存在します。アプリケーション一覧#FTP サーバーを見てください。

また、SSH を介して FTP を使うという方法もあります。SFTP を参照。

ローカルネットワークサービス

CUPS (印刷)

CUPS (Common UNIX Printing System) は多数のユーザーが印刷に使用する中心を提供します。例えば、複数のプリンタ (たとえば3台) と印刷をしたいユーザーがローカルネットワークに存在するとします。すべてのプリンタを個々のユーザーのコンピューターに追加することもできますが、CUPS が動いているサーバーにプリンタを追加して、サーバーを全てのクライアントに追加することもできます。24時間365日オンラインの集中型印刷システムを作ることができ、ネットワーク機能がないプリンタには特に有用です。

インストールと設定については CUPS の wiki ページを参照してください。

DHCP

ノート: dhcp v4 does not currently work due to IPv6 issues, this part of the guide will be written when that issue is resolved.

Samba (Windows 互換のファイル・プリンタ共有)

Samba は SMB/CIFS ネットワークプロトコルのオープンソース実装であり、Linux と Windows システム間で効率的にファイルやプリンタを共有することができます。Samba は共有を公開して認証を必要とさせることもできます。

インストールと設定については Samba の wiki ページを参照してください。

セキュリティ

ファイアウォール

ファイアウォールソフトウェアに関する詳細はファイアウォールを参照してください。

SSH の保護

管理目的で SSH でリモートログインできるようにすることは良いことですが、サーバーのセキュリティに脅威となる可能性もあります。ブルートフォース攻撃の対象としてよく狙われるため、SSH のアクセスは適切に制限して第三者がサーバーにアクセスできないようにする必要があるでしょう。設定方法は Secure_Shell#サーバーに接続する を見てください。

SELinux

インストールと設定については SELinux の wiki ページを参照してください。

管理とメンテナンス

アクセシビリティ

SSH is the Secure SHell, it allows you to remotely connect to your server and administer commands as if you were physically at the computer. Combined with Screen, SSH can become an invaluable tool for remote maintenance and administration while on-the-move. Please note that a standard SSH install is not very secure and some configuration is needed before the server can be considered locked-down. This configuration includes disabling root log-in, disabling password-based log-in and setting up firewall rules. In addition, you may supplement the security of your SSH daemon by utilizing daemons, such as sshguard or fail2ban, which constantly monitor the log files for any suspicious activity and ban IP addresses with too many failed log-in attempts.

X フォワーディング is forwarding your X session via SSH so you can log in to the desktop GUI remotely. Use of this feature will require SSH and an X server to be installed on the server. You will also need to have a working X server installed on the client system you will be using to connect to the server with. More information can be found in the X Forwarding section of the SSH guide.

その他

phpMyAdmin

phpMyAdmin is a free software tool written in PHP intended to handle the administration of MySQL over the Internet. phpMyAdmin supports a wide range of operations with MySQL. The most frequently used operations are supported by the user interface (managing databases, tables, fields, relations, indexes, users, permissions, etc), while you still have the ability to directly execute any SQL statement." http://www.phpmyadmin.net/home_page/index.php

ローカルパッケージリポジトリ

Repose can be used to create a package repository for a local server cluster where packages must be tested for quality and reliability before undergoing deployment into a production environment.

参照