広告

広告を閉じる




twitter


GitHub


※A5:SQL Mk-2はGitHubのプライベートリポジトリで開発されているためソースコードを参照することはできません。
      

CubieBoard に Linaro Ubuntu Server 導入

概要


 巷で話題の(?)ARMボードの一種、CubieBoardにLinaro Ubuntu Server を導入してみました。
 家庭内でのサーバーや、自宅サーバー構築に利用できると思います。

CubieBoardについて

CubieBoardはARM Cortex-A8ベースのCPU Allwiner A10 (1GHz)を搭載した低価格なシングルボードコンピュータです。
http://cubieboard.org/にて情報が公開されています。
日本では株式会社瑞起様にて取り扱いがあり、Amazonからも購入することができます。

CubieBoardの画像

ブートローダー・OSインストーラ


◆ この作業はWindows PCで行います。

ブートローダー・OSインストーラとして「BerryBoot - bootloader / OS installer for Allwinner A10 devices」を利用しました。
berryboot-cubieboard-beta6.img を Win32diskImagerでmicroSD へ書き込みます。
Win32DiskImager

Win32DiskImager
BerryBoot

OSインストール


◆ ここからの作業はCubieBoard自身を使って進めます。

BerryBoot をインストールした microSD を使ってCubieBoardを起動します。 起動時に、電源(USBコードタイプが付属)・HDMI(ディスプレイ)・LANケーブル・キーボードを接続しておきます。
本来マウスも必要ですが、手持ちの無線タイプのマウスは認識してくれませんでした。キーボードショートカットで最低限操作可能なようです。
補足:電源ボタンが付いていますが、電源を接続したらすぐに電源が入るようです。電源ボタンは長押しでON/OFFします。

BerryBootのWelcome画面(設定)
本来ならこの前にロケーションの選択画面がありますが、スクリーンショットを撮り忘れてしまいました。2回目以降は省略されるようです。
Timezone, Keyboard Layoutが各々「Asia/Tokyo」「jp」となっていることを確認して「OK」を押下します。 Welcome

OSインストール先ディスクの選択
microSDを選択するには、「mmcblk0:00000」を選択します。
「Format」を押下することでフォーマットを開始します。
Disk selection

BerryBootのオンラインアップデート
アップデートするか聞いてきたので「Yes」を選択しました。「No」でも問題ないかも?。
アップデートが終了すると「Press 'close' to reboot」とメッセージを表示するので「Close」を押下して再起動します。
Updates berryboot ?

BerryBootのメニュー画面
「Add OS」を押下します。
マウスがない場合は「Ctrl+A」です。
BerryBoot menu editor

OSの選択画面
「Linaro Ubuntu Server」を選択します。
マウスがない場合はタブキーや矢印キー、エンターキーで頑張ります。
Add OS

OSのダウンロードとインストール
プログレスバーが表示されるのでしばらく待ちます。
Download

BerryBootのメニュー画面(OSが追加されている)
「Edit」ボタンを押下(多分)してBerryBootの設定画面を表示します。
マウスがない場合は「Ctrl+E」です。
BerryBoot menu editor

BerryBootの設定変更
「uEnv.txt」タブでで「bootmenutimeout=10」となっている個所を「bootmenutimeout=3」に変更します。
これは、起動時のOS選択画面でデフォルトOSの起動までの猶予時間です。別の数字や変更しなくても構わないと思います。
マウスがない場合はタブキーや矢印キー、エンターキーで頑張ります。
最後に「OK」ボタンを押下します。
Config editor

BerryBootのメニュー画面(OSが追加されている)
「Exit」ボタンを押下(多分)して再起動します。
マウスがない場合は「Esc」キーです。
BerryBoot menu editor

OS起動確認

OSが起動してくるのを確認します。
Linaro Ubuntu Server 起動画面

キーボードレイアウトの変更とユーザーの作成、固定IP化、SSHの準備

OSが起動したら、キーボードレイアウトがUSになっているのを日本語化します。
また、ユーザーを作成し、SSHで外部からアクセスできるようにします。

キーボードレイアウトの変更
USキーボードを使っているなら、この項目は設定しなくても構いません。
また、SSHからアクセスする場合はこの設定は関係ありませんので、SSHを設定するまで我慢できる場合も設定しなくともかまいません。
(vi の操作が大変ですが…。)
  # apt-get install console-data

途中で「The keymap records the layout of symbols on the keyboard. ...」の画面が表示されるので「OK」を押下します。

次に「Policy for handling keymaps: ...」の画面が表示されたら「Select keymap from full list」を選択して「OK」を押下します。

次に、「If the keyboard is disigned for a different computer architecture, ...」の画面が表示されたら「pc / qwerty / Japanese / Standard / Standard」を選択して「OK」を押下します。


ユーザーの作成
  # adduser user01

ユーザーをsudo可能に
  # visudo

以下の行を追加(rootユーザーの設定の下あたりに)
user01 ALL=(ALL:ALL) ALL

ホスト名の指定(ついで)
/etc/hostname を変更することでホスト名を指定できます。
ここでは kissmark.localdomain としました。
  # vi /etc/hostname

固定IP化
  # vi /etc/network/interfaces

以下の内容に変更します。(赤字部分が変更・追加箇所、IPアドレス等は適宜環境に合わせて変更すること)
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
	address 192.168.0.100
	netmask 255.255.255.0
	gateway 192.168.0.1

ネットワークサービスを再起動します。
  # service networking restart

SSHパッケージの導入
  # apt-get install ssh

