プログラムに関連する技術などを紹介します。自製品の宣伝もかねていますので、お気に召したらリンク踏んでやってください。
以下の環境構築を目指します。
[OS]
なお事前に固定IPにしてあることを前提としています。
またroot権限で作業をしていることを前提としています。
(1)パッケージのインストール
(2)Apacheの確認
(3)Perlの確認
(4)PHPの確認
(5)postgresqlの設定
(6)postgresのユーザ追加
(7)phppgadminの確認
(8)phppgadminの設定変更
(9)/var/wwwでPerlを実施するための設定
なお当方において11.04で検出した問題は、11.10ではすべて問題ありませんでした。
過去のスクリプトは正常に動作しています。
但しPostgreSQLそのものの仕様が一部変更されており、そのままでは動作しない可能性が
あります。(デフォルトcryptのサイズが大きくなったためレコードサイズが不足するなど。)
詳細はDBの仕様をご確認ください。
[OS]
・Ubuntu11.10日本語remix
※ | 上記は確認をした環境です。英語バージョンでも手順は同じはずです。 |
[サービス]
・Apache2
・PHP5
・PostgreSQL
・phppgadmin
・Perl
目指すとは、当方で動作確認した方法を実施していただくことにより、参照された方にも
動作環境を確認していただき、環境の完成をご確認いただくといった意味合いです。
・PHP5
・PostgreSQL
・phppgadmin
・Perl
目指すとは、当方で動作確認した方法を実施していただくことにより、参照された方にも
動作環境を確認していただき、環境の完成をご確認いただくといった意味合いです。
なお事前に固定IPにしてあることを前提としています。
またroot権限で作業をしていることを前提としています。
(1)パッケージのインストール
(2)Apacheの確認
|
ブラウザを起動し、アドレスにIPアドレスを 入力してください。 左のような画面が表示されればOKです。 |
(3)Perlの確認
(4)PHPの確認
PHPスクリプトは、デフォルトで/var/www/に配置できるようになって います。以下の内容でtest.phpを作成してください。
作成したら、chmodで実行権限 をつけます。
|
||||
|
ブラウザを起動し、アドレスを入力して ください。IPアドレスが192.168.1.103の 場合は、 http://192.168.1.103/test.php になります。 左のような画面が表示されればOKです。 |
(5)postgresqlの設定
ここは他よりしんどい作業になります。注意して作業を行ってください。 postgresはデフォルトのデータベースが日本語に対応していません。 なのでデータベースそのものをどうにかしなければなりません。 今回はデータベースを再生成します。 なおここでご紹介する手法では、古いデータベースの内容を破棄します。 なので、postgresの導入直後に作業することをお勧めします。 以下、Ubuntu端末画面のコマンド入力です。なおコマンドが長くなっているため、 一部改行してしまっています。注意してください。 薄い青字は注釈です。オレンジはメッセージです。実際はこの色で表示されません。 バージョン(下記では9.1)が変わっている可能性がありますので注意してください。
|
※1: |
デフォルトだと「--no-locale」オプションがないため、2バイト文字が扱えません。 本書ではデフォルトをEUC-JPにしているので、その他のコードでDBを生成する 場合はいままでと手順が変わります。こちらをご参照ください。 |
|
※2: |
ここで起動失敗(OKではなくfail)が出るようであれば、手順が誤っています。 作成したmainディレクトリを削除し、作業をやりなおしてください。 どうしてもダメだった場合、main.backupをmainに書き戻してください。その際 日本語はDBデータとして使えません。 |
|
※3: |
この手順はUbuntu11.10/Postgresql9.1の手順です。 その他のバージョンではシンボリックリンクの内容などが異なることがあります。 |
(6)postgresのユーザ追加
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権限の終了 |
(7)phppgadminの確認
デフォルト状態では、Ubuntuのローカルアクセスにしか対応していません。 とりあえずローカルから確認します。 |
||
|
ブラウザを起動し、アドレスを入力してください。 アドレスは、 http://127.0.0.1/phppgadmin/ です。 左のような画面が表示されればOKです。 |
|
|
左袖の「PostgreSQL」をクリックすると、 ユーザ名とパスワードの入力を求められます。 (6)で登録したものを入力します。 |
|
|
認証に成功すると、左のような画面が出ます。 ここでDB作成や編集など、一通りの作業が出来ます。 |
(8)phppgadminの設定変更
(7)でも書きましたが、phppgadminはデフォルト状態でローカルアクセス (http://127.0.0.1/かhttp://localhost/)にしか対応していません。 必要に応じ変更することができます。必須ではありません。 まず、/etc/phppgadmin/apache.confを修正します。
http://192.168.1.*/からアクセスできるように変更しました。 変更を適用するには、apacheを再起動してください。
|
(9)/var/wwwでPerlを実施するための設定
/etc/apache2/sites-available/default を編集します。 以下のエントリ(/var/www)のオレンジの部分を追加します。 |
|||
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews +ExecCGI AddHandler cgi-script .cgi .pl AllowOverride None Order allow,deny allow from all </Directory> |
|||
変更を適用するには、apacheを再起動してください。
|
なお当方において11.04で検出した問題は、11.10ではすべて問題ありませんでした。
過去のスクリプトは正常に動作しています。
但しPostgreSQLそのものの仕様が一部変更されており、そのままでは動作しない可能性が
あります。(デフォルトcryptのサイズが大きくなったためレコードサイズが不足するなど。)
詳細はDBの仕様をご確認ください。
PR
過去のものがゴチャゴチャしてきたので、新しく起こし直します。
手順差分の反映および文章体裁の更新のみしています。
画像は過去ののものを使用していますが、操作はほぼ一緒です。
操作イメージとして解釈していただければと思います。
操作イメージとして解釈していただければと思います。
なお本ブログ内にてUbuntu 11.04 障害の旨の記事がありますが、
その後ホストOSから入れ直したVMWare上でUbuntu11.04日本語
remixの動作を確認しています。
remixの動作を確認しています。
恐らく当方の手順ミスと思われます。また本記事では各部を一通り
再確認をしておりますので、手順としては問題ないと思います。
・Ubuntu11.04日本語remixまたはUbuntu10.10日本語remix
※ |
上記は確認をした環境です。英語バージョンでも手順は 同じはずです。 |
[サービス]
・Apache2
・PHP5
・PostgreSQL
・phppgadmin
・Perl
目指すとは、当方で動作確認した方法を実施していただくことにより、
・PHP5
・PostgreSQL
・phppgadmin
・Perl
目指すとは、当方で動作確認した方法を実施していただくことにより、
参照された方にも動作環境を確認していただき、完成をご確認いた
だくといった意味合いです。
なお事前に固定IPにしてあることを前提としています。
またroot権限で作業をしていることを前提としています。
(1)パッケージのインストール
注)表記してあるもののみを選択します。 関連とは依存パッケージのことで、
たとえば”php5”などを選択すると、自動的に依存パッケージが表示されます。
作業者が能動的に選択する必要はありません。
(2)Apacheの確認
(3)Perlの確認
(4)PHPの確認
(5)postgresqlの設定
(6)postgresのユーザ追加
(7)phppgadminの確認
(8)phppgadminの設定変更
(9)/var/wwwでPerlを実施するための設定
なお事前に固定IPにしてあることを前提としています。
またroot権限で作業をしていることを前提としています。
(1)パッケージのインストール
synapticパッケージマネージャを起動し、 以下のものをインストールします。 ・"apache2"および関連 ・"php5"および関連 ・"postgresql"および関連 ・"php5-pgsql" ・"phppgadmin" |
たとえば”php5”などを選択すると、自動的に依存パッケージが表示されます。
作業者が能動的に選択する必要はありません。
(2)Apacheの確認
ブラウザを起動し、アドレスにIPアドレスを 入力してください。 左のような画面が表示されればOKです。 |
(3)Perlの確認
ここまでPerlをインストールしていませんが、Ubuntu9.10の場合、初期状態 で導入されています。 Perlのスクリプトは、デフォルトで/usr/lib/cgi-bin/に配置できるようになって います。以下の内容でtest.cgiを作成してください。
作成したら、chmodで実行権限 をつけます。
|
||||
ブラウザを起動し、アドレスを入力して ください。IPアドレスが192.168.1.103の 場合は、 http://192.168.1.103/cgi-bin/test.cgi になります。 左のような画面が表示されればOKです。 |
(4)PHPの確認
PHPスクリプトは、デフォルトで/var/www/に配置できるようになって います。以下の内容でtest.phpを作成してください。
作成したら、chmodで実行権限 をつけます。
|
||||
ブラウザを起動し、アドレスを入力して ください。IPアドレスが192.168.1.103の 場合は、 http://192.168.1.103/test.php になります。 左のような画面が表示されればOKです。 |
(5)postgresqlの設定
ここは他よりしんどい作業になります。注意して作業を行ってください。 postgresはデフォルトのデータベースが日本語に対応していません。 なのでデータベースそのものをどうにかしなければなりません。 今回はデータベースを再生成します。 なおここでご紹介する手法では、古いデータベースの内容を破棄します。 なので、postgresの導入直後に作業することをお勧めします。 以下、Ubuntu端末画面のコマンド入力です。なおコマンドが長くなっているため、 一部改行してしまっています。注意してください。 薄い青字は注釈です。オレンジはメッセージです。実際はこの色で表示されません。 バージョン(下記では8.4)が変わっている可能性がありますので注意してください。 |
||
root@ubuntu:/home/yellow# /etc/init.d/postgresql-8.4 stop * Stopping PostgreSQL 8.4 database server [ OK ] → postgresを停止 root@ubuntu:/home/yellow# cd /var/lib/postgresql/8.4/ → DB本体のファイルがあるディレクトリに移動に root@ubuntu:/var/lib/postgresql/8.4# mv main main.backup → 旧DBを念のためバックアップ(移動) root@ubuntu:/var/lib/postgresql/8.4# mkdir main → 新しいDB用のディレクトリを生成 root@ubuntu:/var/lib/postgresql/8.4# chown postgres:postgres main → ディレクトリオーナの変更 root@ubuntu:/var/lib/postgresql/8.4# su - postgres → 権限をpostgresに変更 postgres@ubuntu:~$ /usr/lib/postgresql/8.4/bin/initdb -D /var/lib/postgresql/8.4/main -E EUC-JP --no-locale データベースシステム内のファイルの所有者は"postgres"ユーザでした。 このユーザがサーバプロセスを所有しなければなりません。 データベースクラスタはロケールCで初期化されます。 デフォルトのテキスト検索設定はenglishに設定されました。 ディレクトリ/var/lib/postgresql/8.4/mainの権限を設定しています ... ok サブディレクトリを作成しています ... ok デフォルトのmax_connectionsを選択しています ... 100 デフォルトの shared_buffers を選択しています ... 28MB 設定ファイルを作成しています ... ok /var/lib/postgresql/8.4/main/base/1にtemplate1データベースを作成しています ... ok pg_authidを初期化しています ... ok 依存関係を初期化しています ... ok システムビューを作成しています ... ok システムオブジェクトの定義をロードしています ... ok 変換を作成しています ... ok ディレクトリを作成しています ... ok 組み込みオブジェクトに権限を設定しています ... ok 情報スキーマを作成しています ... ok template1データベースをバキュームしています ... ok template1からtemplate0へコピーしています ... ok template1からpostgresへコピーしています ... ok 警告: ローカル接続向けに"trust"認証が有効です。 pg_hba.confを編集する、もしくは、次回initdbを実行する時に-Aオプショ ンを使用することで変更することができます。 成功しました。以下を使用してデータベースサーバを起動することができます。 /usr/lib/postgresql/8.4/bin/postgres -D /var/lib/postgresql/8.4/main または /usr/lib/postgresql/8.4/bin/pg_ctl -D /var/lib/postgresql/8.4/main -l logfile start → データベースファイルを生成(※1) postgres@ubuntu:~$ exit ログアウト → postgres権限終了 root@ubuntu:/var/lib/postgresql/8.4# ln -s /etc/ssl/certs/ssl-cert-snakeoil.pem main/server.crt (※3) root@ubuntu:/var/lib/postgresql/8.4# ln -s /etc/ssl/private/ssl-cert-snakeoil.key main/server.key(※3) → DBに必要なシンボリックリンクを作成(2つ) root@ubuntu:/var/lib/postgresql/8.4# /etc/init.d/postgresql start * Starting PostgreSQL 8.4 database server [ OK ] → postgresを起動(※2) root@ubuntu:/var/lib/postgresql/8.4# |
※1: | デフォルトだと「--no-locale」オプションがないため、2バイト文字が扱えません。 なおUbuntu9.10からPostgres8.4になり、エンコード指定方法が変わりました。 本書ではデフォルトをEUC-JPにしているので、その他のコードでDBを生成する 場合はいままでと手順が変わります。こちらをご参照ください。 |
|
※2: | ここで起動失敗(OKではなくfail)が出るようであれば、手順が誤っています。 作成したmainディレクトリを削除し、作業をやりなおしてください。 どうしてもダメだった場合、main.backupをmainに書き戻してください。その際 日本語はDBデータとして使えません。 |
|
※3: | この手順はUbuntu11.04または10.10 / Postgresql8.4の手順です。 その他のバージョンではシンボリックリンクの内容が異なることがあります。 |
(6)postgresのユーザ追加
postgresユーザ(DBアクセス専用)を追加します。 このユーザはPostgresDBに登録され、Linuxユーザには登録されません。 今回はサーバで複数のユーザを扱うことを想定していません。 PHP経由でスーパユーザアクセスのみ想定しています。 以下、Ubuntu端末画面のコマンド入力です。なお薄い青字は注釈です |
|
root@ubuntu:/var/lib/postgresql/8.4# su postgres → 権限をpostgresに変更 postgres@ubuntu:~/8.4$ createuser -P xxxxxx → xxxxxxというユーザを作成(適宜変更してください) 新しいロールのパスワード: もう一度入力してください: → パスワードの入力&再入力 新しいロールをスーパーユーザとしますか? (y/n) y → スーパーユーザー権限の付与 postgres@ubuntu:/home/yellow$ exit →postgres権限の終了 |
(7)phppgadminの確認
デフォルト状態では、Ubuntuのローカルアクセスにしか対応していません。 とりあえずローカルから確認します。 |
||
ブラウザを起動し、アドレスを入力してください。 アドレスは、 http://127.0.0.1/phppgadmin/ です。 左のような画面が表示されればOKです。 |
||
左袖の「PostgreSQL」をクリックすると、 ユーザ名とパスワードの入力を求められます。 (6)で登録したものを入力します。 |
||
認証に成功すると、左のような画面が出ます。 ここでDB作成や編集など、一通りの作業が出来ます。 |
(8)phppgadminの設定変更
(7)でも書きましたが、phppgadminはデフォルト状態でローカルアクセス (http://127.0.0.1/かhttp://localhost/)にしか対応していません。 必要に応じ変更することができます。必須ではありません。 まず、/etc/phppgadmin/apache.confを修正します。
http://192.168.1.*/からアクセスできるように変更しました。 変更を適用するには、apacheを再起動してください。
|
(9)/var/wwwでPerlを実施するための設定
/etc/apache2/sites-available/default を編集します。 以下のエントリ(/var/www)のオレンジの部分を追加します。 |
|||
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews +ExecCGI AddHandler cgi-script .cgi .pl AllowOverride None Order allow,deny allow from all </Directory> |
|||
変更を適用するには、apacheを再起動してください。
|
ubuntuで.htaccessを有効化する方法です。
本気時における対応バージョンは、ubuntu10.04 / 10.10です。
(厳密に言うとUbuntuに搭載されるApacheのバージョンであるべき
なのですが、まぁそれはそれで・・・。)
/etc/apache2/sites-available/default の中の
<Directory /var/www/>
を検索し、水色の部分以下のように編集します。
編集が終わったら、コマンドラインからapacheを再起動してください。
これで、/var/www配下の.htaccessが有効になります。
別のディレクトリに設定したい場合は、上記の/var/wwwを適宜読み
替えてください。
本気時における対応バージョンは、ubuntu10.04 / 10.10です。
(厳密に言うとUbuntuに搭載されるApacheのバージョンであるべき
なのですが、まぁそれはそれで・・・。)
/etc/apache2/sites-available/default の中の
<Directory /var/www/>
を検索し、水色の部分以下のように編集します。
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews #AllowOverride None AllowOverride All Order allow,deny allow from all </Directory> |
編集が終わったら、コマンドラインからapacheを再起動してください。
# /etc/init.d/apache2 restart |
これで、/var/www配下の.htaccessが有効になります。
別のディレクトリに設定したい場合は、上記の/var/wwwを適宜読み
替えてください。
恐縮です。
個人的に体調が優れず記事を作るまで時間が取れないので、暫定で
まとめを書きます。
手抜きで申し訳ありません。
当方、サポート期間中である10.04から移行する価値が見れない
ので、10.04環境をそのまま使用しています。
10.04と10.10の差分はデスクトップ機能に集中しており、サーバ
機能としてアップデートする必要性を感じられません。
先に言ったとおり体調が優れず病院にチマチマ行っている状況です
ので、10.10は積極的に扱いません。ご容赦を。
個人的に体調が優れず記事を作るまで時間が取れないので、暫定で
まとめを書きます。
・VMWareでの導入 | |
簡易インストールを使用すると、英語が選択されてしまいます。 確認はしていませんが64bitやNetbookは日本語パッケージが含ま れていないはずなので、問題が出る可能性があります。 下記手順を参考にし、マニュアルインストール(非簡易)をすることを お勧めします。 Ubuntu 10.04 インストール編 なおNetbookEditionには公式のVMWareToolsの導入が難しいで す。OPen-VM-Toolboxなど回避パッケージの導入で対応すると 楽です。 |
・Netbook Edition | |
こちらで確認している限り、かなりのクセがあります。 下記をご参照ください。 Ubuntu 10.10 netbook |
・LAPP環境 | |
基本的に10.04の手順と同等です。 まず、下記をご参照いただければと思います。 Ubuntu9.10 / 10.04 のサーバ環境構築 手順を実施後、アップデートマネージャでパッケージの更新を 必ず行ってください。バグが発生する可能性があります。 詳細は、下記の記事をご参照いただければと思います。 Ubuntu 10.10 について(10月22日現在、解決) そのほかに、確かPostgresのスタートアップパス(/etc/init.d)が 異なります。 |
手抜きで申し訳ありません。
当方、サポート期間中である10.04から移行する価値が見れない
ので、10.04環境をそのまま使用しています。
10.04と10.10の差分はデスクトップ機能に集中しており、サーバ
機能としてアップデートする必要性を感じられません。
先に言ったとおり体調が優れず病院にチマチマ行っている状況です
ので、10.10は積極的に扱いません。ご容赦を。
windowsではそもそも「.htaccess」のように、ドットで始まる
ファイルを作れません。
(echoとリダイレクト組み合わせるとかで作れますが、抜け
道を使うと別のバージョンのWindowsで使えないとかあり
そうなので、今回はベタな手法をご紹介します。)
ホームディレクトリ配下にディレクトリを作成し、そこにアク
セス制限ファイル(.htaccess相当)を作成します。
今回はそのファイルを、「access.conf」という名前にします。
まず、apacheのconfディレクトリにあるhttpd.confを以下の
ように変更します。
それぞれディレクティブ単位(xmlタグ的なくくりり)で編集して
ください。
変更前:
変更後:(赤字部分を追加/変更)
変更後、apacheをrestartします。
タスクトレイのapacheアイコンで制御できます。
restartしたら、目的のディレクトリにあるaccess.confファイル
を作成します。「.htaccess」と同じ利用方法が実現できます。
ファイルを作れません。
(echoとリダイレクト組み合わせるとかで作れますが、抜け
道を使うと別のバージョンのWindowsで使えないとかあり
そうなので、今回はベタな手法をご紹介します。)
ホームディレクトリ配下にディレクトリを作成し、そこにアク
セス制限ファイル(.htaccess相当)を作成します。
今回はそのファイルを、「access.conf」という名前にします。
まず、apacheのconfディレクトリにあるhttpd.confを以下の
ように変更します。
それぞれディレクティブ単位(xmlタグ的なくくりり)で編集して
ください。
変更前:
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"> (省略) AllowOverride None (省略) </Directory> <FilesMatch "^\.ht"> Order allow,deny Deny from all Satisfy All </FilesMatch> |
変更後:(赤字部分を追加/変更)
<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"> (省略) AllowOverride all (省略) </Directory> AccessFileName access.conf <FilesMatch "access.conf"> Order allow,deny Deny from all Satisfy All </FilesMatch> |
変更後、apacheをrestartします。
タスクトレイのapacheアイコンで制御できます。
restartしたら、目的のディレクトリにあるaccess.confファイル
を作成します。「.htaccess」と同じ利用方法が実現できます。
このリンク踏んで!
カウンタ
ブログ内検索
忍者アド
カレンダー
最新記事
(12/11)
(09/04)
(05/27)
(05/09)
(05/09)
カテゴリー
最新トラックバック
最新コメント
プロフィール
HN:
鍛冶屋の紅
性別:
男性
アクセス解析