体験!マイコンボードで組込みLinux

第19回 Fedoraでのネットワークサーバ設定

この記事を読むのに必要な時間:およそ 4.5 分

ネットワーク設定

SH3向けFedora 7ではデフォルトの設定ではネットワークを起動するようになっていません。追加でネットワーク設定をしなければなりません。今回はまずネットワークを設定し,次にWebサーバを立ち上げて,PHPで制御プログラムを作成する方法について紹介します。

IP指定

IPアドレスを直接指定する場合は,/etc/sysconfig/network-scripts/ifcfg-eth0 というファイルを新規作成します。ifcfg-eth0 の設定内容は,たとえばリスト1のようになります。

リスト1 ifcfg-eth0の例

DEVICE=eth0
IPADDR=192.168.1.2
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
GATEWAY=192.168.1.1
ONBOOT=yes
BOOTPROTO=static

DNSを利用する場合は,/etc/resolv.conf を,たとえばリスト2のように記述します。

リスト2 resolv.confの例

search sh7706lsr.co.jp
nameserver 192.168.1.1

DHCP

DHCPサーバにより自動でネットワーク設定をする場合も /etc/sysconfig/network-scripts/ifcfg-eth0 というファイルを新規作成します。この場合のifcfg-eth0の設定内容はリスト3のようになります。DNSを利用する場合もDHCPサーバーがDNS設定をサポートしている場合は特に設定は不要です。

リスト3 DHCPを利用する場合のifcfg-eth0の例

DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp

共通設定

/etc/sysconfig/network というファイルを作成してリスト4のようにホスト名を記述します。ホスト名は,ここではshlinuxとしていますが,任意の名称で構いません。

リスト4 networkファイルの例

HOSTNAME=shlinux

IPv6を使わない場合は,/etc/sysconfig/network-scripts/network-functions-ipv6 を削除します。これでネットワークの設定が完了です。

コマンドで個別にネットワークの起動をするには以下のようにします。

# /etc/init.d/network start

コマンドで個別にネットワークを停止させるには以下のようにします。

# /etc/init.d/network stop

コマンドで個別にネットワークの再起動をするには以下のようにします。

# /etc/init.d/network restart

システム起動時に自動的にネットワーク設定をするには以下のようにします。

# chkconfig network on

もし,システム起動時のネットワーク設定を解除する場合は以下のようにします。

# chkconfig --del network

システム起動時におけるサービス起動リストを得るには以下のようにします。

# chkconfig --list

Webサーバ

デフォルトの状態ではApacheを起動するだけでWebサーバが起動するようになっています。ただし,Apacheのユーザが作成されていないので,以下のようにユーザとグループを新規作成します。

# groupadd -g 48 apache
# useradd -u 48 -g apache -s /sbin/nologin -d /var/www apache

ここでは適当に48番を使いましたが,空いている任意の番号でいいです。

PHPを使えるようにする

SH3版Fedora 7のApacheは,PHPモジュールだけは外して使えないようになっています。実はPHPに必要なパッケージがSH3版Fedora 7に全部は含まれていないので,必要なパッケージをSH3版FedoraCore 6から持ってきます。

具体的には,以下のパッケージを持ってきます。

gmp-4.1.4-7.sh3.rpm
gmp-devel-4.1.4-7.sh3.rpm
libgcc-4.1.1-30.sh3.rpm
libstdc++-4.1.1-30.sh3.rpm
libstdc++-devel-4.1.1-30.sh3.rpm

また,これ以外にSH3版Fedora 7のaspelという名称を含むパッケージも追加する必要があります。追加インストールはPC上でFedore 7がインストールされたSDカードへ,以下のように行います。

# rpm --root [SDカードのフォルダ] -ivh --nodeps --ignorearch aspel*.rpm
# rpm --root [SDカードのフォルダ] -ivh --nodeps --ignorearch gmp-4.1.4-7.sh3.rpm
# rpm --root [SDカードのフォルダ] -ivh --nodeps --ignorearch gmp-devel-4.1.4-7.sh3.rpm
# rpm --root [SDカードのフォルダ] -ivh --nodeps --ignorearch libgcc-4.1.1-30.sh3.rpm
# rpm --root [SDカードのフォルダ] -ivh --nodeps --ignorearch libstdc++-4.1.1-30.sh3.rpm
# rpm --root [SDカードのフォルダ] -ivh --nodeps --ignorearch libstdc++-devel-4.1.1-30.sh3.rpm

ApacheでPHPを使えるようにするには,/etc/httpd/conf/httpd.confを以下のように追加,変更します。

まずLoadModuleが記述されているあたりに

LoadModule php5_module modules/libphp5.so

を追加します。

次に,以下の内容を検索して

Include conf.d/*.conf

以下のようにコメントにして無効にします。

#Include conf.d/*.conf

“ServerName⁠を検索して,以下のようにWebサーバ名を設定します。特に名称がない場合は,当ボードのIPアドレスを指定します。

ServerName [サーバー名]:80

最後に適当な箇所に以下の記述を追加します。

<IfModule mod_dir.c>
   DirectoryIndex index.html index.php index.cgi
</IfModule>
AddType application/x-httpd-php .php

著者プロフィール

みついわゆきお

1986年日立製作所入所,その3年後に自社ワークステーションでの開発業務をきっかけにBSDを経てLinux利用を始める。

1991年日立を退社し,その後,ボランティアでLinux関連ツールの整備と開発しながらWindows否定運動およびLinux普及運動を開始し,Linuxディストリビューション草創期にはPlamoLinuxのメンテナンスにもかかわる。

2001年ごろより非営利ベースでボードコンピュータの開発を開始し,やがて,無償によりハードとソフトを開発したH8マイコンボードの販売を秋月電子にて開始した。

現在,ボードコンピュータ用基本ソフトMES2.5や,SHプロセッサ向けLinuxパッチおよびTOPPERS/JSPパッチを無償で一般に提供しながら,ティーエーシーやエムイーシステムより原価率100%を目標(ただし,販売店の営業・販売費用や開発・製造の際の差損を除く)としたSuperHボードコンピュータを販売中。

また,現在でも頑固にMS社否定及びWindows撲滅運動に邁進中。

コメント

コメントの記入