sg <

Mediawikiのインストール – SSL化を試みて その2

Mediawikiのインストール

ハードウェア

  • CPU Intel Core i7 8700K BOX
  • MEM DDR4-2666 DIMM 16GB x 2
  • M/B GIGABYTE Z370 HD3
  • SSD Intel SSD 545s 512GB SSDSC2KW512G8X1
  • HDD SEAGATE ST4000DM004 4TB
  • G/B 玄人志向 GF-GTX1080Ti-E11GB/OC/DF

ソフトウェア

  • OS Ubuntu 18.04.1 LTS
  • PHP PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
  • MYSQL Server version: 5.7.24-0ubuntu0.18.04.1 (Ubuntu)
  • NVIDIAドライバ  NVIDIA-SMI 390.87 Driver Version: 390.87
  • CUDA Toolkit 10.0
  • cuDNN v7.3.1 (Sept 28, 2018), for CUDA 10.0
  • OpenBLAS
    • libopenblas-base/bionic 0.2.20+ds-4 amd64
    • libopenblas-dev/bionic 0.2.20+ds-4 amd64
  • python-numpy (1:1.13.3-2ubuntu1)
  • python-scipy (0.19.1-2ubuntu1)
  • python-matplotlib (2.1.1-2ubuntu3)
  • python-yaml (3.12-1build2)
  • HDF5
    • python-h5py (2.7.1-2)
    • libhdf5-serial-dev (1.10.0-patch1+docs-4)
  • graphviz (2.40.1-2)
  • python-pip
  • python-dev
  • pydot-ng-2.0.0
  • Bazel
    • openjdk-8-jre:amd64 (8u181-b13-0ubuntu0.18.04.1)
    • bazel (0.18.0)
  • Python 2.7.15rc1
  • pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)
  • virtualenv 15.1.0
  • GNOME 3.28.2

インストール開始

言語の選択

使い言語はひとまず日本語で。

インストール環境の確認

MediaWiki へようこそ!

環境の確認

基本的な確認では、現在の環境が MediaWiki のインストールに適しているかを確認します。 インストール方法について助けが必要になった場合は、必ずこの確認結果を添えてください。

PHP 7.2.10-0ubuntu0.18.04.1がインストールされています。

警告: APCuWinCache のいずれも見つかりませんでした。

オブジェクトのキャッシュは有効化されません。

ImageMagickが見つかりました: /usr/bin/convert

アップロードが有効であれば、画像のサムネイルを利用できます。

バージョン管理ソフトウェア Git が見つかりました: /usr/bin/git
サーバー名「https://localhost」を使用しています。
サーバー URL「https://localhost」を使用しています。

警告: Unicode 正規化の処理に intl PECL 拡張機能を利用できないため、処理が遅いピュア PHP の実装を代わりに使用しています。

高トラフィックのサイトを運営する場合は、Unicode 正規化をお読みください。

環境を確認しました。 MediaWiki をインストールできます。

著作権および規約

このウィキは、MediaWiki (copyright © 2001-2018 Magnus Manske、Brion Vibber、Lee Daniel Crocker、Tim Starling、Erik Möller、Gabriel Wicke、Ævar Arnfjörð Bjarmason、Niklas Laxström、Domas Mituzas、Rob Church、Yuri Astrakhan、Aryeh Gregor、Aaron Schulz、Andrew Garrett、Raimond Spekking、Alexandre Emsenhuber、Siebrand Mazeland、Chad Horohoe、Roan Kattouw、Trevor Parscal、Bryan Tong Minh、Sam Reed、Victor Vasiliev、Rotem Liss、Platonides、Antoine Musso、Timo Tijhof、Daniel Kinzler、Jeroen De Dauw、Brad Jorsch、Bartosz Dziewoński、Ed Sanders、Moriel Schottlender、その他 および translatewiki.net の翻訳者たち) で動作しています。

この作品はフリーソフトウェアです。あなたは、フリーソフトウェア財団の発行する GNU 一般公衆利用許諾書 (GNU General Public License) (バージョン 2、またはそれ以降のライセンス) の規約に基づき、このライブラリを再配布および改変できます。

