📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
| (同じ利用者による、間の17版が非表示) | |||
| 7行目: | 7行目: | ||
sudo chmod 777 images images/temp images/thumb images/archive | sudo chmod 777 images images/temp images/thumb images/archive | ||
sudo chown -R <ユーザ名>:<ユーザグループ名> images/ | sudo chown -R <ユーザ名>:<ユーザグループ名> images/ | ||
または | |||
sudo chmod 777 images images/temp images/thumb images/archive | |||
sudo usermod -aG www-data "$USER" | |||
sudo chown -R <ユーザ名>:www-data images/ | |||
<br> | <br> | ||
次に、imagesディレクトリに存在する.htaccessファイルを以下のように編集する。<br> | 次に、imagesディレクトリに存在する.htaccessファイルを以下のように編集する。<br> | ||
<syntaxhighlight lang="apache"> | |||
# 修正前 | # 修正前 | ||
<IfModule rewrite_module> | <IfModule rewrite_module> | ||
| 28行目: | 35行目: | ||
# Options +FollowSymLinks | # Options +FollowSymLinks | ||
</IfModule> | </IfModule> | ||
</syntaxhighlight> | |||
<br><br> | <br><br> | ||
| 53行目: | 61行目: | ||
または | または | ||
mysql --host=$MYSQL_SERVER --user=$MYSQL_USER -p $MYSQL_DB_NAME < MochiuWiki_DB_backup_20200101.sql | mysql --host=$MYSQL_SERVER --user=$MYSQL_USER -p $MYSQL_DB_NAME < MochiuWiki_DB_backup_20200101.sql | ||
<br> | |||
インポートにおいて、以下に示すようなエラーが発生する場合がある。<br> | |||
ERROR at line 1: Unknown command '\-'. | |||
<br> | |||
まず、SQLファイルの先頭部分を確認する。<br> | |||
head -n 5 <SQLファイル名>.sql | |||
# 出力例: | |||
/*!999999\- enable the sandbox mode */ | |||
-- MariaDB dump 10.19 Distrib 10.6.18-MariaDB, for Linux (x86_64) | |||
-- | |||
-- Host: <Webサーバのホスト名> Database: <データベース名> | |||
-- ------------------------------------------------------ | |||
<br> | |||
\-の部分は、バックスラッシュとハイフンの組み合わせであり、これが<u>Unknown command</u>エラーの原因である。<br> | |||
<br> | |||
そのため、先頭行に不要なコメントをスキップ、または、削除することにより、SQLファイルのインポートが可能となる。<br> | |||
* <code>sed</code>コマンドを使用して、問題の先頭行をスキップしてインポートする方法 | |||
*: <code>sed '1d' <SQLファイル名>.sql | mysql --host=<Webサーバのホスト名> --user=<データベースユーザ名> -p <データベース名></code> | |||
*: <br> | |||
* 問題の先頭行を削除してインポートする方法 | |||
*: <code>sed '1d' <SQLファイル名>.sql > <先頭行を削除したSQLファイル名>.sql</code> | |||
*: <code>mysql --host=<Webサーバのホスト名> --user=<データベースユーザ名> -p <データベース名> < <先頭行を削除したSQLファイル名>.sql</code> | |||
<br><br> | <br><br> | ||
| 92行目: | 124行目: | ||
php maintenance/importImages.php --overwrite tmpimages/ | php maintenance/importImages.php --overwrite tmpimages/ | ||
<br> | <br> | ||
レンタルサーバであるバリューサーバでは、以下のコマンドを実行する。<br> | |||
phpcli maintenance/importImages.php --overwrite tmpimages/ | |||
# | # MediaWikiのユーザ名を指定する場合 | ||
phpcli maintenance/importImages.php --overwrite tmpimages/ --user="<MediaWikiのユーザ名>" | |||
# カスタムコメントを付加する場合 | |||
phpcli maintenance/importImages.php --overwrite tmpimages/ --comment="<コメント文>" | |||
# サブディレクトリにあるファイルもアップロードする場合 | |||
# (importImages.phpスクリプトは、サブディレクトリ内のファイルを検索してアップロードしないため) | |||
phpcli maintenance/importImages.php --overwrite tmpimages/ --search-recursively | |||
<br> | <br> | ||
サーバの移行ではなく、ディレクトリを移行するだけの場合は、以下に示すコマンドを実行してインポートすることができる。<br> | |||
php importImages.php | php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/1 --user="<MediaWikiのユーザ名>" --search-recursively | ||
php importImages.php | php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/2 --user="<MediaWikiのユーザ名>" --search-recursively | ||
php importImages.php | php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/3 --user="<MediaWikiのユーザ名>" --search-recursively | ||
php importImages.php | php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/4 --user="<MediaWikiのユーザ名>" --search-recursively | ||
php importImages.php | php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/5 --user="<MediaWikiのユーザ名>" --search-recursively | ||
php importImages.php | php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/6 --user="<MediaWikiのユーザ名>" --search-recursively | ||
php importImages.php | php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/7 --user="<MediaWikiのユーザ名>" --search-recursively | ||
php importImages.php | php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/8 --user="<MediaWikiのユーザ名>" --search-recursively | ||
php importImages.php | php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/9 --user="<MediaWikiのユーザ名>" --search-recursively | ||
php importImages.php | php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/a --user="<MediaWikiのユーザ名>" --search-recursively | ||
php importImages.php | php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/b --user="<MediaWikiのユーザ名>" --search-recursively | ||
php importImages.php | php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/c --user="<MediaWikiのユーザ名>" --search-recursively | ||
php importImages.php | php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/d --user="<MediaWikiのユーザ名>" --search-recursively | ||
php importImages.php | php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/e --user="<MediaWikiのユーザ名>" --search-recursively | ||
php importImages.php -- | php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/f --user="<MediaWikiのユーザ名>" --search-recursively | ||
php importImages.php -- | <br> | ||
また、上記の処理において、シェルスクリプトを使用して簡略することもできる。<br> | |||
<syntaxhighlight lang="sh"> | |||
#!/usr/bin/env sh | |||
# MediaWikiのユーザー名を指定 | |||
MEDIAWIKI_USER="<MediaWikiのユーザ名>" | |||
# 旧MediaWikiのディレクトリを指定 | |||
OLD_MEDIAWIKI_DIR="/<旧MediaWikiのディレクトリ>" | |||
# インポートするディレクトリの配列 | |||
DIRECTORIES=("1" "2" "3" "4" "5" "6" "7" "8" "9" "a" "b" "c" "d" "e" "f") | |||
# 各ディレクトリに対してimportImages.phpを実行 | |||
for dir in "${DIRECTORIES[@]}"; do | |||
php importImages.php --overwrite "$OLD_MEDIAWIKI_DIR/images/$dir" --user="$MEDIAWIKI_USER" --search-recursively | |||
done | |||
</syntaxhighlight> | |||
<br><br> | <br><br> | ||
== 文字列の置換 == | |||
==== 方法 1 (推奨) ==== | |||
まず、ReplaceTextの拡張ディレクトリに移動する。<br> | |||
cd /<Mediawikiのディレクトリ>/extensions/ReplaceText/maintenance | |||
<br> | |||
次に、replaceAll.phpファイルを実行する。<br> | |||
phpcli replaceAll.php "置換前の文字列" "置換後の文字列" --user <Wikiユーザ名> | |||
# 試験実行することも可能 | |||
phpcli replaceAll.php "置換前の文字列" "置換後の文字列" --dry-run --user <Wikiユーザ名> | |||
# <code>--debug</code>オプションを付加して、実行時の詳細を表示することも可能 | |||
phpcli replaceAll.php "置換前の文字列" "置換後の文字列" --user <Wikiユーザ名> --debug | |||
<br> | |||
EmbedVideoの拡張が存在する場合、以下に示すような警告 / エラーが出力される場合がある。<br> | |||
PHP Deprecated: Premature access to service container | |||
<br> | |||
この時、以下に示すように修正する。<br> | |||
# ファイルのバックアップ | |||
mv /<Mediawikiのディレクトリ>/extensions/EmbedVideo/EmbedVideo.hooks.php \ | |||
/<Mediawikiのディレクトリ>/extensions/EmbedVideo/EmbedVideo.hooks_org.php | |||
<br> | |||
[https://gitlab.com/jmnote/EmbedVideo/-/blob/master/EmbedVideo.hooks.php EmbedVideoのGitLab]にアクセスして、修正済みのファイルをダウンロードする。<br> | |||
ダウンロードしたファイルをEmbedVideoの拡張ディレクトリにアップロードする。<br> | |||
mv EmbedVideo.hooks.php /<Mediawikiのディレクトリ>/extensions/EmbedVideo/ | |||
<br> | |||
Replace Textの詳細を知りたい場合は、[https://www.mediawiki.org/wiki/Extension:Replace%20Text/ja 公式Webサイト]を参照すること。<br> | |||
<br> | |||
==== 方法 2 (非推奨) ==== | |||
Mediawikiのトップページから、[特別ページ] - [文字列の置換]にアクセスして、文字列を置換する。<br> | |||
<br> | |||
Replace Textは、MediaWikiのジョブとして構成されており、ユーザが同時に多くのアクションを実行する場合があるため、システムに負荷が掛からないようになっている。<br> | |||
これは、大規模な置換はすぐには行われず、完了までに数分、数時間、あるいはそれ以上掛かることを意味する。<br> | |||
<br> | |||
ジョブはMediaWikiでページが閲覧されるたびに起動されるが、処理を速める(あるいは遅らせる)ために、ページが閲覧されたときに実行されるジョブの数を変更することができる。<br> | |||
したがって、優先順位の高い新しいジョブが無い場合、Replace Textは開始後すぐに停止する可能性がある。<br> | |||
全てのジョブをすぐに実行するには、maintenance/runJobs.phpファイルを実行する。<br> | |||
chmod u+x maintenance/runJobs.php | |||
php74cli maintenance/runJobs.php | |||
<br><br> | |||
== 削除ページの履歴の完全な削除 == | |||
全ての削除ページの履歴を完全に削除する場合は、まず、通常のページ削除機能を使用してページを削除する。<br> | |||
<br> | |||
次に、deleteArchivedRevisions.phpメンテナンススクリプトを実行する。<br> | |||
phpcli maintenance/deleteArchivedRevisions.php --delete | |||
<br> | |||
これにより、削除されたリビジョンが保存されているアーカイブテーブルが消去されて、削除されたページのテキストも削除される。<br> | |||
アーカイブテーブルからエントリを直接削除する場合 (TRUNCATE TABLE archive;)、リンクされたテキストレコードを削除するために、purgeOldText.phpメンテナンススクリプトを使用する必要がある。<br> | |||
<br> | |||
古いリビジョンを削除するだけでは、アクティブなWikiのデータの多くがテキストテーブルで占められているため、通常はあまり役に立たない。<br> | |||
<br> | |||
データベースの設定によっては、リビジョンを削除した後、SQLコマンド<code>OPTIMIZE TABLE text, archive</code>を実行してアーカイブすることもできる。<br> | |||
<br><br> | |||
{{#seo: | |||
|title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki | |||
|keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板 | |||
|description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux | |||
|image=/resources/assets/MochiuLogo_Single_Blue.png | |||
}} | |||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:MochiuWikiの設定]] | [[カテゴリ:MochiuWikiの設定]] | ||