RedSleeve というLinuxディストリビューションは、Red Hat Enterprise Linux (RHEL) に由来するARMアーキテクチャへポートされたディストリビューションです。「自由なエンタープライズクラスのコンピュータ利用基盤を提供するために存在し、Red Hat の上流ソースとのソース互換の維持を目標としている」といわれています。
RedSleeve は Red Hat 社によって作られ入手できる、フリーのオープンソースソフトウェアですが、Red Hat によって生産、維持またはサポートされるものではありません。正式な表現でいうならば、Red Hat Enterprise Linux の EULA 及び GNU General Public License の合意・条件の下で、Red Hat Enterprise Linux 版のソースコードからビルドされています。
CentOS や Scientific Linux のような他の Red Hat Enterprise Linux に由来するものとは異なって新しいプラットフォームへポートしてくれています。例えばCentOSは64ビットCPUのみのサポートとなっているので、32ビット系のARMには載らないわけです。
CentOSとの互換性については細かく述べているサイトはあまり見当たりません。今後CentOSサーバーをARMベースのマシンに移行したいという用途はあると思われます。ここでは、基本のサーバーをインストールした例として紹介します。事例が増えてプラス面、マイナス面のノウハウが貯まることを期待しています。
【今回の目標】
Redsleeveをインストールして、最初にネットワークの設定を行います。次に、Apache httpd, PHP, MySQLをインストールしてWebサーバにします。さらに、Postfix,
Dovecotをインストールしてメールサーバにもします。
1. RedSleeveのインストール
(1) 「Ignitionを使ったインストール(Cubox-i, HummingBoard共通)」の手順で、RedSleeveをインストールします。
ignitionにリストされていない場合には、下記よりイメージがダウンロードできます。
http://redsleeve.wikia.com/wiki/Install_on_CuBox-i
(2) パーティションの拡張を行うために、作成したSDカードを一旦PCに挿し直します。
PCのターミナルで、下のようにSDのパーティションをアンマウントします。
|
(/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 ファイルを編集して、ネームサーバのアドレスを指定してください。下は例なので実際のネットワークにあわせてください。
|
(3) リブートしてネットワークに接続できることを確認してください。
(4) パッケージの確認
|
とコマンドを入力するとインストール済みのパッケージ一覧が表示されます。KDE環境のものが一揃いインストールされていることが分かります。また、
|
とコマンドを入力するとインストール可能なパッケージの一覧が表示されます。
3. 日本語キーボードの設定
まだ、キーボードが英語のままでした。ここで、日本語のキーボードに変更しておきましょう。
(1) その前に、viエディタをインストールしておきましょう。
|
(2) 日本語キーボードの設定をしましょう。/etc/sysconfig/keyboard ファイルを下のように編集してください。
KEYTABLE="jp106" MODEL="jp106" LAYOUT="jp" KEYBOARDTYPE="pc" |
3) リブートすれば日本語キーボードになります。
4. Apache httpd
WebサーバとしてApache httpdをインストールしましょう。
(1)パッケージをインストールします。
|
(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 ファイルを編集します。タイムゾーンを東京にしておきましょう。
; 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を再起動します。
|
6. データベース MySQL serverのインストール
(1)パッケージをインストールします。
|
(2)サービスを開始し、マシン起動時にMySQLを自動的に開始するようにします。
# service mysqld start # chkconfig mysqld on |
(3) MySQLのrootユーザのパスワードをセットします。ここでは例として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を再起動します。
|
(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でダウンロードする場合
|
と入力すると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 と仮定して
|
にアクセスします。
ここで、[New server]をクリックします。
次からは、LanguageでJapaneseを選択して、日本語表示にした画面で説明します。
サーバのホスト名が localhost であることを確認して[適用]をクリックします。
「設定ファイル」の[保存する]をクリックしてセットアップを完了します。
/var/www/html/phpMyAdmin/configの下のcomfig.inc.phpがセットアップで更新されていることを確認しましょう。
(6) 作成されたcp comfig.inc.phpを運用時の正しい場所に設置します。
|
(7)動作確認をしましょう。
|
にアクセスします。
上のように動作確認ができたら configディレクトリを削除します。
# cd .. # rm -rf config |
(8) アクセス制限をかけましょう。とりあえず、ローカルネットワークからのみアクセスを許可するようにしましょう。
/var/www/html/phpMyAdmin/.htaccess というファイルを作成してください。ファイルの中身はしたのように記述してください。
order deny,allow deny from all allow from 192.168.10. allow from localhost |
8.Postfixのインストール
メール・サーバとしてPostfixをインストールしましょう。
(1)パッケージをインストールします。
|
(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)パッケージをインストールします。
|
(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 |
コメントをお書きください