Ignitionを使ってRedsleeveをインストールして、最初にネットワークの設定を行いましょう。それから、Apache httpd, PHP, MySQLをインストールしてWebサーバにしてみましょう。さらに、Postfix, Dovecotをインストールしてメールサーバにもしてみましょう。

RedSleeve

RedSleeve

1. RedSleeveのインストール
(1) 「Ignitionを使ったインストール(Cubox-i, HummingBoard共通)」の手順で、RedSleeveをインストールします。
(2) パーティションの拡張を行うために、作成したSDカードを一旦PCに挿し直します。
PCのターミナルで、下のようにSDのパーティションをアンマウントします。

$ sudo umount /dev/sdf1

(/dev/sdf1の部分は、実際にSDカードがアサインされているデバイス名に置き換えてください。)
(3) partedを起動します。パーティション/dev/sdf1を選択しておいて、メニューから[パーティション]->[チェック]を選択します。更新ボタンをクリックして、実際にパーティションを拡張します。これでSDカードの全領域を使えるようになりました。
(4) SDカードをCubox-iに挿し直して、電源をONしてください。
(5) ログイン画面になりますが、初期値ではrootのパスワードは ‘password’となっています。

(注意1)HummingBoardの場合、このままでは2つあるUSBポートのうち、上のポートが使用できません。
カーネルが古いのが原因のようです。下の1つのポートのみを使用するのであれば、このままでも構いませんが、上のポートを使用できるようにするためには、カーネルを3.14にアップデートする必要があります。
「HummingBoardでUbuntu12.04(Linaro)」にカーネル Kernel 3.14 LTSの作成方法が記述してあるので、そちらを参照して作業を行ってください。 (2015/11/06現在ではイメージファイルのでKernelのバージョンが3.14.14になっているのでこの部分は不要になったので削除しました。)

以降は Cubox-iでの作業となります。

2. ネットワークの設定

(1) /etc/sysconfig/network-scripts/ifcfg-eth0 というファイルを作成します。ファイルの中身は次のように記述してください。
ただし、”HWADDR=”の値は例なので、実際のMACアドレスに置き換えてください。

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
HWADDR=D0:63:B4:00:1F:A2
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"

MACアドレスは、Cubox-iならば、裏面のラベルに記述があります。
コマンドを使って調べるならば、ifconfigコマンドを実行してください。
HWaddrのあとにMACアドレスが表示されます。

(2) /etc/resolv.conf ファイルを編集して、ネームサーバのアドレスを指定してください。下は例なので実際のネットワークにあわせてください。

nameserver 192.168.10.1

(3) リブートしてネットワークに接続できることを確認してください。
(4) パッケージの確認

# yum list installed

とコマンドを入力するとインストール済みのパッケージ一覧が表示されます。KDE環境のものが一揃いインストールされていることが分かります。また、

# yum list available

とコマンドを入力するとインストール可能なパッケージの一覧が表示されます。

3. 日本語キーボードの設定
まだ、キーボードが英語のままでした。ここで、日本語のキーボードに変更しておきましょう。
(1) その前に、viエディタをインストールしておきましょう。

# yum install vi

(2) 日本語キーボードの設定をしましょう。/etc/sysconfig/keyboard ファイルを下のように編集してください。

KEYTABLE="jp106"
MODEL="jp106"
LAYOUT="jp"
KEYBOARDTYPE="pc"

(3) リブートすれば日本語キーボードになります。

4. Apache httpd
WebサーバとしてApache httpdをインストールしましょう。
(1)パッケージをインストールします。

# yum install httpd mod_ssl

(2)/etc/httpd/conf/httpd.conf ファイルを編集します。下の項目を変更します。ServerNameは必ず設定してください。
未設定だとhttpdの起動時にエラーが発生します。

ServerAdmin wallaby128@gmail.com
ServerName  monoid.jp:80

また、後からインストールしたWebアプリなどのアクセス・コントロールを自由に設定できるようにしておきましょう。

<Directory "/var/www/html">

    AllowOverride All

</Directory>

(3)サービスを開始し、マシン起動時にhttpdを自動的に開始するようにします。

# service httpd start
# chkconfig httpd on

5. PHPのインストール
(1)パッケージをインストールします。

