忍者ブログ
プログラムに関連する技術などを紹介します。自製品の宣伝もかねていますので、お気に召したらリンク踏んでやってください。
Admin | Write
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

xamppの導入直後、アプリで時間がずれます。

結論から言うと、PHPで時間がずれています。
このためcakePHPやphpmyadminなどで問題が発生します。

対処は、以下で行います。

・変更するファイル
 /opt/lampp/etc/php.ini
 ※Linux版
 ※/optにlamppを導入した場合

・変更内容
 以下の該当部分を変更
  ;date.timezone = Europe/Berlin
date.timezone = Asia/Tokyo
 ※1行目が元の値、2行目が新しい値です。
 ※1行目はコメントアウトしてあります。

変更が完了したら、サービスを再起動してください。
;/opt/lampp/lampp restart

拍手[0回]

PR
以下の環境構築を目指します。

[OS]
・Ubuntu12.04 日本語remix

[サービス]
・xampp(xampp-linux-1.7.7.tar.gz)
・postgresql
・phppgadmin(phpPgAdmin-5.0.4.tar.gz)

目指すとは、当方で動作確認した方法を実施していただくことにより、参照された方にも
動作環境を確認していただき、環境の完成をご確認いただくといった意味合いです。

なお事前に固定IPにしてあることを前提としています。
またroot権限で作業をしていることを前提としています。

(1)xamppのインストール
  基本は、ubuntu japanese teamのページに導入方法が記載してあります。
https://wiki.ubuntulinux.jp/UbuntuTips/Server/Xampp

ここでは上記の導入に加え、サーバ上での環境設定を行います。
※単純に導入しただけではpathが通っていないため、php -lなどのコマンドが
 使用できません。

コマンドラインからnautilusを起動します。
root@yellow-VirtualBox:/opt/lampp# nautilus  
※以下、コマンドラインのオレンジはメッセージです。

57dff61f.png

なにか警告が出ることがありますが、特に気にせず作業を進めます。

あらかじめ圧縮ファイルをダウンロードしておきます。
nautilusでそのファイルをダブルクリックすると、アーカイブマネージャが起動します。

5bdda0d8.png

lamppディレクトリを選択し、/opt直下に展開します。

/opt/lamppに移動し、起動してみます。

root@yellow-VirtualBox:/opt/lampp# ./lampp start
Starting XAMPP for Linux 1.7.7...
XAMPP: Starting Apache with SSL (and PHP5)...
XAMPP: Starting MySQL...
XAMPP: Starting ProFTPD...
XAMPP for Linux started.

上記のようになれば、起動成功です。

パスワードは、同じディレクトリで以下のように入力します。

root@yellow-VirtualBox:/opt/lampp#  ./lampp security

この状態で、ブラウザからサーバにアクセスしてみます。

b2a32e39.png

上記画像が出ていれば、成功です。


(2)xamppの環境設定
  この状態だと、OS起動時に自動起動しません。
また、"php -l"などの常用コマンドが使用できません。

ここでは、それらの設定を行います。

・起動設定
  /etc/rc.local内のexitの前に、以下の一文を追加します。
  /opt/lampp/lampp start

・PATH設定
  /etc/environmentに、以下の黄色部分を追加します。
  PATH="/usr/local/sbin:...(※中略)...:/usr/games:/opt/lampp/bin"

ここで再起動をします。
コマンドラインでphpが使用でき、apacheが起動していれば成功です。

root@yellow-VirtualBox:/home/yellow# php -v
PHP 5.3.8 (cli) (built: Sep 19 2011 13:29:27)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies

root@yellow-VirtualBox:/home/yellow# /opt/lampp/lampp status
Version: XAMPP for Linux 1.7.7
Apache is running.
MySQL is running.
ProFTPD is running.


(3)postgresqlの導入と設定
 
f30a032d.png

postgresql本体をubuntuソフトウェアセンターから導入します。

導入後に、以下の手順を実施します。
ここはしんどい作業になります。注意して作業を行ってください。

postgresはデフォルトのデータベースが日本語に対応していません。
なのでデータベースそのものをどうにかしなければなりません。
今回はデータベースを再生成します。
なおここでご紹介する手法では、古いデータベースの内容を破棄します。
なので、postgresの導入直後に作業することをお勧めします。

以下、Ubuntu端末画面のコマンド入力です。なおコマンドが長くなっているため、
一部改行してしまっています。注意してください。
薄い青字は注釈です。オレンジはメッセージです。実際はこの色で表示されません。
バージョン(下記では9.1)が変わっている可能性がありますので注意してください。
root@yellow-virtual-machine:/usr/lib/postgresql/9.1# cd /var/lib/postgresql/9.1/
        →  DB本体のファイルがあるディレクトリに移動
