2007年12月14日金曜日

WordPressのインストール (1)

「2兆円稼ぐテレビ業界 平均年収は」は、こちらに引っ越しました。

どっちにするか迷っちゃう


世界で人気の WordPressだが、日本語バージョンは2系統ある。
一つがWordPress JapanのME 2.0.11/ME 2.2.3(以後 Japanと呼ぶ)、もう1系統が
WordPress.org 公式ローカルサイトによる バージョン(以後 orgと呼ぶ)である。(3つあるじゃないかという野暮な質問はなし)

まずは Japanの wordpress-2.2.3-multilingual-edition をインストールしてみる。

  1. ダウンロード
    wordpress-2.2.3-multilingual-editionをダウンロードする。
  2. アップロードと展開
    ftpでwordpress-me223.zipをアップロードする。
    アップロード先で展開する。

    # unzip wordpress-me223.zip

    # ls -l
    drwxr-xr-x 5 root root 4096 Dec 13 14:04 wordpress
    -rw-r--r-- 1 user1 user1 1189082 Dec 13 14:04 wordpress-me223.zip


  3. データベースを準備する
    # mysql -uroot -puser1

    rootの設定を指定していない時は、まずroorを設定する。
    #mysql
    mysql> set password = password('rootpswd');

    mysql> grant ALL on wordpless1.* to myuser2@localhost identified by 'passwd12letter'; <-- ユーザを設定する

    mysql> show grants for myuser1@localhost <-- 設定確認
    +---------------------------------------------------------------------------+
    | Grants for myuser2@localhost |
    +---------------------------------------------------------------------------+
    | GRANT USAGE ON *.* TO 'myuser2'@'localhost' IDENTIFIED BY PASSWORD '*332F799886647ACC26ABCDEF588C71E453F85' |
    | GRANT ALL PRIVILEGES ON `wordpless1`.* TO 'myuser2'@'localhost' |
    +---------------------------------------------------------------------------+
    2 rows in set (0.00 sec)

    mysql>flush privileges ; <-- ユーザ操作のおまじない(GRANTは不要/INSERTなら必要)

  4. WordPress用データベースを用意する
    mysql> create database wordpless1; <-- WordPress用データベースを用意

    mysql> show databases; <-- wordpress用データベースを確認
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | mysql |
    | nucleus1 |
    | wordpless1 |
    +--------------------+

  5. インストール
    http://www.example.com/wordpress/にアクセスする。
    WordPress のインストールにはこの設定ファイルが必要です。
    1. データベース名 wordpless1 <-- WordPress用データベース名
    2. ユーザー名 adm1nwordpless1 <-- WordPress用データベースユーザ名
    3. パスワード wprsad1ko <-- WordPress用データベースユーザパスワード
    4. ホスト名 localhost
    5. テーブル接頭語 wordpless1_ <-- WordPressを複数動かすときはあると楽
    ブログの文字コード UTF-8
    UTF-8 での運用に問題があるようでしたら ME2.0 系をご利用ください。.

    何らかの理由でこのウィザードが機能しない場合でも心配要りません。データベース設定のすべては別ファイルにて行うことが出来ます。同梱されている wp-config-sample.php をテキストエディタで開き、必要情報を記述したうえで wp-config.php とリネームして保存後に、サーバーへアップロードしてください。
    あなたのデータベース情報が不明な場合は、このウィザードを進める前にレンタルサーバー(ホスティング)サービスに問い合わせてください。すべて準備ができている場合はこちらをクリックしてください。

    複数のWordPressを動かすときは、データベースを別にするか、テーブル接頭語で区分けをする。

    ブログ名: blog1 <-- このWordPressで動かすブログ名
    メールアドレス: sample@@example.com

  6. インストールの完了
    インストール完了ページが表示される。

    ログイン名 "admin" とパスワード "999999" でログインすることができます。
    ユーザー名 admin
    パスワード 999999
    ログインアドレス wp-login.php

    これを紛失するとデータベースからテーブルを削除し、WordPress を再インストールしなければならなくなりますのでご注意ください。

  7. ログイン画面
    さっきのユーザ名とパスワードでhttp://www.example.com/user1/wordpress/wp-login.php ログインする。


  8. 「ようこそ」画面が現れる
    ユーザ名とパスアワードが正しければ、http://www.example.com/wp-admin/で「ようこそ」画面が表示される。

    右上の表示が「サインアウト」で、下左のお知らせ部分が日本語表示なのが、Japanの特徴。



環境

Debian GNU/Linux Etch 2.6.18
mysql- 5.0.32
phpmyadmin 2.9.1

2007年11月27日火曜日

phpmyadmin の最初のセキュリティのこと

「テレビの周りはアンデッドばかり」は、こちらに引っ越しました。

みんな同じじゃザルだろうに


MySQLのデータベースを管理するのに役立つ
phpmyadmin だが、Defaultの設定では、ディレクトリは /var/www/phpmyadmin となる。
phpmyadminをインストールし デフォルト設定のままであれば、http://www.example.com/phpmyadmin/で phpmyadminのログイン画面が表示されることになる。
NucleusやWordPressがインストールされているサーバーなら MySqlを利用しており、その管理に phpmyadminを使っている可能性は極めて高い。しかも、phpmyadminのログイン画面を表示する index.phpの動作は、ソースを見れば一目瞭然である。
このURLの存在を隠すことは、ハッキング対策の第一歩となる。

※ phpmyadminの設定を変更する方法もあるが、ユーザごとに調整するのは作業が増える。
  一括して記述することで管理の簡素化と保守の容易さを狙う。


  1. phpmyadminのインストール
    #apt-get install phpmyadmin

  2. Apacheの設定ファイルを追加する

    /etc/apache2/conf.d/phpmyadmin.conf を作成し任意の場所でのアクセスを可能にする

    Alias /user1/myadm /var/www/phpmyadmin
    Alias /user2/myadm /var/www/phpmyadmin

    <Location /user1/myadm>
    Order deny,allow
    Deny from all <--全アクセス不許可
    Allow from 127.0.0.1
    Allow from 192.168.0 <-- 内部ネットワークのみアクセスを許す
    </Location>

  3. apacheを再起動
    # /etc/init.d/apache2 restart
    Forcing reload of web server (apache2)... waiting .

  4. http://www.example.com/user1/phpmyadm/
    でアクセス可能になる。


