Webサイトをホストする方法(独自のサーバーの設定ガイド)

サーバーを作成する方法


サーバー上でウェブサイトをホストするには、自分で手を汚し、環境全体を自分で設定する必要があります。以下に、実行中の仮想プライベートサーバーを使用して物事を成し遂げる方法の一般的な例を示します Ubuntu 18.04

つまり、次のことを行う必要があります。

    • サーバーの初期セットアップを実行する
    • DNSゾーンを設定してドメインをポイントする
    • ソフトウェアスタックをインストールする
    • 仮想ホストを作成する
    • ウェブサイトを稼働させる

追伸これらの複雑な手順を実行したくない場合は、Webホスティングを取得することを検討してください.

1.サーバーの最初のセットアップ手順

専用サーバーまたはVPSをレンタルする場合は、最初に強固な基盤を築く必要があります。これには、ターミナルまたはSSHクライアントを介してサーバーにアクセスし、セキュリティの調整と更新を行うことが含まれます.

サーバーに接続する

まず、サーバーに接続します。次のコマンドでトリックを実行します。

ssh [メール保護] _server_IP -port

初めて接続するときに、サーバーIPを既知のホストのリストに追加するように求められる場合があります。入力する はい 続行すると、入力するように求められます ルートパスワード.

既知のホストへのサーバーIPの追加

すべてが正常に行われた場合に画面に表示される例を次に示します.

最初のUbuntu SSHログイン画面

最新のアップデートを入手する

次のコマンドを実行して、Ubuntu 18.04サーバーの最新の更新を取得します。

sudo apt update
sudo apt upgrade

2番目のコマンドを実行すると、確認画面が表示されます。入力する Y 続行します.

サーバーの更新を確認するUbuntu

新しいユーザーを作成する

次に、日常的なタスクにrootユーザーを使用することは推奨されていないため、新しいユーザーを追加する必要があります。それをウェブマスターと呼びましょう。ユーザーの作成を開始するには、次のコマンドを実行します。

adduserウェブマスター

新しいユーザーUbuntuの作成

パスワードを作成すると、一般的な詳細(空白のままにすることができます)を入力するように求められます。次に、 Y 新しいユーザーの作成を確認する.

デフォルトでは、新しいユーザーには必要なすべてを実行するための十分な権限がないため、手動で追加する必要があります。方法は次のとおりです。

usermod -aG sudoウェブマスター

それでおしまい!新しい管理ユーザーが準備できました。 rootの代わりに使用を開始するには、次を実行:

su –ウェブマスター

システムユーザーの変更

公開鍵認証のセットアップ(オプション)

認証にパスワードを使用すると、ブルートフォース攻撃に対して脆弱になり、サーバーを中程度のリスクにさらします(特に、ユニークで強力なパスワードを設定するのが面倒な場合)。.

サーバーの整合性を向上させる優れた方法は、通常のパスワードの代わりにSSHキーを使用することです。実行しているLinuxディストリビューションに関係なく、手順は同じである必要があります。始める ログアウト サーバーの次のコマンドを実行します ローカルコンピュータ 新しい公開鍵を作成するには:

ssh-keygen

追加のパスフレーズと公開鍵を保存する場所の場所を入力するよう求められます。デフォルトでは、すべてを /Users/Your_User/.ssh ディレクトリ(他の計画がない限り、保持できます).

SSH keygenの実行

完了したら、次を使用してSSHキーをサーバーにコピーします。

ssh-copy-id [メール保護] _server_IP

念のため、rootユーザーに対しても同じことを行うことができます。

ssh-copy-id [メール保護] _server_IP

SSHキーをリモートサーバーに移動する

最後に、もう一度サーバーにログインする必要があります。今回のみ、SSHキーとそのパスフレーズを使用して認証します。接続が成功するためには公開鍵が必要であるため、誰かがパスワードを推測した場合、そのユーザーはログインできません。.

