※ パクレゼルヴではWeb開発エンジニアを大募集中!詳細はこちら

Archive

Archive for 2007/12

Kickstartを利用した自動インストール  

2007/12/28 金曜日 17:06:05

はじめまして。新人のチョコボールです。
今月12月よりシステム開発部でお世話になることになりました。
今後とも宜しくお願い致します。

はじめの仕事としてkickstartについて調べましたのでご紹介致します。

■概要
一度Linuxをインストールすると、
/root に、anaconda-ks.cfg というファイルが作成される。
このファイルをそのまま使用すれば、そのシステムと全く同じ構成で
インストールすることが可能になる。
OSの自動インストールに加えて、インストール後に実行したいコマンド
(ディレクトリ、ユーザの作成、Apacheの設定など)も設定できる。

■流れ
・anaconda-ks.cfgを元に設定ファイルを作成し、
ファイル名を「ks.cfg」としてUSBフラッシュメモリに保存。
(※改行コードは必ずLFにして保存すること。)
その他、Linuxに保存したいファイルや上書きしたい設定ファイル等を予め用意し、
同じくUSBフラッシュメモリに保存。

・マシンにCentOSのCD-ROMとUSBフラッシュメモリをセットして起動

・Bootメニューより「Onboard or USB CD-ROM Drive」を選択

・CentOSが立ち上がり、「boot:」と表示されたら
linux text ks=hd:sdb1/ks.cfg
と入力。
(※「=」は「^」キー、「:」は「Shift + ;」キーで入力)
(「sdb1」部分は「sda1」等、環境により変わる)

■ks.cfgの例

install
cdrom
lang ja_JP.UTF-8
keyboard jp106
network –device eth0 –bootproto dhcp
rootpw –iscrypted **************** ←暗号化されたrootのパスワード部分。
firewall –enabled –port=22:tcp
authconfig –enableshadow –enablemd5
selinux –enforcing
timezone –utc Asia/Tokyo
bootloader –location=mbr –driveorder=sda
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart –all –drives=sda ←ここからパーティションの設定。
part /boot –fstype ext3 –size=100 –ondisk=sda
part pv.2 –size=0 –grow –ondisk=sda
volgroup VolGroup00 –pesize=32768 pv.2
logvol swap –fstype swap –name=LogVol01 –vgname=VolGroup00 –size=1000 –grow –maxsize=1984
logvol /var –fstype ext3 –name=LogVol02 –vgname=VolGroup00 –size=60000
logvol / –fstype ext3 –name=LogVol00 –vgname=VolGroup00 –size=12000

%packages ←ここからインストールするパッケージ。
@base 「@」はグループの時につける。
@core CD-ROMに含まれていないパッケージは
@dialup インストールできない。
@editors
@japanese-support
@text-internet
php
mysql-server
postfix
httpd



%post ←インストール後に実行したいコマンドを記入。
mkdir /etc/skel/.ssh
touch /etc/skel/.ssh/authorized_keys
chmod 600 /etc/skel/.ssh/authorized_keys

groupadd -g 101 young
groupadd -g 102 old

useradd -g 101 -u 101 -m tanaka -p ‘******************’ ←暗号化されたパスワード
useradd -g 102 -u 102 -m yamada -p ‘******************’

#apacheとmysqlが自動で立ち上がるように設定
chkconfig httpd on
chkconfig mysqld on

#USBフラッシュメモリのマウントポイントを作成 ←ここからUSBフラッシュメモリ
mkdir /mnt/usbfm からデータをコピー。

#マウント
mount -t vfat /dev/sdb1 /mnt/usbfm/

#USBフラッシュメモリ内のデータをコピーor上書き
cp -f /mnt/usbfm/iptables /etc/sysconfig/iptables
cp -f /mnt/usbfm/su /etc/pam.d/su
cp -f /mnt/usbfm/login.defs /etc/login.defs
cp -f /mnt/usbfm/sshd_config /etc/ssh/sshd_config

#USBフラッシュメモリを抜く前にアンマウント
umount /mnt/usbfm

現時点でOSインストール後のyum等のコマンドの実行がうまくできていません。
良い解決策なんかがあれば、教えていただけると助かります。

MoriMoriMoriMori Linux

Let’s GD  

2007/12/21 金曜日 15:23:50

はじめまして、セリカです。
結構適当に独学しておりますので、見苦しい点も多々あるかと思いますが、
こっそりご指摘いただければと思います。

本日は、PHPの画像加工モジュールGDについて。
GDを使用することによってWEB上にグラフ画像を生成したり、画像文字を書いたり、
画像のサムネイルを生成することができます。

それでは、使い方を・・

$im = imagecreate(100, 100);

imagecreate関数で、特定の大きさの画像を生成することができます。
imagecreatetruecolor関数でも作成することができますが、
こちらは、TrueColorで生成できます。

次に、imagecreate関数で生成した画像に、背景色をつけてあげます。

