実現する機能
MediaWiki(メディアウィッキー)(MediaWiki)は、業務マニュアル、FAQ(よくある質問)、学習ノートとして最適です。しかもデータが膨大になればなるほど運用管理が楽というのが最大のメリットだと思います。なので、手放せないツールになるか否かは長期間使い続けられるかにかかっています。
以下でインストール手順をご紹介します。
事前準備
以下の環境が事前に必要です。
DatabaseServer –> MariaDB
WebServer –> NginX
詳細は下記サイトを参照のこと。
MediaWiki Install方法
(1)Download URLの確認とcopy
以下の記述はGNOME端末を使います。MediaWikiのダウンロード・サイトに移動して最新版を確認。赤枠1の「ダウンロード」を右クリックして、表示される一覧から赤枠2の「リンクのURLをコピー」を(左)クリックし、URLをコピーしておく(以下のすべての画像はクリックすると拡大表示)
(2)ダウンロードと展開・移動
以下ではGnome端末を使用。
紫色はキーボードから入力するコマンド(コピペした方が楽ですが、コマンドは覚えられません)、緑はコマンドや処理内容の説明、白は自動表示する部分、赤は注意書きです。
#ユーザーをrootに変更
[tu@ufuso ~]$ su –
#rootユーザーのパスワードを入力(表示はされない)
パスワード:
#wget入力後にコピーしておいたURLを貼り付けてダウンロード
[root@ufuso ~]# wget https://releases.wikimedia.org/mediawiki/1.34/mediawiki-1.34.1.tar.gz
`mediawiki-1.27.1.tar.gz’ に保存中
100%[======================================>] 31,504,507 8.60MB/s 時間 3.5s
2020-04-20 10:08:09 (8.60 MB/s) – `mediawiki-1.27.1.tar.gz’ へ保存完了 [31504507/31504507]
#MediaWikiの展開(解凍)
[root@ufuso ~]# tar zxvf mediawiki-1.34.1.tar.gz
mediawiki-1.34.1/.phan/config.php
mediawiki-1.34.1/.phan/internal_stubs/README
・・・
・・・
mediawiki-1.34.1/vendor/zordius/lightncandy/tests/test1.tmpl
mediawiki-1.34.1/vendor/zordius/lightncandy/tests/test2.tmpl
mediawiki-1.34.1/vendor/zordius/lightncandy/tests/test3.tmpl
#mediawiki-1.27.1フォルダの中身を/usr/share/nginx/html/mwikiという名のフォルダ内に移動(mwikiは例示)
[root@ufuso ~]# mv mediawiki-1.34.1 /usr/share/nginx/html/mwiki |
(3)データベースの作成
#MariaDBへrootでログイン
[root@ufuso ~]# mysql -u root -p
#MariaDBのrootパスワード応答(パスワードは表示されない)
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 123
Server version: 10.1.29-MariaDB MariaDB Server
Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.
#「mwiki」という名のデータベース作成
MariaDB [(none)]> create database mwiki;
Query OK, 1 row affected (0.10 sec)
#「mwiki」という名のデータベースを読み書きできるユーザー「ufuso」をパスワード「pass」で作成。「mwiki」、「ufuso」、「pass」は例示
MariaDB [(none)]> grant all privileges on mwiki.* to ufuso@localhost identified by 'pass';
Query OK, 0 rows affected (0.35 sec)
#MariaDBからログアウト
MariaDB [(none)]> exit
Bye |
(4)PHPのバージョンアップ
#epelのレポジトリを追加
[root@ufuso ~]# yum -y install epel-release
パッケージ epel-release-7-11.noarch はインストール済みか最新バージョンです
何もしません
#remiのレポジトリを追加
[root@ufuso ~]# yum -y install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
更新:
remi-release.noarch 0:7.7-2.el7.remi
完了しました!
#InstallされているPHPを確認
[root@ufuso ~]# rpm -qa | grep php
php-json-7.1.33-2.el7.remi.x86_64
php-fedora-autoloader-1.0.0-1.el7.remi.noarch
php-gd-7.1.33-2.el7.remi.x86_64
php-fpm-7.1.33-2.el7.remi.x86_64
php-common-7.1.33-2.el7.remi.x86_64
php-xml-7.1.33-2.el7.remi.x86_64
php-process-7.1.33-2.el7.remi.x86_64
php-mcrypt-7.1.33-2.el7.remi.x86_64
php-mysqlnd-7.1.33-2.el7.remi.x86_64
php-7.1.33-2.el7.remi.x86_64
php-mbstring-7.1.33-2.el7.remi.x86_64
php-cli-7.1.33-2.el7.remi.x86_64
php-pdo-7.1.33-2.el7.remi.x86_64
php-devel-7.1.33-2.el7.remi.x86_64
php-pear-1.10.10-4.el7.remi.noarch
#InstallされているPHPを削除
[root@ufuso ~]# yum -y remove php-*
削除しました:
php.x86_64 0:7.1.33-2.el7.remi
php-cli.x86_64 0:7.1.33-2.el7.remi
php-common.x86_64 0:7.1.33-2.el7.remi
php-devel.x86_64 0:7.1.33-2.el7.remi
php-fedora-autoloader.noarch 0:1.0.0-1.el7.remi
php-fpm.x86_64 0:7.1.33-2.el7.remi
php-gd.x86_64 0:7.1.33-2.el7.remi
php-json.x86_64 0:7.1.33-2.el7.remi
php-mbstring.x86_64 0:7.1.33-2.el7.remi
php-mcrypt.x86_64 0:7.1.33-2.el7.remi
php-mysqlnd.x86_64 0:7.1.33-2.el7.remi
php-pdo.x86_64 0:7.1.33-2.el7.remi
php-pear.noarch 1:1.10.10-4.el7.remi
php-process.x86_64 0:7.1.33-2.el7.remi
php-xml.x86_64 0:7.1.33-2.el7.remi
完了しました!
#PHP7.4をインストール
[root@ufuso tu]# yum -y install --enablerepo=remi,remi-php74 php php-devel php-mbstring php-pdo php-gd php-xml php-mcrypt php-cli php-common php-mysql php-pear php-process php-pear php-fpm php-intl php-pecl-apcu
インストール:
php.x86_64 0:7.4.5-1.el7.remi
php-cli.x86_64 0:7.4.5-1.el7.remi
php-common.x86_64 0:7.4.5-1.el7.remi
php-devel.x86_64 0:7.4.5-1.el7.remi
php-fpm.x86_64 0:7.4.5-1.el7.remi
php-gd.x86_64 0:7.4.5-1.el7.remi
php-intl.x86_64 0:7.4.5-1.el7.remi
php-mbstring.x86_64 0:7.4.5-1.el7.remi
php-mysqlnd.x86_64 0:7.4.5-1.el7.remi
php-pdo.x86_64 0:7.4.5-1.el7.remi
php-pear.noarch 1:1.10.12-1.el7.remi
php-pecl-apcu.x86_64 0:5.1.18-1.el7.remi.7.4
php-pecl-mcrypt.x86_64 0:1.0.3-1.el7.remi.7.4
php-process.x86_64 0:7.4.5-1.el7.remi
php-xml.x86_64 0:7.4.5-1.el7.remi
依存性関連をインストールしました:
gcc-c++.x86_64 0:4.8.5-39.el7
libicu62.x86_64 0:62.1-3.el7.remi
libsodium.x86_64 0:1.0.18-1.el7.remi
libstdc++-devel.x86_64 0:4.8.5-39.el7
libtool.x86_64 0:2.4.2-22.el7_3
oniguruma5.x86_64 0:6.9.4-1.el7.remi
php-fedora-autoloader.noarch 0:1.0.1-2.el7.remi
php-json.x86_64 0:7.4.5-1.el7.remi
php-sodium.x86_64 0:7.4.5-1.el7.remi
完了しました!
#InstallされているPHPを確認
[root@ufuso ~]# rpm -qa | grep php
php-pdo-7.4.5-1.el7.remi.x86_64
php-7.4.5-1.el7.remi.x86_64
php-mysqlnd-7.4.5-1.el7.remi.x86_64
php-pecl-mcrypt-1.0.3-1.el7.remi.7.4.x86_64
php-fedora-autoloader-1.0.1-2.el7.remi.noarch
php-common-7.4.5-1.el7.remi.x86_64
php-cli-7.4.5-1.el7.remi.x86_64
php-sodium-7.4.5-1.el7.remi.x86_64
php-mbstring-7.4.5-1.el7.remi.x86_64
php-devel-7.4.5-1.el7.remi.x86_64
php-pear-1.10.12-1.el7.remi.noarch
php-gd-7.4.5-1.el7.remi.x86_64
php-fpm-7.4.5-1.el7.remi.x86_64
php-process-7.4.5-1.el7.remi.x86_64
php-intl-7.4.5-1.el7.remi.x86_64
php-pecl-apcu-5.1.18-1.el7.remi.7.4.x86_64
php-json-7.4.5-1.el7.remi.x86_64
php-xml-7.4.5-1.el7.remi.x86_64
#php-fpmを起動
[root@ufuso ~]# systemctl start php-fpm
#php-fpmの自動起動設定
[root@ufuso ~]# systemctl enable php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
#アップロードファイルの容量が2Mに戻っているので、php.iniも再設定。
[root@eycwl8s4 ~]# vi /etc/php.ini
;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;
…
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
; メールの最大サイズ8Mを118Mにした例
post_max_size = 118M
…
;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;
…
; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
; 添付ファイルの最大サイズ2Mを112Mにした例
upload_max_filesize = 112M
#Nginxとphp-fpmを再起動
[root@eycwl8s4 ~]# systemctl restart nginx php-fpm |
(5)必要なソフトの追加
#intlのインストールに必要なソフトを入れる
[root@ufuso ~]# yum -y install gcc-c++ httpd-devel icu libicu-devel
インストール:
httpd-devel.x86_64 0:2.4.6-90.el7.centos icu.x86_64 0:50.2-4.el7_7
libicu-devel.x86_64 0:50.2-4.el7_7
依存性関連をインストールしました:
apr-devel.x86_64 0:1.4.8-5.el7
apr-util-devel.x86_64 0:1.5.2-6.el7
cyrus-sasl-devel.x86_64 0:2.1.26-23.el7
expat-devel.x86_64 0:2.1.0-10.el7_3
libdb-devel.x86_64 0:5.3.21-25.el7
openldap-devel.x86_64 0:2.4.44-21.el7_6
完了しました!
#ImageMagickをインストール
[root@ufuso ~]# yum -y install ImageMagick ImageMagick-devel
インストール:
ImageMagick.x86_64 0:6.7.8.9-18.el7 ImageMagick-devel.x86_64 0:6.7.8.9-18.el7
依存性関連をインストールしました:
OpenEXR-libs.x86_64 0:1.7.1-7.el7
bzip2-devel.x86_64 0:1.0.6-13.el7
freetype-devel.x86_64 0:2.8-14.el7
ilmbase.x86_64 0:1.0.3-7.el7
jasper-devel.x86_64 0:1.900.1-33.el7
libICE-devel.x86_64 0:1.0.9-9.el7
libSM-devel.x86_64 0:1.2.2-2.el7
libXext-devel.x86_64 0:1.3.3-3.el7
libXt-devel.x86_64 0:1.1.5-3.el7
libgs-devel.x86_64 0:9.25-2.el7_7.3
libjpeg-turbo-devel.x86_64 0:1.2.90-8.el7
libpng-devel.x86_64 2:1.5.13-7.el7_2
libtiff-devel.x86_64 0:4.0.3-32.el7
libwmf-lite.x86_64 0:0.2.8.4-41.el7_1
完了しました!
#gitのインストール
[root@ufuso tu]# yum -y install git
インストール:
git.x86_64 0:1.8.3.1-21.el7_7
依存性関連をインストールしました:
perl-Error.noarch 1:0.17020-2.el7 perl-Git.noarch 0:1.8.3.1-21.el7_7
perl-TermReadKey.x86_64 0:2.30-20.el7
完了しました!
[root@ufuso ~]# vi /usr/share/nginx/html/mwiki/images/.htaccess ← 脆弱性回避のために
.htaccessファイルの編集
# Protect against bug 28235
<IfModule rewrite_module>
RewriteEngine On
RewriteCond %{QUERY_STRING} \.[^\\/:*?\x22<>|%]+(#|\?|$) [nocase]
RewriteRule . – [forbidden]
</IfModule>
#以下を追記
<Directory>
# Ignore .htaccess files
AllowOverride None
# Serve HTML as plaintext, don’t execute SHTML
AddType text/plain .html .htm .shtml .php
# Don’t run arbitrary PHP code.
php_admin_flag engine off
# If you’ve other scripting languages, disable them too.
</Directory>
#WEBサーバーとphp-fpmの再起動
[root@ufuso ~]# systemctl restart nginx php-fpm
#SELinuxを一時的に無効にする
[root@ufuso ~]# setenforce 0 |
(6)インストール
1.MediaWikiをインストールしたhttp://yoursite/ mwiki/にアクセスし、赤枠をクリックして次に進む(画像はクリックすると拡大。以下同じ)
2.言語が日本語であることを確認し、赤枠の「続行」をクリック
3.赤枠1に「警告」表示がないことと、赤枠2に緑色の「インストールできます」の表示を確認し、赤枠3の「続行」ボタンをクリック
4.赤枠1にデータベース名を、赤枠2にユーザー名とパスワードを入力して、赤枠3の「続行」をクリック
5.赤枠1にチェックが入ったままでよければ、赤枠2の「続行」をクリック
6.赤枠1にウイキ名、赤枠3に利用者名とパスワードを入力して、赤枠3の「続行」をクリック
7.赤枠からウイキのタイプを選択。私は自分用なので「非公開ウイキ」を選択
8.赤枠の「続行」をクリック
9.赤枠の「続行」をクリック
10.赤枠の「続行」をクリック
11.インストールが終了したらこの画面になるので、赤枠1の「ファイルを保存する」をクリックして、赤枠2の「OK」をクリック
(8)終了処理
#ダウンロードされたLocalSettings.phpが、あなたのユーザーフォルダ内(「tu」は例示)の「ダウンロード」フォルダにあることを確認
[root@ufuso ~]# ll /home/tu/ダウンロード
…
…
-rw-rw-r–. 1 tu tu 4438 4月 23 15:02 LocalSettings.php
…
…
#ダウンロードされたLocalSettings.phpを「/usr/share/nginx/html/mwiki/」に移動
[root@ufuso ~]# mv /home/tu/ダウンロード/LocalSettings.php /usr/share/nginx/html/mwiki/
#mwikiフォルダの読み書き権限を設定
[root@ufuso ~]# chcon -R -t httpd_sys_rw_content_t /usr/share/nginx/html/mwiki
#同上
[root@ufuso ~]# semanage fcontext -a -t httpd_sys_rw_content_t /usr/share/nginx/html/mwiki
#展開後は不要なのでダウンロードファイルを削除
[root@ufuso ~]# rm -f mediawiki-1.34.1.tar.gz
#SELinuxを有効にする
[root@ufuso ~]# setenforce 1
[root@ufuso ~]# getenforce ← 有効の確認
Enforcing ← 有効を確認 |
1.赤枠の「ウイキに入る」をクリック
2.トップ画面が表示されたらインストールは成功。赤枠内の「ログイン」をクリック
3.赤枠内に作成した利用者名とパスワードを入力して「ログイン」ボタンをクリック
4.赤枠内のように表示されればログイン成功
以上
(8)の処理をしないと下の表示になるので注意
ユーザー登録のボタンが表示される場合に、それを消す処理は以下のとおり
#LocalSettings.phpファイルを開いて編集
[root@ufuso ~]# vi /var/www/html/mwiki/LocalSettings.php
# End of automatically generated settings.
# Add more configuration options below.
#最下行に追記。ユーザー
登録をできない設定にする
$wgGroupPermissions['*']['createaccount'] = false;
#WEBサーバー再起動 |
別PCでダウンロードしたLocalSettings.phpファイルをvpsに移行できない場合は、別PCのメモ帳でLocalSettings.phpファイルを開いて、「すべて選択」後にコピーし、それをvpsのGnome端末で作成したLocalSettings.phpファイルにコピペする。