SSHキーでサーバーにログインする

パスワード認証を無効にする(オプション)

これで、新しく生成されたSSHキーでサーバーにアクセスできるようになったので、通常のパスワード認証を無効にすることをお勧めします。これを行うには、 ナノ テキストエディタ:

sudo nano / etc / ssh / sshd_config

#PasswordAuthentication yesという行を探して、削除します そして、 はい番号. 最終結果は次のようになります。

sshd構成でパスワード認証を無効にする

これらの変更を保存してnanoエディターを終了するには、 CTRL + X, 入力する Y そして押す 入る. そして最後に、sshdサービスをリロードしてすべてを適用します。

sudo systemctl reload sshd

以上です!パスワードの代わりに公開鍵を使用して認証します。これは、サーバーにアクセスして管理するためのより安全な方法と考えられています.

ファイアウォールを設定する

最後に、重要なことですが、Webに潜む危険から身を守るためにファイアウォールを使用することをお勧めします。複雑でないファイアウォールは、この仕事に最適なツールの1つです。設定するには、次を実行:

sudo apt-get install ufw

ファイアウォールをインストールすると、手動でオンにしない限り機能しません。次のコマンドを使用して有効にできます。

sudo ufw enable

ufw Ubuntuを有効にする

稼働しているかどうかを確認するには、次のコマンドを実行します。

sudo ufw status verbose

2. DNSゾーンを設定する

次の課題は、DNSゾーンを作成することです。DNSゾーンは、ドメイン名とサーバー間のバインディングマテリアルとして機能します。それを2つの小さなステップに分解できます。

  1. サーバー内にDNSゾーンを設定する
  2. ドメインレジストラーでのカスタムネームサーバーの作成

新しいDNSゾーンを作成する

新しいDNSゾーンを作成するには、bind9というツールを使用します。結局、これは、IPアドレスではなくドメイン名を使用してWebサイトをロードできるようにするサービスです。.

Ubuntu 18.04サーバーにBind9をインストールするには、次のコマンドを実行します。

sudo apt-get install bind9

インストールすると、すべてのファイルが / etc / bind ディレクトリ。最初にそれに移動しましょう:

cd / etc / bind

すべてを整理して整理するために、DNSゾーン用に別のディレクトリを作成します。

sudo mkdir -pゾーン

ドメインの新しいDNSゾーンファイルを作成してみましょう。使用します domain-example.com デモ用(実際のドメイン名に置き換える必要があります).

sudo nanoゾーン/domain-example.com

DNSゾーンスニペットの例:

;
; domain-example.comのBINDデータファイル
;
$ TTL 3時間
@ IN SOA ns1.domain-example.com。 admin.domain-example.com。 (
1;シリアル
3時間; 3時間後に更新
1時間; 1時間後に再試行
1w; 1週間後に期限切れ
1h); 1日のネガティブキャッシングTTL
;
@ IN NS ns1.domain-example.com.
@ IN NS ns2.domain-example.com.

domain-example.com。 YOUR_SERVER_IP
YOUR_SERVER_IPのns1
YOUR_SERVER_IPのns2
www IN CNAME domain-example.com.
YOUR_SERVER_IPでメール
CNAME domain-example.comのftp.
domain-example.com。 IN MX 10 domain-example.com.

のすべてのインスタンスを必ず置き換えてください Your_Server_IP そして domain-example.com 実際の値で。を押してゾーンファイルを保存します。 CTRL + X そして入力 Y 変更を確認する.

次に、ローカル構成を編集して、新しく作成したDNSゾーンの場所を指定する必要があります。これにより、サーバーはどのゾーンファイルがどのドメイン名に属しているかを確実に認識できます。.

sudo nano named.conf.local

置換しながら、ファイルの下部にある次の行を貼り付けます domain-example.com あなたの実際のウェブサイトアドレス.

