2026/04/11

radicast(改) 公開

radcastのメンテ停止から1年...やっとこエリアフリーに対応できました
満を持して radicast(改) を公開です
今回はちゃんとForkしました...

使い方はREADMEを参考に
すべて自己責任でやってください

https://github.com/omiso46/radicast

2025/01/25

radcast公開停止

時間が取れたのでradcastを修正してみようと思ったものの
いちど距離が開いてしまうと追いかける気力が湧かない……

radcastは公開停止します。サ終…

各所でradcastを参照いただいてたようで
ただただ嬉しい限り

みなさんありがとう


radicastを公開してくださって本当にありがとうございました

2025/01/22

radcast録音不可能

2025/01/19からradcastが録音できなくなった模様…
対応できるかな?できるといいな…

時間が取れたら頑張ってみるか…

2022/05/05

ラズパイでRadiko録音サーバを立てるっ!
(UbuntuServer22.04 + radcast)

祝!UbuntuServer22.04LTSリリース!
ということで、ラズパイ4でradcastサーバを構築しましょ。

OSの準備はRaspberry Pi Imagerにお任せ。
OSを選んで、、、
-> [Other general-purpose OS] -> [Ubuntu] -> [Ubuntu Server 22.04 LTS](64-bit)
ストレージを選んで、、、
細かい設定をしましょう。
ホスト名を適当に設定
SSHを有効化して、パスワード認証を使う
ユーザー名とパスワードを設定(以降、「作業ユーザ」と表記)
#radcastというシステムユーザーを作ってradcastを起動させるため、
#radcast以外のユーザー名を設定する
ロケールもついでに設定
設定が完了したら、書き込むボタンで、いざ!書き込み!!

書き込みが完了したら、固定IPアドレスを設定
system-boot パーティションの network-config を編集
ethernets:
  eth0:
    addresses:
      - 192.168.1.81/24
    gateway4: 192.168.1.1
    nameservers:
      addresses: [192.168.1.1]
    optional: true
メディアをラズパイにつないで電源オン!
数分後に母艦からSSHでつないでみる。
$ ssh 作成ユーザ@192.168.1.81

お約束その他
$ sudo apt update
$ sudo apt -y upgrade
$ sudo update-alternatives --config editor
→ vim.basic を選択

システムユーザの追加 radcast
$ sudo useradd --system radcast
作業ユーザにグループを追加
$ sudo usermod -aG radcast 作業ユーザ

必須ソフトのインストール
$ sudo apt -y install ffmpeg

golangのインストール
公式サイトから Linux ARM64 の最新版をダウンロード
https://golang.org/dl/
$ wget https://go.dev/dl/goX.XX.X.linux-arm64.tar.gz
解凍して配置
$ sudo tar -C /usr/local -xzf goX.XX.X.linux-arm64.tar.gz
環境変数の設定
$ sudo vi /etc/profile
最終行に追加
export PATH=$PATH:/usr/local/go/bin

反映のために再起動
$ sudo reboot

公開鍵認証にするために鍵をインストール ※公開鍵は別途作成(ggr)
母艦$ ssh-copy-id 作業ユーザ@192.168.1.81

作業再開
母艦$ ssh 作業ユーザ@192.168.1.81

radcastの取得
$ go install github.com/omiso46/radcast@latest
radcastの動作確認
$ ./go/bin/radcast -setup
地元ラジオ局がつらつらと表示されればOK

radcastのインストール
$ sudo cp ./go/bin/radcast /usr/local/bin/radcast
$ sudo chown radcast:radcast /usr/local/bin/radcast

録音ファイル格納先ディレクトリ作成
$ sudo mkdir /var/radcast
$ sudo chown radcast:radcast /var/radcast
$ sudo chmod 775 /var/radcast

過去ファイル破棄設定
$ sudo crontab -e
0 5 * * * find /var/radcast/ -type d -mtime +28 | xargs rm -rf
※毎日05時に、録音から28日経過した番組を削除
RAMDiskの有効化
$ sudo vi /etc/fstab
tmpfs      /tmp          tmpfs  defaults,size=1024m 0     0
反映のために再起動
$ sudo reboot

作業再開
母艦$ ssh 作業ユーザ@192.168.1.81

設定ファイルの構築
$ radcast -setup > /var/radcast/radcast.json
$ sudo chown radcast:radcast /var/radcast/radcast.json

録音番組編集
$ vi /var/radcast/radcast.json

チャンネルアイコン
アイコンにしたいお好み画像ファイル(pngフォーマット)を
「 radcast.png 」にリネームして、
/var/radcast/
に格納する。

radicastの自動起動設定
サービス定義ファイル
$ sudo systemctl edit --force --full radcast.service
[Unit]
Description=radcast [recording radiko and serving rss for podcast]
After=network.target multi-user.target

[Service]
Type=simple
Restart=always
User=radcast
ExecStartPre=/bin/sleep 60
ExecStart=/usr/local/bin/radcast
            -config /var/radcast/radcast.json
            -host 192.168.1.81
            -output /var/radcast
            -buffer 30
ExecStop=/bin/kill -WINCH ${MAINPID}
ExecReload=/bin/kill -HUP ${MAINPID}

[Install]
WantedBy=multi-user.target
※ExecStart行は1行で記述すること
systemctlに読み込ませる
$ sudo systemctl daemon-reload

サービスの自動起動設定
$ sudo systemctl enable radcast.service

再起動してエラー確認
$ sudo reboot

完成です!

2021/01/25

radcastをなんとか修正した

radikoの仕様変更(2021/01 HLSストリーミング)に対応できるようにradcastを修正しました。

$ go get -u github.com/omiso46/radcast
$ go install github.com/omiso46/radcast
$ sudo cp ~/go/bin/radcast /usr/local/bin/radcast

これに伴い「rtmpdump」が不要に。

修正ゴミだらけのソースを綺麗にしないと…。

2021/01/16

また録音できなくなってる

また仕様変更かな?
認証手順が間違ってるような感じ?
Go言語をよくわかってないから改修できるか謎。


プロトコルが完全に移行したって解釈でいいのかな?
ガッツリと改修しないとダメなんだけど、、、
果たして対応できるんだろうか・・・?

はぁ、誰かやってくんねーかな。

2020/12/06

radcast 修正

radikoの仕様変更(2020/12)に対応できるようにradcastを修正しました。

$ go get -u github.com/omiso46/radcast
$ go install github.com/omiso46/radcast
$ sudo cp ~/go/bin/radcast /usr/local/bin/radcast

これに伴い「swftools」が不要に(なったハズ)。
#Ubuntu 64bit でも動くようになった!

2020/08/23

ラズパイメモ

ROM化するときはfake-hwclockを止めてしまうのが健康的 
$ sudo systemctl disable fake-hwclock 

起動時のシステムクロックは対象ファイルのタイムスタンプを読み取っているので
ROM化したときはそのファイルのタイムスタンプを弄っておく(無意味)
/var/lib/systemd/timesync/clock

 母艦$ sudo touch -d "2020-01-01 00:00:00" \
     /[マウントポイント]/rootfs/var/lib/systemd/timesync/clock  

2019/12/08

RaspberryPi で radikoを録音して Podcastで配信する(第3章)

raspi-configにOverlay FSの設定が追加されたので、
radcastサーバーをread-onlyで構築してみよう。

母艦での作業


Raspbianインストール

$ sudo dd bs=4M if=2019-09-26-raspbian-buster-lite.img of=/dev/sdb status=progress conv=fsync

事前準備


SSH有効化

$ touch /media/****/boot/ssh

bluetooth無効化、UART有効化

$ vi /media/****/boot/config.txt
追加
# Disable Bluetooth
dtoverlay=disable-bt

# Enable UART
enable_uart=1
wi-fi接続設定

$ vi /media/****/boot/wpa_supplicant.conf
追加
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
暗号化したパスフレーズを追記

$ wpa_passphrase "YourSSID" "YourPassphrase" >> /media/****/boot/wpa_supplicant.conf

固定IPの設定

$ sudo vi /media/****/rootfs/etc/dhcpcd.conf
追加
interface wlan0
  static ip_address=192.168.0.81/24
  static routers=192.168.0.1
  static domain_name_servers=192.168.0.1 8.8.8.8
リポジトリの変更(近場へ)

$ sudo vi /media/****/rootfs/etc/apt/sources.list
変更
deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi
↓
deb http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian/ buster main contrib non-free rpi

IPv6の無効化

$ sudo vi /media/****/rootfs/etc/sysctl.conf
追加
# Disable IPv6
net.ipv6.conf.all.disable_ipv6 = 1

ラズパイでの作業


SSHログイン

母艦$ ssh pi@192.168.0.81
pi@192.168.0.81's password: raspberry

初期設定


viを高機能版に変更

$ sudo apt update
$ sudo apt -y install vim
$ sudo update-alternatives --config editor
⇛ "vim.basic"を選択する

Raspberry Pi 設定(raspi-configのコマンドラインで)

メモリ割り当て

$ sudo raspi-config nonint do_memory_split 16

タイムゾーン

$ sudo raspi-config nonint do_change_timezone "Asia/Tokyo"

ロケール

$ sudo raspi-config nonint do_change_locale "ja_JP.UTF-8"

ホスト名

$ sudo raspi-config nonint do_hostname radcast
再起動
$ sudo reboot
母艦$ ssh pi@192.168.0.81

操作ユーザーの作成

$ sudo useradd -m -s /bin/bash radcast
$ sudo passwd radcast
新しい UNIX パスワードを入力してください: [Password]
新しい UNIX パスワードを再入力してください: [Password]
passwd: パスワードは正しく更新されました

rootユーザーにパスワードを設定する
$ sudo passwd root
新しい UNIX パスワードを入力してください: [RootPassword]
新しい UNIX パスワードを再入力してください: [RootPassword]
passwd: パスワードは正しく更新されました

操作ユーザーでsudoが使えるようにする

$ sudo usermod -aG sudo radcast

システム更新

$ sudo apt update && sudo apt -y dist-upgrade
$ sudo apt -y autoremove && sudo apt autoclean

SSHのホスト鍵を更新

$ sudo rm -v /etc/ssh/ssh_host*
$ sudo dpkg-reconfigure openssh-server

Overlay FS を構築するため、一旦有効化

$ sudo raspi-config
[7 Advanced Options] → [AA Overlay FS]
→ <はい> → <了解> → <いいえ> → <了解>
<finish>でリブート
母艦$ ssh pi@192.168.0.81

Overlay FS を無効化

$ sudo raspi-config
[7 Advanced Options] → [AA Overlay FS]
→ <いいえ> → <了解> → <了解>
<finish>でリブート
操作ユーザーでログイン
母艦$ ssh radcast@192.168.0.81

Piユーザーの停止(パスワードを期限切れに)

$ sudo passwd -l pi

チャレンジレスポンス認証を許可

$ sudo vi /etc/ssh/sshd_config
変更
ChallengeResponseAuthentication yes
NTPの設定

$ sudo vi /etc/systemd/timesyncd.conf
追加
NTP=ntp.nict.jp ntp.jst.mfeed.ad.jp
FallbackNTP=time.google.com
不要サービスの停止

$ sudo systemctl disable avahi-daemon
$ sudo systemctl disable triggerhappy

swapの停止

$ sudo systemctl disable dphys-swapfile
$ sudo dphys-swapfile uninstall

必須ソフトのインストール

$ sudo apt -y install ffmpeg swftools rtmpdump git

Go言語のインストール(Goは最新版をサイトから落として入れる)

https://golang.org/dl/
公式サイトから Linux ARMv6 の最新版パッケージをwgetで取得
$ wget https://dl.google.com/go/goX.XX.X.linux-armv6l.tar.gz

解凍して配置

$ sudo tar -C /usr/local -xzf goX.XX.X.linux-armv6l.tar.gz

環境変数の設定

$ sudo vi /etc/profile
変更
export PATH=
↓
export PATH=$PATH:/usr/local/go/bin
反映のために再起動
$ sudo reboot
母艦$ ssh radcast@192.168.0.81

radcast のセットアップ


radcastの取得

$ go get github.com/omiso46/radcast
動作確認

$ ./go/bin/radcast -setup
地元ラジオ局がつらつらと表示されればOK
アプリインストール

$ sudo cp ./go/bin/radcast /usr/local/bin/radcast

cronの設定

$ sudo crontab -e
過去ファイルの廃棄設定
0 5 * * * find /var/radcast/ -type d -mtime +28 | xargs rm -rf
※毎日05時に、録音から28日経過した番組を削除

定期リブート
45 4 * * 1 /sbin/reboot
※毎週月曜04時45分にリブート

USBメディアの登録

ベースディレクトリ

$ sudo mkdir /var/radcast

ディレクトリオーナーの変更

$ sudo chown radcast.radcast /var/radcast

メディアのマウント定義とRAMDiskの有効化(/tmpなどをtmpfsへ)

