CentOS
RaspberryPi
centos7

[Raspberry Pi] RaspberryPi 2でCentOS7 ことはじめ

More than 3 years have passed since last update.

RaspberryPiにCentOS7をインストールしましたので


まずはupdate

yum updateで最新の状態にする


つぎにキーマップ

# localectl set-keymap jp106

# cat /vconsole.conf
KEYMAP="jp106"

参考:centos7でキーボードレイアウト変更


パーティション拡張

デフォルトだと2GBしかないので、拡張します。


/root/READMEに従う

(コメントありがとうございます!)

root直下で

# touch /.rootfs-repartition

として再起動!


/root/READMEに従わない

# df

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/root 1998672 1699032 178400 91% /
...
/dev/mmcblk0p1 307016 65064 241952 22% /boot
...

# fdisk /dev/mmcblk0
(p1をいれないように)

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): p

Disk /dev/mmcblk0: 15.8 GB, 15811477504 bytes, 30881792 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xc1356df5

Device Boot Start End Blocks Id System
/dev/mmcblk0p1 2048 616447 307200 c W95 FAT32 (LBA)
/dev/mmcblk0p2 616448 1665023 524288 82 Linux swap / Solaris
/dev/mmcblk0p3 1665024 5859327 2097152 83 Linux


パーティションの削除

Command (m for help): d

Partition number (1-3, default 3): 3
Partition 3 is deleted


パーティションの作成(プライマリ)

Command (m for help): n

Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
Partition number (3,4, default 3): 3
First sector (1665024-30881791, default 1665024):
Using default value 1665024
Last sector, +sectors or +size{K,M,G} (1665024-30881791, default 30881791):
Using default value 30881791
Partition 3 of type Linux and of size 14 GiB is set


設定の書き込み

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.


リブート後、サイズの変更をおこなう

# shutdown -r now

# resize2fs /dev/mmcblk0p3
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mmcblk0p3 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mmcblk0p3 is now 3652096 blocks long.

# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 14G 1.7G 12G 13% /
devtmpfs 459M 0 459M 0% /dev
tmpfs 463M 0 463M 0% /dev/shm
tmpfs 463M 12M 452M 3% /run
tmpfs 463M 0 463M 0% /sys/fs/cgroup
/dev/mmcblk0p1 300M 64M 237M 22% /boot
tmpfs 93M 0 93M 0% /run/user/0


いろいろインストールされていない

gitとかntpdateとか、いろいろインストールされていないので

必要なものをインストール。


epel-release

対応してませんでした

AMRv7に対応するまで待ちましょう


ntpdate


インストール

ラズパイは電源を落とすと、時刻が初期化されます。

ので、必要あらば正確な時刻を設定してください。

# yum install ntpdate

# ntpdate -s -b ntp.nict.jp

UTCになっていたら、timezoneを変更

# timedatectl set-timezone Asia/Tokyo


サービス登録

システム起動時に、時刻修正ができるようにサービス登録しました。

# cd /etc/systemd/system

# vi ntpdate-update.service


ntpdate-update.service

[Unit]

Description=NTP update on Boot
After=network.service

[Service]
Type=simple
ExecStart=/usr/sbin/ntpdate -s -b ntp.nict.jp

[Install]
WantedBy=default.target


# systemctl enable ntpdate-update.service


nodejs

epelでインストールできたら早かったのですが、それが叶わないので、ソースコンパイルします。


gcc, g++, git, make

いろいろありませんでしたので、インストール

# yum install gcc gcc-c++ git make


nodejs

GitHubからもってきます。

(2016年1月26日現在 masterはv6.0.0)

ここでは4.x系をインストールしたいと思います。

# git clone https://github.com/nodejs/node.git

# cd node
# git branch -b v4.x origin/v4.x
# ./configure --prefix=/usr
(過去の経験上、/usrにインストールしたほうがいい気がします)

# lscpu
(CPUの数を確認して)
# make -j4
(マルチプロセス数を指定する)
# make install
# source ~/.bash_profile
(インストールしたプログラムを認識させるため)

# node -v
v4.2.7-pre

# npm update -g npm
# npm -v
3.5.3

ビルドに1~2時間くらいかかります。まーしかたない。


php


インストール

remi 使えません。

ので、ソースコンパイルしてもいいけど

とりいそぎ、yumでいれちゃいます。

# yum install php php-mysqlnd (etc..)


mariadb


インストール

MySQLのかわりに、Mariadbになってますが、そのまま使います。

設定ファイルは、''/etc/my.cnf``のままです。

# yum install mariadb mariadb-server

# systemctl enable mariadb.service
# systemctl start mariadb.service
# mysql_secure_installation
# mysql -uroot -p


phpから接続

# php -r 'var_dump(new mysqli("localhost","user","password"));'

上記で確認した後は、コマンド履歴を消しておきましょう。


Apache2.4


インストール

yumからインストールできなかったので

ソースからインストールする。


事前準備

nghttp2のインストール

# git clone https://github.com/tatsuhiro-t/nghttp2.git/

# cd nghttp2
# autoreconf -i
# automake
# autoconf
# ./configure --prefix=/usr/local
# make -j4
# make install
# vi /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
# ldconfig
# ldconfig -p | grep http
libnghttp2.so.14 (libc6,hard-float) => /usr/local/lib/libnghttp2.so.14
libnghttp2.so (libc6,hard-float) => /usr/local/lib/libnghttp2.so

APR系のインストール

# yum install apr-devel apr-util-devel


Apache2.4のインストール

# wget http://ftp.meisei-u.ac.jp/mirror/apache/dist//httpd/httpd-2.4.18.tar.bz2

# tar jxvf httpd-2.4.18.tar.bz2
# cd httpd-2.4.18
# ./configure \
--enable-http \
--enable-http2 \
--enable-nghttp2-staticlib-deps \
--with-nghttp2=/usr/local/lib \
--with-apr=/usr/bin/apr-1-config \
--with-apr-util=/usr/bin/apu-1-config
# make install


to be continued ...