root@yellow-virtual-machine:/var/lib/postgresql/9.1# /etc/init.d/postgresql stop
 * Stopping PostgreSQL 9.1 database server                               [ OK ]
        →  postgresを停止
root@yellow-virtual-machine:/var/lib/postgresql/9.1# mv main main.backup
        →  旧DBを念のためバックアップ(移動)
root@yellow-virtual-machine:/var/lib/postgresql/9.1# mkdir main
        →  新しいDB用のディレクトリを生成
root@yellow-virtual-machine:/var/lib/postgresql/9.1# chown postgres:postgres main
        →  ディレクトリオーナの変更
root@yellow-virtual-machine:/var/lib/postgresql/9.1# su - postgres
        →  権限をpostgresに変更
postgres@yellow-virtual-machine:~$ /usr/lib/postgresql/9.1/bin/initdb -D /var/lib/postgresql/9.1/main -E EUC-JP --no-locale
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale C.
The default text search configuration will be set to "english".

fixing permissions on existing directory /var/lib/postgresql/9.1/main ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 24MB
creating configuration files ... ok
creating template1 database in /var/lib/postgresql/9.1/main/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating collations ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
loading PL/pgSQL server-side language ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.

Success. You can now start the database server using:

    /usr/lib/postgresql/9.1/bin/postgres -D /var/lib/postgresql/9.1/main
or
    /usr/lib/postgresql/9.1/bin/pg_ctl -D /var/lib/postgresql/9.1/main -l logfile start


        →  データベースファイルを生成(※1)

postgres@yellow-virtual-machine:~$ exit
ログアウト
        →  postgres権限終了
root@yellow-virtual-machine:/var/lib/postgresql/9.1# ln -s /etc/ssl/certs/ssl-cert-snakeoil.pem main/server.crt(※3)
root@yellow-virtual-machine:/var/lib/postgresql/9.1# ln -s /etc/ssl/private/ssl-cert-snakeoil.key main/server.key(※3)
        →  DBに必要なシンボリックリンクを作成(2つ)
root@yellow-virtual-machine:/var/lib/postgresql/9.1# /etc/init.d/postgresql start
 * Starting PostgreSQL 9.1 database server                               [ OK ]
        →  postgresを起動(※2)
root@yellow-virtual-machine:/var/lib/postgresql/9.1#

  ※1: デフォルトだと「--no-locale」オプションがないため、2バイト文字が扱えません。
本書ではデフォルトをEUC-JPにしています。その他のコードでDBを生成する場合は、こちらをご参照ください。
  ※2: ここで起動失敗(OKではなくfail)が出るようであれば、手順が誤っています。作成したmainディレクトリを削除し、作業をやりなおしてください。
どうしてもダメだった場合、main.backupをmainに書き戻してください。その際日本語はDBデータとして使えません。
   ※3: この手順はUbuntu12.04/Postgresql9.1の手順です。
その他のバージョンではシンボリックリンクの内容などが異なることがあります。


(4)postgresqlユーザの追加
  postgresユーザ(DBアクセス専用)を追加します。
このユーザはPostgresDBに登録され、Linuxユーザには登録されません。
今回はサーバで複数のユーザを扱うことを想定していません。
PHP経由でスーパユーザアクセスのみ想定しています。

以下、Ubuntu端末画面のコマンド入力です。なお薄い青字は注釈です
root@yellow-virtual-machine:/var/lib/postgresql/9.1# su  postgres
        →  権限をpostgresに変更
postgres@yellow-virtual-machine:~$ createuser -P xxxxxx
        →  xxxxxxというユーザを作成(適宜変更してください)
Enter password for new role:
Enter it again:

        →  パスワードの入力&再入力(適宜入力してください)
Shall the new role be a superuser? (y/n) y
        → スーパーユーザー権限の付与(適宜入力してください)
postgres@yellow-virtual-machine:~$ exit
ログアウト
        →postgres権限の終了


(5)phppgadminの導入と設定
  あらかじめ圧縮ファイルをダウンロードしておきます。
nautilusでそのファイルをダブルクリックすると、アーカイブマネージャが起動します。

内容を、/opt/lampp/htdocsに展開してください。
展開後、以下のコマンドでフォルダの名前を変更(move)します。

root@yellow-VirtualBox:/opt/lampp/htdocs#  ls
favicon.ico  index.php  phpPgAdmin-5.0.4  webalizer  xampp
root@yellow-VirtualBox:/opt/lampp/htdocs# mv phpPgAdmin-5.0.4 phppgadmin
 ※nautilusの起動および圧縮の展開は、(1)をご参照ください。
 ※バージョンにより、move元となるフォルダ名が異なる可能性があります。