# yum install php

(2) /etc/php.ini ファイルを編集します。タイムゾーンを東京にしておきましょう。

[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = Asia/Tokyo

(3) Apache httpdを再起動します。

# service httpd restart

6. データベース MySQL serverのインストール
(1)パッケージをインストールします。

# yum install mysql-server

(2)サービスを開始し、マシン起動時にMySQLを自動的に開始するようにします。

# service mysqld start
# chkconfig mysqld on

(3) MySQLのrootユーザのパスワードをセットします。ここでは例としてmysqlpasswordという文字列のパスワードとしてあります。

# mysqladmin -u root password 'mysqlpassword'

7. phpMyAdminのインストール
MySQLサーバをWeb上で制御できるようにphpMyAdminをインストールしてきましょう。
上でインストールしたMySQLのバージョンが5.1なので、最新のphpMyAdminは動作しません。MySQL 5.1に対応している最終版のバージョン 4.0.10.9をインストールすることにします。
(1) PHPでphpMyAdminに必要になるパッケージをインストールします。

# yum install php-mbstring
# yum install php-mysql

(2) Apache httpdを再起動します。

# service httpd restart

(3) phpMyAdmin 4.0.10.9をダウンロードしてください。
http://www.phpmyadmin.net/home_page/downloads.php から phpMyAdmin-4.0.10.9-all-languages.tar.gz ファイルをダウンロードします。次のいずれかの方法でダウンロードしてRedSleeveのSDに置いてください。
(a) PCでダウンロードする場合
PC上にダウンロードして、RedSleeveのSDをマウントして、/<mount_point>/root に上のzipファイルをコピーしておいてください。
(b) CuBox-iでダウンロードする場合

# startx

と入力するとKDEデスクトップが立ち上がります。そして、ブラウザから上記のURLにアクセスしてダウンロードしてください。
(4) phpMyAdminの設置
下のようにzipファイルを解凍して、ファイルを設置します。

# cd /var/www/html
# tar xzf /root/phpMyAdmin-4.0.10.9-all-languages.tar.gz
# mv phpMyAdmin-4.0.10.9-all-languages phpMyAdmin
# cd phpMyAdmin
# mkdir config
# chmod o+rw config # give it world writable permissions
# cp config.sample.inc.php config/
# cd config
# mv config.sample.inc.php config.inc.php
# chmod o+w config.inc.php

(5) phpMyAdminのセットアップ
PC上、あるいは CuBox-iのブラウザからセットアップを行います。
CuBox-iのアドレスが192.168.10.40 と仮定して

http://192.168.10.40/phpMyAdmin/setup

にアクセスします。

setup1

setup1

ここで、[New server]をクリックします。
次からは、LanguageでJapaneseを選択して、日本語表示にした画面で説明します。

setup2

setup2

サーバのホスト名が localhost であることを確認して[適用]をクリックします。

setup3

setup3

「設定ファイル」の[保存する]をクリックしてセットアップを完了します。
/var/www/html/phpMyAdmin/configの下のcomfig.inc.phpがセットアップで更新されていることを確認しましょう。
(6) 作成されたcp comfig.inc.phpを運用時の正しい場所に設置します。

# cp comfig.inc.php ..

(7)動作確認をしましょう。

http://192.168.10.40/phpMyAdmin/

にアクセスします。

setup4

setup4

上のように動作確認ができたら configディレクトリを削除します。

# cd ..
# rm -rf config

(7) アクセス制限をかけましょう。とりあえず、ローカルネットワークからのみアクセスを許可するようにしましょう。
/var/www/html/phpMyAdmin/.htaccess というファイルを作成してください。ファイルの中身はしたのように記述してください。

order deny,allow
deny from all
allow from 192.168.10.
allow from localhost

8.Postfixのインストール
メール・サーバとしてPostfixをインストールしましょう。
(1)パッケージをインストールします。

# yum install postfix

(2) /etc/postfix/main.cf ファイルを編集します。
以下の項目を変更してください。値は、実際に使用する環境に合わせてください。
このあと、dovecotをインストールして、pop3, imapでメールにアクセスできるようにする設定項目が含まれています。

myhostname = hyperbolic.monoid.jp

mydomain = monoid.jp

myorigin = $mydomain

inet_interfaces = all

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

mynetworks = 192.168.10.0/28, 127.0.0.0/8

home_mailbox = Maildir/

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_client_restrictions = permit_mynetworks,reject_unknown_client,permit
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

(3)サービスを開始し、マシン起動時にPostfixを自動的に開始するようにします。

# service postfix start
# chkconfig postfix on

9. dovecotのインストール
pop3やimapでメールにアクセスできるようにしましょう。
(1)パッケージをインストールします。

# yum install dovecot

(2) /etc/dovecot/dovecot.conf ファイルを編集します。下の項目を変更してください。

protocols = imap pop3 lmtp

listen = *

(3) /etc/dovecot/conf.d/10-auth.conf ファイルを編集します。下の項目を変更してください。

disable_plaintext_auth = no
auth_mechanisms = plain login

/etc/dovecot/conf.d/10-mail.conf

mail_location = maildir:~/Maildir

(4) /etc/dovecot/conf.d/10-master.conf ファイルを編集します。かなり多くの項目を修正することになります。

service imap-login {
    inet_listener imap {
        port = 143
    }
    inet_listener imaps {
        port = 993
        ssl = yes
    }

    # Number of connections to handle before starting a new process. Typically
    # the only useful values are 0 (unlimited) or 1. 1 is more secure, but 0
    # is faster. &lt;doc/wiki/LoginProcess.txt&gt;
    #service_count = 1

    # Number of processes to always keep waiting for more connections.
    #process_min_avail = 0

    # If you set service_count=0, you probably need to grow this.
    #vsz_limit = 64M
}

service pop3-login {
    inet_listener pop3 {
        port = 110
    }
    inet_listener pop3s {
        port = 995
        ssl = yes
    }
}

service lmtp {
    unix_listener lmtp {
        #mode = 0666
    }

    # Create inet listener only if you can't use the above UNIX socket
    #inet_listener lmtp {
        # Avoid making LMTP visible for the entire internet
        #address =
        #port =
    #}
}

service imap {
    # Most of the memory goes to mmap()ing files. You may need to increase this
    # limit if you have huge mailboxes.
    #vsz_limit = 256M

    # Max. number of IMAP processes (connections)
    #process_limit = 1024
}

service pop3 {
    # Max. number of POP3 processes (connections)
    #process_limit = 1024
}

service auth {
    # auth_socket_path points to this userdb socket by default. It's typically
    # used by dovecot-lda, doveadm, possibly imap process, etc. Its default
    # permissions make it readable only by root, but you may need to relax these
    # permissions. Users that have access to this socket are able to get a list
    # of all usernames and get results of everyone's userdb lookups.
    unix_listener auth-userdb {
        mode = 0600
        user = postfix
        group = postfix
    }

    # Postfix smtp-auth
    unix_listener /var/spool/postfix/private/auth {
        mode = 0666
        user = postfix
        group = postfix
    }

    # Auth process is run as this user.
    #user = $default_internal_user
}

service auth-worker {
    # Auth worker process is run as root by default, so that it can access
    # /etc/shadow. If this isn't necessary, the user should be changed to
    # $default_internal_user.
    #user = root
}

service dict {
    # If dict proxy is used, mail processes should have access to its socket.
    # For example: mode=0660, group=vmail and global mail_access_groups=vmail
    unix_listener dict {
        #mode = 0600
        #user =
        #group =
    }
}

(5) サービスを開始し、マシン起動時にdovecotを自動的に開始するようにします。

# service dovecot start
# chkconfig dovecot on

以上で、Webサーバ、メール・サーバの一通りの設定ができました。

(注意2)今回はMySQLサーバを起動するようにしたので、CuBox-i, HummingBoardの電源を切る際には、”halt”コマンドを投入するか、MySQLサービスを終了する(service mysqld stop)かしてから電源プラグを抜くようにしてください。
これをせずに、いきなり電源プラグを抜いた場合、次回の起動時にMySQL起動時に” Another MySQL daemon already running with the same unix socket. “のようなエラーが表示される場合があります。そのときには、下のようにコマンドを入力してMySQLを再起動してください。

# service mysqld stop
# rm /var/lib/mysql/mysql.sock
# service mysqld start