WordPressを触ってみたかったので、ローカルの環境をつくったときのメモ
動作環境
Ubuntu18.04
今回すること
ホームページを公開するのではなく、ローカルでの環境を整えます。(ホームページを公開するにはサーバー契約とかドメイン取得とかが必要)
phpとかMariaDBとかもついでにインストールします。
ゴールは下のようなWordPressの管理画面になることです。
WordPressとは
ググってみたらたくさん出てくると思います。
WordPressは、オープンソースのブログソフトウェアである。PHPで開発されており、データベース管理システムとしてMySQLを利用している。単なるブログではなくコンテンツ管理システム としてもしばしば利用されている。- ウィキペディア
ブログとか企業のホームページをつくるのに便利らしいです。はい。
それでは作業開始
タイムゾーン変更
PHPでサポートされているタイムゾーンを設定しないといけないらしいです。
sudo su -
timedatectl set-timezone Asia/Tokyo
sudo su -
は管理者として操作するコマンドです。
これによってターミナルのusername@hostname:~$
がroot@hostname:~#
になります。(exit
でもとのユーザーに戻れます)
以降は管理者権限で実行していくのでsudo
をつけなくてもいろいろinstallできます。
Apacheのインストール
ubuntu上にwebサーバーをたてられるようにします。
apt -y install apache2
systemctl enable apache2
systemctl start apache2
ブラウザでubuntuのIPアドレスにアクセスすると、画像のようなApacheの画面がでると思います。
(画像をとるときにShift+PrintScreen
で範囲指定してスクショできることを知った。)
ちなみに、IPアドレスがわかんないって人は、
ubuntuの右上のwifiマーク ▷ wifi ▷ WiFi Setteingsに移動して現在接続しているwifiの歯車マークから確認できます。
PHPのインストール
ubuntu18.04のリポジトリではphp7.2が最新っぽいのでそれをインストールします(php7.3以降は外部リポジトリからインストールしていくみたいです)
apt -y install php7.2 php7.2-mysql
MariaDBのインストール
apt -y install mariadb-server mariadb-client
systemctl enable mariadb
systemctl start mariadb
PHP同様、10.1が最新っぽいです。
ちなみに自分は
sudo apt search -n [package名]
とか
sudo apt list --all-versions [package名]
で、パッケージの種類とかバージョンとかを確認しています。
WordPressのインストール
やっとこいつがやってきました。
あとからわかったんですが、wordpressってphpファイルとかの塊なんですね。
まずはDocumentRoot配下に公式サイトからダウンロードしたwordpress最新版をおきます。(管理者権限からも出ておきます)
exit
cd /var/www/html
sudo wget https://ja.wordpress.org/latest-ja.tar.gz
sudo tar xvf latest-ja.tar.gz
DocumentRootってなんだ?と思って調べてみたら、Apacheでたてたwebサーバーにアクセスしたときに返されるファイルを置いとく場所らしいです。
さらにこれらのファイルをApache側から編集できるようにユーザーとグループの所有権を変更しておきます。ダウンロードしたのはもういらないので削除します。
sudo chown -R www-data:www-data .
sudo rm latest-ja.tar.gz
最後に、展開したあとにできるwordpress
というディレクトリをプロジェクト名(自分の場合、syu-kwskとか)に変更します。
sudo mv wordpress/ [プロジェクト名]
webブラウザでhttp://[ipアドレス]/[プロジェクト名]/
にアクセスすると、画像のようになればインストール成功です。
環境構築とかの時に、こういうデフォルトページがでると「あざす」ってなる(伝われ)
WordPress用のDB作成
wordpressはブログとかに使われるため、データベースの設定が必要です。
今回は端末からデータベースを作成し、webブラウザの設定画面から接続することにします。
さきほどインストールしたMariaDBにwordpress用データべースとそのデータベース専用のユーザーをつくります。(データベースを操作するのはwordpress側だけだからですね)
/var/www/html$ sudo mariadb
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 116
Server version: 10.1.44-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.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)]> CREATE DATABASE [データべース名] DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)
[データベース名]はtest_db
とかにしました。次にユーザーをつくります。
MariaDB [(none)]> GRANT ALL ON [データベース名].* TO [ユーザー名]@localhost IDENTIFIED BY '[パスワード]';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
ユーザー名はtest_user
とかにしました。
ユーザー名、パスワードなどはあとでブラウザからDB接続する際に必要です
1個目でデータベースの特権ユーザーを作成し、次のFLUSH PRIVILEGES
でその設定を反映してるらしいです。
「ブログのデータベースにアクセスできるのは特権ユーザーのみにするよ」ってことだと思います。
ブラウザからDB接続
さきほどの画面
のさぁ、始めましょう!
をクリック。さぁ、始めましょう。
ここでは、端末で作成したデータベースの情報を入力します。そして送信
インストール実行
。(エラーになったら画面の指示に従ってください。多分、入力ミスです)
最後に、wordpressで作成するwebページの設定を行います。
サイトのタイトル、ユーザー名、パスワードなどはDBとは別です。好きなように設定してください。
あと、今回は公開などしないので、一番最後の検索エンジンでの表示
のところからサイトをインデックスしないようにしてください。
ここまできたら、WordPressをインストール
し、そのまま画面の指示に従ってログインします。
こうして、上のような画面になりました。
最初の目的は達成です。お疲れ様でした。
test_dbとかtest_userとか直したい
ここから、本題とは離れます。
この記事を書いている時に、
「あっ、スクショしてなかった。wordpressの設定やりなおしたいな」
と思ったので、それを書きます。
実際はユーザー名を試しでやった人とか普通にミスっちゃった人にもあてはまると思います。
すること
普通、wordpressでは公開する前にバックアップとか色々用意するみたいなのですが、今回はローカルで公開しないのですごく単純です。
やることは次の2つ
- mariadbのdatabaseとuserを削除
- DocumentRoot配下のプロジェクトディレクトリを削除
ひとつずついきます。
mariadbのdatabaseとuserを削除
まずはmariadbを実行して、databaseとuser一覧を確認
$ sudo mariadb
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 112
Server version: 10.1.44-MariaDB-0ubuntu0.18.04.1 Ubuntu 18.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)]> SELECT user, host FROM mysql.user;
+-----------+-----------+
| user | host |
+-----------+-----------+
| root | localhost |
| test_user | localhost |
+-----------+-----------+
2 rows in set (0.00 sec)
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test_db |
+--------------------+
4 rows in set (0.00 sec)
はい、ちゃんとありますね。つぎに削除
MariaDB [(none)]> DROP DATABASE test_db;
Query OK, 12 rows affected (0.13 sec)
MariaDB [(none)]> DROP USER test_user@localhost;
Query OK, 0 rows affected (0.00 sec)
おぉ、めっちゃ簡単!
DocumentRoot配下のプロジェクトディレクトリを削除
cd /var/www/html/
sudo rm -rf [プロジェクト名]
そのままです…。
おわり!!
参考
お世話になりました。ありがとうございました。
【 apt 】コマンド(応用編)――パッケージを検索する
ドキュメントルート(DocumentRoot)
MariaDB コマンドまとめ その1
常識としてのMySQL(MariaDB)入門〜インストールから基本操作まで・Mac編〜
chown - ファイルの所有者やグループを変更 - Linuxコマンド
Ubuntu 18.04 LTS に WordPress 5.3 をインストール
《WordPress》Ubuntu 18.04 に WordPress をインストールする方法