(同じ利用者による、間の8版が非表示)
15行目: 15行目:
<br>
<br>
次に、imagesディレクトリに存在する.htaccessファイルを以下のように編集する。<br>
次に、imagesディレクトリに存在する.htaccessファイルを以下のように編集する。<br>
<syntaxhighlight lang="apache">
  # 修正前
  # 修正前
  <IfModule rewrite_module>
  <IfModule rewrite_module>
34行目: 35行目:
         # Options +FollowSymLinks
         # Options +FollowSymLinks
  </IfModule>
  </IfModule>
</syntaxhighlight>
<br><br>
<br><br>


59行目: 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>


100行目: 126行目:
レンタルサーバであるバリューサーバでは、以下のコマンドを実行する。<br>
レンタルサーバであるバリューサーバでは、以下のコマンドを実行する。<br>
  phpcli maintenance/importImages.php --overwrite tmpimages/
  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>
サーバの移行ではなく、ディレクトリを移行するだけの場合は、以下に示すコマンドを実行してインポートすることができる。<br>
  php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/0
  php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/1 --user="<MediaWikiのユーザ名>" --search-recursively
  php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/1
  php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/2 --user="<MediaWikiのユーザ名>" --search-recursively
  php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/2
  php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/3 --user="<MediaWikiのユーザ名>" --search-recursively
  php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/3
  php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/4 --user="<MediaWikiのユーザ名>" --search-recursively
  php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/4
  php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/5 --user="<MediaWikiのユーザ名>" --search-recursively
  php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/5
  php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/6 --user="<MediaWikiのユーザ名>" --search-recursively
  php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/6
  php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/7 --user="<MediaWikiのユーザ名>" --search-recursively
  php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/7
  php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/8 --user="<MediaWikiのユーザ名>" --search-recursively
  php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/8
  php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/9 --user="<MediaWikiのユーザ名>" --search-recursively
  php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/9
  php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/a --user="<MediaWikiのユーザ名>" --search-recursively
  php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/a
  php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/b --user="<MediaWikiのユーザ名>" --search-recursively
  php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/b
  php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/c --user="<MediaWikiのユーザ名>" --search-recursively
  php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/c
  php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/d --user="<MediaWikiのユーザ名>" --search-recursively
  php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/d
  php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/e --user="<MediaWikiのユーザ名>" --search-recursively
  php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/e
  php importImages.php --overwrite /<旧MediaWikiのディレクトリ>/images/f --user="<MediaWikiのユーザ名>" --search-recursively
  php importImages.php --search-recursively --overwrite --user=<ユーザ名> /var/www/html/旧mediawikiのディレクトリ/images/f
<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>


146行目: 200行目:
  mv EmbedVideo.hooks.php /<Mediawikiのディレクトリ>/extensions/EmbedVideo/
  mv EmbedVideo.hooks.php /<Mediawikiのディレクトリ>/extensions/EmbedVideo/
<br>
<br>
Replace Textの詳細を知りたい場合は、[https://www.mediawiki.org/wiki/Extension:Replace%20Text/ja 公式Webサイト]を参照すること。<br>
<br>
==== 方法 2 (非推奨) ====
==== 方法 2 (非推奨) ====
Mediawikiのトップページから、[特別ページ] - [文字列の置換]にアクセスして、文字列を置換する。<br>
Mediawikiのトップページから、[特別ページ] - [文字列の置換]にアクセスして、文字列を置換する。<br>
159行目: 216行目:
<br><br>
<br><br>


== sitemap.xmlの生成 ==
== 削除ページの履歴の完全な削除 ==
sitemap.xmlを生成する。<br>
全ての削除ページの履歴を完全に削除する場合は、まず、通常のページ削除機能を使用してページを削除する。<br>
  php<バージョン>cli maintenance/generateSitemap.php \
<br>
          --fspath=<sitemap.xmlファイルを保存するディレクトリの相対パス> \  # このディレクトリは、オンラインで閲覧可能である必要がある
次に、deleteArchivedRevisions.phpメンテナンススクリプトを実行する。<br>
          --identifier=<データベース名> \                          # LocalSettings.phpファイルにある$wgDBnameの値
  phpcli maintenance/deleteArchivedRevisions.php --delete
          --urlpath=/sitemap/ \                                  # --fspathオプションの値を指し示すドメインの相対URL (/sitemap/を指定する時、サイトマップインデックス内のファイル名の先頭に置かれる)
<br>
          --server=<MediaWikiのホームページのURL> \
これにより、削除されたリビジョンが保存されているアーカイブテーブルが消去されて、削除されたページのテキストも削除される。<br>
          --compress=no \                                        # 圧縮しない場合
アーカイブテーブルからエントリを直接削除する場合 (TRUNCATE TABLE archive;)、リンクされたテキストレコードを削除するために、purgeOldText.phpメンテナンススクリプトを使用する必要がある。<br>
          --skip-redirects                                      # リダイレクトしない場合
<br>
古いリビジョンを削除するだけでは、アクティブなWikiのデータの多くがテキストテーブルで占められているため、通常はあまり役に立たない。<br>
# 例 (PHP 8.1を使用している場合)
php81cli maintenance/generateSitemap.php \
          --fspath=sitemap/ \                            # sitemap.xmlファイルを保存するディレクトリの相対パス (このディレクトリは、オンラインで閲覧可能である必要がある)
          --identifier=<データベース名> \                    # LocalSettings.phpファイルにある$wgDBnameの値
          --urlpath=/sitemap/ \                          # --fspathオプションの値を指し示すドメインの相対URL (/sitemap/を指定する時、サイトマップインデックス内のファイル名の先頭に置かれる)
          --server=<nowiki>http://mochiuwiki.e2.valueserver.jp</nowiki> \  # MediaWikiのホームページのURL
          --compress=no \                                # 圧縮しない場合
          --skip-redirects                                # リダイレクトしない場合
<br>
<br>
MediaWikiのトップディレクトリにsitemap.xmlのシンボリックリンクを作成する。<br>
データベースの設定によっては、リビジョンを削除した後、SQLコマンド<code>OPTIMIZE TABLE text, archive</code>を実行してアーカイブすることもできる。<br>
ln -fs sitemap/sitemap-index-<サイト名>.xml sitemap.xml
<br><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の設定]]