$bg = imagecolorallocate($im, 255, 255, 255);

これで、背景が白く塗りつぶされました。

このままでは、まだ画像が生成されただけで、保存はされていませんので、
保存してあげます。

imagePNG($im, $path);

image***関数で、指定のパスに保存することができます。
出力する画像フォーマットにより、出力フォーマットがjpegならば、imageJPEG関数、
gifならばimageGIF関数と、関数を変更しなければいけないのが面倒な点ですが・・

以上で、とりあえず100px * 100pxの白い画像を保存することができます。
簡単ですね。

しかし、保存して、安心する前に、ひとつやっておかなければいけないことがあります。
生成された画像は、メモリに一時的に保存されるので、生成した画像の解放処理が必要です。

ImageDestroy($im);

これが、正常に画像の作成から保存までの一連の流れです。

今回は、以上で。
次回は、もうちょっとGDの深いところを触っていければと思います。

下音タヌキ PHP, Tips

パクレゼルヴもラボ的な開発部ブログを作ってみる  

2007/12/21 金曜日 14:35:10

はじめまして。
パクレゼルヴ開発部の”のびーにょ”です。
パクレゼルヴの開発って、何作ってるの?って感じだと思いますが
携帯電話のWEBコンテンツ作ってます。

日々、Google先生に色々聞きながら調べ物とかしてるんですが、いろんな企業のラボが引っ掛かることが非常に多いです。
これって結構ブランディングとかにもなるなーとか思いながら調べ物とかしてるんですが、
外部の人に内部のこと(開発してるものや事)を知ってもらうのにも良いんですよね。
調べればわかることだし、社内で秘密にするレベルの話でもないですし。

ってことで、パクレゼルヴの開発部もブログ形式でラボっぽいことやります。

とりあえず一発目として・・・
【auの携帯電話でセレクトボックス(プルダウンメニュー)内部が改行されることについて】
ちょっと前にはまったのでTips的に

<div style="font-size:x-small">
	好きな果物<br />
	<form action="" method="post">
		<select name = "hogehoge">
			<option value="0">Apple</option>
			<option value="1">Pineapple</option>
			<option value="2">Lemon</option>
			<option value="3">Strawberry</option>
		</select>
	</form>
</div>

普通のフォームでのセレクトボックス。
でも、これだとauの携帯電話だと表示が崩れます。

崩れた例 崩れた例2

原因として、プルダウンメニュー内での、フォントサイズは”medium”で表示されるようです。
しかし、”font-size:x-small”でのフォントサイズで、プルダウンメニューの横幅が設定され、
“font-size:x-small”の横幅にも拘らず、”medium”サイズのフォントをプルダウンメニュー内に表示してしまう為、改行されてしまうようです。

解決策として、”select”タグの前で、一旦フォントサイズを”medium”にすることで対応可能です。

他のキャリアでは、このような現象は確認出来ておりませんので、ブラウザの解釈の違いによるものかと思います。

非常に汚いhtmlになりそうな気がするんですけどね・・・

<div style="font-size:x-small">
	好きな果物<br />
	<div style="font-size:medium">
		<form action="" method="post">
			<select name = "hogehoge">
				<option value="0">Apple</option>
				<option value="1">Pineapple</option>
				<option value="2">Lemon</option>
				<option value="3">Strawberry</option>
			</select>
	    </form>
	</div>
</div>

こんな感じですかね。。。

これなら”好きな果物”の部分だけspanとかで指定してもいいんですけど、
ページ全体の文字のデフォルトをx-smallにしたい場合とかだとこうせざるを得ないのかなぁと

良い解決策なんかがあれば、教えていただけると助かります。

【追記】2008/05/23 18:11
どうやら少し勘違いしてました

原因として、プルダウンメニュー内での、フォントサイズは”medium”で表示されるようです。
しかし、”font-size:x-small”でのフォントサイズで、プルダウンメニューの横幅が設定され、
“font-size:x-small”の横幅にも拘らず、”medium”サイズのフォントをプルダウンメニュー内に表示してしまう為、改行されてしまうようです。

これ 実は違ってたっぽいです
SELECTタグ開内ではそれより上で指定されていたフォントサイズの指定が解除される(機能しない)ようです
つまり、SELECTタグの中で個別でoptionの値のフォントサイズを変更して、文字サイズをそろえることもできるようです
以下サンプル

<div style="font-size:x-small">
	好きな果物<br />
	<form action="" method="post">
		<select name = "hogehoge">
			<span style="font-size:x-small">
				<option value="0">Apple</option>
			</span>
			<span style="font-size:x-small">
				<option value="1">Pineapple</option>
			</span>
			<span style="font-size:x-small">
				<option value="2">Lemon</option>
			</span>
			<span style="font-size:x-small">
				<option value="3">Strawberry</option>
			</span>
		</select>
	</form>
</div>

のびーにょ HTMLとか, Tips, その他, 携帯電話