Debian 10にLAMPでWordPressをインストールする方法

前書き

WordPressは、インターネット上で最も人気のあるCMS(コンテンツ管理システム)です。 これにより、PHP処理を備えたMariaDBバックエンド上に柔軟なブログとWebサイトを簡単にセットアップできます。 WordPressは信じられないほど採用されており、Webサイトを迅速に立ち上げて運用するのに最適な選択肢です。 セットアップ後、ほとんどすべての管理はWebフロントエンドから実行できます。

このガイドでは、Debian 10サーバー上のLAMPスタック(Linux、Apache、MariaDB、およびPHP)でWordPressインスタンスをセットアップすることに焦点を当てます。

前提条件

このチュートリアルを完了するには、Debian 10サーバーにアクセスする必要があります。

このガイドを開始する前に、次のタスクを実行する必要があります。

  • *サーバーに `+ sudo `ユーザーを作成します*: ` sudo `権限を持つ非* root *ユーザーを使用して、このガイドの手順を完了します。 https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-10[Debian 10初期サーバー設定ガイド]に従って、 ` sudo +`権限を持つユーザーを作成できます。

  • * LAMPスタックのインストール*:WordPressが正しく機能するには、Webサーバー、データベース、およびPHPが必要です。 LAMPスタック(Linux、Apache、MariaDB、およびPHP)をセットアップすると、これらの要件がすべて満たされます。 https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mariadb-php-lamp-stack-on-debian-10 [このガイド]に従って、このソフトウェアをインストールおよび構成してください。

  • * SSLでサイトを保護*:WordPressは動的コンテンツを提供し、ユーザーの認証と承認を処理します。 TLS / SSLは、接続を安全にするためにサイトからのトラフィックを暗号化できる技術です。 SSLを設定する方法は、サイトのドメイン名があるかどうかによって異なります。

  • *ドメイン名を持っている場合…*サイトを保護する最も簡単な方法は、無料の信頼できる証明書を提供するLet’s Encryptを使用することです。 https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-debian-10 [Apacheの暗号化ガイド]に従って設定してください。

  • *ドメインがない場合…*この構成をテストまたは個人的な使用のために使用している場合は、代わりに自己署名証明書を使用できます。 これにより、同じタイプの暗号化が提供されますが、ドメイン検証は行われません。 Apacheの自己署名SSLガイドに従ってください設定する。

セットアップ手順が完了したら、 `+ sudo +`ユーザーとしてサーバーにログインし、以下に進みます。

ステップ1-WordPress用のMariaDBデータベースとユーザーの作成

私たちがとる最初のステップは準備です。 WordPressには、サイトとユーザーの情報を保存および管理するためのMySQLベースのデータベースが必要です。 MariaDB(MySQLのドロップイン代替品)が既にインストールされていますが、WordPressで使用するデータベースとユーザーを作成する必要があります。

開始するには、* root *アカウントとしてMariaDBプロンプトを開きます。

sudo mariadb

WordPressが制御する新しいデータベースを作成することから始めます。 これは何でも好きなように呼び出すことができますが、このガイドで簡単にするために、* wordpress *と名付けます。

次のように入力して、WordPress用のデータベースを作成します。

CREATE DATABASE  DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

すべてのMySQLステートメントはセミコロン( +; +)で終わる必要があることに注意してください。 問題が発生した場合は、これが存在することを確認してください。

次に、新しいデータベースの操作専用に使用する別のMySQLユーザーアカウントを作成します。 管理とセキュリティの観点から、単一機能のデータベースとアカウントを作成することをお勧めします。 このガイドでは* wordpress_user *という名前を使用しますが、必要に応じて自由に変更してください。

このアカウントを作成し、パスワードを設定して、次のコマンドで作成したデータベースへのユーザーアクセスを許可します。 データベースユーザーの強力なパスワードを忘れずに選択してください。

GRANT ALL ON .* TO ''@'localhost' IDENTIFIED BY '';

