Ignitionを使ってRedsleeveをインストールして、最初にネットワークの設定を行いましょう。それから、Apache httpd, PHP, MySQLをインストールしてWebサーバにしてみましょう。さらに、Postfix, Dovecotをインストールしてメールサーバにもしてみましょう。
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
にアクセスします。
ここで、[New server]をクリックします。
次からは、LanguageでJapaneseを選択して、日本語表示にした画面で説明します。
サーバのホスト名が localhost であることを確認して[適用]をクリックします。
「設定ファイル」の[保存する]をクリックしてセットアップを完了します。
/var/www/html/phpMyAdmin/configの下のcomfig.inc.phpがセットアップで更新されていることを確認しましょう。
(6) 作成されたcp comfig.inc.phpを運用時の正しい場所に設置します。
# cp comfig.inc.php ..
(7)動作確認をしましょう。
http://192.168.10.40/phpMyAdmin/
にアクセスします。
上のように動作確認ができたら 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. <doc/wiki/LoginProcess.txt> #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
Leave a Reply