この作品は、有用であることを期待して配布されていますが、商用または特定の目的に適するかどうかも含めて、暗黙的にも、一切保証されません。 詳しくは、 GNU 一般公衆利用許諾書をご覧ください。

あなたはこのプログラムと共に、GNU 一般公衆利用許諾契約書の複製を受け取ったはずです。受け取っていない場合は、フリーソフトウェア財団 (宛先は the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA) まで請求するか、またはオンラインでお読みください

APCu

早速、警告をいただきました。PHPの高速化を図る仕組みのようです。

調べるとPHPの高速化のための仕組みとして、OPcacheとAPCuがあるようです。

Opacheの方は、

/etc/apache2$ php -v
PHP 7.2.10-0ubuntu0.18.04.1 (cli) (built: Sep 13 2018 13:45:02) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.10-0ubuntu0.18.04.1, Copyright (c) 1999-2018, by Zend Technologies

すでにインストールされているようなので、APCuを準備してあげましょう。

ちなみに、ここでAPCuのインストールを解説いただいており、最後の方にAPCの実装例について紹介されております。

APCu自体を使うにはコードを書き直す必要があり、自分で実装するのは面倒と思いました。

PHP7でAPCuを使う

さてさて、

/etc/ssl$ apt search apcu
ソート中... 完了
全文検索... 完了 

(中略)
php-apcu/bionic 5.1.9+4.0.11-1build1 amd64
APC User Cache for PHP

php-apcu-bc/bionic 1.0.3-2ubuntu2 amd64
APCu Backwards Compatibility Module

php-symfony-polyfill-apcu/bionic,bionic 1.6.0-2 all
Symfony polyfill backporting apcu_* functions to lower PHP versions

それっぽいのが3つありますね。Symfonyというのは理解に至らないが、不要そうである。というわけでphp-apcuとphp-apcu-bcはインストールしておいたほうが良さそうである。

ちなみに

https://www.pr1sm.com/column/high-performance-wordpress-3/#apcu

ここでは、WordPressの高速化についても論じているので、後々参考にさせていただきたい。

