MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
MediaWikiの設定 - さくらインターネットのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
MediaWikiの設定 - さくらインターネット
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == さくらインターネットにおいて、MediaWikiを構築する場合の設定を記載する。<br> <br><br> == SyntaxHighlight Geshi == ==== 旧版MediaWikiのSyntaxHighlight Geshiを使用する方法 ==== MediaWikiの配布ファイルに標準添付されているが、MediaWiki 1.31以降の同梱版ではPython3が必要である。<br> <br> さくらインターネットのレンタルサーバには、Python2のみインストールされているため、<br> MediaWiki 1.31以降をインストールする場合、SyntaxHighlight Geshiは動作せず、<br> <nowiki><syntaxhighlight></nowiki>タグが含まれるページを編集すると"構文ハイライトエラーがあるページ"になる。<br> <br> 解決方法は、MediaWiki 1.30に含まれるSyntaxhighlight Geshiディレクトリにあるpygmentsディレクトリをコピーする。<br> pygmentsディレクトリのみを変更することにより、さくらインターネットのPython2でも使用できるようになる。<br> cd <MediaWikiのフルパス>/extensions mv SyntaxHighlight_GeSHi/pygments SyntaxHighlight_GeSHi/pygments_org fetch https://extdist.wmflabs.org/dist/extensions/SyntaxHighlight_GeSHi-REL1_30-87392f1.tar.gz tar zxvf SyntaxHighlight_GeSHi-REL1_30-87392f1.tar.gz SyntaxHighlight_GeSHi/pygments/ <br> ただし、この方法で不具合が出ないとも限らないので、自己責任で行うこと。<br> <br> ==== Python3を使用する方法 ==== ホームディレクトリにPython3をインストールして、Python3を参照するようにSyntaxHighlight Geshiの設定を変更する。<br> 手順は、以下の通りである。<br> # Python 3のインストール #: まず、Python 3のインストールディレクトリを作成する。 #: <pre>mkdir -p $HOME/local/python</pre> #: <br> #: Python 3.7.9をダウンロードして解凍する。 #: <syntaxhighlight lang="text"> wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tar.xz tar -xf Python-3.7.9.tar.xz </syntaxhighlight> #: <br> #: Python-3.7.9ディレクトリに移動する。 #: <pre>cd Python-3.7.9</pre> #: <br> #: Python 3をインストールする。 #: <syntaxhighlight lang="text"> ./configure \ CPPFLAGS="-I/usr/local/ssl/include" LDFLAGS="-L/usr/local/ssl/lib" \ --prefix=$HOME/local/python --enable-optimizations \ make make install </syntaxhighlight> #: <br> #: Python 3.7.9ディレクトリを削除する。 #: <pre>rm -rf $HOME/Python-3.7.9</pre> #: <br> #: <u>Pyenvのインストールは不要である。</u> #: <br> # SyntaxHighlightの編集 #: 編集するファイルは、<MediaWikiのディレクトリ>/extensions/SyntaxHighlight_GeSHi/pygments/create_pygmentize_bundleファイルである。 #: <br> #: <code>cd $HOME/<MediaWikiのディレクトリ>/extensions/SyntaxHighlight_GeSHi/pygments</code> #: <br> #: まず、バックアップを作成する。 #: <syntaxhighlight lang="text"> cp create_pygmentize_bundle create_pygmentize_bundle_org mv pygmentize pygmentize_org # pygmentizeファイルは再作成するため、mvコマンドを実行している </syntaxhighlight> #: <br> #: 次に、create_pygmentize_bundleファイルを、以下のように修正する。 #: <syntaxhighlight lang="python"> #!/home/<ユーザ名>/local/python/bin/python3 # 変更する箇所 # -*- coding: utf-8 -*- """ Create a standalone, executable 'pygmentize' bundle. Author: Ori Livneh """ import hashlib import io import os import stat import textwrap import urllib.request import xmlrpc.client import zipfile PYGMENTIZE_LAUNCHER = textwrap.dedent('''\ #!/home/<ユーザ名>/local/python/bin/python3 # 変更する箇所 import sys import pygments.cmdline try: sys.exit(pygments.cmdline.main(sys.argv)) except KeyboardInterrupt: sys.exit(1) ''') print('Querying PyPI for the latest Pygments release...') pypi = xmlrpc.client.ServerProxy('https://pypi.python.org/pypi') latest_version = pypi.package_releases('Pygments')[0] url = None for release in pypi.release_urls('Pygments', latest_version): if (release['packagetype'] == 'bdist_wheel' and release['python_version'].startswith('py2')): url = release['url'] md5_digest = release['md5_digest'] break if not url: raise RuntimeError('No suitable package found.') print('Retrieving version %s (%s)...' % (latest_version, url)) req = urllib.request.urlopen(url) buf = io.BytesIO(req.read()) print('Verifying...') if hashlib.md5(buf.getvalue()).hexdigest() != md5_digest: raise RuntimeError('MD5 checksum mismatch.') print('Creating executable ZIP bundle...') with zipfile.ZipFile(buf, 'a') as zf: zf.writestr('__main__.py', PYGMENTIZE_LAUNCHER) data = buf.getvalue() script_dir = os.path.dirname(os.path.abspath(__file__)) file_path = os.path.join(script_dir, 'pygmentize') with open(file_path, 'wb') as f: f.write(b'#!/home/<ユーザ名>/local/python/bin/python3\n') # 変更する箇所 f.write(data) file_st = os.stat(file_path) os.chmod(file_path, file_st.st_mode | stat.S_IEXEC) with open(os.path.join(script_dir, 'VERSION'), 'w') as f: f.write(latest_version + '\n') print('Done. Wrote %s bytes to %s' % (len(data), file_path)) </syntaxhighlight> #: <br> # 次に、上記で編集したcreate_pygmentize_bundleファイルを使用して、pygmentizeを再作成する。 #: <pre>/home/<ユーザ名>/local/python/bin/python3 ./create_pygmentize_bundle</pre> #: <br> # pygmentizeファイルに実行権限を付加する。 #: <pre>chmod +x pygmentize</pre> #: <br> # 最後に、Webブラウザのキャッシュを削除して、Syntaxhighlight Geshiが正常に動作しているか確認する。<br> <br><br> == Python3のインストール == pyenvをインストールして、Pythonのバージョンを簡単に切り替えるように設定する。<br> <br> pyenvのインストールするため、以下のコマンドを実行する。<br> git clone --depth 1 https://github.com/yyuu/pyenv.git ~/.pyenv <br> pyenv-virtualenvをインストールするため、以下のコマンドを実行する。<br> git clone --depth 1 https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv <br> 次に、.bashrcファイルに以下の設定を追記する。<br> export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" export TMPDIR="$HOME/tmp" export PYTHON_PATH=./ eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" <br> .bashrcファイルの設定を反映させる。<br> source ~/.bashrc <br> pyenvを使用して、Pythonをインストールする。<br> # インストールできるPythonのバージョンを表示する pyenv install --list # Pythonのバージョンを指定して、Pythonをインストールする pyenv install 3.8.7 <br> 以下に示すように、confファイルを開くことができないというメッセージが出力されるが、正常にインストールされる。<br> Downloading Python-3.8.7.tgz... -> https://www.python.org/ftp/python/3.7.6/Python-3.8.7.tgz Installing Python-3.8.7... pkg: Unable to open '/usr/local/etc/pkg/repos//sakura11-repo.conf':Permission denied pkg: Insufficient privileges to query the package database pkg: Unable to open '/usr/local/etc/pkg/repos//sakura11-repo.conf':Permission denied pkg: Insufficient privileges to query the package database Installed Python-3.8.7 to /home/beginner/.pyenv/versions/3.8.7 <br> Pythonが正常にインストールされているか確認する。<br> /home/hogehoge/.pyenv/versions/3.8.7/bin/python3 --version <br> 使用できるPythonのバージョンを確認する。<br> pyenv versions * system (set by /home/hogehoge/.pyenv/version) 3.8.7 <br> 特定のPythonのバージョンに変更する。<br> pyenv global 3.8.7 <br> 現在、設定されているPythonのバージョンを確認する。<br> python -V <br><br> __FORCETOC__ [[カテゴリ:MochiuWikiの設定]]
MediaWikiの設定 - さくらインターネット
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse