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

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

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

[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回]

PR
Comment form
Name
Title
Comment
Password   Vodafone絵文字 i-mode絵文字 Ezweb絵文字
  管理人のみ閲覧可能にする
カウンタ
ブログ内検索
忍者アド
カレンダー
10 2019/11 12
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