ゾーン "domain-example.com" {
タイプマスター;
ファイル "/etc/bind/zones/domain-example.com";
};

押す CTRL + X そして入力 Y 変更を保存してnanoエディターを終了するには.

次のコマンドを実行して、すべてが正しく追加および構成されているかどうかをテストすることもできます。

sudo named-checkzone domain-example.com /etc/bind/zones/domain-example.com

DNSゾーンの確認

最後に、次の2つのコマンドを実行してサーバーのDNSサービスを再起動し、サーバーが実行されていることを確認します。

sudo /etc/init.d/bind9 restart
sudo /etc/init.d/bind9 start

この時点で、DNSゾーンはサーバー側から準備できています。確定するには、ドメインレジストラー内にカスタムネームサーバーエントリを作成する必要があります.

ドメインのカスタムネームサーバーを作成する

2つのネームサーバー(ns1.domain-example.com そして ns2.domain-example.com)DNSゾーンの例では、ドメインレジストラーでこれらのエントリを作成して使用する必要があります。.

エントリは次のようになります。

カスタムネームサーバー に指差す
ns1.domain-example.com Your_Server_IP
ns2.domain-example.com Your_Server_IP

子ネームサーバーの作成

作成したら、ドメインにこれ​​らの新しいネームサーバーを指定する必要があります.

ネームサーバーを更新する

3. LAMPスタックをインストールする

LAMPは、Webで最も使用されているソフトウェアスタックの1つです。 Linux、Apache HTTPサーバー、MySQL / MariaDB、PHPの略です。サイトをホストする前に、これらすべての要素がサーバーで利用可能であることを確認する必要があります。次に、Ubuntu 18.04を使用した場合の設定プロセスを示します。

Apache

Apache HTTPサーバーは、サーバーに付属するデフォルトパッケージにすでに含まれている場合があります。そうでない場合は、次を実行します。

sudo apt-get install apache2

Apacheをインストールする

ファイアウォールがあるため、Apacheが正常に動作しないため、これらのポートが開いていることを確認する必要があります。ファイアウォールの通過を許可する必要があるものは次のとおりです。

sudo ufwは80 / tcpを許可します
sudo ufwは443 / tcpを許可します

次に、再起動して変更が適用されたことを確認します。

sudo ufw reload

この時点で、以下にアクセスすると表示されるはずです サーバーのIPアドレス ブラウザ経由:

デフォルトのApache2ページ

PHP

WordPressに必要ないくつかの追加モジュールを含む最新のPHPバージョンを取得するには、次のコマンドを実行します。

sudo apt-get install php php-common php-mysql php-gd php-cli

PHPのインストールを確認する

次のように入力して、サーバーにインストールされているPHPのバージョンを確認できます。

php -v

PHPのバージョンを確認する

MySQL / MariaDB

MariaDBとMySQLは、Linuxでのデータベースサーバーの上位2つの選択肢です。この例では、MariaDBを使用します。サーバーにインストールするには、次のコマンドを実行します。

sudo apt-get install mariadb-server mariadb-client

Mariadbをインストールする

完了したら、パッケージに付属する追加のスクリプトを使用する必要があります。データベースサーバーの基本的なセキュリティ対策を確立します。次のように入力して開始します。

sudo mysql_secure_installation

最初のステップで、ルートMySQLパスワードを入力するよう求められます。を押す 入る ボタンがまだ作成されていないため、続行します。次に、コマンドラインインターフェースにポップアップ表示される残りの指示に従います.

Mariadbの安全なインストール

最後に、次のコマンドを実行して、データベースサーバーが動作しているかどうかを確認できます。

sudo systemctl status mysql

4仮想ホストを作成する

次のタスクは、Webサイトファイル用の専用ディレクトリを作成することです。まず、作業ディレクトリを変更します。

cd / var / www / HTML

このコマンドを使用して、ドメイン用のフォルダーと、その中に追加のフォルダーを作成します。

sudo mkdir -p domain-example.com/public_html

次に、 ウェブマスター 以前に所有者を作成して使用したユーザー:

sudo chown -R webmaster:webmaster domain-example.com/public_html

また、Apacheルートディレクトリに読み取り権限が適用されていることを確認する必要もあります。この場合:

sudo chmod -R 755 / var / www / html /

この時点で、Apacheはすべての設定を 000-default.conf ファイル。このファイルの内容をコピーして、ドメイン名用に別のファイルを作成する必要があります。仮想ホスト構成のテンプレートをコピーする最も簡単な方法は、次のコマンドを使用することです。

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/domain-example.com.conf

基本的に、これは同じディレクトリに別の名前でファイルのコピーを作成します。これは、ドメインのルートディレクトリ、エラーログ、およびその他の重要なパスの場所をApache Webサーバーに通知するファイルです。コンテンツを変更するには、nanoを使用します。

sudo nano /etc/apache2/sites-available/domain-example.com.conf

Apacheの設定例:

#ServerNameディレクティブは、要求スキーム、ホスト名、およびポートを設定します
#サーバーが自身を識別するために使用します。これは作成時に使用されます
#リダイレクトURL。仮想ホストのコンテキストでは、ServerName
#リクエストのHost:ヘッダーに表示する必要があるホスト名を指定します
#この仮想ホストに一致します。デフォルトの仮想ホスト(このファイル)の場合、これ
#値は関係なく最後の手段として使用されるため、決定的ではありません.
#ただし、それ以上の仮想ホストには明示的に設定する必要があります.

ServerAdmin [メール保護]
DocumentRoot /var/www/html/domain-example.com/public_html
ServerName domain-example.com
ServerAlias www.domain-example.com

#利用可能なログレベル:trace8、…、trace1、debug、info、notice、warn,
#エラー、クリティカル、アラート、emerg.
#特定のログレベルを設定することも可能です
#モジュール、例えば.
#LogLevel info ssl:warn

エラーログ$ {APACHE_LOG_DIR} /error.log
CustomLog $ {APACHE_LOG_DIR} /access.logの組み合わせ

#conf-available /のほとんどの設定ファイルについては、
#グローバルレベルで有効または無効にすると、
#1つの特定の仮想ホストのみの行を含めます。たとえば
#次の行は、このホストのみのCGI構成を有効にします
#グローバルに無効化された後 "a2disconf".
#conf-available / serve-cgi-bin.confを含める

domain-example.comのすべてのインスタンスを実際のドメイン名に置き換えてください。ファイルを保存するには、 CTRL + X 入力して確認します Y. 最終結果は次のようになります。

Apacheへのドメイン構成の追加

この時点で、デフォルトの仮想ホスト構成ファイルをオフにして、新しく作成したものを使用する必要があります。このコマンドはそれを無効にします:

sudo a2dissite 000-default.conf

次に、以下に示すように、最近作成した構成ファイルを追加します。

sudo a2ensite domain-example.com.conf

最後に、変更を適用するにはApacheを再起動する必要があります。これを実行するには、次のようにします。

sudo systemctl reload apache2

サーバーにLAMPが正常にインストールされました。ドメインはすでにサーバーを指しているため、DNSが完全に伝達されるまで数時間待つ必要がある場合があります。次に、ブラウザからドメインにアクセスすると、同様の画面が表示されます.

ドメインルートディレクトリの内容

5. WordPressのセットアップ(またはWebサイトのアップロード)

サーバーの初期設定がようやく完了したので、ここでWebサイトをホストします。このセクションでは、WordPressサイトを稼働させる方法の一般的な例を示します。.

新しいMySQLデータベースとユーザーを作成する

端末からMySQLインターフェースにアクセスすることから始めます。

sudo mysql

>次の構文を使用して、新しいデータベースを作成します。

CREATE DATABASE wpdatabase;

