4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ubuntu18.04にWordPressのローカル環境をつくる

Last updated at Posted at 2020-03-07

WordPressを触ってみたかったので、ローカルの環境をつくったときのメモ

動作環境

Ubuntu18.04

今回すること

ホームページを公開するのではなく、ローカルでの環境を整えます。(ホームページを公開するにはサーバー契約とかドメイン取得とかが必要)
phpとかMariaDBとかもついでにインストールします。
ゴールは下のようなWordPressの管理画面になることです。Screenshot from 2020-03-07 23-36-15.png

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で範囲指定してスクショできることを知った。)
Screenshot from 2020-03-07 20-13-02.png
ちなみに、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最新版をおきます。(管理者権限からも出ておきます)

wordpressのdownload
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アドレス]/[プロジェクト名]/にアクセスすると、画像のようになればインストール成功です。
Screenshot from 2020-03-07 22-40-17.png
環境構築とかの時に、こういうデフォルトページがでると「あざす」ってなる(伝われ)

WordPress用のDB作成

wordpressはブログとかに使われるため、データベースの設定が必要です。
今回は端末からデータベースを作成し、webブラウザの設定画面から接続することにします。

さきほどインストールしたMariaDBにwordpress用データべースとそのデータベース専用のユーザーをつくります。(データベースを操作するのはwordpress側だけだからですね)

detabase作成
/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とかにしました。次にユーザーをつくります。

datbaseのuser作成
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接続

さきほどの画面
Screenshot from 2020-03-07 22-40-17.png
さぁ、始めましょう!をクリック。さぁ、始めましょう。
Screenshot from 2020-03-07 23-24-00.png
ここでは、端末で作成したデータベースの情報を入力します。そして送信
Screenshot from 2020-03-07 23-26-16.png
インストール実行。(エラーになったら画面の指示に従ってください。多分、入力ミスです)
Screenshot from 2020-03-07 23-28-25.png
最後に、wordpressで作成するwebページの設定を行います。
サイトのタイトル、ユーザー名、パスワードなどはDBとは別です。好きなように設定してください。
あと、今回は公開などしないので、一番最後の検索エンジンでの表示のところからサイトをインデックスしないようにしてください。
ここまできたら、WordPressをインストールし、そのまま画面の指示に従ってログインします。
Screenshot from 2020-03-07 23-36-15.png
こうして、上のような画面になりました。
最初の目的は達成です。お疲れ様でした。

test_dbとかtest_userとか直したい

ここから、本題とは離れます。
この記事を書いている時に、
「あっ、スクショしてなかった。wordpressの設定やりなおしたいな」
と思ったので、それを書きます。
実際はユーザー名を試しでやった人とか普通にミスっちゃった人にもあてはまると思います。

すること

普通、wordpressでは公開する前にバックアップとか色々用意するみたいなのですが、今回はローカルで公開しないのですごく単純です。
やることは次の2つ

  • mariadbのdatabaseとuserを削除
  • DocumentRoot配下のプロジェクトディレクトリを削除

ひとつずついきます。

mariadbのdatabaseとuserを削除

まずはmariadbを実行して、databaseとuser一覧を確認

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)

はい、ちゃんとありますね。つぎに削除

databaseとuserの削除
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 をインストールする方法

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?