そろそろphpのバージョンを上げてやらねーと (3)PHPとMySQLを入替える

0
     いよいよPHPとMySQLのバージョンアップを図る。
    動作確認用にGeeklogをコピーしたテストサーバのPHP等のバージョンアップを行い、
    現バージョンで動いているものが、バージョンアップしてもちゃんと動くよね、ということを確認する。
    もちろん、それと同時に手順も確認する。

    まず、インストールされているPHP と MySQLを確認

    #rpm -qa | grep php
    php-mbstring-5.1.6-39.el5_8
    php-common-5.1.6-39.el5_8
    php-mcrypt-5.1.6-15.el5.centos.1
    php-cli-5.1.6-39.el5_8
    php-pdo-5.1.6-39.el5_8
    php-mysql-5.1.6-39.el5_8
    php-5.1.6-39.el5_8
    php-ldap-5.1.6-39.el5_8

    # php -v
    PHP 5.1.6 (cli) (built: Jun 27 2012 12:21:16)
    Copyright (c) 1997-2006 The PHP Group
    Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

    # rpm -qa | grep mysql
    mysql-connector-odbc-3.51.26r1127-1.el5
    mysql-5.0.95-5.el5_9
    mysql-server-5.0.95-5.el5_9
    php-mysql-5.1.6-39.el5_8
    libdbi-dbd-mysql-0.8.1a-1.2.2

    # mysql --version
    mysql  Ver 14.12 Distrib 5.0.95, for redhat-linux-gnu (i386) using readline 5.1

    # cat /etc/redhat-release
    CentOS release 5.4 (Final)

    では、epelリポジトリを追加。
    下記、URLから調達することにする。CentOSの5or6、32ビット/64ビットにより、ファイルが異なるので、現サーバにあったものを選択する。
    http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/5/i386/
    上記はCentOS5/32ビット版の場合。
    CentOS6の場合は・・/epel/6/ となり、64ビット版は・・/epel/5(6)/x86_64/ となる。
    ここからepelを探すと、epel-release-5-4.noarch.rpm を発見。
    # wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/5/i386/epel-release-5-4.noarch.rpm

    # rpm -ivh epel-release-5-4.noarch.rpm

    次がremiリポジトリ。
    http://rpms.famillecollet.com/enterprise/ から調達。

    # wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

    CentOS6ならば、remi-release-6.rpm を指定する

    # rpm -ivh remi-release-5.rpm

    remi リポジトリを有効化
    # vi /etc/yum.repos.d/remi.repo
    [remi]

    enabled=1   0から1に変更

    yum info で PHPのバージョン(Available Packages)を確認
    # yum info php

    5.4.15 がインストール可能と表示された
    インストールしたいのは PHP5.3なので
    # yum info php53

    Version : 5.3.3 
     Repo   : base

    ぬぬ!php5.3はbaseにいたのか。。。

    # yum info mysql

    こちらは 5.5.31 (remi)

    ん〜
    結局、今回バージョンアップしたいのは 最新版でなく php5.3、MySQL 5.1なので
    remi は要らなかったってオチです。

    しかし、PHP、MySQLとも 「最新版をインストールしたらどーなる」のか、試しておいてもよかろう。
    どーせ、テストサーバなので駄目元でやってみましょう。
    確認するのは、「Geeklog1.7.2 がPHP5.4 MySQL5.5では動かない」こと。
    まず、yum remove で PHP PHP-* MySQL を削除
    それから yum install でアンインストールしたパッケージを再インストール。

    終了後、PHP MySQLのインストール状況を確認( rpm -qa )

    ApacheとmySQLを再起動して、Geeklogのページを表示。
    おお!なんと。ちゃんと表示されているではないか。ラッキー!
    一応、細かいところのチェックをして問題ないか確認する必要はあるけど、見た目大丈夫そう。
    これはこのまま使えるかな?

    気がつけば、Geeklogの最新バージョン2.0.0がリリースされている......
    これは、Geeklogのバージョンアップも知らぬふりは出来ませんなぁ。


    そろそろphpのバージョンを上げてやらねーと (2) Geeklog準備

    0
       Geeklogを元のサーバからコピーする。

      Geeklogは、公開部(public_html)と非公開部(private)にディレクトリが分かれている。
      両ディレクトリともそのまま現サーバーから用意したテスト用のサーバーにコピーする。
      (DBのバックアップはコピーする必要はない)

      コピーする前に、GeeklogのDbmanプラグインを使って、最新のDBのバックアップを作っておく。
      このバックアップを使って、テスト用のサーバーのDBにそのままデータを流し込む。
      このバックアップは手元の作業用パソコンに残しておく。

      ここで先にバックアップしたファイルのサイズを確認しておく。
      PHPの設定で、upload_max_filesize が定義されているが、Defaultが2Mになっている。
      バックアップしたファイルがこれより大きいとエラーになってしまうので、この値をもう少し大きくとっておく。

      # vi /etc/php.ini

      upload_max_filesize = 8M   とりあえず8Mにしてみた。

      HTTPD 再読込み
      # /etc/rc.d/init.d/httpd reload

      次にデータベースを複製。
      先に述べた privateディレクトリに ファイル db-config.php がある。この中にDB情報が記述されている。

      $_DB_host = 'localhost';
      $_DB_name = 'eroero';
      $_DB_user = 'eroero';
      $_DB_pass = 'eroeropasswd';
      $_DB_table_prefix = 'gl_';
      $_DB_dbms = 'mysql';

      この情報を元に、phpMyAdminを使って、特権ユーザー($_DB_user )とデータベース($_DB_name)を作成する。パスワードも$_DB_passをそのまま使う。
      phpMyAdminにroot権限でログイン後、特権->新規ユーザ登録と進む。
      上記例だと次の様になる。
      ユーザー名  eroero
      ホスト     ローカル
      パスワード  eroeropasswd
      ユーザ専用データベース
       同名のデータベースを作成してすべての特権を与える を選択 して実行
      これで ユーザー名 eroero と専用の同名データベースeroero が作成された。

      続けて、インポートから先にバックアップしておいたファイルを流し込む。
      作成したデータベースeroeroを選択し、インポートを選ぶ。
      インポートするファイルを指定して実行すれば、テーブルのコピーが出来上がる。

      今度は、コピーしたGeeklogのサイトを他のパソコンのブラウザからアクセスできるようにaliasを切っておく。
      /etc/httpd/conf.d/eroero.conf を作成する。内容は次のような感じ。
      Alias /eroero /var/www/html/eroero/public_html

      これで http://localhost/eroero で /var/www/html/eorero/public_html/ からページが表示される。(要 httpd reload)

      これで準備ができたと思ったら大違い。GeeklogのDBには、URLや自ドメインの情報を持っていて、こいつを書き換えてやらないと動いてくれない。

      そこで便利なツールが Geeklog緊急レスキューツール rescue.php。これを public_html/admin 下に予めコピーしておいてブラウザから呼出す。
      http://localhost/eroero/admin/rescue.php
      データベースのパスワードを入力して実行すると、要変更の項目を簡単に変更できる。
      「$_CONF値を編集する」 を選んで site_url など 新しいサーバーの設定に変更する。
      これで http://localhost/eroero が表示できるようになった。

      さらに、表示されたGeeklogのサイトにroot権限でログインし、管理者専用メニューのコンフィグレーションで各pathが変更されているか確認する。ディレクトリの構成をオリジナルから変えた場合は手動で変更が必要となる。

      これでGeeklogサイトのコピーができた。rescue.php はサーバーの引越しの際にも便利。また、開発を別名で進めて最後にURLを変更する場合にもとても役にたつ。使った後はちゃんと削除しておきましょう。




      そろそろphpのバージョンを上げてやらねーと (1) 準備

      0
         まずは、足元に転がっているパソコンにCentOSをインストールし、現環境を作るところから始める。

        引き出しにインストールCDがあったので、それを使う。GNOME環境にしておけばインターネットにも簡単アクセス。
        HTTPD を起動してブラウザでlocalhostを確認。「Apache 2 Test Page」が表示されるところまでは難なく出来た。

        PHP を インストール
        # yum install php php-mbstring
        バージョンを確認
        # rpm -q php
        php-5.1.6-39.el5_8
        現環境と同じ。

        続いて mysql
        # yum -y install mysql-server
        こちらもバージョンを確認
        # rpm -q mysql-server
        mysql-server-5.0.95-5.el5_9

        次は php-mysql と php-mcrypt
        # yum -y install php-mysql

        # yum -y install php-mcrypt   ありゃ!already installed だった。

        ここで phpinfo()で確認。
        # echo "<?php phpinfo(); ?>" > /var/www/html/info.php

        Apacheを再起動
        # /etc/rc.d/init.d/httpd restart

        ブラウザで info.php を確認。
        mysql だとか mbstring だとか、ちゃんと表示されています。

        いよいよ phpMyAdminをインストール。
        # wget http://downloads.sourceforge.net/project/phpmyadmin/phpMyAdmin/2.11.11/phpMyAdmin-2.11.11-all-languages.tar.gz
        # tar zxvf phpMyAdmin-2.11.11-all-languages.tar.gz
        # mv phpMyAdmin-2.11.11-all-languages /var/www/html/phpMyAdmin

        config ファイルの編集
        # cp /var/www/html/phpMyAdmin/config.sample.inc.php /var/www/html/phpMyAdmin/config.inc.php
        # vi /var/www/html/phpMyAdmin/config.inc.php
        $cfg['blowfish_secret'] にパスワードを追加し
        $cfg['DefaultCharset'] = 'utf-8';  デフォルト文字コードを追加。

        これで、phpMyAdmin をブラウザで確認。

        You don't have permission to access /phpMyAdmin on this server.

        残念。。。。

        何が悪いの? と調べていたらSELinux がしっかりとガードしていた。
        面倒なのでSELinuxを無効化して再度チャレンジ。

        やっとphpMyAdminのログイン画面が表示されました。めでたしめでたし。








        そろそろPHPのバージョンを上げてやらねーと (0) 序章

        0
           ただ今運用中のサーバー(CentOS5.4) PHPのバージョンが5.1.6-39のまま見て見ぬふりをしていたが、新しく追加されるWEBページがWordPress3.5.1とのことで、PHPのバージョンアップが避けられない状況となってしまった。

          まずは、PHPをバージョンアップしても現況のWEBページに影響がないことから確認しないといけない。現在運用中のWEBページはGeeklog。実はこちらもPHPのバージョンの影響でバージョンアップ出来ずにいた。本当、避けられないのね。。。

          まずはGeeklogの最新バージョンと対応のPHPのバージョンの調査。
          MySQLの対応バージョンも確認せねば。

          Geeklog1.8.x で指定されるPHPのバージョンは 5.2以上。
          PHP5.4は少々怖い気がするので、目標を5.3.xに置く。
          MySQLの現バージョンは5.0.95 だが、5.5だとGeeklogもバージョンアップしないといけないので、ここは5.1.xで手を打つ。5.6もリリースされているが、ここは一歩ずつ確実に参りましょう。

          一応、PHP5.4だとどうなるのか試してみたい気もする。
          最新バージョンで問題なく動いてくれれば、それはそれで非常に楽なのだから。
          といっても、あまり時間は掛けたくないので、PHP5.4チャレンジは次の機会に。
          (いつになるのやら?)


          qmailのSSL対応

          0
             Gmailから会社のSMTPサーバ経由でメールを送信できる。つまり、受け取った人には会社から送ったように見えるというわけだ。ただし、会社のメールサーバがSSL対応でなければならない。
            というわけで、SSL対応にしました。
            会社のメールサーバは、qmail + tcpserver で構築されている。

            「qmailではtcpserverをSSLに対応することで、暗号化通信が行えるようになる」とのこと。
            最近qmailの関連のブログは数が少ないのだが、自宅サーバ構築記〜CentOS〜 (オリジナルはCentOSで自宅サーバ構築と思われる)などを参考にさせてもらった。

            「サーバー証明書をどう手に入れるか」なのだが、たとえば有名なベリサインは、もっとも安くて1年で40,000円ほどかかってしまう。ちょっとした不況の風でも倒れてしまいそうな我社ではムリムリ。そこで、RapidSSLを使うことにした。(株)エスロジカルがサービスを提供している「サイフにやさしいSSL証明書」から申込んで、1年2,880円という嬉しいお値段。涙・・・
            ただし、HTTPS以外の使用(SMTP/POP over SSL や FTP over SSL)は可能だが、直接のサポートしていないとのこと。

            サイフにやさしいSSL証明書

            来年も更新するだろうから、記録として手順を残しておきます。

            続きを読む >>

            | 1/1PAGES |

            calendar

            S M T W T F S
            1234567
            891011121314
            15161718192021
            22232425262728
            2930     
            << September 2019 >>

            kanken3

            selected entries

            categories

            archives

            recent comment

            recent trackback

            recommend

            Dropboxポケットガイド
            Dropboxポケットガイド (JUGEMレビュー »)
            大河原 浩一
            iPhone・iPadユーザーには必須のDropbox。

            recommend

            Flex4プログラミング入門
            Flex4プログラミング入門 (JUGEMレビュー »)
            宮田 亮
            取り敢えず、こちらも抑えておきます。

            recommend

            Flex&Flash Builder 4 による Webアプリケーション開発ガイドブック
            Flex&Flash Builder 4 による Webアプリケーション開発ガイドブック (JUGEMレビュー »)
            クジラ飛行机
            ようやく出てきたFlashBuilder4関連本ですが、サンプル豊富で初心者にも大変分かり易く出来ている。感謝の一冊になるかな・・・

            recommend

            recommend

            Through the Looking Glass
            Through the Looking Glass (JUGEMレビュー »)
            Siouxsie and the Banshees
            スージー&バンシーズというとパンクバンドの代表選手だが、このCDに収められている60年代から70年代の名曲の数々が彼らの音楽に繋がっているっていうのが分かります。

            links

            profile

            search this site.

            others

            mobile

            qrcode

            powered

            無料ブログ作成サービス JUGEM