openSUSEでサーバー構築 ; Mysql , WordPress インストール

1. Mysql8 インストール

まずサーバーが最新であることを確認する

サーバーのパッケージを更新します
# zypper ref
# zypper up -y 

1.1 Mysql8 インストール

①MySQL8.0リポジトリをインポートする
次のコマンドを使用して、RPMリポジトリをダウンロードします
# wget https://dev.mysql.com/get/mysql80-community-release-sl15-4.noarch.rpm
次に、openSUSEシステム用にダウンロードしたMySQL 8.0のバージョンを使用して、ダウンロードしたリポジトリをインポートします
# rpm -ivh mysql80-community-release-sl15-4.noarch.rpm
GPG key をインポートする
# rpm –import /etc/RPM-GPG-KEY-mysql
リポジトリを更新します
# zypper refresh
②リストアップされたパッケージの情報を確認
リストアップされたパッケージの情報を確認し、必要なバージョンのmysqlがあることを確認

# zypper info mysql-community-server
Loading repository data…
Reading installed packages…

Information for package mysql-community-server:
———————————————–
Repository : MySQL 8.0 Community Server
Name : mysql-community-server
Version : 8.0.27-1.sl15
Arch : x86_64
Vendor : Oracle and/or its affiliates
Installed Size : 2.83 GiB
Installed : Yes
Status : up-to-date
Source package : mysql-community-8.0.27-1.sl15.src
Summary : A very fast and reliable SQL database server
Description :
The MySQL(TM) software delivers a very fast, multi-threaded, multi-user,
and robust SQL (Structured Query Language) database server. MySQL Server
is intended for mission-critical, heavy-load production systems as well
as for embedding into mass-deployed software. MySQL is a trademark of
Oracle and/or its affiliates
・・・・省略・・・
This package includes the MySQL server binary as well as related utilities
to run and administer a MySQL server.

③mysqlサーバーをインストール
# zypper install mysql-community-server
④インストールされているか確認

# rpm -qi mysql-community-server
Name : mysql-community-server
Version : 8.0.27
Release : 1.sl15
Architecture: x86_64
Install Date: Fri Jan 7 22:45:00 2022
Group : Applications/Databases
Size : 3039099718
License : Copyright (c) 2000, 2021, Oracle and/or its affiliates. Under GPLv2 license as shown in the Description field.
Signature : DSA/SHA256, Wed Sep 29 16:36:37 2021, Key ID 8c718d3b5072e1f5
Source RPM : mysql-community-8.0.27-1.sl15.src.rpm
Build Date : Wed Sep 29 00:13:00 2021
Build Host : pb2-opensuse15-01.appad3iad.mysql2iad.oraclevcn.com
Relocations : (not relocatable)
Packager : MySQL Release Engineering <mysql-build@oss.oracle.com>
Vendor : Oracle and/or its affiliates
URL : http://www.mysql.com/
Summary : A very fast and reliable SQL database server
Description :
・・・・・省略・・・・
This package includes the MySQL server binary as well as related utilities
to run and administer a MySQL server.
Distribution: (none)

⑤mysqlサービスの起動と有効化

# systemctl start mysql
再起動時にサービスを開始するようにする
# systemctl enable mysql
サービスの状態を確認し、実際に稼働していることを確認する
# systemctl status mysql
● mysql.service – MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysql.service; enabled; vendor pre>
Active: active (running) since Sat 2022-01-08 08:21:14 JST; 1h 11min ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 1412 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status>
Main PID: 1484 (mysqld)
Status: “Server is operational”
Tasks: 37 (limit: 2308)
CGroup: /system.slice/mysql.service
mq1484 /usr/sbin/mysqld
Jan 08 08:21:07 Lepard systemd[1]: Starting MySQL Server…
Jan 08 08:21:14 Lepard systemd[1]: Started MySQL Server.
Active: active (running)サービスが稼働中であることを示します
⑥MySQL 8のサービスログを表示
journalctlコマンドを使用して次のようにします
# journalctl -u mysql -xe
# tail -f /var/log/mysql/mysqld.log
⑦mysqlのインストールのセキュリティー
Mysqlサーバーのrootユーザーのパスワードを変更しておきます。
インストール直後の’temporary password’を確認し、メモしておく確認するには次を実行する
# grep ‘temporary password’ /var/log/mysql/mysqld.log
2022-01-07T13:59:50.849820Z 6 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 8LvNl4sjV9=1
一時的なパスワード(8LvNl4sjV9=1)でログインして、できるだけ早くルートパスワードを変更し、スーパーユーザアカウントにカスタムパスワードを設定します。

# mysql -u root -p
Enter password: ‘temporary password’
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 8.0.27
Copyright (c) 2000, 2021, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘任意の新規ルートパスワード’;
Query OK, 0 rows affected (0.02 sec)
exit
Bye

⑧mysqlのバージョン確認

# mysql -V
mysql Ver 8.0.27 for Linux on x86_64 (MySQL Community Server – GPL)
確認方法その②

新しく指定したルートパスワードでrootユーザーでログインする。
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server version: 8.0.27

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

mysql> select version(); ← mysqlのバージョン確認
+———–+
| version() |
+———–+
| 8.0.27 |
+———–+
1 row in set (0.00 sec)

mysql> exit;
Bye

1.2 Mysql8 データベース+ユーザー作成例

次にインストールするwordpress用ユーザー、パスワード、データベースを作成してみる
データベース :  wp_db
ユーザー : wp_user
パスワード : ?WHxx333Yo

# mysql -u root -p
① データベース作成
mysql> create database wp_db;
Query OK, 0 rows affected (0.14 sec)

➁DBユーザー作成 ※ローカルユーザー
mysql> create user ‘wp_user’@’localhost’ identified with mysql_native_password by ‘?WHxx333Yo’;
Query OK, 0 rows affected (0.14 sec)   ← パスワードは記号、英数大文字、小文字を含め8文字以上で設定する

➂ユーザー権限設定
mysql> grant all on wp_db.* to wp_user@’localhost’ with grant option;
Query OK, 0 rows affected (0.14 sec)

④権限設定反映
※テーブルのリロード指示を行わない場合、キャッシュの破棄がされないため、DB切り替えやフラッシュしないと反映されない場合がある
mysql> flush privileges;
Query OK, 0 rows affected (0.22 sec)

mysql>exit
Bye

2. WordPress インストール

2.1 必要なライブラリーインストール

# zypper install php-gd php-pdo php-mysql php-mbstring php-simplexml php-curl apache2-mod_php7

2.2 WordPressダウンロードとインストール

# cd /srv/www/htdocs/[web公開ディレクトリー]
# wget http://ja.wordpress.org/latest-ja.tar.gz
# tar zxvf latest-ja.tar.gz

2.3 設定ファイルの編集

# cd  /srv/www/htdocs/[web公開ディレクトリー]/wordpress/
# cp wp-config-sample.php wp-config.php
# vi wp-config.php
// ** MySQL 設定 – この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define(‘DB_NAME’, ‘wp_db‘);

/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘wp_user‘);

/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, ‘?WHxx333Yo‘);

また、最終行に以下の分を追加します。
これをしないと、プラグインを追加するときにFTP接続情報なるものを聞かれます。
define(‘FS_METHOD’, ‘direct’);

/srv/www/htdocs/[web公開ディレクトリー]の下に展開した中身を移動します

# cd /srv/www/htdocs/[web公開ディレクトリー]
# mv wordpress/* .
移動されたことを確認後 wordpressディレクトリーとダウンロードしたlatest-ja.tar.gzを削除
# cd /srv/www/htdocs/[web公開ディレクトリー]
# rm -Rf wordpress
# rm latest-ja.tar.gz
wordpressディレクトリの所有者をapacheにします。
これをしないとプラグインのインストールなどの際に、ディレクトリを作成できないとか言われてしまします。
# chown -R wwwrun:wwwrun /srv/www/htdocs/[web公開ディレクトリー]
# chmod 775 -R /srv/www/htdocs/[web公開ディレクトリー]
# systemctl restart apache2

2.4 起動確認

ブラウザで http://<サーバー名>/wp-admin/install.php に接続し、ユーザー名、パスワード等必要事項を入力し、インストールを開始してください
通常は、これで下図のWordpress管理画面にアクセスする「ユーザー名」「パスワード」等初期設定インストール画面が表示されますので
サイトのタイトル : 任意のタイトル
ユーザー名 : 任意のユーザー名
パスワード : 任意のパスワード
メールアドレス : 管理者のメールアドレス
を入力し、「Wordpressをインストール」クリック
もし、wp-config.phpのデータベース名、ユーザー名、パスワードの設定に間違いがなく「データベース接続エラー」と表示される場合は wp-config.phpの設定で
define( ‘WP_DEBUG’, true ); trueに変更し、表示されるメッセージの箇所を調べてください。
ほとんどの場合設定ミスが原因ですが次の箇所を変更しなければならない場合もあります。
wp-config.phpの中で38行目にあるホスト名の設定の箇所
/** MySQL のホスト名 */
define( ‘DB_HOST’, ‘localhost’);
となっていますが、まずmysql.sockがインストールされている場所を調べる
今回の場合は /var/lib/mysql/mysql.sock にインストールされているので次のように変更する
/** MySQL のホスト名 */
define( ‘DB_HOST’, ‘localhost:/var/lib/mysql/mysql.sock’);
WordPress管理画面への「ユーザー名」「パスワード」の入力画面が出ます。
タイトルとURLをコピーしました