失敗例1

  • phpmyadminの場所を確認する

    # whereis phpmyadmin
    phpmyadmin: /etc/phpmyadmin /usr/share/phpmyadmin

    任意の場所にシンボリックリンクを張る
    # ln -s /usr/share/phpmyadmin myadmin

    ブラウザでシンボリックリンクにアクセスする。
    http://192.168.0.8/~user1/myadmin
    以下の文章が表示される。

    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, webmaster@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.


    失敗例2

  • defaultの phpmyadminにシンボリックリンクを張る

    # ln -s /var/www/phpmyadmin myadmin

    ブラウザでシンボリックリンクにアクセスする。
    http://192.168.0.8/~user1/myadmin

    先と同じエラーが表示される。

    環境

    Debian GNU/Linux Etch 2.6.18
    mysql- 5.0.32
    phpmyadmin 2.9.1
  • 2007年11月18日日曜日

    Phpmyadmin のインストール

    「日本のテレビはまだましかも アメリカなんかサバイバル」は、こちらに引っ越しました。

    Phpmyadminのインストール

    1. phpmyadmのインストール
      # apt-get install phpmyadmin

    2. インストールの確認
      # dpkg -L phpmyadmin (抜粋)
      /usr/share/ucf/phpmyadmin
      /usr/share/ucf/phpmyadmin/etc
      /usr/share/phpmyadmin
      /usr/share/phpmyadmin/show_config_errors.php
      /usr/share/phpmyadmin/lang
      /usr/share/phpmyadmin/index.php
      /usr/share/phpmyadmin/libraries
      /usr/share/phpmyadmin/libraries/export
      /usr/share/phpmyadmin/libraries/import
      /usr/share/phpmyadmin/libraries/.htaccess
      /usr/share/phpmyadmin/libraries/engines
      /usr/share/phpmyadmin/libraries/auth
      /usr/share/phpmyadmin/libraries/fpdf/font
      /usr/share/phpmyadmin/js
      /usr/share/phpmyadmin/themes
      /usr/share/phpmyadmin/config
      /usr/share/doc
      /usr/share/lintian
      /var/www
      /var/lib/phpmyadmin
      /etc/phpmyadmin
      /usr/share/phpmyadmin/.htaccess
      /usr/share/phpmyadmin/config/config.inc.php

    3. Phpmyadmin用ユーザを用意する
      # mysql -uroot -prootpswd

      rootの設定を指定していない時は、まずroorを設定する。
      #mysql
      mysql> set password = password('rootpswd');

      mysql> grant ALL on *.* to qsecofr@localhost identified by 'qsecofr'; <-- ユーザを設定する
      Query OK, 0 rows affected (0.00 sec)

      mysql> show grants for qsecofr@localhost; <-- 設定確認
      +----------------------------------------------------------------------------+
      | Grants for qsecofr@localhost |
      +----------------------------------------------------------------------------+
      | GRANT ALL PRIVILEGES ON *.* TO 'qsecofr'@'localhost' IDENTIFIED BY PASSWORD '*9C4662253AFDZ0EBB578DD67780EH08CE3F5DE6F' |
      +----------------------------------------------------------------------------+
      1 row in set (0.00 sec)

      mysql>flush privileges ; <-- ユーザ操作のおまじない(GRANTは不要/INSERTなら必要)

    4. ログイン
      http://www.example.com/phpmyadmin/

      ユーザー名:qsecofr
      パスワード:qsecofr

      初期画面に入る。



    環境

    Debian GNU/Linux Etch 2.6.18
    mysql- 5.0.32
    phpmyadmin 2.9.1

    2007年11月15日木曜日

    Nucleusのインストール

    「テレビにも悩みがあるんだぁ ひょっとしたら死活問題かも」はこちらに引っ越しました。

    Nucleusのインストール

    1. Nucleusの入手
      Nucleus CMS Japanから、nucleus3.3_ja_utf8.zip、または nucleus3.3_ja_euc.zipを入手する。

    2. /home/nucleus1/wwwに、Nucleus用のディレクトリを作る

    3. ftpで /home/nucleus1/wwwに nucleus3.3_ja_utf8.zipをアップロードする
      # unzip nucleus3.3_ja_utf8.zip

      # ls -l /home/nucleus1/www/
      total 144
      -rw-r--r-- 1 root root 1096 Apr 20 2007 action.php
      -rw-r--r-- 1 root root 1367 Feb 3 2007 atom.php
      -rw-r--r-- 1 root root 769 Feb 1 15:29 config.php
      -rw-r--r-- 1 root root 1051 Jul 12 2006 createaccount.html
      drwxr-xr-x 4 root root 4096 Apr 30 2007 extra
      -rw-r--r-- 1 root root 169 Feb 6 2007 index.php
      -rw-r--r-- 1 root root 37125 Apr 24 2007 install.php
      -rw-r--r-- 1 root root 28116 Apr 27 2007 install.sql
      -rw-r--r-- 1 root root 18344 Feb 28 2005 license.txt
      drwxr-xr-x 2 root root 4096 Apr 30 2007 media
      drwxr-xr-x 11 root root 4096 Apr 30 2007 nucleus
      -rw-r--r-- 1 root root 471 Feb 28 2005 readme.html
      -rw-r--r-- 1 root root 38 Mar 4 2005 robots.txt
      -rw-r--r-- 1 root root 145 Feb 3 2007 rsd.php
      drwxr-xr-x 6 root root 4096 Apr 30 2007 skins
      -rw-r--r-- 1 root root 183 Feb 1 18:46 test02.php
      -rw-r--r-- 1 root root 1811 Feb 3 2007 xml-rss2.php

    4. Nucleus用ユーザ(ディレクトリ)を用意する
      # mysql -uroot -prootpswd

      rootの設定を指定していない時は、まずroorを設定する。
      #mysql
      mysql> set password = password('rootpswd');

      mysql> grant ALL on nucleus1.* to myuser1@localhost identified by 'passwd12letter'; <-- ユーザを設定する

      mysql> show grants for myuser1@localhost <-- 設定確認
      +----------------------------------------------------------------------------+
      | Grants for myuser1@localhost |
      +----------------------------------------------------------------------------+
      | GRANT USAGE ON *.* TO 'myuser1'@'localhost' IDENTIFIED BY PASSWORD '*332F73ZFE5F7188CC269122EBF0008C71E453F85' |
      | GRANT ALL PRIVILEGES ON `nucleus1`.* TO 'myuser1'@'localhost' |
      +----------------------------------------------------------------------------+
      2 rows in set (0.00 sec)

      >mysql>flush privileges ; <-- ユーザ操作のおまじない(GRANTは不要/INSERTなら必要)

    5. Nucleus用データベースを用意する
      mysql> create database nucleus1; <-- Nucleus用データベースを用意

      mysql> show databases; <-- Nucleus用データベースを確認
      mysql> show databases;
      +--------------------+
      | Database |
      +--------------------+
      | information_schema |
      | mysql |
      | nucleus1 |
      | test |
      +--------------------+
      4 rows in set (0.00 sec)

    6. インストールに必要なデータをセットする
      /home/nucleus1/www/config.phpのパーミッションをブラウザで書き換え可能にする。

      # chmod 777 /home/nucleus1/www/config.php

      http://www.example.com/~nucleus1/install.phpを表示する。

      基本のデータベース設定
      ホスト名:localhost
      ユーザー名:myuser1 <-- Nucleus用データベースのユーザ
      パスワード:passwd12letter <-- Nucleus用データベースのユーザ
      データベース名:nucleus1 <-- Nucleus用データベース

      URLs and directories
      Site URL: http://www.example.com/~nucleus1/
      Admin-area URL: http://www.example.com/~nucleus1/nucleus/
      Admin-area path: /home/nucleus1/www/nucleus/
      Media files URL: http://www.example.com/~nucleus1/media/
      Media directory path: /home/nucleus1/www/media/
      Extra skin files URL: http://www.example.com/~nucleus1/skins/
      Extra skin files directory path: /home/nucleus1/www/skins/
      Plugin files URL: http://www.example.com/~nucleus1/nucleus/plugins/
      Action URL: http://www.example.com/~nucleus1/action.php

      管理権限を持つユーザー <-- Nucleusの初期管理者
      表示される名前:Nucleus1
      本名(ハンドル名):Unknwon1
      パスワード:passwdstr
      パスワードの確認:passwdstr
      メールアドレス:testNucleus@example.com

      Blog名: My Nucleus CMS
      Blogの短縮名: mynucleuscms

      CRを押す。または「実行」をクリック。

    7. 完了画面が表示される
      インストールは完了しました!
      Nucleusはインストールされ、config.phpはアップデートされました。
      セキュリティのためconfig.phpのパーミッションを444に戻すことを忘れないでください(パーミッション変更の簡易ガイド)。
      インストールファイルの削除
      ウェブサーバから次のファイルを削除してください:
      ・ install.sql:テーブルの構造を内包するファイル
      ・ install.php:このファイル
      もしこれらのファイルを削除していなければ、管理領域を開くことが出来ません。
      ウェブサイトの確認
      ウェブサイトを使う準備が整いました。
      ・ 管理領域にログインしてサイトの設定を行う
      ・ すぐにサイトへ行ってみる

      /home/nucleus1/www/config.phpのパーミッションをブラウザで書き換えるようにする。
      chmod 777 /home/nucleus1/www/config.php

    8. 指示に従ってインストールの後始末

      # chmod 644 /home/nucleus1/www/config.php

      # mv /home/nucleus1/www/config.php

      # chmod 644 /home/nucleus1/www/install.sql install.sql.org

      # chmod 644 /home/nucleus1/www/install.php install.php.org



    以上で Nucleus のインストールは終了。
    http://www.example.com/~nucleus1/index.phpで ブログページ「My Nucleus CMS」が表示される。

    環境
    Debian GNU/Linux Etch 2.6.18
    mysql- 5.0.32
    phpmyadmin 2.9.1