$ sudo vi /etc/fstab
変更&追加
proc       /proc       proc     defaults          0     0
PARTUUID=00000000-01   /boot       vfat  defaults         0     2
PARTUUID=00000000-01   /           ext4  defaults,noatime 0     1
↓↓
proc       /proc       proc     defaults          0     0
PARTUUID=00000000-01   /boot       vfat  defaults         0     0
PARTUUID=00000000-01   /           ext4  defaults,noatime 0     0
tmpfs      /tmp          tmpfs  defaults,size=96m 0     0
tmpfs      /var/tmp      tmpfs  defaults,size=8m  0     0
tmpfs      /var/log      tmpfs  defaults,size=8m  0     0
/dev/sda1  /var/radcast  ext4   defaults          0     0
電源を落としてUSBメディアを差し込む
$ sudo halt
母艦$ ssh radcast@192.168.0.81

設定ファイルの構築

$ radcast -setup > radcast.json
$ sudo cp ./radcast.json /var/radcast/radcast.json
$ sudo chown radcast.radcast /var/radcast/radcast.json

録音番組編集

$ vi /var/radcast/radcast.json

チャンネルアイコン

アイコンにしたいお好み画像ファイル(pngフォーマット)を
「 radcast.png 」にリネームして、
/var/radcast/
に格納する。

radicastの自動起動設定
サービス定義ファイル(起動時遅延処理)

$ sudo systemctl edit --force --full initialdelay.service
[Unit]
Description=Initial Delay Service
After=network.target multi-user.target

[Service]
Type=oneshot
User=radcast
ExecStart=sleep 60
TimeoutSec=90

[Install]
WantedBy=multi-user.target
サービス定義ファイル(本体用)

$ sudo systemctl edit --force --full radcast.service
[Unit]
Description=radcast [recording radiko and serving rss for podcast]
After=network.target multi-user.target initialdelay.service

[Service]
Type=simple
Restart=always
User=radcast
ExecStart=/usr/local/bin/radcast
            -config /var/radcast/radcast.json
            -host 192.168.0.81
            -output /var/radcast
            -buffer 30
ExecStop=/bin/kill -WINCH ${MAINPID}

[Install]
WantedBy=multi-user.target
※ExecStart行は1行で記述すること

systemctlに読み込ませる

$ sudo systemctl daemon-reload

サービスの自動起動設定

$ sudo systemctl enable initialdelay.service
$ sudo systemctl enable radcast.service

再起動してエラー確認

$ sudo reboot

秘密鍵をコピーしてログイン時にパスワード入力を省く

母艦$ ssh-copy-id radcast@192.168.0.81
Password: [Password]

Overlay FS を有効化

$ sudo raspi-config
[7 Advanced Options] → [AA Overlay FS]
→ <はい> → <了解> → <はい> → <了解>
<finish>でリブート

完成!


思う存分、電源ブチギリを楽しんでください。

2019/11/23

read-only が標準装備!?

raspi-config(20191021)にOverlay FSの設定が現れる。
これでread-onlyが捗るね。

2019/04/21

RaspberryPi で radikoを録音して Podcastで配信する(第2章)

radicastを改造したものを、radcastとして自分用に公開

Raspberry Pi zero W に Raspbian Stretch Lite で radcast 専用機を構築するメモ

Raspbian のインストール(母艦での作業)


microSDを差し込み、マウント解除

$ umount /dev/sdb1
$ umount /dev/sdb2

Raspbianのコピー

$ sudo dd if=YYYY-MM-DD-raspbian-stretch-lite.img of=/dev/sdb status=progress bs=1M

SSH有効化の準備

$ touch /media/******/boot/SSH

bluetoothの無効化とUARTの有効化

$ vi /media/******/boot/config.txt
末尾に追加

# Disable Bluetooth
dtoverlay=pi3-disable-bt

# Enable UART
enable_uart=1

Wi-Fi接続情報の設定

$ vi /media/******/boot/wpa_supplicant.conf
平文の場合

country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
  ssid="**YourSSID**"
  psk="**YourPassphrase**"
}

平文が気になる場合は「wpa_passphrase」コマンドで暗号化する

$ wpa_passphrase "YourSSID" "YourPassphrase"
network={
  ssid="YourSSID"
  #psk="YourPassphrase" ← 削除
  psk=01afe38da0c3176176b3484f3185ce7f3dc504dc4d51a17a8126f7c0786ced26
}
置き換える

固定IPの設定

$ sudo vi /media/******/rootfs/etc/dhcpcd.conf
末尾に追加

interface wlan0
  static ip_address=192.168.0.81/24
  static routers=192.168.0.1
  static domain_name_servers=192.168.0.1 8.8.8.8

アクセス制限の設定

$ sudo vi /media/******/rootfs/etc/hosts.deny
末尾に追加

ALL:ALL

$ sudo vi /media/******/rootfs/etc/hosts.allow
末尾に追加

ALL:127.0.0.1
ALL:192.168.0.0/24

リポジトリの変更

$ sudo vi /media/******/rootfs/etc/apt/sources.list
現行サーバ定義をコメント化し、末尾に追加

#deb http://mirrordirector.raspbian.....
deb http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian/ stretch main contrib non-free rpi

microSDをラズパイに差し込んで。。。

ラズパイ入電!


SSHログイン


母艦$ ssh pi@192.168.0.81
pi@192.168.0.81's password: raspberry

初期設定


viを高機能版に変更

$ sudo apt-get update
$ sudo apt-get -y install vim
$ sudo update-alternatives --config editor
⇛ "vim.basic"を選択する

Raspberry Pi 設定(raspi-configのコマンドラインで)

メモリ割り当て

$ sudo raspi-config nonint do_memory_split 16

タイムゾーン

$ sudo raspi-config nonint do_change_timezone "Asia/Tokyo"

ロケール

$ sudo raspi-config nonint do_change_locale "ja_JP.UTF-8"

ホスト名

$ sudo raspi-config nonint do_hostname radcast

再起動

$ sudo reboot

操作ユーザーの作成

$ sudo useradd -m -s /bin/bash radcast
$ sudo passwd radcast
新しい UNIX パスワードを入力してください: [Password]
新しい UNIX パスワードを再入力してください: [Password]
passwd: パスワードは正しく更新されました

rootユーザーにパスワードを設定する

$ sudo passwd root
新しい UNIX パスワードを入力してください: [Password]
新しい UNIX パスワードを再入力してください: [Password]
passwd: パスワードは正しく更新されました

操作ユーザーでsudoが使えるようにする

$ sudo usermod -aG sudo radcast

システム更新

