雑記/2012-12-12

https://dexlab.net:443/pukiwiki/index.php?%BB%A8%B5%AD/2012-12-12
 

スタードメインを使ってpukiwikiサイトの移設

今までサイトを置いていたland.toが無料とはいえ、非常に遅く、繋がらない事も多く使い物にならなくなってきたため、スタードメイン に移設する事にした。

  • メリット
    • ドメインがそこそこ安い。 .com 920円/年, .net 850円/年, .jp 2280円/年
    • ドメインを取得すると、HDD:3GB、Apache:2.2.x、PHP:5.3.3、MySQL:5.0.77、広告なしで使えるスターサーバープラスが一つ無料で使える。サブドメイン10個まで扱える
    • DNS管理画面でワイルドカード(*.example.com) 設定が使える(ムームードメインでは使えなかった)
  • デメリット
    • レジストラロックされている。移管には解約が必要
    • アダルトサイトは禁止 ネットオウル株式会社 利用規約 第20条 禁止事項
    • スターサーバープラスはphpがCGI動作のため一部動作しない機能がある。(pukiwikiのユーザ認証等。ただし.htaccess追加で使用できた)
    • スターサーバープラスのphpはallow_url_fopen=0なので、fopen(), file_get_contents()で外部URLを開けない。代わりにcurlを使う事で回避はできる。PHP: fopen - Manual curlで検索
  • phpの詳細。phpinfo()は使えないようになっている。
    <?php var_export(ini_get_all());
    allow_url_fopen0
    file_uploads1
    date.timezoneAsia/Tokyo
    max_execution_time30
    max_file_uploads20
    memory_limit30M
    upload_max_filesize30M

ドメイン購入

  1. ドメインを決める
  2. 新規登録からアカウントの登録を行う
  3. メール認証後
  4. アカウント情報登録
  5. 決済ページ
  6. プリペイドを購入
  7. 決済情報の登録
  8. ドメイン利用料に応じて、プリペイドの追加購入
    • 銀行振り込み
    • コンビニ決済
    • クレジットカード
    • PayPal
  9. 今回はPayPalで支払ってみた。850円
  10. ドメイン新規取得の画面の「再計算」ボタンで「現在のプリペイド残高」が増えているはず
  11. 問題なければ「この内容で決済する(確定)」ボタン

DNS設定、サーバ初期化

  1. ドメインメニュー > トップ から契約中ドメインが確認できる
  2. ドメイン管理ツール
  3. サーバー管理ツール > スターサーバー プラス(PHP, MySQLが使える)を選択 > 初期設定を行う(確認) > 初期設定を行う(確定)
  4. 「ログインする」でサーバ管理ツールへ移動。ここまでで初期化終了している
  5. ドメインメニュー > ドメイン管理ツール > DNSレコード編集を見ると以下のように設定されている

start-domain-dns1.jpg


FTPでファイル転送

index.html等を転送する事で外部から見れるようにする。

  1. ドメインメニュー > サーバ管理ツール
  2. FTPアカウント設定 > 編集
  3. 新規パスワードを登録
  4. ログインからWEB上のファイルマネージャから操作できるようになる

start-domain-filemanager1.jpg

  • FFFTP等の外部ソフトで操作したい場合
    • サポートマニュアル /スタードメイン
    • 接続 > 接続 > 新規ホスト
    • ホストの設定名:適当
    • ホスト名:FTPホストで表示されたサーバ名(*.star-plus.netowl.jp)
    • ユーザ名:アカウント名(例:dexlab.net)
    • パスワード:設定したパスワード
  • 不要ファイルの削除。デフォルトで作成される以下ファイルを削除
    default_page.png
    index.html

Pukiwiki設定

  1. サーバ管理ツール > php.ini設定
    mbstring.language = Japanese
    mbstring.internal_encoding = UTF-8
    mbstring.http_input = pass
    mbstring.http_output = pass
    mbstring.encoding_translation = Off
    mbstring.detect_order = UTF-8,SJIS-win,eucJP-win,JIS,ASCII
    mbstring.substitute_character = none
  • 旧サイトがある場合はFFFTPやlftp等でバックアップ
    • pukiwiki.ini.php をドメインに合わせて変更
      $modifierlink
      $notify_from
    • land.toの広告削除。skin/pukiwiki.skin.php を編集