これで、それぞれWordPress専用に作成されたデータベースとユーザーアカウントが作成されました。 次のコマンドを実行して、付与テーブルをリロードし、MariaDBの現在のインスタンスが行った変更を認識できるようにします。

FLUSH PRIVILEGES;

次を入力してMariaDBを終了します。

EXIT;

WordPressで使用されるデータベースとユーザーを設定したら、CMSで使用されるPHP関連のパッケージのインストールに進むことができます。

ステップ2-追加のPHP拡張機能のインストール

LAMPスタックをセットアップするとき、PHPがMariaDBと通信するために必要な拡張機能のセットは最小限で済みました。 WordPressとそのプラグインの多くは、追加のPHP拡張機能を活用しています。

次のように入力して、WordPressで使用する最も人気のあるPHP拡張機能をダウンロードしてインストールします。

sudo apt update
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip

次のセクションでは、これらの新しい拡張機能をロードするためにApacheを再起動します。 ここに戻って追加のプラグインをインストールする場合は、次のように入力して、Apacheを再起動できます。

sudo systemctl restart apache2

この時点で、WordPressをインストールする前に残っていることは、CMSをスムーズに機能させるために、Apacheの設定を変更することだけです。

手順3-.htaccessの上書きと書き換えを許可するようにApacheの構成を調整する

追加のPHP拡張機能がインストールされ、使用できる状態になったら、次に行うことは、Apache構成にいくつかの変更を加えることです。 前提条件のチュートリアルに基づいて、 `+ / etc / apache2 / sites-available / `ディレクトリにサイトの設定ファイルがあるはずです。 ここでは例として「 / etc / apache2 / sites-available / wordpress.conf +」を使用しますが、必要に応じて設定ファイルへのパスを置き換える必要があります。

さらに、WordPressインストールのルートディレクトリとして `+ / var / www / wordpress +`を使用します。 独自の構成で指定されたWebルートを使用する必要があります。

現在、 `+ .htaccess +`ファイルの使用は無効になっています。 WordPressおよび多くのWordPressプラグインは、Webサーバーの動作をディレクトリ内で調整するためにこれらのファイルを広範囲に使用します。

WebサイトのApache構成ファイルを開きます。 ウェブサイトに既存のApache設定ファイルがある場合、このファイルの名前は異なることに注意してください。

sudo nano /etc/apache2/sites-available/.conf

`+ .htaccess `ファイルを許可するには、ドキュメントルートを指す ` Directory `ブロックを追加し、その中に ` AllowOverride `ディレクティブを追加する必要があります。 設定ファイルの ` Virtual Host`ブロック内に次のテキストブロックを追加します。必ず正しいWebルートディレクトリを使用してください。

/etc/apache2/sites-available/wordpress.conf

<Directory >
   AllowOverride All
</Directory>

終了したら、ファイルを保存して閉じます。

次に、WordPressパーマリンク機能を利用するために、 `+ rewrite +`モジュールを有効にします。

sudo a2enmod rewrite

行った変更を実装する前に、構文エラーが発生していないことを確認してください。

sudo apache2ctl configtest

設定ファイルの構文が正しい場合、出力に次のように表示されます。

OutputSyntax OK

このコマンドでエラーが報告された場合は、戻って、構成ファイルに構文エラーがないことを確認してください。 それ以外の場合は、Apacheを再起動して変更を実装します。

sudo systemctl restart apache2

次に、WordPress自体をダウンロードして設定します。

ステップ4-WordPressのダウンロード

サーバーソフトウェアが構成されたので、WordPressをダウンロードしてセットアップできます。 特にセキュリティ上の理由から、サイトから直接最新バージョンのWordPressを入手することを常にお勧めします。

書き込み可能なディレクトリに移動し、次のように入力して圧縮リリースをダウンロードします。

cd /tmp
curl -O https://wordpress.org/latest.tar.gz

圧縮ファイルを解凍して、WordPressディレクトリ構造を作成します。

tar xzvf latest.tar.gz

これらのファイルを一時的にドキュメントルートに移動します。 ただし、行う前に、ダミーの `+ .htaccess +`ファイルを追加して、WordPressが後で使用できるようにします。

次を入力してファイルを作成します。

touch /tmp/wordpress/.htaccess

次に、サンプル構成ファイルを、WordPressが実際に読み取るファイル名にコピーします。

cp /tmp/wordpress/wp-config-sample.php /tmp/wordpress/wp-config.php

さらに、ソフトウェアの更新後にWordPressが独自にこれを実行しようとしたときに、WordPressがアクセス許可の問題に陥らないように、 `+ upgrade +`ディレクトリを作成します。

mkdir /tmp/wordpress/wp-content/upgrade

次に、ディレクトリの内容全体をドキュメントルートにコピーします。 次のコマンドには、ソースディレクトリの最後にドットが含まれており、隠しファイル(作成した `+ .htaccess +`ファイルなど)を含むディレクトリ内のすべてをコピーする必要があることを示しています。

sudo cp -a /tmp/wordpress/. /var/www/

これで、WebサーバーにWordPressが正常にインストールされ、初期設定手順のいくつかが実行されました。 次に、WordPressが機能するために必要な特権と、以前に作成したMariaDBデータベースおよびユーザーアカウントへのアクセス権を付与する、さらにいくつかの構成変更について説明します。

ステップ5-WordPressディレクトリの設定

WordPressのWebベースのセットアッププロセスを実行する前に、WordPressディレクトリ内のいくつかの項目を調整する必要があります。

すべてのファイルの所有権を* www-data *ユーザーおよびグループに付与することから始めます。 これは、Apache Webサーバーが実行されるユーザーです。Apacheは、Webサイトにサービスを提供し、自動更新を実行するために、WordPressファイルを読み書きできる必要があります。

`+ chown +`で所有権を更新します。

sudo chown -R www-data:www-data /var/www/

次に、2つの `+ find +`コマンドを実行して、WordPressのディレクトリとファイルに適切なアクセス許可を設定します。

sudo find /var/www// -type d -exec chmod 750 {} \;
sudo find /var/www// -type f -exec chmod 640 {} \;

一部のプラグインと手順では追加の調整が必要になる場合がありますが、これらは最初から適切なアクセス許可セットにする必要があります。

これに続いて、メインのWordPress構成ファイルにいくつかの変更を加える必要があります。

ファイルを開くときの最初の目的は、インストールにセキュリティを提供するために、いくつかの秘密鍵を調整することです。 WordPressはこれらの値に対して安全なジェネレーターを提供しているため、独自に適切な値を考え出す必要はありません。 これらは内部でのみ使用されるため、ここで複雑で安全な値を使用しても、使いやすさを損なうことはありません。

WordPressシークレットキージェネレーターから安全な値を取得するには、次のように入力します。

curl -s https://api.wordpress.org/secret-key/1.1/salt/

次のような一意の値が返されます。

Outputdefine('AUTH_KEY',         '1jl/vqfs<XhdXoAPz9  c_j{iwqD^<+c9.k<J@4H');
define('SECURE_AUTH_KEY',  'E2N-h2]Dcvp+aS/p7X  {Ka(f;rv?Pxf})CgLi-3');
define('LOGGED_IN_KEY',    'W(50,{W^,OPB%PB<JF  2;y&,2m%3]R6DUth[;88');
define('NONCE_KEY',        'll,4UC)7ua+8<!4VM+  #`DXF+[$atzM7 o^-C7g');
define('AUTH_SALT',        'koMrurzOA+|L_lG}kf   07VC*Lj*lD&?3w!BT#-');
define('SECURE_AUTH_SALT', 'p32*p,]z%LZ+pAu:VY  C-?y+K0DK_+F|0h{!_xY');
define('LOGGED_IN_SALT',   'i^/G2W7!-1H2OQ+t$3  t6**bRVFSD[Hi])-qS`|');
define('NONCE_SALT',       'Q6]U:K?j4L%Z]}h^q7  1% ^qUswWgn+6&xqHN&%');

これらは、構成ファイルに直接貼り付けてセキュアキーを設定する構成行です。 受け取った出力をクリップボードにコピーし、ドキュメントルートにあるWordPress設定ファイルを開きます。

sudo nano /var/www//wp-config.php

それらの設定のダミー値を含むセクションを見つけます。 これは次のようになります。

/var/www/wordpress/wp-config.php

. . .

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');

. . .

これらの行を削除し、コマンドラインからコピーした値を貼り付けます。

/var/www/wordpress/wp-config.php

. . .

define('AUTH_KEY',         '');
define('SECURE_AUTH_KEY',  '');
define('LOGGED_IN_KEY',    '');
define('NONCE_KEY',        '');
define('AUTH_SALT',        '');
define('SECURE_AUTH_SALT', '');
define('LOGGED_IN_SALT',   '');
define('NONCE_SALT',       '');

. . .

次に、ファイルの上部にあるデータベース接続設定を変更します。 MariaDB内で構成したデータベース名、データベースユーザー、および関連するパスワードを調整する必要があります。

他に行う必要がある変更は、WordPressがファイルシステムへの書き込みに使用するメソッドを設定することです。 Webサーバーに必要な場所に書き込む許可を与えたため、ファイルシステムメソッドを明示的に「direct」に設定できます。 現在の設定でこれを設定しないと、特定のアクションを実行するときにWordPressがFTP資格情報の入力を求めます。

この設定は、データベース接続設定の下、またはファイル内の他の場所に追加できます。

/var/www/wordpress/wp-config.php

. . .

define('DB_NAME', '');

/** MySQL database username */
define('DB_USER', '');

/** MySQL database password */
define('DB_PASSWORD', '');

. . .

完了したら、ファイルを保存して閉じます。 最後に、WebブラウザからWordPressにアクセスして、WordPressのインストールと設定を完了できます。

ステップ6-Webインターフェースを介したインストールの完了

サーバーの構成が完了したので、Webインターフェースからインストールを完了できます。

Webブラウザーで、サーバーのドメイン名またはパブリックIPアドレスに移動します。

https://

使用する言語を選択します。

image:https://assets.digitalocean.com/articles/wordpress_lamp_1604/language_selection.png [WordPress言語選択]

次に、メインのセットアップページが表示されます。 WordPressサイトの名前を選択し、ユーザー名を選択します(セキュリティ上の理由から「admin」などを選択しないことをお勧めします)。 強力なパスワードが自動的に生成されます。 このパスワードを保存するか、別の強力なパスワードを選択してください。

メールアドレスを入力し、検索エンジンがサイトのインデックスを作成しないようにするかどうかを選択します。

image:https://assets.digitalocean.com/articles/wordpress_lamp_1604/setup_installation.png [WordPressセットアップインストール]

準備ができたら、[WordPressのインストール]ボタンをクリックします。 ログインを促すページが表示されます:

image:https://assets.digitalocean.com/articles/wordpress_lamp_1604/login_prompt.png [WordPressログインプロンプト]

ログインすると、WordPress管理ダッシュボードが表示されます:

image:https://assets.digitalocean.com/articles/wordpress_lamp_1604/admin_screen.png [WordPressログインプロンプト]

ダッシュボードから、サイトのテーマの変更とコンテンツの公開を開始できます。

結論

WordPressがインストールされ、使用できる状態になっているはずです! 一般的な次のステップは、投稿のパーマリンク設定を選択する( `+ Settings> Permalinks `にあります)か、新しいテーマを選択することです( ` Appearance> Themes +`で)。 WordPressを初めて使用する場合は、インターフェースを少し調べて新しいCMSに慣れるか、https://wordpress.org/support/article/first-steps-with-wordpress-b/ [First Steps WordPressで]公式ドキュメントのガイド。