$ sudo apt-get update && sudo apt-get -y dist-upgrade
$ sudo apt-get -y autoremove && sudo apt-get autoclean

SSHのホスト鍵を更新

$ sudo rm -v /etc/ssh/ssh_host*
$ sudo dpkg-reconfigure openssh-server

再起動して操作ユーザーでログインしなおす

$ sudo reboot
母艦$ ssh radcast@192.168.0.81

Piユーザーの停止(パスワードを期限切れに)

$ sudo passwd -l pi

チャレンジレスポンス認証を許可

$ sudo vi /etc/ssh/sshd_config
変更

ChallengeResponseAuthentication yes

NTPの設定

$ sudo vi /etc/systemd/timesyncd.conf
追加

NTP=ntp.nict.jp ntp.jst.mfeed.ad.jp
FallbackNTP=time.google.com

不要サービスの停止

$ sudo systemctl disable avahi-daemon
$ sudo systemctl disable triggerhappy

swapの停止

$ sudo systemctl disable dphys-swapfile
$ sudo dphys-swapfile uninstall

USBメディアの登録

可能な限りSDカードへの書き込みを減らすべく
録音ファイルはUSBメディアへ書き込むようにする

ベースディレクトリ
$ sudo mkdir /var/radcast

ディレクトリオーナーの変更
$ sudo chown radcast.radcast /var/radcast

メディアのマウント定義とRAMDiskの有効化(/tmpなどをtmpfsへ)

$ sudo vi /etc/fstab
変更&追加

proc       /proc       proc     defaults          0     0
PARTUUID=00000000-01   /boot       vfat  defaults         0     2
PARTUUID=00000000-01   /           ext4  defaults,noatime 0     1
↓↓
proc       /proc       proc     defaults          0     0
PARTUUID=00000000-01   /boot       vfat  defaults         0     0
PARTUUID=00000000-01   /           ext4  defaults,noatime 0     0
tmpfs      /tmp          tmpfs  defaults,size=96m 0     0
tmpfs      /var/tmp      tmpfs  defaults,size=8m  0     0
tmpfs      /var/log      tmpfs  defaults,size=8m  0     0
/dev/sda1  /var/radcast  ext4   defaults          0     0

電源を落としてUSBメディアを差し込む

$ sudo halt

電源を入れて操作ユーザーでログイン

母艦$ ssh radcast@192.168.0.81

必須ソフトのインストール

$ sudo apt-get -y install libav-tools swftools rtmpdump git

Go言語のインストール(Goは最新版をサイトから落として入れる)

https://golang.org/dl/
公式サイトから Linux ARMv6 の最新版パッケージをwgetで取得
$ wget https://dl.google.com/go/goX.XX.X.linux-armv6l.tar.gz

解凍して配置
$ sudo tar -C /usr/local -xzf goX.XX.X.linux-armv6l.tar.gz

環境変数の設定
$ sudo vi /etc/profile
変更

export PATH=$PATH:/usr/local/go/bin

反映のために再起動
$ sudo reboot

radcast のセットアップ


radcastの取得

$ go get github.com/omiso46/radcast
動作確認

$ ./go/bin/radcast -setup
地元ラジオ局がつらつらと表示されればOK

インストール

$ sudo cp ./go/bin/radcast /usr/local/bin/radcast

設定ファイルの構築

$ radcast -setup > radcast.json
$ sudo cp ./radcast.json /usr/local/etc/radcast.json
$ sudo chown radcast.radcast /usr/local/etc/radcast.json

録音番組編集

$ vi /usr/local/etc/radcast.json

過去ファイルの自動廃棄設定

$ sudo crontab -e
追加

0 5 * * * find /var/radcast/ -type d
                              -mtime +13
                              | xargs rm -rf
※1行で記述すること
※日次05時に、作成から13日経過したディレクトリを削除

定期リブート

$ sudo crontab -e
追加

55 4 * * 1 /sbin/reboot
※毎週月曜04時55分にリブート

チャンネルアイコン

アイコンにしたいお好み画像ファイル(pngフォーマット)を「 radcast.png 」とし、
/var/radcast/
に格納する。

radicastの自動起動設定

サービス定義ファイル
$ sudo vi /etc/systemd/system/radcast.service

[Unit]
Description=radcast [recording radiko and serving rss for podcast]
After=network.target multi-user.target

[Service]
Type=simple
Restart=always
User=radcast
ExecStart=/usr/local/bin/radcast
            -config /usr/local/etc/radcast.json
            -host 192.168.0.81
            -output /var/radcast
            -buffer 30
ExecStop=/bin/kill -WINCH ${MAINPID}

[Install]
WantedBy=multi-user.target
※ExecStart行は1行で記述すること
systemctlに読み込ませる
$ sudo systemctl daemon-reload

サービスの自動起動設定
$ sudo systemctl enable radcast.service

完成!


再起動してエラー確認

2018/05/23

RaspberryPi で radikoを録音して Podcastで配信する(総集編)

radicast構築記事を自分用にひとまとめ記事に。

・RaspberryPi で radikoを録音して Podcastで配信する(OS編)
・RaspberryPi で radikoを録音して Podcastで配信する(構築編)
・RaspberryPi で radikoを録音して Podcastで配信する(改造編)
・RaspberryPi で radikoを録音して Podcastで配信する(改造編2)

Raspberry Pi zero W に Raspbian Stretch Lite で radicast 専用機を構築します。

Raspbian のインストール(母艦での作業)


microSDを差し込み、fdiskでパーティション削除

$ sudo fdisk /dev/sdb

Raspbianのコピー

$ sudo dd if=2018-04-18-raspbian-stretch-lite.img of=/dev/sdb bs=1M

SSH有効化の準備

$ touch /media/******/boot/SSH

bluetoothの無効化

$ vi /media/******/boot/config.txt
末尾に追加

# Disable Bluetooth
dtoverlay=pi3-disable-bt

Wi-Fi接続情報の設定

$ vi /media/******/boot/wpa_supplicant.conf
平文の場合

country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
  ssid="**YourSSID**"
  psk="**YourPassphrase**"
}

平文が気になる場合は「wpa_passphrase」コマンドで暗号化する

$ wpa_passphrase YourSSID YourPassphrase
network={
  ssid="YourSSID"
  #psk="YourPassphrase" ← 削除
  psk=01afe38da0c3176176b3484f3185ce7f3dc504dc4d51a17a8126f7c0786ced26
}
置き換える

固定IPの設定

$ sudo vi /media/******/rootfs/etc/dhcpcd.conf
末尾に追加

