ubuntu8.04.2インストール
Red Hat系Linuxばかりインストールしていましたが、初めてUbuntu系のLinuxにトライしてみました。
Sever向けのVersion8.04.2をインストール
VM ware環境下でのインストールですが、特に問題なくインストール。
まぁ起動してびっくりしたのはrootユーザの使用が基本できないということ。
rootで処理したい場合はsudoコマンドを利用するそうです。
http://forums.ubuntulinux.jp/viewtopic.php?pid=1330
Server向けだけあって始めはCUIのみ、Unixライクで少し好感を持ちましたが、やっぱりGUIが欲しいところ
以下のサイトを参考に、システムの更新をしてUbuntu Desktopをインストール
http://weblibrary.s224.xrea.com/input_output/200806ubuntu-server-edition.html
vw環境だと少し時間がかかりましたが無事インストール。
今後は、各種サーバをインストールしてFWが動作するようにセットアップする予定です。
perl windows環境でのuse lib記述方法
windows環境でuse lib を使用する際に半角スペースが入るパスを指定していると
うまくパスを読み込まないようです。
原因は半角スペースを判定してそれを配列にしてしまう仕様とのことで以下の記述に変更しました。
use lib qw(C:\Program Files\Apache Group\Apache2\public_html\gwdev\libgw);
use lib q(C:\Program Files\Apache Group\Apache2\public_html\gwdev\libgw);
変更したところ、無事動作確認。
use libに関しては色々と調べてみたほうがよさそうな気配です。
以下、参考サイト
http://tds.dive-in.to/ml/tds-dev/htdocs/200005/msg00003.html
引き続き作業を行っていると以下が原因で不具合。
$CGILib::LOCK_FILE_PATH = 'C:/Program Files/Apache Group/Apache2/public_html/gwdev/lock/';
どうもシングルクォートで囲っている場合にスペースが入るとだめなようで、ダブルクォートに変更すると正常に動作を確認。
詳しくは調べきれない状況でしたが、上記指定の違いで前うまくいかなかったこともありもう少し詳しく見てみる必要がありそうです。
以下参考サイト
windows perlモジュールインストール
今までだとLinuxやUnixベースの作業が多かったのですが。
最近、window serverベースでの作業が多くなってます。
というわけでwindow server(要はwindows)にperl moduleをインストールする手順です。
Active PerlのPerl Packpage Manager(PPM)を利用するのですが。
CMDにてppmと入れるとなぜかGUI-PPMが起動…
よくわからないですが、GUIでインストールできるようなので早速調べてみます。
GUI PPMでのPerl Moduleのインストールはとても簡単ですが。
いかんせん恒例のGD::SecurityImageをインストールできません。
上記、モジュール一覧に表示されないのが原因なのですが
リポジトリを追加することで一覧情報を更新できるようです。
以下、参考サイト
http://blog.kumacchi.com/2007/06/activeperlgd.html
普通の人だったら、windowsでperlといったパターンが多いのかもしれませんが
linuxからスタートだった視点から言うと、やはりGUIは簡単ですね…。
続いてmime worddecoder.pmが見つからず…
ちょっと調べたところmime toolsに同梱されているようで、
これをインストールしたら無事動きました。
以下、参考サイト
http://pc11.2ch.net/test/read.cgi/affiliate/1131976165/217-317
2ch使えるね
インストールしたperl module一覧
Unicode/Japanese.pm
MIME/WordDecoder.pm
Crypt/RC4.pm
Image/Magick.pm
CGI/Session.pm
mysql文字コード変更
Perlにてmysqlからデータを変数に代入するとどうも文字化けする。
エンジニアにとって文字化けとは、切っても切れない関係なんでしょうか。
とりあえず、情報収集。
まずサーバの文字コードを調べる。
/etc/sysconfig/i18n
に記載されているので該当ファイルをviewしてみると。
LANG="ja_JP.UTF-8"
SUPPORTED="ja_JP.UTF-8:ja_JP:ja"
SYSFONT="latarcyrheb-sun16"
LANGの行にあるUTF-8だったのでサーバの文字コードはUTF-8のようだ。
参考URI
http://ppwww.phys.sci.kobe-u.ac.jp/~akusumoto/linux/detail.php?d=config/charset/system_charset
次にmysql
mysqlコマンドstatusの結果。
mysql Ver 14.7 Distrib 4.1.20, for redhat-linux-gnu (i686) using readline 4.3
Connection id: 16
Current database: groupware
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 4.1.20
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: latin1
Db characterset: latin1
Client characterset: latin1
Conn. characterset: latin1
UNIX socket: /var/lib/mysql/mysql.sock
Uptime: 12 min 36 sec
Threads: 1 Questions: 278 Slow queries: 0 Opens: 25 Flush tables: 1 Open tables: 19 Queries per second avg: 0.368
latin1?見たことのない文字コード
調べてみると普通にメジャーな文字コードのようで。
西ヨーロッパ言語 (ISO) ISO-8859-1 の文字コード別名のようです。
参考URI
http://www.hitachi-to.co.jp/prod/prod_2/inter/emk/help/TextEncoder/Charset.htm
とりあえずここまで。
cpanを利用したperlモジュールインストール不具合
perlモジュール(GD::SecurtyImage)を追加しようとcpanを使ってみるも、http://ftp.cpan.jp/ に接続できずにずっとリトライ…
下記、ログとなります。
cpan> install GD;;SecurityImage
CPAN: Storable loaded ok
Going to read /usr/local/bin/yes/Metadata
Database was generated on Wed, 28 Nov 2007 10:36:50 GMT
CPAN: LWP::UserAgent loaded ok
Fetching with LWP:
http://ftp.cpan.jp/authors/01mailrc.txt.gz
LWP failed with code[500] message[Can't connect to ftp.cpan.jp:80
(connect: timeout)]
Trying with "/usr/bin/wget -O -" to get
http://ftp.cpan.jp/authors/01mailrc.txt.gz
--14:09:43-- http://ftp.cpan.jp/authors/01mailrc.txt.gz
=> `-'
ftp.cpan.jp
をDNSに問いあわせています... 219.101.183.186
ftp.cpan.jp|219.101.183.186|:80
に接続しています... 失敗しました: 接続がタイムアウトしました.
再試行しています。
--14:12:53-- http://ftp.cpan.jp/authors/01mailrc.txt.gz
(試行: 2) => `-'
ftp.cpan.jp|219.101.183.186|:80
に接続しています... 失敗しました: 接続がタイムアウトしました.
再試行しています。
--14:16:04-- http://ftp.cpan.jp/authors/01mailrc.txt.gz
どうやら、サーバ(ftp.cpan.jp )にアクセスできないようなので別の方法にて対処することに。
検索してみると、ダウンロード先を他のサーバに変更する方法が載ってました。
ためしに別のサーバに変更すると無事インストール完了。
たまにこんなこともあるんでしょうかね。
参考URI
http://linux.kororo.jp/cont/server/clamav.php
インストールできたと思ったら、実はテストではじかれてインストールできなかったぽいです。
強制的にインストールすることもできるようなので、cpanサイトからソースをダウンロードしてきて
/tmpディレクトリに配置解凍。
ダウンロードURI
http://search.cpan.org/~burak/GD-SecurityImage-1.66/
解凍したファイルにあったREADMEを参考にしながら
To install this module type the following:
perl Makefile.PL
make
make test
make install
モジュール一覧からgrepしてみる。
find `perl -e 'print "@INC"'` -name 'GD*.pm' -print
/usr/lib/perl5/5.8.5/i386-linux-thread-multi/GDBM_File.pm
/usr/lib/perl5/5.8.5/i386-linux-thread-multi/GDBM_File.pm
/usr/lib/perl5/site_perl/5.8.5/GD/SecurityImage/GD.pm
/usr/lib/perl5/site_perl/5.8.5/GD/SecurityImage/GD.pm
どうやらインストール完了したらしいです。
かなり大変だった…。
次にさらに困難が、どうもGDモジュールインストールできません。
cpan > install GD
と入力すると。
下記のエラー文がでてきます、意味がわかりません。
Notice: Type perl Makefile.PL -h for command-line option summary.
**UNRECOVERABLE ERROR**
Could not find gdlib-config in the search path. Please install libgd 2.0.28 or higher.
If you want to try to compile anyway, please rerun this script with the option --ignore_missing_gd.
Running make test
Make had some problems, maybe interrupted? Won't test
Running make install
Make had some problems, maybe interrupted? Won't install
取り急ぎ、検索でヒットした方法を試してみることに。
GDモジュールに関してもモジュールをダウンロード(GD-2.39)してきて
/tmpディレクトリに配置
make make installにてモジュールをインストール。
CGI::Sessionに関してもGD同様にエラーが。
これもGDと同じように対応。
最終的にはmake make installで何とか強制インストールにて対応できるんだなと…。
ちょいと疲れました。
Linuxコマンド、ディレクトリ内のファイルもしくはディレクトリを削除
ディレクトリ内のファイルもしくはディレクトリを一括削除するため方法がわからず…
答えは
rm -rf *
*アスタ加えるだけでした…。
参考URI
mysqlアップデート(複数テーブル)
複数テーブルをまたいだupdate文
ちなみに条件式が違うテーブルの値の場合です。
selectとはこれまただいぶ書式が違うのね…。
update onsen_tbl,plan_tbl set onsen_flag1=1 where onsen_higaeruuser_idx = plan_higaeruuser_idx and plan_name = 4;
VirtualHostのCGIの実行環境(apache)の設定
cent osにてcgiが動かない模様
アクセスするとforbiddenとなるので稼動しているhttpd.confの設定を見てみることに。
先ほど設定したvirtualhostディレクティブに更に以下のCGIを許可する設定をする必要があったようです。
<VirtualHost 192.168.18.208:80>
DocumentRoot /home/77/ttd5700/
ServerName groupware.*****-hosting.jp
ErrorLog /var/log/groupware.*****-hosting.jp/error.log
CustomLog logs/all-dummy-host.example.com-access_log common
<Directory "/home/77/ttd5700">
Options FollowSymLinks Includes ExecCGI
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Options FollowSymLinks Includes ExecCGI
↑
CGI,SSIの許可
AllowOverride None
↑
.htaccessの許可(noneは不可、可の場合はAll)
Order allow,deny(許可してから拒否)
Allow from all(全てのアクセスを許可)
アクセス制限の記述
参考サイト
http://www.adminweb.jp/apache/allow/index1.html
virtual host (apache)の設定。
グループウェア環境同期のため virtual host 設定
まず、ホスト名の確認と修正方法。
以下の二つのファイルを修正してホスト名を変更する。
/etc/hosts
/etc/sysconfig/network
どうやら、/etc/hostsだけの修正だとuname -aをした際に名前の変更が反映されないため、/etc/sysconfig/networkの設定も変更してnetworkを再起動。
uname -aにてホスト名変更を確認
groupware.xxxxxxx.jp
IPベースのバーチャルホストのため、NICに追加IPの割り当て。
NIC一枚に対して2つのローカルIPを設定。
エイリアスを使えばいいらしいのですが、ifcfg-eth0をifcfg-eth0:0としてファイルコピー
ネットワークを再起動後
ifconfigにて確認。
eth0 Link encap:Ethernet HWaddr 00:13:72:30:11:6F
inet addr:192.168.18.210 Bcast:192.168.18.255 Mask:255.255.255.0
inet6 addr: fe80::213:72ff:fe30:116f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:40496 errors:0 dropped:0 overruns:0 frame:0
TX packets:29554 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6991556 (6.6 MiB) TX bytes:7433103 (7.0 MiB)
Interrupt:177
eth0:0 Link encap:Ethernet HWaddr 00:13:72:30:11:6F
inet addr:192.168.18.208 Bcast:192.168.18.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:177
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:5009 errors:0 dropped:0 overruns:0 frame:0
TX packets:5009 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5753161 (5.4 MiB) TX bytes:5753161 (5.4 MiB)
eth0:0が追加されてさらにIPが割り当てられているので問題なさそうです。
危うく、NICを購入するところですが、教えてくれた先輩には感謝です。
参考サイト:http://www.itmedia.co.jp/help/tips/linux/l0494.html
httpd.confに以下のバーチャルホストディレクティブを追記
<VirtualHost 192.168.18.208:80>
DocumentRoot /home/77/ttd5700/
ServerName groupware.*****-hosting.jp
ErrorLog /var/log/office7.*****-hosting.jp/error.log
CustomLog logs/all-dummy-host.example.com-access_log common
</VirtualHost>
<VirtualHost 192.168.18.210:80>
ServerAdmin ******.co.jp
DocumentRoot /var/www/html/
ServerName groupware.*****-hosting.jp
ErrorLog /var/log/office7.*****-hosting.jp/error.log
CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
設定後apacheを再起動。
ログディレクトリがなかったため再起動に少々つまづきましたが現状稼動中で問題なさそうな感じ…。
これで192.168.18.210と192.168.18.208のIPベースvirtualhost設定が完了です。
mysql ユーザ追加。
FWにてDBアクセスエラー
どうやらlocalhostからのみのアクセスしか許可していないらしい。
↑
ということはFWからアクセスできないことになる。
FWからのアクセスを許可するために%の設定した同名ユーザを追加してみたら無事動作し始めたので一安心
というわけでFWを利用するためにはlocalhostと%を指定した同名ユーザが必要となるようです。
以下参考サイトURI
http://d.hatena.ne.jp/dice-t/20071204/1196742214