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

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

今年7月以降、3回目の胃腸炎です。
一応急性疾患のはずなのですが、だんだん期間が長くなっています。

そんなわけで、更新が遅れました。

って、ちょうど2年前もそんな様子でしたが(前フリ)。


Ubuntu12.10が少し前にリリースされました。

私の場合、仮想マシン上で使うのがメインです。
しかし12.10は、仮想マシンで使用するにはあまりにも重い。

原因はUI周りの変更で、グラフィック能力の要求スペックが非常に高いためです。
CompizConfigで調整するという手があるものの、それですら全然です。


ちょうど2年前、LTSがリリースされた次のバージョンも、なんや問題がありました。
こちら(自ブログ記事)


10.10も積極的に運用する気になれず、LTSである10.04を使い続けました。

今回もそうする方向で考えています。

というか、12.10が重過ぎて苦痛ですし、調査もはかどりません。
実運用でもそうなるのが確定的である以上、進める価値がありません。


ということで、12.10はこのブログで積極的に扱いません。

ちなみにxubuntu+日本語zip(これ入れないとzipの日本語ファイル名が化ける
はず)という回避策がありますが、xubuntu使うぐらいなら12.04日本語版でいいや
という判断(という逃げ)であります。

あしからず。

拍手[1回]

PR
ハードディスクにWindowsXPとUbuntu12.04をインストールし、
OSを選択して起動しようとしました。

電源投入すると、本来grubでOS選択メニューが出るはずです。

しかし通常の手順では、メニューがでずに直接Ubuntu が起動
してしまいました。

同じような症状はネット上にいくつかあったのですが、解決には
至っていませんでした。

この記事では、その解決方法を記載します。
初期状態では、grubの設定がよくないようです。
(全部がこの手で解決できるかどうかは、わかりません。)



問題が起きるまでのインストール手順は、以下のとおりです。


(1) WinXPを先頭から380GByteにインストール
※結論からいうと、サイズやパティションの切り方は、
  メニューが出ない問題とは関係ありません。
(2) Ubuntu12.04を100GByteにインストール
※CDブートで、最初のメニューからインストール



起動後、grubの選択画面が出るはずのタイミングで、モニタに
以下の表示が出ました。

7d4dd588.png






上の画面は、GreenHouse製モニタが出したエラーメッセージ
です。
モニタがサポートしていないモードの信号が送出されている様子
です。

この後にUbuntuが正常起動しました。



もちろんこのままでは、Windowsを起動できません。



以下の手順で解決しました。
すべてUbuntu上からroot権限で実行しています。

(1) /etc/default/grubの以下を編集
#GRUB_GFXMODE=640x480
GRUB_GFXMODE=800x600
※最初からコメントアウトされているものの下に、
  有効なGRUB_GFXMODEを追加しています。
(2) update-grubを実行



これでgrubメニューが正常に出るようになりました。
Ubuntu、Windowsとも正常に起動します。



恐らく、グラフィックボードではサポートしている解像度で、
モニタでサポートしていない解像度になっているか、そもそも
サポートしていない解像度が出力されているのだと思います。

こちらのモニタではエラーメッセージが出ましたが、モニタに
よってはまったく表示がでないこともあると思います。
 

拍手[0回]

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

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

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

カウンタ
ブログ内検索
忍者アド
カレンダー
02 2024/03 04
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
31
最新トラックバック
最新コメント
[11/30 アオフン]
[10/18 ティンバーランド レディース]
[08/05 鍛冶屋の紅]
[08/01 渡邉英徳]
プロフィール
HN:
鍛冶屋の紅
性別:
男性
バーコード
アクセス解析
忍者ブログ [PR]

Designed by