interface wlan0
  static ip_address=192.168.0.81/24
  static routers=192.168.0.1
  static domain_name_servers=192.168.0.1 8.8.8.8

アクセス制限の設定

$ sudo vi /media/******/rootfs/etc/hosts.deny
末尾に追加

ALL:ALL

$ sudo vi /media/******/rootfs/etc/hosts.allow
末尾に追加

ALL:127.0.0.1
ALL:192.168.0.0/24

リポジトリの変更

$ sudo vi /media/******/rootfs/etc/apt/sources.list
現行サーバ定義をコメント化し、末尾に追加

#deb http://mirrordirector.raspbian.....
deb http://ftp.tsukuba.wide.ad.jp/Linux/raspbian/raspbian/ stretch main contrib non-free rpi

microSDをラズパイに差し込んで。。。

ラズパイ入電!


SSHログイン


母艦$ ssh pi@192.168.0.81
pi@192.168.0.81's password: raspberry

初期設定


viを高機能版に変更

$ sudo apt-get update
$ sudo apt-get install vim
$ sudo update-alternatives --config editor
⇛ "vim.basic"を選択する

Raspberry Pi 設定(raspi-configを使わずに対話式で)

メモリ割り当て

$ sudo raspi-config nonint do_memory_split 16

タイムゾーン

$ sudo timedatectl set-timezone Asia/Tokyo

言語

$ sudo perl -pe 's/^# (ja_JP.UTF-8 UTF-8)/$1/g' -i /etc/locale.gen
$ sudo locale-gen
$ sudo update-locale LANG=ja_JP.UTF-8

ホスト名

$ sudo raspi-config nonint do_hostname radicast

再起動

$ sudo reboot

操作ユーザーの作成

$ sudo useradd -m -s /bin/bash radicast
$ sudo passwd radicast
新しい UNIX パスワードを入力してください: [Password]
新しい UNIX パスワードを再入力してください: [Password]
passwd: パスワードは正しく更新されました

rootユーザーにパスワードを設定する

$ sudo passwd root
新しい UNIX パスワードを入力してください: [Password]
新しい UNIX パスワードを再入力してください: [Password]
passwd: パスワードは正しく更新されました

操作ユーザーでsudoが使えるようにする

$ sudo visudo
# User privilege specification の下に追加

radicast ALL=(ALL:ALL) ALL

システム更新

$ sudo apt-get update && sudo apt-get -y dist-upgrade
$ sudo apt-get -y autoremove && sudo apt-get autoclean

ファーム更新

$ sudo rpi-update

SSHのホスト鍵を更新

$ sudo rm -v /etc/ssh/ssh_host*
$ sudo dpkg-reconfigure openssh-server

再起動して操作ユーザーでログインしなおす

$ sudo reboot
母艦$ ssh radicast@192.168.0.81

Piユーザーの停止(パスワードを期限切れに)

$ sudo passwd -l pi

チャレンジレスポンス認証を許可

$ sudo vi /etc/ssh/sshd_config
変更

ChallengeResponseAuthentication yes

NTPの設定

$ sudo vi /etc/systemd/timesyncd.conf
追加

NTP=ntp.nict.jp ntp.jst.mfeed.ad.jp
FallbackNTP=time.google.com

不要サービスの停止

$ sudo systemctl disable avahi-daemon
$ sudo systemctl disable triggerhappy

swapの停止

$ sudo systemctl disable dphys-swapfile
$ sudo dphys-swapfile uninstall

USBメディアの登録

可能な限りSDカードへの書き込みを減らすべく
録音ファイルはUSBメディアへ書き込むようにする

ベースディレクトリ
$ sudo mkdir /var/radicast

ディレクトリオーナーの変更
$ sudo chown radicast.radicast /var/radicast

メディアのマウント定義とRAMDiskの有効化(/tmpなどをtmpfsへ)

$ sudo vi /etc/fstab
変更&追加

proc       /proc       proc     defaults          0     0
PARTUUID=00000000-01   /boot       vfat  defaults         0     2
PARTUUID=00000000-01   /           ext4  defaults,noatime 0     1
↓↓
proc       /proc       proc     defaults          0     0
PARTUUID=00000000-01   /boot       vfat  defaults         0     0
PARTUUID=00000000-01   /           ext4  defaults,noatime 0     0
tmpfs      /tmp          tmpfs  defaults,size=96m 0     0
tmpfs      /var/tmp      tmpfs  defaults,size=8m  0     0
tmpfs      /var/log      tmpfs  defaults,size=8m  0     0
/dev/sda1  /var/radicast ext4   defaults          0     0

電源を落としてUSBメディアを差し込む

$ sudo halt

電源を入れて操作ユーザーでログイン

母艦$ ssh radicast@192.168.0.81

必須ソフトのインストール

$ sudo apt-get -y install libav-tools swftools rtmpdump git

Go言語のインストール(Goは最新版をサイトから落として入れる)

https://golang.org/dl/
公式サイトから Linux ARMv6 の最新版パッケージをwgetで取得
$ wget https://dl.google.com/go/go1.10.2.linux-armv6l.tar.gz

解凍して配置
$ sudo tar -C /usr/local -xzf go1.10.2.linux-armv6l.tar.gz

環境変数の設定
$ sudo vi /etc/profile
変更

export PATH=$PATH:/usr/local/go/bin

反映のために再起動
$ sudo reboot

radicast のセットアップ


radicastの取得

$ go get github.com/soh335/radicast
動作確認

$ ./go/bin/radicast -setup
地元ラジオ局がつらつらと表示されればOK

radicastの改造

・無劣化録音対応
・05時開始番組が録音できない不具合の対応
・チャンネルのアイコン設定
・番組のアイコン取得
・他

対象ソースは4本
・converter.go
・podcast.go
・radiko.go
・server.go






Build & Install

$ cd ~/go/src/
$ go build github.com/soh335/radicast/
$ sudo cp ./radicast /usr/local/bin/radicast

設定ファイルの構築

$ cd ~
$ radicast -setup > radicast.json
$ sudo cp ./radicast.json /usr/local/etc/radicast.json
$ sudo chown radicast.radicast /usr/local/etc/radicast.json

録音番組編集

$ vi /usr/local/etc/radicast.json

過去ファイルの自動廃棄設定

$ sudo crontab -e
追加

0 5 * * * find /var/radicast/ -type d
                              -mtime +15
                              | xargs rm -rf
※1行で記述すること
※日次05時に、作成から15日経過したディレクトリを削除

チャンネルアイコン

アイコンにしたいお好み画像ファイル(pngフォーマット)を「 radicast.png 」とし、
/var/radicast/
に格納する。

radicastの自動起動設定

サービス定義ファイル
$ sudo vi /etc/systemd/system/radicast.service

[Unit]
Description=radicast [recording radiko and serving rss for podcast]
After=network.target multi-user.target

[Service]
Type=simple
Restart=always
User=radicast
ExecStart=/usr/local/bin/radicast
            -config /usr/local/etc/radicast.json
            -host 192.168.0.81
            -output /var/radicast
            -buffer 30
ExecStop=/bin/kill -WINCH ${MAINPID}

[Install]
WantedBy=multi-user.target
※ExecStart行は1行で記述すること
systemctlに読み込ませる
$ sudo systemctl daemon-reload

サービスの自動起動設定
$ sudo systemctl enable radicast.service

完成!


再起動してエラー確認

2018/05/13

RaspberryPi で radikoを録音して Podcastで配信する(改造編2)

radicast をちょっと弄ってアイコンを表示させる。

・OSインストール編
・システム構築編
・改造編1(無劣化録音対応)

対象ソースは1本
・server.go

差分は次のとおり。


Build & Install

$ cd go/src/
$ go build github.com/soh335/radicast/
$ sudo cp ./radicast /usr/local/bin/

ファイル廃棄の設定変更

$ sudo crontab -e
変更

0 5 * * * find /var/radicast/ -mtime +22 -not -name '*.png' -delete
※毎日05時に22日経過したファイルを削除(ただし、.png は除外)

アイコンにしたいお好み画像ファイル(pngフォーマット)を「 radicast.png 」とし、
/var/radicast
に格納する。

これでお好み画像がアイコン表示される。めでたしめでたし。

2018/04/14

RaspberryPi を Read-Only で運用


#####################################

Raspbian Stretch Lite で構築できることを確認しています

#####################################


GitHubに公開されている
Read-only Root-FS with overlayfs for Raspian
というものでRead-Only環境を構築するためのメモ。

ただ、通常の設定では固定IPが使えないという状況。
他にも制限はあるのかもしれない…。


とりあえず、焼いた直後のRaspbianでは使えるようなので一旦公開。
といっても、本家サイトで公開されている手順通りに進めるだけ。

swapの停止

$ sudo systemctl disable dphys-swapfile
$ sudo dphys-swapfile uninstall

パッケージのインストール

$ sudo apt-get install git rsync gawk busybox bindfs

リポジトリのクローンニング

$ sudo git clone https://github.com/josepsanzcamp/root-ro.git

システムのセットアップ

※/var/tmp 配下でファイルが生成されるので、
容量制限アリでtmpfsをマウントしてる場合は解除してから実行するのが吉

$ sudo rsync -va root-ro/etc/initramfs-tools/* /etc/initramfs-tools/
$ sudo mkinitramfs -o /boot/initrd.gz
$ sudo bash -c 'echo initramfs initrd.gz >> /boot/config.txt'

モード切替スクリプト ※動作未検証 要はremountするだけ

$ sudo vi /usr/local/bin/mode-readwrite.sh

#!/bin/bash

if [ $(id -u) -ne 0 ]; then
 echo "Must be run as root."
 echo "Try 'sudo $0'"
 exit 1
fi

# /
mount -o remount,rw /mnt/root-ro
# /boot
mount -o remount,rw /mnt/boot-ro

$ sudo vi /usr/local/bin/mode-readonly.sh

#!/bin/bash

if [ $(id -u) -ne 0 ]; then
 echo "Must be run as root."
 echo "Try 'sudo $0'"
 exit 1
fi

# /
mount -o remount,ro /mnt/root-ro
# /boot
mount -o remount,ro /mnt/boot-ro

$ sudo chmod 755 /usr/local/bin/mode-*.sh

リブート

$ sudo reboot

2018/04/08

RaspberryPi で radikoを録音して Podcastで配信する(改造編)

radicast をちょっと弄ってradikoの無劣化録音できるようにする。

・OSインストール編
・システム構築編
・改造編2(Podcastアイコン対応)

対象のソースは3本
・converter.go
・radiko.go
・server.go

差分は次のとおり。


Build & Install

$ cd go/src/
$ go build github.com/soh335/radicast/
$ sudo cp ./radicast /usr/local/bin/

サービス定義ファイルの修正
$ sudo vi /etc/systemd/system/radicast.service

[Unit]
Description=radicast [recording radiko and serving rss for podcast]
After=network.target

[Service]
Type=simple
Restart=always
User=radicast
ExecStart=/usr/local/bin/radicast
    -config /usr/local/etc/radicast.json
    -host 192.168.0.81
    -output /var/radicast
ExecStop=/bin/kill -WINCH ${MAINPID}

[Install]
WantedBy=multi-user.target
※ExecStart行は1行で記述すること
※bitrate と converter オプションを除外
systemctlに読み込ませる
$ sudo systemctl daemon-reload

再起動してエラー確認
$ sudo reboot

2018/04/07

Raspberry Pi Zero W 構築メモ

Raspberry Pi Zero W (や、3など)で
インストール直後からWi-Fiで接続するための手順メモ

Raspbianを焼いてSDカードを母艦に刺し直したところからスタート

SSH有効化の準備

$ touch /media/******/boot/SSH

Wi-Fi接続情報の設定

$ sudo vi /media/******/boot/wpa_supplicant.conf
平文の場合

country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
  ssid="**YourSSID**"
  psk="**YourPassphrase**"
}

平文が気になる場合は「wpa_passphrase」コマンドで暗号化する

$ wpa_passphrase YourSSID YourPassphrase
network={
  ssid="YourSSID"
  #psk="YourPassphrase"
  psk=01afe38da0c3176176b3484f3185ce7f3dc504dc4d51a17a8126f7c0786ced26
}
置き換える

(必要に応じて)固定IPの設定

$ sudo vi /media/******/rootfs/etc/dhcpcd.conf
末尾に追加

interface wlan0
  static ip_address=192.168.0.81/24
  static routers=192.168.0.1
  static domain_name_servers=1.1.1.1 1.0.0.1

これでおk

2018/01/27

RaspberryPi で radikoを録音して Podcastで配信する(構築編)

radicast という、radikoを録音してPodcast配信までやってくれるスグレモノを見つけた。
Go言語で記述されていて、ラズパイでも動作可能という。

年単位で絶賛放置中のラズパイに
「もう一度、日の目を見せてあげよう!」
プロジェクトの始動です。

・OSインストール編
・改造編1(無劣化録音対応)
・改造編2(Podcastアイコン対応)

