MacにMediaWikiを使用してローカルのprivate wikiを構築しました。
初心者ゆえSQLの設定にまんまとハマったので備忘録です。
MAMPでmysqlを導入した際に、MySQLWorkbenchの設定も行ったので最後に簡単に併記します。
##環境
MacOSX Mojave version 10.14.5
5.7.25 MySQL Community Server (GPL)
MAMP version 5.3
MediaWiki version 1.31.1
MySQLWorkbench version 8.0.16
##SQL編
###MAMPをダウンロード
https://www.mamp.info/en/downloads/
MAMPを起動し、Start Serversを押す。
mysqlを実行する
参考:MAMP ver 5.2環境下で、ターミナルからMySQLにログインする
ターミナルでbinに移動し、mysqlを起動してパスワード(defalt:root)を打ち込む。
cd /Applications/MAMP/Library/bin
$ ./mysql -u root -p
Enter password: root
# 成功時は以下
mysql>
MySQLでユーザーの作成やパスワードの変更
以下を参考にしながら、ユーザーの作成などを行う。
参考:MySQLインストール時にやること(DBとユーザーの作成等)
参考:【MySQL】ユーザーを作成と権限の追加
mysql> CREATE USER 'ユーザー名'@localhost IDENTIFIED BY 'パスワード';
mysql> USE mysql;
mysql> select user, host from user;
/*結果はこれ*/
+---------------+-----------+
| user | host |
+---------------+-----------+
(略)
| ユーザー名 | localhost |
(略)
+---------------+-----------+
7 rows in set (0.00 sec)
トラブルシューティング
rootのパスワードを変更したつもりでもう一度ログインしようとしたところめっちゃエラーが出た。
参考:MySQL の root パスワード忘れた時
参考:MySQLのrootパスワード忘れ時のリセット対応方法
# MySQL を停止
sudo /etc/init.d/mysqld stop
# セーフモードで起動
./mysqld_safe --skip-grant-tables &
# rootでログイン
./mysql -uroot
use mysql;
/*任意のパスワードを設定*/
update user set authentication_string=PASSWORD('パスワード') where user='root';
flush privileges;
quit
#起動
./mysqld
/*起動後にステータスの確認*/
/*Current userが目的のものになっているか確認*/
mysql> status
上記がうまくいかなかった場合もあったが、こちらの方法で変更したパスワードでrootにログインできるようになった。
参考:MySQLのrootパスワード忘れ時のリセット対応方法
# init-fileオプションでmysqlを起動
./mysqld --init-file=/path/to/init --user=mysql &
mysql> mySET PASSWORD FOR 'root'@'localhost' = PASSWORD('パスワード');
# ログイン
./mysql -u root -p でパスワードを入れてログイン
MAMPからSQLサーバーが立ち上がらなくなることもあったがこちらで解決。
##Mediawiki編
Mediawikiを公式からダウンロード
https://www.mediawiki.org/wiki/Download
MAMPのサーバーを起動して、ダウンロードしたフォルダをhtdocsに放り込む。
アプリケーション > MAMP > htdocs > bluespice
http://localhost:8888/bluespice/ にアクセスで簡単につながる。
最初ログインできなかったので以下を参考にした。
参考:Mediawikiを構築したのにセッションのエラーで自分でログインできないとき
LocalSettings.phpをSublime Textなどのコードエディターで開いて、
$wgMainCacheType = CACHE_ANYTHING;
に書き換え。
細かい設定などは手順通りに行う。
おまけ:MySQLworkbenchから'ユーザー名'のユーザーにアクセスする。
MySQLworkbenchからwikiのデータベースを覗き見ることができる。
最初は繋がらなかったが、設定のポートの番号を変えたら接続できた。
mysqlにログインしてから、
mysql> show variables like 'port';
でポート番号を確認してから、MySQLworkbenchの設定のportに反映させた。