続いて、設定の変更を行います。
/opt/lampp/htdocs/phppgadmin/conf/config.inc.php を、以下のように編集します。

$conf['servers'][0]['host'] = '';

  ↓ ※変更 ↓


$conf['servers'][0]['host'] = 'localhost';

この状態で、ブラウザからアクセスしてみます。(http://127.0.0.1/phppgadmin/ など)

bc3e7834.png

正しくログオンできれば、設定は成功です。


(5)phpのワーニング
  ソフトウェアセンターから導入したPHPと違い、警告が表示されることがあります。
この動作が好ましくない場合は、サーバ設定を変えることができます。

/opt/lampp/etc/php.iniの該当位置を、以下のように変更してください。

error_reporting = E_ALL | E_STRICT

  ↓ ※変更 ↓

error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED

レンタルサーバなどでは、ここまで厳密な警告は表示されないところが多いようです。
また古いプログラムなどは最新の環境に対応しておらず、それが原因で警告が出る
こともあるようです。

ただ一部機能を無効化していることには変わりありません。
少なくとも、無効化した内容は把握しておくことを薦めします。
詳細は、PHPのマニュアルをご参照ください。

http://php.net/manual/ja/errorfunc.constants.php

(x)その他
  このままだと、PHPで取得できる時間がずれます。
対処については、 xampp/PHPで時間がズレる をご参照ください。

拍手[0回]

この方法は、Ubuntuでroot権限作業を連続的に実施する際に
rootとしてログオンする方法です。

環境を破壊する危険性を十分に把握し、すべての作業に注意
して実施するようにしてください。



管理者権限アカウントで端末を起動し、以下のコマンドを入力します。

sudo su

パスワードを聞かれるので、入力してください。
端末でrootとして作業できます。

拍手[0回]

現状提供されているUbuntu11.10のことについて記載します。


64bit版ですが、基本的にデメリットの方が上回ります。


64bit版のメリットとしては64bitの実行コードが使用できるため、
速度の向上が期待できます。

デメリットとしては、64bitに対応していないコードを使用する際に
32bit版と比較して速度が落ちる点です。

かなり多くのものは64bitコードを提供していない筈ですので、
ものによっては全体として速度が落ちる可能性があります。


64bitWindowsにある、メモリが多く使用できるというメリットは
Ubuntuには存在しません。

32bit版のUbuntuでも4G超のメモリを使用できます。
(※1)

上記のような事情から、Ubuntuでは32bit版の使用を推奨して
おり、64bit版は興味のある人向けという位置づけになっている
ようです。


※1:32bit版での4G超メモリについて

PAEカーネルを導入することにより使用が可能になります。
状況によってはPAEの導入がされていない、できない場合が
あり、4G超を使用できない可能性があります。

拍手[1回]

phppgadminを使用し、空の日本語データベースを作成します。

この作業には、事前に以下のものが動作するサーバが必要です。

・postgreSQL
・phppgadmin

サーバ上の環境については、サーバ管理者様にお問い合わせください。



b3890d95.png ブラウザからphppgadminのページを
開きます。

左上の「PostgreSQL」をクリックすると
ログオンを求められます。

636de8a2.png ログオンに成功すると、データベースの
一覧が表示されます。

一覧の下の「データベースを作成する」を
クリックします。

※画像は一部加工してあります。

e72c99d6.png 作成するデータベースの名前を入力します。
エンコードはアプリに適合したものを選択
してください。

なおpostgreSQLの環境が日本語向けに
セットアップされていない場合は正しく作成
できません。(※1)
 

f3ada0e3.png データベースの作成に成功すると、
「データベースを作成しました」と表示され、
一覧に作成したデータベースが追加されます。

※画像は一部加工してあります。



※1
postgreSQLインストール直後(初期状態)では日本語が使用できません。
Ubuntuに関しては、こちらの「環境構築」にセットアップ方法を記載してあります。
バージョンが合致するものをご参照ください。
またUbuntu以外でも、Postgres8系であれば参考になる場合もあります。

 

拍手[0回]

カウンタ
ブログ内検索
忍者アド
カレンダー
03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
最新トラックバック
最新コメント
[11/30 アオフン]
[10/18 ティンバーランド レディース]
[08/05 鍛冶屋の紅]
[08/01 渡邉英徳]
プロフィール
HN:
鍛冶屋の紅
性別:
男性
バーコード
アクセス解析
忍者ブログ [PR]

Designed by