今回は「Raspbian Stretch Lite」で radicast 専用機として構築します。
複数番組同時録音をしないのであれば無印ラズパイで十分。
※俺環構築メモです。母艦はUbuntu。ご注意を。

radicastのインストール


操作ユーザーでログイン

母艦$ ssh radicast@192.168.0.81

必須ソフトのインストール

$ sudo apt-get install libav-tools swftools rtmpdump git

Go言語のインストール(Goは最新版をサイトから落として入れる)

https://golang.org/dl/
公式サイトから自分の環境にあった最新版パッケージをwgetで取得
$ wget https://dl.google.com/go/go1.9.3.linux-armv6l.tar.gz

解凍して配置
$ sudo tar -C /usr/local -xzf go1.9.3.linux-armv6l.tar.gz

環境変数の設定
$ sudo vi /etc/profile
変更

export PATH
↓↓
export PATH=$PATH:/usr/local/go/bin

反映のために再起動
$ sudo reboot


radicast のセットアップ


radicastの取得

$ go get github.com/soh335/radicast
動作確認

$ ./go/bin/radicast -setup
地元ラジオ局がつらつらと表示されればOK

radicastのインストール

$ sudo cp ./go/bin/radicast /usr/local/bin/

設定ファイルの構築

$ radicast -setup > radicast.json
$ sudo cp ./radicast.json /usr/local/etc
$ sudo chown radicast.radicast /usr/local/etc/radicast.json

録音番組編集

$ vi /usr/local/etc/radicast.json


radicastシステム構築


録音ファイル格納パス

可能な限りSDカードへの書き込みを減らすべく
録音ファイルはUSBメディアへ書き込むようにする

ベースディレクトリ
$ sudo mkdir /var/radicast

メディアのマウント定義
$ sudo vi /etc/fstab
追加

/dev/sda1   /var/radicast ext4  defaults          0       0
再起動してマウント状態を確認

ディレクトリオーナーの変更
$ sudo chown radicast.radicast /var/radicast

過去ファイルの自動廃棄設定

$ sudo crontab -e
追加

0 5 * * * find /var/radicast/ -mtime +22 -delete
※毎日05時に22日経過したファイルを削除

radicastの自動起動設定

サービス定義ファイル
$ sudo vi /etc/systemd/system/radicast.service

[Unit]
Description=radicast [recording radiko and serving rss for podcast]
After=network.target

[Service]
Type=simple
Restart=always
User=radicast
ExecStart=/usr/local/bin/radicast
    -config /usr/local/etc/radicast.json
    -host 192.168.0.81
    -output /var/radicast
    -bitrate 96k
    -converter avconv
ExecStop=/bin/kill -WINCH ${MAINPID}

[Install]
WantedBy=multi-user.target
※ExecStart行は1行で記述すること
systemctlに読み込ませる
$ sudo systemctl daemon-reload

サービスの自動起動設定
$ sudo systemctl enable radicast.service

完成


再起動してエラーが発生していなければOK

2018/01/21

RaspberryPi で radikoを録音して Podcastで配信する(OS編)

radicast という、radikoを録音してPodcast配信までやってくれるスグレモノを見つけた。
Go言語で記述されていて、ラズパイでも動作可能という。

年単位で絶賛放置中のラズパイに
「もう一度、日の目を見せてあげよう!」
プロジェクトの始動です。

・システム構築編
・改造編1(無劣化録音対応)
・改造編2(Podcastアイコン対応)

今回は「Raspbian Stretch Lite」で radicast 専用機として構築します。
複数番組同時録音をしないのであれば無印ラズパイで十分。
※俺環構築メモです。母艦はUbuntu。ご注意を。

Raspbian のインストール


Raspbianのコピー(コピー後にsyncしてからSDを挿し直す)

$ sudo dd if=./2017-11-29-raspbian-stretch-lite.img of=/dev/sdb bs=1M

SSH有効化の準備

$ touch /media/******/boot/SSH

固定IPの設定(固定IPはやっぱり 81 [パイ]でしょ!)

$ sudo vi /media/******/rootfs/etc/dhcpcd.conf
末尾に追加

interface eth0
  static ip_address=192.168.0.81/24
  static routers=192.168.0.1
  static domain_name_servers=192.168.0.1 8.8.8.8

ラズパイ入電!


SSHログイン


母艦$ ssh pi@192.168.0.81
pi@192.168.0.81's password: raspberry


初期設定


viを高機能版に変更

$ sudo apt-get install vim
$ sudo update-alternatives --config editor
⇛ "vim.basic"を選択する

アクセス制限の設定

$ sudo vi /etc/hosts.deny
末尾に追加

ALL:ALL

$ sudo vi /etc/hosts.allow
末尾に追加

ALL:127.0.0.1
ALL:192.168.0.0/24

Raspberry Pi 設定(raspi-configを使わずに対話式でやってみる)
メモリ割り当て

$ sudo raspi-config nonint do_memory_split 16

タイムゾーン

$ sudo timedatectl set-timezone Asia/Tokyo

言語

$ sudo perl -pe 's/^# (ja_JP.UTF-8 UTF-8)/$1/g' -i /etc/locale.gen
$ sudo locale-gen
$ sudo update-locale LANG=ja_JP.UTF-8

ホスト名

$ sudo raspi-config nonint do_hostname radicast

再起動

$ sudo reboot

操作ユーザーの作成

$ sudo useradd -m -s /bin/bash radicast
$ sudo passwd radicast
新しい UNIX パスワードを入力してください: [Password]
新しい UNIX パスワードを再入力してください: [Password]
passwd: パスワードは正しく更新されました

rootユーザーにパスワードを設定する

$ sudo passwd root
新しい UNIX パスワードを入力してください: [Password]
新しい UNIX パスワードを再入力してください: [Password]
passwd: パスワードは正しく更新されました

操作ユーザーでsudoが使えるようにする

$ sudo visudo
# User privilege specification の下に追加

radicast ALL=(ALL:ALL) ALL

リポジトリの更新

$ sudo vi /etc/apt/sources.list
現行サーバ定義をコメント化し、末尾に追加

#deb http://mirrordirector.raspbian.....
deb http://ftp.jaist.ac.jp/raspbian/ stretch main contrib non-free rpi

システム更新

$ sudo apt-get update && sudo apt-get -y dist-upgrade
$ sudo apt-get -y autoremove && sudo apt-get autoclean

ファーム更新

$ sudo rpi-update

SSHのホスト鍵を更新

$ sudo rm -v /etc/ssh/ssh_host*
$ sudo dpkg-reconfigure openssh-server