SSHパッケージを導入したら、SSHクライアントからログインしてみます。一通り操作し、sudo等も実行できるか確認します。
問題なさそうでしたら、キーボード・マウス・HDMIは外してしまって構いません。
(電源ケーブルとLANケーブルだけになりすっきりしますね)
ここではPuttyを使ってログインしました。
SSHでログインしたところ

その他の設定

◆ ここから先はWindows PC等からSSHクライアントを使ったログインで操作します。

タイムゾーンの設定
標準では(GMT+00:00)グリニッジ標準時になっているので、日本標準時に修正します。 「dpkg-reconfigure tzdata」コマンドで対話的に処理します。
  $ sudo dpkg-reconfigure tzdata

タイムゾーンの設定


その他のパッケージの導入(Apache2/PHP/MySQL/Java/Tomcat/Samba)

以下は必要なパッケージのみインストールしてください。
サーバーのセキュリティリスクを増やさないよう、不必要なパッケージは導入されないことをお勧めします。

・Apache2
Apache2はOSインストール時に自動でインストールされるため操作不要です。
設定を変更する必要がある場合は、以下に設定ファイルがあります。

/etc/apache2/apache2.conf  一般設定
/etc/apache2/ports.conf  待ち受けポート関連の設定


補足:自分の環境ではApacheの再起動時にエラーが出るので以下の設定ファイルに追記を行いました。
/etc/hosts
  127.0.0.1 kissmark.localdomain

/etc/apache2/apache2.conf
  ServerName kissmark.localdomain

・PHP
  $ sudo apt-get install php5 php-pear php5-gd php5-cgi libapache2-mod-php5


・MySQL
  $ sudo apt-get install mysql-server mysql-client
  $ sudo apt-get install php5-mysql

MySQLは以下のディレクトリにインストールされます。
/var/lib/mysql/  ライブラリやデータベースコンテンツ
/usr/share/mysql/  言語リソースやメッセージ?
/var/log/mysql/  
/var/log/mysql.log
ログファイル等
/etc/mysql/  設定ファイル等

  rootユーザーのパスワード変更と、通常アクセスユーザーを作成します。
  rootの初期パスワードは空になっています。
  $ mysql -u root -p
  mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost IDENTIFIED BY 'newpassword';
  mysql> GRANT ALL PRIVILEGES ON *.* TO mysql_user01@localhost IDENTIFIED BY 'newpassword';


  
補足:A5:SQL Mk-2からMySQLに接続するには

MySQLはデフォルトではlocalhost以外からの接続を受け付けません。
これはセキュリティの観点からみて望ましい動作です。このため、外部のPCから接続するときは、SSH経由で接続することでlocalhostから接続するようにします。(ポートフォワーディング)
ホスト名は「localhost」にします。アカウントは先ほど設定した通常アクセスユーザーを指定します。

「SSH2トンネル経由で接続する」をチェックして、SSH2ホスト名、ポート番号(SSHのもの)、ユーザーIDとパスワード(OSアカウント)を設定します。


・Java(導入に少し時間がかかります)
  $ sudo apt-get install default-jdk

 以下で正しくインストールされたか、またどのバージョンがインストールされたか確認します。
  $ java -version


・Tomcat(導入に少し時間がかかります)
  $sudo apt-get install tomcat7 tomcat7-admin

Tomcatは以下のディレクトリにインストールされます。
/usr/share/tomcat7/  シェルスクリプトやライブラリ
/var/lib/tomcat7/  コンテンツ(Webアプリケーション等)
/var/log/tomcat7/  ログファイル等
/etc/tomcat7/  設定ファイル等

 Tomcat Webアプリケーションマネージャのユーザーを設定します。
  $sudo vi /etc/tomcat7/tomcat-users.xml

<tomcat-users>と</tomcat-users>の間で以下の行を追加します。
(ユーザー名とパスワードは適宜変更してください)
  <role rolename="manager-gui"/>
  <user username="hoge" password="fuga" roles="manager-gui"/>
 設定ファイルを編集したら、tomcat7を再起動します。
  $sudo service tomcat7 restart

 ブラウザから以下のような感じで表示されればOKです。
 http://192.168.0.100:8080/


 Webアプリケーションマネージャーへのアクセスも確認します。
 (ユーザー名とパスワードは先ほど指定したものを使います)
 http://192.168.0.100:8080/manager/html/


・Samba
  $ sudo apt-get install samba

Sambaで利用するユーザーを作成します。
  $ sudo smbpasswd -a user01


設定を変更します。
  $ sudo vi /etc/samba/smb.conf

netbios name = kissmark        ← 追記(NetBIOS名・ホスト名は適宜変更する)
hosts allow = 192.168.0. 127.  ← 追記(アクセス可能な端末を限定する)

[www]                          ← 追記(例:wwwの共有名でWebコンテンツ領域を共有する)
comment = Web contents space            ← 追記(コメント)
path = /var/www                ← 追記(サーバー上のパス)
writable = Yes                 ← 追記(書き込み可能)

※共有するサーバ上のパスは、Sambaでアクセス可能なように設定しておく必要があります。(chown, chgrp, chmod等で)
/var/www のグループを user01 にする例(このやり方は異論もあるかと思いますが…)
  $ sudo chgrp -R user01 /var/www

Samba を再起動します。
  $ sudo service smbd restart



Apache+PHP+MySQLが動作しているか確認
PHPを導入した場合は /var/www/phpinfo.php を以下の内容で作成します。
<?php
phpinfo();
?>

ブラウザから以下のような感じで表示されればOKです。


MySQLを導入した場合は、MySQLに関する項目も表示されるのを確認します。

コンタクト


質問・要望・不具合報告などあればお待ちしております。
e-mail e-mail e-mail

home
 
 








aaa