見出し画像

XserverVPSでのWordPressの構築



環境設定

  • 作業日:2024/2/04

  • サーバー:Ubuntu20.04(XserverVPS)

  • Webサーバー:Apache

  • 独自ドメイン:有り

  • 自分のPC:Windows10。Teraterm, WinSCPインストール済み。

  • 開放ポート:22(ssh), 53(dns), 80(http), 443(https)

  • その他:Webブラウザから独自ドメインの検索によって、Apacheで管理する、自分のサーバー内のindex.htmlが表示できることを確認しています。ssh接続によって、VPSを操作しています。

1.WordPressのインストール

 WordPressをインストールする。WordPressは、Webサイトのテンプレートを編集したり、閲覧したりするソフトウェアだと思っていたので、自分が操作しているWindowsに入れるのかと思っていました。しかし、WordPressはサーバー側のLinuxへインストールし、WordPressが用意しているコントロールパネルから、Linux内のWordPressを操作するらしいです。なので、Linuxの方へインストールしていきます。

1.WordPress.orgから、WordPressをダウンロード

 公式のダウンロードサイトから、WordPressのインストーラーをダウンロードします。この時、WordPressのダウンロードサイトのURLは、.orgになります。WordPress.comもありますが、これは独自ドメインの設定や、VPSの契約などをせずに、Webサイトを立ち上げられますよ、という別のサービスです。.comでは、独自ドメインが使用できず、"www.wordpress.〇〇…"というダサ目なURLが割り振られてしまうようです。

WordPress.org


2.解凍したフォルダをWebサイトのデフォルトルートに格納

 Windowds内にダウンロードして、フォルダを解凍しました。それを、WinSCPを用いてサーバーへ移動させます。サーバーの格納場所は、私の場合Apacheのデフォルトである、/var/www/htmlにフォルダを格納しました。

2.MySQLの導入


 MySQLとは、Webサイトを利用するユーザーの情報などを管理するためのプログラムです。MySQLでは、データを表形式で保存します。Webサイトでは、ユーザー毎に設定されるデータなどを保存したり、取得したりすることがあります。データを管理したい時、通常わかりませんが、バックグラウンドでこのようなデータベースが使われているそうです。おそらくExcelの表みたいな感じ。WordPressを利用する際、MySQLの設定をしなければならないとのことです。MySQLをインストールして、設定を行います(._.)。

1.MySQLのインストール

 MySQLをインストールした後、付属しているプログラムを1つ実行する必要があります。セキュリティに関する設定です。MySQLを使用するユーザーのログインパスワードの強度を確認する機能を追加しますか?ということが聞かれます(半角英数、記号あり、〇文字以上…など、よく見るやつです)。私は一応Yesにしました(強度は中強度)。以下のコマンドで設定します。

sudo apt install mysql-server

 正常にインストールされた場合、systemctl statusでこのような画面が表示されます。mysql.serviceファイルが作成されて、active状態となっています。インストールされていない場合は、何も出ません。


2.MySQL付属のセキュリティプログラムの実行

 MySQLをインストールした後、付属しているプログラムを1つ実行する必要があります。セキュリティに関する設定です。MySQLを使用するユーザーのログインパスワードの強度を確認する機能を追加しますか?ということが聞かれます(半角英数、記号あり、〇文字以上…など、よく見るやつです)。私は一応Yesにしました(強度は中強度)。以下のコマンドで設定します。

sudo mysql_secure_installation
Validate Passwardを有効にしますか?⇒Yes
中強度のMedium(英数字、8文字以上、特殊文字あり)に設定
初期の匿名ユーザを削除しまっか?Yes
リモートでのログインを禁止します?(一応Yesにした。コンソールでもできるから…)
テスト用のデータベースを削除しますか?Yes
プライベートデータベースをリロードする?(Yes。意味わからん)


参考文献のように進めたけど、パスワード設定でてこなかったのだけれど…

3.MySQLの初期設定

 MySQLでは、Linuxと同様にユーザーという概念があり、Rootユーザーや一般ユーザーが存在する。Linuxと同様に、Rootユーザーで普段操作するのは避けた方がいい。ここでは、Rootユーザーを用いて一般ユーザーを作成する。(Rootユーザーはここでしか使わないかも)。

 以下に示すコマンドを順番に実行すると、簡単な初期設定が完了する。なお、このコマンドは、公式マニュアル及び解説サイト、ChatGPTの結果から作成しています。公式の方に注意事項など書かれているので、参照ください。

#rootユーザーでログイン
1 sudo mysql
#一般ユーザーを作成
2 mysql> CREATE USER 'ユーザー名'@'localhost' IDENTIFIED BY 'パスワード'
#"wordpress"というデータベースを作成
3 CREATE DATABASE データベース名;
#指定した一般ユーザーに指定したデータベースに対する操作の全権限を付与
4 GRANT ALL PRIVILEGES ON データベース名.* TO 'ユーザー名'@'localhost';
#ユーザー情報の更新を反映
5 FLUSH PRIVILEGES;
#mysqlの終了
6 exit

便利コマンド
===
#一般ユーザーのログインコマンド
mysql -u ユーザ名 -p 
#データベース一覧の確認
SHOW DATABASES;

公式マニュアル

4.phpMyAdminの導入

 MySQLを導入し、初期設定をしました。しかし、今のままではMySQLという表形式のデータベースを、コマンドだけで操作しなければならないそうです。グラフィカルに作業できるExcelに対して、MySQLはコマンドのみしか使えないだなんて!!MySQLもちゃんと表として見ることができたらうれしいですよね。MySQLをグラフィカルに操作可能にするために、phpMyAdminというソフトウェアを導入します(/ω\)。

sudo apt install php及びphpの拡張機能

必須
php(本体)
php-mysql
libapache2-mod-php

推奨
php-mbstring: ASCII以外の文字列を管理し、文字列を別のエンコーディングに変換するモジュール
php-zip: この拡張モジュールは.zipファイルのphpMyAdminへのアップロードをサポートします。
php-gd: GDグラフィックライブラリのサポートを有効にします。
php-json: JSONシリアライズをサポートするPHPを提供します。
php-curl: PHPと、異なるプロトコルを使用するさまざまなサーバーとのやり取りを可能にします。



(重大事件) phpmyadmin.confが、/etc/apache2/conf-avalableに自動作成されません!!!!!!!!!!!!!!!!!!。プログラム自体の重大な欠陥です!!!!!!。ひな形となる/etc/phpmyadmin/apache.confを、自分でコピーする必要が有ります!!!。最終的に参考文献のYoutube動画に行きつきました。何語を話しているのかわからなかったけど、Thank You!


5.WordPressの設定



あの有名なWordpressの設定が完了!参考文献に感謝です。やっぱり、トライアンドエラーで前に進めるという性質がある、インターネット関連の技術はいいですね。建築とは大違いだぜぇ…。ありゃ難しすぎ…。

終わり。



参考文献
==================================================

==================================================

この記事が気に入ったらサポートをしてみませんか?