再起動して操作ユーザーでログインしなおす

$ sudo reboot
母艦$ ssh radicast@192.168.0.81

Piユーザーの停止(パスワードを期限切れに)

$ sudo passwd -l pi

チャレンジレスポンス認証を許可

$ sudo vi /etc/ssh/sshd_config
変更

ChallengeResponseAuthentication no
↓↓
ChallengeResponseAuthentication yes

NTPの設定

$ sudo vi /etc/systemd/timesyncd.conf
追加

NTP=ntp.nict.jp ntp.jst.mfeed.ad.jp
FallbackNTP=time.google.com

不要サービスの停止

$ sudo systemctl disable avahi-daemon
$ sudo systemctl disable triggerhappy

swapの停止

$ sudo systemctl disable dphys-swapfile
$ sudo dphys-swapfile uninstall

RAMDiskを有効化(/tmpなどをtmpfsへ)

$ sudo vi /etc/fstab
変更&追加

proc        /proc       proc    defaults          0       0
PARTUUID=00000000-01  /boot     vfat  defaults         0       2
PARTUUID=00000000-01  /         ext4  defaults,noatime 0       1
↓↓
proc        /proc       proc    defaults          0       0
PARTUUID=00000000-01  /boot     vfat  defaults         0       0
PARTUUID=00000000-01  /         ext4  defaults,noatime 0       0
tmpfs       /tmp        tmpfs   defaults,size=256m 0       0
tmpfs       /var/tmp    tmpfs   defaults,size=8m  0       0
tmpfs       /var/log    tmpfs   defaults,size=8m  0       0

再起動

$ sudo reboot

次回、構築編

2014/08/10

Rsapberry Pi に MediaTomb と ownCloud 第2話

パッケージインストール編

●権限追加

自ユーザーにwww-dataの権限を追加

# usermod -G www-data [ hogehoge ]

●USBメモリのマウント

USBメモリを挿し込んで入電。dmesg等でデバイス名を確認しておく。

# mkdir /var/media
# mkdir /var/www
# chmod 777 /var/media
# chmod 777 /var/www
# chown pi:pi /var/media
# chown www-data:www-data /var/www

fstabの編集
# vi /etc/fstab

/dev/sda1       /var/media      ext4    defaults          0       0
/dev/sdb1       /var/www        ext4    defaults          0       0

再起動してUSBメモリにアクセスできることを確認する。

●必要パッケージのインストール

$ su -
# apt-get install apache2 php5 sqlite3
# apt-get install libapache2-mod-php5 php5-intl
# apt-get install php5-gd php-xml-parser php5-curl
# apt-get install php5-sqlite php-apc
# apt-get install mediatomb
# apt-get install samba samba-common-bin

●MediaTombの設定

# vi /etc/mediatomb/config.xml

<protocolInfo extend="no"/>

<protocolInfo extend="yes"/>

↓間に2行追加
  <import hidden-files="no">
    <filesystem-charset>UTF-8</filesystem-charset>
    <metadata-charset>UTF-8</metadata-charset>
    <scripting script-charset="UTF-8">

↓非コメント化
        <map from="avi" to="video/divx"/>

↓mimeセクションに追加
      <extension-mimetype ignore-unknown="no">
        <map from="jpg" to="image/jpeg"/>
        <map from="jpeg" to="image/jpeg"/>
        <map from="gif" to="image/gif"/>
        <map from="png" to="image/png"/>
        <map from="m4a" to="audio/mp4"/>
        <map from="m4v" to="video/mp4"/>
        <map from="mp4" to="video/mp4"/>
        <map from="mpg" to="video/mpeg"/>
        <map from="MPG" to="video/mpeg"/>
        <map from="mpeg" to="video/mpeg"/>
        <map from="m2p" to="video/mpeg"/>

# vi /etc/default/mediatomb
INTERFACE=""
INTERFACE="eth0"

サービスのリスタート
# service mediatomb restart

他PCから「http://192.168.xxx.yyy:49152/」にアクセス
MediaTombの設定画面が開けばOK

●sambaの設定

# vi /etc/samba/smb.conf

[media]
comment = media
path = /var/media
writeable = yes
guest ok = yes
create mask = 0777
directory mask = 0777
read only = no
browseable = yes
force user = pi
public = yes

サービスのリスタート
# service samba restart

他PCから「smb://[ホスト名]/media/」にアクセス
ファイルの読み書きができればOK

●Apacheの設定

起動プロセス制限
# vi /etc/apache2/apache2.conf

<IfModule mpm_prefork_module>
    StartServers          5
    MinSpareServers       5
    MaxSpareServers      10
    MaxClients          150
    MaxRequestsPerChild   0
</IfModule>
↓↓
<IfModule mpm_prefork_module>
    StartServers          1
    MinSpareServers       1
    MaxSpareServers       3
    MaxClients            3
    MaxRequestsPerChild   2
</IfModule>
※値は必ずしも最適値ではない

Apacheの動作設定
# vi /etc/apache2/sites-enabled/000-default

<Directory /var/www/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride None
  Order allow,deny
  allow from all
<Directory /var/www/>
↓↓
<Directory /var/www/>
  Options -Indexes ExecCGI FollowSymlinks
  AllowOverride All
  Order allow,deny
  allow from all
<Directory /var/www/>

ログレベル設定
# vi /etc/apache2/apache2.conf

LogLevel warn
↓↓
LogLevel emerg

サービスのリスタート
# service apache2 restart

他PCから「http://192.168.xxx.yyy」にアクセス
何かが表示されてればOK

●ownCloudインストール

ownCloud本体のダウンロード
http://owncloud.org/install/
Unix版のダウンロードアドレスをホストマシンのクリップボードにコピーする。

# cd /var/www
# wget https://download.owncloud.org/community/owncloud-x.x.x.tar.bz2

# tar -xjf owncloud-x.x.x.tar.bz2
# chown -R www-data:www-data owncloud

.htaccessの設定
owncloud の.htaccessをapacheの設定値として流用する
# cp /var/www/owncloud/.htaccess /etc/apache2/conf.d/owncloud.conf

# vi /etc/apache2/conf.d/owncloud.conf
(ファイル先頭に追加)
Alias /owncloud /var/www/owncloud
<Directory /var/www/owncloud>

(ファイル末尾に追加)
</Directory>

Apache2を再起動し、ブラウザでアクセスしてみる。
# service apache2 restart

http://192.168.xxx.yyy/owncloud
管理者アカウントを設定。
その他の詳細設定はお好みで設定(デフォルトのままでもOK)。

フォロワー