次に、新しいユーザーを作成し、パスワードを指定します。

CREATE USER ‘wpuser’ @ ‘localhost’ IDENTIFIED BY ‘SuperSecurePassword123’;

次に、新しく作成したユーザーに管理者権限を割り当てます。

wpdatabase。*にすべての特権を付与します ‘TO’ wpuser ‘@’ localhost ‘;

それでおしまい! MySQLユーザーとデータベースの準備が整いました。インターフェイスをオフにするには、次のように入力します。

出口

WordPressファイルをサーバーに移動する

最後に重要なことですが、ドメインのルートディレクトリに実際のウェブサイトファイルをアップロードする必要があります。ステップバイステップで説明するアプローチは2つあります。

  • wgetコマンドを使用して最新のWordPressバージョンを取得する
  • FTPクライアント(FileZillaなど)の構成

方法1:コマンドラインツールを使用する

最初の方法は、次のコマンドを使用することです wget. サーバーで使用するには、インストールする必要があります。

sudo apt-get install wget

次に、作業ディレクトリをドメイン名のルートフォルダーに変更します。

cd /var/www/html/domain-example.com/public_html

wgetコマンドを使用して、WebからWordPressの最新バージョンをダウンロードします。

wget https://www.wordpress.org/latest.zip

次に、以下を使用してアーカイブのすべてのコンテンツを抽出します。

unzip latest.zip

デフォルトでは、すべてのファイルが新しいディレクトリに表示されます ワードプレス (これにより、Webサイトが domain-example.com/wordpress)。すべてが正しく機能するためには、すべてのファイルをそのディレクトリから上のディレクトリに移動する必要があります。方法は次のとおりです。

CDワードプレス

次のコマンドは、現在のディレクトリから指定した場所にすべてのファイルを移動します。

sudo mv * /var/www/html/domain-example.com/public_html/

インストールを開始する前に、wp-config.phpファイルを準備する必要があります。サンプルのみ提供していますので。まず、名前を変更します。

sudo mv wp-config-sample.php wp-config.php

次に、nanoを使用してファイルを編集し、MySQLデータベース構成の詳細を追加します。.

sudo nano wp-config.php

必ず更新してください MySQL ユーザー, データベース, そして ホスト 以前に作成した値を持つセクション.

WP構成の編集

最後に、ブラウザでドメイン名にアクセスすると、WordPressの初期設定画面が表示されます.

WordPressの初期設定

完了したら、オールインワンWP移行などの移行プラグインをインストールして、既存のWordPress Webサイトをインポートできます.

方法2:FTPクライアントを使用する

または、FileZillaなどのFTPクライアントを使用することもできます。 SSHキーを設定してパスワード認証を無効にした場合は、通常のユーザー名とパスワードの組み合わせではなく、SSHキーを使用してログインする必要があります。 SFTP接続を構成するには:

  1. に行く FileZillaサイトマネージャー そして追加する 新しいサイト.
  2. プロトコルを SFTP – SSHファイル転送プロトコル.
  3. サーバーIPを ホスト フィールドに設定し、ポートを 22.
  4. ログインタイプを キーファイル.
  5. SSHキーへのパスを指定します(例:. /Users/Name/.ssh/id_rsa).
  6. FileZillaはそれを .PPK ファイルを使用して、接続を確立できます。.

SSHキーの変換

最終的な構成は次のようになります。

FileZilla sftp設定

これで、FTP経由でサーバーにアクセスし、コンピューターから直接ファイルをアップロードできるようになります。.

FileZilla sftp接続

おめでとう! Ubuntu 18.04を実行している仮想プライベートサーバーでウェブサイトをホストする方法を学びました。サーバーの初期設定からソフトウェアスタックの準備まで、すべてがカバーされています。あとはサーバーをつかんで手を汚すだけです!

この記事はHostinger.comの助けを借りて公開されました.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me

About the author

Adblock
detector