ブログ

Armadillo-IoT(G3): LAMP環境を構築してみました

at_kazutaka.bito
2016年6月26日 9時38分

LAMP環境を構築するを参考に Armadillo-IoT(G3)にLAMP環境(Apache+MySQL+PHP)を構築してみました。

1.インストール前の準備

Armadillo-IoT(G3)をインターネット接続可能なネットワークに接続して起動します。

現在の日付を設定します。(下記は、2016/06/20 14:11の場合)

root@armadillo-iotg:~# date -s "06/20 14:11 2016"

最新のパッケージを取得します。

root@armadillo-iotg:~# apt-get update
root@armadillo-iotg:~# apt-get upgrade

備考)
以降、apt-getコマンドを実行して、

Do you want to continue? [Y/n]

と聞かれた場合は、"y"と入力してください。

2.インストール

apt-getコマンドで、Apache、MySQL、PHPをインストールします。

root@armadillo-iotg:~# apt-get install apache2
root@armadillo-iotg:~# apt-get install mysql-server
-------------------------------------------------------------------
補足)mysql-serverインストール時に
New password for the MySQL "root" user: 
と聞かれるので、パスワードは任意に設定してください。(ここでは、"root"としました。)
-------------------------------------------------------------------
root@armadillo-iotg:~# apt-get install mysql-client
root@armadillo-iotg:~# apt-get install php5
root@armadillo-iotg:~# apt-get install php5-mysql

3.Apache設定

ユーザー(名前は任意。ここではuser1)とグループ(wheel)を追加します。

root@armadillo-iotg:~# useradd -m user1
root@armadillo-iotg:~# passwd user1
root@armadillo-iotg:~# vi /etc/pam.d/su

のように"user1"(パスワードは"user1")を追加後、suファイルを開いて、

# auth       required   pam_wheel.so

の下に

auth       required   pam_wheel.so group=wheel

を追加します。

ユーザ(user1)をグループ(wheel)に追加します。

root@armadillo-iotg:~# addgroup --gid 11 wheel
root@armadillo-iotg:~# usermod -a -G wheel user1

Apacheに、ユーザー、グループを設定します。

root@armadillo-iotg:~# vi /etc/apache2/apache2.conf

で、apache2.confファイルを開いて、

User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}

User user1
Group wheel

に変更します。

ドキュメントルート(/var/www/)の所有者を上記ユーザー/グループに設定します。

root@armadillo-iotg:~# chown -R user1:wheel /var/www/

Armadillo-IoT(G3)では、デフォルトでlighttpdというWebサーバーが起動しているので、停止します。

root@armadillo-iotg:~# /etc/init.d/lighttpd stop

Apacheを起動します。

root@armadillo-iotg:~# /etc/init.d/apache2 restart

ブラウザで、 [ArmadilloのIPアドレス] にアクセスすると、Apacheの画面を見ることができます。

4.MySQL設定

root@armadillo-iotg:~# vi /etc/hosts.allow

で、hosts.allowファイルを開いて、

mysqld : localhost : allow
mysqld : ALL : deny

を追加します。

mysqlを起動します。

root@armadillo-iotg:~# mysql -u root -p
----------------------------------------------------------------------
Enter password: # インストール(上記の手順2)時に設定したパスワード。
----------------------------------------------------------------------

ユーザーを確認してみます。

mysql> select user,host,password from mysql.user;
+------------------+----------------+-------------------------------------------+
| user             | host           | password                                  |
+------------------+----------------+-------------------------------------------+
| root             | localhost      | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root             | armadillo-iotg | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root             | 127.0.0.1      | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root             | ::1            | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| debian-sys-maint | localhost      | *7B11804127CC81E4E50E94ABCF8E8698D9F79141 |
+------------------+----------------+-------------------------------------------+
5 rows in set (0.00 sec)

データベースを確認してみます。

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

ユーザを作成します。(以降、ユーザー名"user1"で、上記の手順2でパスワードを"root"にした場合)

mysql> grant select, insert, update, delete, create, drop, index, alter on *.* to user1@"localhost" identified by "root";
Query OK, 0 rows affected (0.00 sec)

ユーザが作成されたことを確認します。

mysql> select user,host,password from mysql.user;
+------------------+----------------+-------------------------------------------+
| user             | host           | password                                  |
+------------------+----------------+-------------------------------------------+
| root             | localhost      | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root             | armadillo-iotg | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root             | 127.0.0.1      | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root             | ::1            | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| debian-sys-maint | localhost      | *7B11804127CC81E4E50E94ABCF8E8698D9F79141 |
| user1            | localhost      | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+------------------+----------------+-------------------------------------------+
6 rows in set (0.00 sec)
終了します。
<code lang="sh">
mysql> quit
Bye

5.PHPの確認

Apacheの設定で、MIMEタイプを追加します。

root@armadillo-iotg:~# vi /etc/apache2/mods-available/mime.conf

で、mime.confを開いて、

AddType application/x-bzip2 .bz2

の下に

AddType application/x-httpd-php .php

を追加します。

Apacheを再起動します。

root@armadillo-iotg:~# /etc/init.d/apache2 restart
root@armadillo-iotg:~# vi /var/www/html/phpinfo.php

で、phpinfo.phpファイルを開いて、

<?php
phpinfo();
?>

と記述します。

ブラウザで、 [ArmadilloのIPアドレス]/phpinfo.php にアクセスすると、phpinfoの画面を見ることができます。

補足) 手順3より、Armadillo-IoT(G3)のデフォルトでは、Webサーバー:lighttpdが自動起動しています。 そのため、

root@armadillo-iotg:~# /etc/init.d/lighttpd stop
root@armadillo-iotg:~# /etc/init.d/apache2 restart

が必要になります。

次回起動時以降、Webサーバー:lighttpdを自動起動させないには、

root@armadillo-iotg:/etc# update-rc.d lighttpd disable

とします。

なお、元に戻す(lighttpdを自動起動する)には、

root@armadillo-iotg:/etc# update-rc.d lighttpd enable

とします。