ロリポップでメディアウィキのサイトマップをcronを使って定期的に生成する方法について悩みに悩んだので書き残します。
同じロリポップのサーバーで実行に悩んだ方は参考にしてみてください。
生成
サイトマップの自動生成にはメディアウィキインストールディレクトリにあるmaintenance内のgenerateSitemap.phpを使用して行います。
しかしこのPHPはcronで指定しても直接実行はできません。
実行してもコマンドで実行しろというエラーメッセージが帰ってきます・・・。
※メール設定をしている場合
ロリポップcronでのコマンド
ロリポップのcronでは直接コマンドを使うことができません。
※サポートに聞いても知りませんとかえってきます;
そこでシェルスクリプトを使ってPHPを実行する必要があります。
シェルスクリプト
シェルスクリプトファイルを下記を参考に作成してください。
- ファイル名:好きなファイル名.sh
- 改行コード:LF
- 文字コード:UTF-8
- MediaWikiインストールディレクトリにsitemapというフォルダを作る
※好きなファイル名で大丈夫ですがその場合は下記スクリプトの該当部分を書き換えてください※ - 書き換える場所は3か所!
#!/bin/sh /usr/local/php7.1/bin/php /home/users/0/ユーザー名/web/メエディアwikiのインストールディレクトリまでのパス/maintenance/generateSitemap.php --fspath=/home/users/0/ユーザー名/web/メエディアwikiのインストールディレクトリまでのパス/sitemap/ --urlpath=wikiのURL/ --compress=no --identifier=wiki
ユーザー名とは?
ロリポップcron設定赤枠部分のボカシを入れてある部分がユーザー名です。
実行設定
これは各自違うので割愛します。
どうしてもわからないというコメントがあれば新たに書く・・・かもしれません。
コメント