1. パッケージのアップデート
sudo apt update
省略
このコマンドは、Linuxベースのオペレーティングシステム(主にUbuntuやDebianなど)で使用されるコマンドです。このコマンドを実行すると、システムのパッケージリストを更新します。
具体的には、以下のことを行います:
sudo
:スーパーユーザー(root権限)でコマンドを実行するための特権昇格コマンドです。このコマンドを使用すると、システムの設定変更やパッケージの更新など、通常のユーザーが行えない操作を行うことができます。apt
:Advanced Package Toolの略で、DebianベースのLinuxディストリビューションでパッケージ管理を行うためのツールです。apt
コマンドを使用すると、パッケージのインストール、アップグレード、削除などを簡単に行うことができます。update
:このコマンドは、apt
ツールを使用して、システムのパッケージリストを最新の情報に更新します。つまり、新しいパッケージのリストやバージョン情報を取得し、それに基づいてシステムが使用できる最新のパッケージ情報を取得します。このコマンドを定期的に実行することで、システムのパッケージを最新の状態に保ち、セキュリティのアップデートや新機能の追加などを受け取ることができます。したがって、システムの安全性や安定性を維持するために重要なコマンドの一つです。
chatgpt
2. Apacheインストール
sudo apt install apache2
省略
このコマンドは、Linuxベースのオペレーティングシステムで、Apache HTTP Server(通常単に"Apache"と呼ばれる)をインストールするために使用されます。
具体的には、以下のことを行います:
sudo
:スーパーユーザー(root権限)でコマンドを実行するための特権昇格コマンドです。このコマンドを使用すると、通常のユーザーが行えない操作を行うことができます。apt
:Advanced Package Toolの略で、DebianベースのLinuxディストリビューションでパッケージ管理を行うためのツールです。apt
コマンドを使用すると、パッケージのインストール、アップグレード、削除などを簡単に行うことができます。install
:このコマンドは、apt
ツールを使用して指定されたパッケージ(この場合は"apache2")をインストールします。Apache HTTP Serverは、Webサーバーソフトウェアで、ウェブページやアプリケーションを提供するために使用されます。したがって、このコマンドを実行すると、Apache HTTP Serverがシステムにインストールされ、Webサービスを提供する準備が整います。ただし、Apacheを使用する前に適切に構成する必要があります。通常、Apacheの設定ファイルやウェブサイトファイルを編集して、サーバーの動作やウェブコンテンツを設定することが必要です。
chatgpt
3. Apacheを自動起動
systemctl enable apache2
省略
このコマンドは、Linuxベースのオペレーティングシステムで、systemdを使用してApache HTTP Server(通常単に"Apache"と呼ばれる)を自動起動するように設定するために使用されます。
具体的には、以下のことを行います:
systemctl
:systemdサービス管理ツールで、Linuxシステム上のサービス(プログラムやデーモン)の管理を行うために使用されます。enable
:このコマンドは、指定したサービスをシステムの起動時に自動的に起動するように設定します。つまり、システムが再起動されたときに、Apache HTTP Serverが自動的に起動されるようになります。apache2
:これはApache HTTP Serverのサービス名です。通常、この名前でApacheのシステムサービスが識別されます。したがって、このコマンドを実行すると、Apache HTTP Serverがシステムの起動時に自動的に起動されるように設定されます。これは、Webサーバーが常に利用可能であることを確保し、Webサイトやアプリケーションがサーバーにアクセスできるようにするために一般的に行われる設定の一部です。
ただし、このコマンドを実行する前に、Apacheが正しくインストールされており、適切に構成されていることを確認することが重要です。
chatgpt
4. UFWで許可をする
UFWを有効にしている場合は必須の設定になります
sudo ufw allow in "Apache"
sudo ufw status
Apacheが許可されていることを確認
状態: アクティブ
To Action From
-- ------ ----
Apache ALLOW Anywhere
Apache (v6) ALLOW Anywhere (v6)
このコマンドは、Linuxシステム上でUFW(Uncomplicated Firewall)を使用して、Apache HTTP Serverに対するインバウンドトラフィックを許可するために使用されます。
具体的には、以下のことを行います:
sudo
:スーパーユーザー(root権限)でコマンドを実行するための特権昇格コマンドです。このコマンドを使用すると、通常のユーザーが行えない操作を行うことができます。ufw
:UFW(Uncomplicated Firewall)は、Ubuntuや関連するディストリビューションで使用されるファイアウォール設定ツールです。UFWを使用すると、ネットワークトラフィックの制御が簡単に行えます。allow
:このコマンドは、指定したサービス(ここでは"Apache"と指定されています)に対するインバウンドトラフィックを許可するために使用されます。"Apache"
:これは許可されるサービスの名前またはポート番号を指定する部分です。通常、Apache HTTP ServerはHTTPトラフィックを受け入れるためにポート80を使用するので、"Apache"と指定することでポート80へのインバウンドトラフィックを許可します。したがって、このコマンドを実行することで、Apache HTTP Serverに対するインバウンドトラフィック(通常はHTTPリクエスト)が許可され、Webサーバーが外部からアクセス可能になります。ただし、セキュリティを考慮して、必要なポート以外のトラフィックを許可しないように適切にファイアウォールを設定することが重要です。
chatgpt
5. MariaDBインストール
sudo apt install mariadb-server
省略
このコマンドは、Linuxベースのオペレーティングシステムで、MariaDBデータベースサーバーをインストールするために使用されます。
具体的には、以下のことを行います:
apt
:Advanced Package Toolの略で、DebianベースのLinuxディストリビューションでパッケージ管理を行うためのツールです。apt
コマンドを使用すると、パッケージのインストール、アップグレード、削除などを簡単に行うことができます。install
:このコマンドは、指定されたパッケージ(この場合は"mariadb-server")をインストールします。"mariadb-server"はMariaDBデータベースサーバーのパッケージ名です。したがって、このコマンドを実行することで、MariaDBデータベースサーバーがシステムにインストールされ、データベースを構築、管理、および利用できるようになります。データベースは、ウェブアプリケーション、ウェブサイト、アプリケーション、および他の多くのアプリケーションでデータの格納と管理に使用されます。 MariaDBはMySQLデータベースのフォークであり、オープンソースのリレーショナルデータベース管理システムです。
chatgpt
6. MariaDB自動起動
sudo systemctl enable mariadb
省略
このコマンドは、Linuxシステム上で
systemd
を使用して MariaDB データベースサーバーを自動起動するように設定するために使用されます。具体的には、以下のことを行います:
systemctl
:systemd
サービス管理ツールで、Linux システム上のサービス(プログラムやデーモン)の管理を行うために使用されます。enable
:このコマンドは、指定したサービス(ここでは "mariadb" と指定されています)をシステムの起動時に自動的に起動するように設定します。つまり、システムが再起動されたときに、MariaDB データベースサーバーが自動的に起動されるようになります。mariadb
:これは MariaDB データベースサーバーのサービス名です。通常、MariaDB データベースサーバーは "mariadb" という名前で識別されます。したがって、このコマンドを実行することで、MariaDB データベースサーバーがシステムの起動時に自動的に起動されるように設定され、データベースの利用可能性が確保されます。これにより、データベースへのアクセスがシステム起動時から可能となり、アプリケーションが正常に動作するための基盤が整います。ただし、MariaDB を使用する前に、適切に構成し、セキュリティを確保する必要があります。
chatgpt
7. MariaDB起動
sudo systemctl start mariadb
省略
このコマンドは、Linuxシステム上で
systemd
を使用して MariaDB データベースサーバーを手動で起動するために使用されます。具体的には、以下のことを行います:
sudo
:スーパーユーザー(root権限)でコマンドを実行するための特権昇格コマンドです。このコマンドを使用すると、通常のユーザーが行えない操作を行うことができます。systemctl
:systemd
サービス管理ツールで、Linux システム上のサービス(プログラムやデーモン)の管理を行うために使用されます。start
:このコマンドは、指定したサービス(ここでは "mariadb" と指定されています)を手動で起動します。つまり、MariaDB データベースサーバーを現在のセッションで起動します。mariadb
:これは MariaDB データベースサーバーのサービス名です。通常、MariaDB データベースサーバーは "mariadb" という名前で識別されます。したがって、このコマンドを実行することで、MariaDB データベースサーバーが手動で起動されます。これは、システムが再起動されていない場合や自動起動が無効になっている場合に、データベースサーバーを起動するのに役立ちます。データベースを利用する前に、MariaDB データベースが正常に起動していることを確認する必要があります。
chatgpt
8. MaraiaDBセキュアインストール
sudo mysql_secure_installation
パスワードを入力してログイン
最初のパスワード変更は「n」を選択し、残りの質問は「y」を選択します
省略
sudo mysql_secure_installation
は、MySQLまたはMariaDBのセキュアなインストールを実行するためのコマンドです。これは新しいMySQLデータベースサーバーをセットアップしたり、セキュリティを向上させたりするのに役立ちます。このコマンドを実行すると、以下のセキュリティ設定が行われることが一般的です:
- ルートパスワードの設定:MySQLの"root"ユーザーアカウントにパスワードを設定します。これにより、ルートユーザーがデータベースにアクセスする際にパスワードが必要になります。
- 匿名ユーザーの削除:デフォルトで設定されている匿名ユーザーアカウントを削除します。これにより、データベースへの匿名アクセスが禁止されます。
- リモートルートログインの禁止:リモートからのルートユーザーのログインを禁止します。セキュリティ上の理由から、ルートユーザーは通常、ローカルマシンからのみアクセスできるように制限されます。
- テストデータベースの削除:デフォルトで提供されるテスト用のデータベースとテーブルを削除します。
- 権限の再読み込み:変更を反映させるためにMySQLの権限を再読み込みします。
これらの設定は、データベースのセキュリティを向上させ、不正なアクセスを制限するために重要です。
chatgptsudo mysql_secure_installation
を実行する前に、適切にデータベースを設定しておくことが重要です。セキュリティの確保は、データベースサーバーの正しい運用において非常に重要です。
9. MaraiaDBログイン
sudo mysql
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 44
Server version: 10.3.38-MariaDB-0ubuntu0.20.04.1 Ubuntu 20.04
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
sudo mysql_secure_installation
は、MySQLまたはMariaDBのセキュアなインストールを実行するためのコマンドです。これは新しいMySQLデータベースサーバーをセットアップしたり、セキュリティを向上させたりするのに役立ちます。このコマンドを実行すると、以下のセキュリティ設定が行われることが一般的です:
- ルートパスワードの設定:MySQLの"root"ユーザーアカウントにパスワードを設定します。これにより、ルートユーザーがデータベースにアクセスする際にパスワードが必要になります。
- 匿名ユーザーの削除:デフォルトで設定されている匿名ユーザーアカウントを削除します。これにより、データベースへの匿名アクセスが禁止されます。
- リモートルートログインの禁止:リモートからのルートユーザーのログインを禁止します。セキュリティ上の理由から、ルートユーザーは通常、ローカルマシンからのみアクセスできるように制限されます。
- テストデータベースの削除:デフォルトで提供されるテスト用のデータベースとテーブルを削除します。
- 権限の再読み込み:変更を反映させるためにMySQLの権限を再読み込みします。
これらの設定は、データベースのセキュリティを向上させ、不正なアクセスを制限するために重要です。
chatgptsudo mysql_secure_installation
を実行する前に、適切にデータベースを設定しておくことが重要です。セキュリティの確保は、データベースサーバーの正しい運用において非常に重要です。
10. WordPress用DB作成
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Query OK, 1 row affected (0.000 sec)
このSQLコマンドは、MySQLまたはMariaDBデータベース内に新しいデータベースを作成するためのものです。具体的には、このコマンドはWordPress用のデータベースを作成し、デフォルトの文字セットをUTF-8(Unicodeのエンコーディング方式)で、照合規則(Collation)をutf8_unicode_ci(Case Insensitive、つまり大文字小文字を区別しない照合)に設定します。
以下はコマンドの要素を説明します:
CREATE DATABASE wordpress
:新しいデータベースの作成を指定します。データベースの名前は"wordpress"ですが、実際には任意の名前を選択できます。DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci
:新しいデータベースのデフォルトの文字セットをUTF-8に設定し、照合規則をutf8_unicode_ciに設定します。UTF-8は、多くの言語でテキストを格納するのに適した文字セットであり、utf8_unicode_ci照合規則は文字列の比較において大文字小文字を区別しないため、多言語環境での正確な検索と比較が行いやすくなります。WordPressはデータベースを使用してコンテンツや設定情報を格納するため、最初にWordPressをインストールする際にデータベースを作成することが一般的です。このコマンドを実行することで、WordPress用のデータベースが準備され、WordPressの設定で指定できるようになります。
chatgpt
11. WordPress用ユーザー作成
CREATE USER '新しいユーザー名'@'localhost' IDENTIFIED BY '新しいユーザーのパスワード';
#新しいユーザー名と新しいユーザーのパスワードは独自のものに変更してください
Query OK, 1 row affected (0.000 sec)
このSQLコマンドは、MySQLまたはMariaDBデータベース内に新しいユーザーを作成するためのものです。具体的には、このコマンドは '新しいユーザー名' という名前の新しいユーザーを作成し、ユーザーの認証方式をパスワードに設定し、指定されたパスワードをユーザーに割り当てます。また、このユーザーは 'localhost' からの接続に制限されます。
以下はコマンドの要素を説明します:
CREATE USER '新しいユーザー名'@'localhost'
:新しいユーザー '新しいユーザー名' を作成し、このユーザーがどのホストから接続できるかを指定しています。'localhost'
は、ローカルホスト(サーバー自体)からの接続のみを許可します。つまり、このユーザーはサーバー上でのみアクセスできます。IDENTIFIED BY '新しいユーザーのパスワード'
:この部分は、ユーザーの認証方式をパスワードに設定し、指定されたパスワードをユーザーに割り当てることを指定しています。実際のパスワードを設定する際には、安全で強力なパスワードを使用することが重要です。このコマンドを実行することで、'新しいユーザー名' という名前の新しいユーザーが作成され、指定された認証方式とパスワードで認証できるようになります。ただし、このユーザーは 'localhost' からの接続のみを許可するため、リモートからのアクセスは許可されません。リモートからのアクセスを許可する場合は、'localhost' の代わりに '%' を指定することができます。
chatgpt
12. DBの権限を追加
GRANT ALL PRIVILEGES ON wordpress.* TO '新しいユーザー名'@'localhost';
新しいユーザー名は独自のものに変更してください
Query OK, 1 row affected (0.000 sec)
このSQLコマンドは、MySQLまたはMariaDBデータベース内の特定のデータベースに対する権限を新しいユーザーに付与するためのものです。具体的には、このコマンドは 'wordpress' という名前のデータベースに対して、'新しいユーザー名' という名前のユーザーに対してすべての権限を付与します。また、このユーザーは 'localhost' からの接続のみを許可されています。
以下はコマンドの要素を説明します:
GRANT ALL PRIVILEGES
:この部分は、新しいユーザーに対してすべてのデータベース操作権限を付与することを指定しています。すべての権限には、データの読み取り、書き込み、削除、データベースの作成などが含まれます。この権限を与えることは非常に強力な操作であるため、慎重に扱う必要があります。ON wordpress.*
:この部分は、権限を付与する対象となるデータベースを指定しています。ここでは 'wordpress' というデータベースが指定されており、ユーザー '新しいユーザー名' に対してこのデータベースに対する権限が付与されます。必要に応じてデータベース名を変更できます。TO '新しいユーザー名'@'localhost'
:この部分は、権限を付与するユーザーとその接続元を指定しています。'新しいユーザー名' は権限を受け取るユーザーであり、'localhost' は接続元のホストを指定しており、このユーザーはローカルホストからの接続のみを許可されています。このコマンドを実行することで、'新しいユーザー名' は 'wordpress' データベースに対してすべての操作権限を持つことになります。しかし、セキュリティ上の理由から、権限を必要最小限に制限することが推奨されます。
chatgpt
13. DB設定反映
FLUSH PRIVILEGES;
Query OK, 1 row affected (0.000 sec)
FLUSH PRIVILEGES;
は、MySQLまたはMariaDBのデータベース管理システムで特定の操作を実行するためのSQLコマンドです。具体的には、このコマンドは次のことを行います:
- ユーザーと権限の変更を反映させる:データベースに対するユーザーの権限を変更したり、新しいユーザーを追加したりした場合、これらの変更を即座に反映させるために使用されます。
- 内部キャッシュをクリアする:MySQLサーバーは一部の情報を内部キャッシュに保持しており、ユーザーと権限の変更が即座に反映されないことがあります。
FLUSH PRIVILEGES;
コマンドを実行すると、この内部キャッシュがクリアされ、新しい権限が有効になります。通常、新しいユーザーの作成、権限の変更、またはデータベース関連の操作を行った後に
chatgptFLUSH PRIVILEGES;
コマンドを実行すると、変更が即座に反映されます。これにより、データベースのセキュリティやアクセス権の管理がより効果的に行えます。
14. MaraiaDBログアウト
exit
Bye
15. phpインストール
sudo apt install php libapache2-mod-php php-mysql
php -v
PHP 7.4.3-4ubuntu2.19 (cli) (built: Jun 27 2023 15:49:59) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3-4ubuntu2.19, Copyright (c), by Zend Technologies
sudo mysql_secure_installation
は、MySQLまたはMariaDBのセキュアなインストールを実行するためのコマンドです。これは新しいMySQLデータベースサーバーをセットアップしたり、このコマンドは、Linuxベースのオペレーティングシステムで、Apache HTTP ServerとPHP関連のパッケージをインストールするために使用されます。具体的には、以下のことを行います:
sudo
:スーパーユーザー(root権限)でコマンドを実行するための特権昇格コマンドです。このコマンドを使用すると、通常のユーザーが行えない操作を行うことができます。apt
:Advanced Package Toolの略で、DebianベースのLinuxディストリビューションでパッケージ管理を行うためのツールです。apt
コマンドを使用すると、パッケージのインストール、アップグレード、削除などを簡単に行うことができます。install
:このコマンドは、apt
ツールを使用して指定されたパッケージをインストールします。php
:PHPプログラム言語のランタイムと関連パッケージをインストールします。libapache2-mod-php
:Apache HTTP ServerとPHPを連携させるためのモジュールをインストールします。php-mysql
:PHPからMySQLデータベースにアクセスするための拡張モジュールをインストールします。したがって、このコマンドを実行することで、Apache HTTP ServerとPHPをインストールし、PHPでMySQLデータベースにアクセスできるように設定します。これはウェブアプリケーションを開発またはホスティングするために一般的なスタックの一部です。
chatgpt
16. php起動
systemctl restart apache2
省略
systemctl restart apache2
コマンドは、LinuxシステムでApache HTTP Server(通常単に"Apache"と呼ばれる)のサービスを再起動するために使用されます。具体的には、このコマンドは以下を行います:
systemctl
:systemdサービス管理ツールで、Linuxシステム上のサービス(プログラムやデーモン)の管理を行うために使用されます。restart
:このコマンドは、指定したサービス(ここでは"apache2"と指定されています)を再起動します。再起動は、サービスの停止と再起動を続けて実行するため、設定の変更を反映させたり、サービスの再起動が必要な場合に使用されます。apache2
:これはApache HTTP Serverのサービス名です。通常、Apacheのシステムサービスは"apache2"という名前で識別されます。したがって、このコマンドを実行することで、Apache HTTP Serverのサービスが再起動されます。これは、Apacheの設定の変更を反映させたり、サーバーの一時的な問題を解決したりするために使用されます。新しい設定を適用する場合や、Apacheの動作に問題がある場合、このコマンドを実行することがあります。
chatgpt
16. php拡張機能インストール
sudo apt update
sudo apt install php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip
sudo systemctl restart apache2
省略
このコマンドは、Linuxベースのオペレーティングシステムで、PHPとその拡張モジュールをインストールするために使用されます。具体的には、以下のPHPの拡張モジュールをインストールしています:
php-curl
:cURL拡張モジュールをインストールします。cURLは、URLを使用してデータを送受信するためのライブラリで、PHPから外部のウェブリソースにアクセスするためによく使用されます。php-gd
:GD拡張モジュールをインストールします。GDは、PHPで画像の操作と生成を行うために使用されるライブラリで、イメージ処理やサムネイル生成などのタスクに使用されます。php-mbstring
:マルチバイト文字列処理拡張モジュールをインストールします。マルチバイト文字列処理は、異なる文字セットを扱うために必要で、多言語ウェブアプリケーションの開発に役立ちます。php-xml
:XML拡張モジュールをインストールします。XMLはデータの交換やストレージに広く使用され、PHPからXMLデータを処理するために必要です。php-xmlrpc
:XML-RPC拡張モジュールをインストールします。XML-RPCは、HTTPプロトコルを使用してリモートプロシージャコール(RPC)を行うためのプロトコルで、PHPからリモートのサーバーやサービスと通信するために使用されます。php-soap
:SOAP拡張モジュールをインストールします。SOAPはウェブサービス通信プロトコルで、PHPからSOAPベースのウェブサービスにアクセスするために使用されます。php-intl
:国際化拡張モジュールをインストールします。国際化は、異なる言語や地域に対応するために必要で、通貨、日付、文字列整形などの多くの国際化タスクをサポートします。php-zip
:ZIP拡張モジュールをインストールします。ZIPはファイル圧縮とアーカイブ処理のために使用され、PHPからZIPファイルの操作ができるようになります。これらの拡張モジュールは、PHPを強化し、さまざまなウェブアプリケーションやウェブサイトの開発に役立ちます。また、特定のアプリケーションやフレームワークに必要な場合もあります。
chatgpt
17. ディレクトリ移動
cd /etc/apache2/sites-available
省略
省略
chatgpt
19. .htaccessファイルへの上書き設定
sudo nano ./wordpress.conf
ファイルに以下の情報を貼り付け
<Directory /var/www/wordpress/>
AllowOverride All
</Directory>
Ctrl + X
Y
の順番で保存
省略
省略
chatgpt
20. リライトモジュールの有効化
sudo a2enmod rewrite
sudo apache2ctl configtest
sudo systemctl restart apache2
Enabling module rewrite.
To activate the new configuration, you need to run:
systemctl restart apache2
省略
chatgpt
21. WordPressダウンロード
cd /tmp
sudo apt install curl
curl -O https://wordpress.org/latest.tar.gz
tar xzvf latest.tar.gz