トラブル

  • phpで真っ白なページ、またはページが表示されない場合、内部エラーが起きている。エラーを表示するように設定する。問題解決後は元に戻した方が良い。
    • サーバ管理ツール > php.ini設定 > php.ini設定変更
      display_startup_errors=On
      display_errors=On
  • pukiwikiで比較的長いページを編集時に以下のエラーが発生する。バックアップが大きすぎて最大メモリサイズを超えエラーになっている
    • Memo/Linux のページで発生したエラーメッセージ。backup/4D656D6F2F4C696E7578.gz 3.6MB
      Fatal error: Allowed memory size of 31457280 bytes exhausted (tried to allocate 48 bytes) in /home/.../.../public_html/pukiwiki/lib/backup.php on line 239
    • memory_limit=30M だった。このサーバでは変更できない。
    • ページ当たり文字数の制限が編集時と違うようですが - Q&A 動作環境
    • 対策
      • バックアップの世代、間隔を調整する。pukiwiki/pukiwiki.ini.php 。一度 pukiwiki/backup/PageName.gz の削除が必要
        $cycle  =   3; // Wait N hours between backup (0 = no wait)
        $maxage = 60; // Stock latest N backups
      • 最終手段として、バックアップしないようにする。pukiwiki/pukiwiki.ini.php
        $do_backup = 0;
  • attachref.inc.php で「ATTACHREF_UPLOAD_ADMIN_ONLY=FALSE, ATTACHREF_PASSWORD_REQUIRE=FALSE」でも添付時に「管理者パスワードが一致しません」エラーが発生する
    • 質問箱3/99 - PukiWiki-official attachプラグインを利用したXSS対策後、attachrefプラグインにて動作不具合
    • アップロード/削除にパスワードを要求するパターンでうまく動作した設定
      attach.inc.php
      ----
      define('PLUGIN_ATTACH_UPLOAD_ADMIN_ONLY', FALSE);
      define('PLUGIN_ATTACH_DELETE_ADMIN_ONLY', FALSE);
      define('PLUGIN_ATTACH_PASSWORD_REQUIRE', TRUE);
      ----
      
      attachref.inc.php
      ----
      define('ATTACHREF_UPLOAD_ADMIN_ONLY',FALSE);
      define('ATTACHREF_PASSWORD_REQUIRE',TRUE);
      ----

サイト移行

  • 新サイトを配置
  • Google Analyticsを使っている場合、ログインしてドメインを変更
  • 旧サイトに新サイトへの移行ファイルを置く
    • /.htaccess の場合
      redirect 301 / www.example.com
    • /index.php の場合
      <?php
      header( "HTTP/1.1 301 Moved Permanently" ); 
      header( "Location: http://www.example.com/" );
    • htmlで指定する場合。link rel="canonical" と http-equiv="refresh" CONTENT="0;URL=..."
      <head>
      	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      	<meta name="robots" content="NOINDEX,NOFOLLOW" />
      	<meta http-equiv="Pragma" content="no-cache">
      	<meta http-equiv="cache-control" content="no-cache">
      	<meta http-equiv="expires" content="0">
      	<link rel="canonical" href="http://www.example.com/"/>
      	<meta http-equiv="refresh" CONTENT="0;URL=http://www.example.com/">
      
      	<title>移転しました</title>
      </head>
    • pukiwikiメインのサイトなら、index.phpをindex.old.php 等にリネームし、新サイトへリダイレクトさせるファイルを配置する。
    • fileindex.zip
  1. ウェブマスターツールで新旧のサイトを登録
    • 所有権を確認で、HTMLファイルをサーバー上にアップロードする方法で「確認ファイルのコンテンツが正しくありません。」と失敗する場合、HTMLに広告等の余計なコードが挿入されるため失敗する。その場合は「メタタグを追加」の方を選択する。
  2. 新しいサイトを選択 > 健全性 > Fetch as Google で新しいサイトが取得できるか確認
  3. 古いサイトを選択 > 設定 > アドレス変更
    • アドレス変更で「ルートレベルのドメインのみに制限」と表示される場合は、サブディレクトリで認証されている場合があるが詳細不明。ただし、land.toでは再認証でも直らなかった
    • 再認証は複数のサイト所有者のサイト確認の管理を参考に、右にある「サイトを管理」>ユーザを追加/削除から、オーナー > 所有者確認ページ > 下にある「未確認にする」選択後、「別の方法で確認する」か再度認証した方が良いかも

サブドメインの追加

  • 無料で使えるスターサーバープラスではwwwを除く10個までサブドメインを追加できる
  • example.com に blog.example.com を追加したい場合
  1. サーバ管理ツール > サブドメイン設定 > サブドメイン追加
  2. FTPで見るとサブディレクトリが作られているので、その中にindex.html等のファイルを入れる
    /---blog.example.com
          index.html
    編集
  3. 新規パスワードを登録
  4. ログインからWEB上のファイルマネージャから操作できるようになる

添付ファイル: fileindex.zip 553件 [詳細] filestart-domain-filemanager1.jpg 443件 [詳細] filestart-domain-dns1.jpg 471件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-15 (土) 07:31:38 (450d)