/etc/apache2$ sudo apt install php-apcu
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています 
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
php-apcu-bc
提案パッケージ:
php-gd
以下のパッケージが新たにインストールされます:
php-apcu php-apcu-bc
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 125 個。
56.4 kB のアーカイブを取得する必要があります。
この操作後に追加で 246 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 php-apcu amd64 5.1.9+4.0.11-1build1 [48.1 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 php-apcu-bc amd64 1.0.3-2ubuntu2 [8,368 B]
56.4 kB を 0秒 で取得しました (379 kB/s)
以前に未選択のパッケージ php-apcu を選択しています。
(データベースを読み込んでいます ... 現在 191283 個のファイルとディレクトリがインストールされています。)
.../php-apcu_5.1.9+4.0.11-1build1_amd64.deb を展開する準備をしています ...
php-apcu (5.1.9+4.0.11-1build1) を展開しています...
以前に未選択のパッケージ php-apcu-bc を選択しています。
.../php-apcu-bc_1.0.3-2ubuntu2_amd64.deb を展開する準備をしています ...
php-apcu-bc (1.0.3-2ubuntu2) を展開しています...
php-apcu (5.1.9+4.0.11-1build1) を設定しています ...
php-apcu-bc (1.0.3-2ubuntu2) を設定しています ...

案ずることなかれ、、php-apcu-bcは依存パッケージとして勝手にインストールされましたぞ。

intl PECL 拡張機能

なんだよこれは。リンクが貼られているから見てみると

https://pecl.php.net/package/intl

このパッケージはメンテナンスされてません、、、とか大丈夫ですか?さらにたらい回しにされ

http://php.net/manual/en/book.intl.php

読んでもわかりません。

高トラフィックのサイトを運営する予定なので、以下のサイトを読みますが、、、よくわからない。

https://www.mediawiki.org/wiki/Unicode_normalization_considerations/ja

同じようにお悩みの人がいますが、

https://makotoiwasaki.com/2018/08/windows-kusanagi-linux.html

https://yssystems.blogspot.com/2015/02/unicode-intl-pecl-php.html

http://blog.ko-atrandom.com/?p=375

要するに当該パッケージをインストールすればいいんでしょ。

/etc/apache2$ apt search php-intl
ソート中... 完了
全文検索... 完了
php-intl/bionic,bionic 1:7.2+60ubuntu1 all
Internationalisation module for PHP [default]

パッケージは存在するのでインストールするか。

/etc/apache2$ sudo apt install php-intl
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています 
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
php7.2-intl
以下のパッケージが新たにインストールされます:
php-intl php7.2-intl
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 125 個。
126 kB のアーカイブを取得する必要があります。
この操作後に追加で 524 kB のディスク容量が消費されます。
続行しますか? [Y/n] y
取得:1 http://jp.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 php7.2-intl amd64 7.2.10-0ubuntu0.18.04.1 [124 kB]
取得:2 http://jp.archive.ubuntu.com/ubuntu bionic/universe amd64 php-intl all 1:7.2+60ubuntu1 [2,012 B]
126 kB を 0秒 で取得しました (1,277 kB/s)
以前に未選択のパッケージ php7.2-intl を選択しています。
(データベースを読み込んでいます ... 現在 191315 個のファイルとディレクトリがインストールされています。)
.../php7.2-intl_7.2.10-0ubuntu0.18.04.1_amd64.deb を展開する準備をしています ...
php7.2-intl (7.2.10-0ubuntu0.18.04.1) を展開しています...
以前に未選択のパッケージ php-intl を選択しています。
.../php-intl_1%3a7.2+60ubuntu1_all.deb を展開する準備をしています ...
php-intl (1:7.2+60ubuntu1) を展開しています...
php7.2-intl (7.2.10-0ubuntu0.18.04.1) を設定しています ...

Creating config file /etc/php/7.2/mods-available/intl.ini with new version
libapache2-mod-php7.2 (7.2.10-0ubuntu0.18.04.1) のトリガを処理しています ...
php-intl (1:7.2+60ubuntu1) を設定しています ...

それで再び https://localhost/ にアクセスしてインストールできるか見てみましょうか。

MediaWiki へようこそ!

環境の確認

基本的な確認では、現在の環境が MediaWiki のインストールに適しているかを確認します。 インストール方法について助けが必要になった場合は、必ずこの確認結果を添えてください。

PHP 7.2.10-0ubuntu0.18.04.1がインストールされています。

ImageMagickが見つかりました: /usr/bin/convert

アップロードが有効であれば、画像のサムネイルを利用できます。

バージョン管理ソフトウェア Git が見つかりました: /usr/bin/git
サーバー名「https://localhost」を使用しています。
サーバー URL「https://localhost」を使用しています。
Unicode正規化にintl PECL 拡張機能を使用。

環境を確認しました。 MediaWiki をインストールできます。

いい感じ。次のステップに進もう。

データベースに接続

まずは、MySQL上で、mediawiki用のユーザーを用意しますか。

/var/log/mysql$ sudo mysql -u root -p
Enter password: 
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.24-0ubuntu0.18.04.1 (Ubuntu)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

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> create database dic;
Query OK, 1 row affected (0.00 sec)

mysql> grant select,insert,delete,update,create,drop,alter,index on dic.* to user@localhost identified by '(パスワード)';
Query OK, 0 rows affected, 1 warning (0.01 sec)

warningがでて鬱陶しいが、ひとまず、コマンドは有効のようだ。

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

念の為にちゃんとユーザが追加されているか確認だ。

mysql> select user, authentication_string from mysql.user;
+------------------+-------------------------------------------+
| user | authentication_string |
+------------------+-------------------------------------------+
| user | *(略) |
+------------------+-------------------------------------------+
7 rows in set (0.00 sec)

大丈夫そうだ。
Mediawikiのインストーラーに戻って、

データベースのホスト:localhost
データベース名:(予め用意したデータベースを入力。ここでは仮に)dic
データベーステーブルの接頭辞:(任意。ここでは仮に)saku
データベースのユーザー名:(予め用意したユーザー名を入力。ここでは仮に)user
データベースのパスワード:(データベースを作成した際に指定したもの)

あとは適当に質問に答えて、生成されたLocalSettings.phpをindex.phpと同じディレクトリに移動するだけで完成である。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください