VirtualBox5.2 + Extension Pack + CentOS 7
前提環境
●ホスト Windows10 pro 64bit
●Oracle VM VirtualBox 5.2.18 r124319 (Qt5.6.2)
●ゲスト CentOS 7 64bit
$ cat /etc/redhat-releaseCentOS Linux release 7.5.1804 (Core)
手順は・・・▼
$ cat /etc/redhat-releaseCentOS Linux release 7.5.1804 (Core)
$ cat /etc/redhat-release CentOS release 6.9 (Final)カーネルは
$ uname -r 2.6.32-696.10.1.el6.i686Webサーバは
$ httpd -v Server version: Apache/2.2.15 (Unix) Server built: Jun 19 2018 15:47:03例としてWebのドメイン名は
example.comWebのドキュメントルートは
/home/taro/web/example.com/document
https://letsencrypt.jp/usage/に目を通し
https://letsencrypt.jp/usage/install-certbot.htmlの通りに...▼
Microsoft Edge ブラウザは、ループバックアドレスにアクセスできない仕様。回避方法は
1.コンパネ インターネットオプション ローカルイントラネット サイト 「他のゾーンに指定されていないローカルのサイトをすべて含める」チェックを外す
2.about:flags 「ローカルホスト ループバックを許可する」にチェック Edge再起動
3.仮想サーバのNAT側にポートフォワーディングを設定(例:8888)し、Edge ブラウザからは http://127.0.0.1:8888/ でアクセス。
# cat /etc/redhat-release CentOS release 6.9 (Final)カーネルは
# uname -r 2.6.32-696.30.1.el6.x86_64手順は...▼
# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core)カーネルは
# uname -r 3.10.0-862.3.3.el7.x86_64手順は...▼
/var/spool/mail/taroにメールの実体が蓄積。ちなみにroot宛もtaroに転送設定済み。
ホストOS Windows7 home
VirtualBox Version 5.0.10
で構築したホストオンリーネットワーク構成CentOS 6.9仮想サーバイメージが配布先
ホストOS Windows10 home
VirtualBox Version 5.2.8
で起動に失敗。この現象の情報は多くホストオンリーネットワークのMACアドレス更新で解消。
ところが今度は DHCPクライアントアドレスが割り当たらない。ちなみに、
echo "#" > /etc/udev/rules.d/75-persistent-net-generator.rules
として、NICの自動設定は無効化済み。解決方法は・・・▼
[admin@localhost ~]$ sudo yum -y install http://ftp.riken.jp/Linux/repoforge/redhat/el6/en/i386/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.i686.rpm
またしても 以前設置した「英語ニュース自動ダウンロード」のWEB構成が仕様変更。
RSSのパスまで変わってしまうので手動で変更。
https://www3.nhk.or.jp/nhkworld/en/radio/latest/
のページの右上のPodcast
https://www3.nhk.or.jp/rj/podcast/rss/english.xmlによれば、ダウンロードファイルは
25 21 * * 0-5 cd ~/xx;wget -q https://www3.nhk.or.jp/nhkworld/upld/medias/en/radio/news/`date +\%Y\%m\%d`200000_english_1.mp3 1>/dev/nullオールSSLになった模様。
ll /etc/yum.repos.d sudo rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.i686.rpm sudo rpm -ivh http://ftp.riken.jp/Linux/repoforge/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm ll /etc/yum.repos.d sudo yum -y --enablerepo=rpmforge install mplayer* libdvdcssこれでインストール完了。動画(Nexus5で撮影)の詳細情報を確認して...
以前設置した「英語ニュース自動ダウンロード」で、12/24からcronエラーメールが届く。
NHK WORLD RADIO JAPAN 英語ニュース mp3音声ファイルの仕様が変わってしまった模様。
rss (http://www.nhk.or.jp/rj/podcast/rss/english.xml)ファイルによると、これまで固定だったファイル名 english.mp3 に日時情報が付加。
crontab -eで
30 3,14,19,21,23 * * 0-5 cd ~/xx;wget -q http://www3.nhk.or.jp/rj/podcast/mp3/english.mp3;mv english.mp3 news`date +\%Y\%m\%d\%H`.mp3 1>/dev/nullから
30 3,14,19,21,23 * * 0-5 cd ~/xx;wget -q http://www3.nhk.or.jp/rj/podcast/mp3/`date +\%Y\%m\%d\%H`0100_1_english.mp3 1>/dev/nullへ変更。
VirtualBox 5.0.10 r104061
$ uname -r 2.6.18-407.el5...▼
/var/log/nginx/*.log /var/www/*/logs/*log{ daily nodateext missingok rotate 99 compress delaycompress notifempty create 640 nginx wheel sharedscripts postrotate [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid` endscript }という具合に、連番サフィックス nodateext を指定。
/var └─www └─html ドキュメントルート(ワードプレス) │ ├─wp-admin │ ├─wp-content │ └─wp-includes /etc └─nginx │ koi-utf ,mime.types, nginx.conf │ koi-win ,scgi_params │ win-utf ,uwsgi_params │ └─conf.d default.conf example_ssl.conf mywordpress.conf ★...▼
/var └─www └─html ドキュメントルート(ワードプレス) │ ├─wp-admin │ ├─wp-content │ └─wp-includes /etc └─nginx │ koi-utf ,mime.types, nginx.conf │ koi-win ,scgi_params │ win-utf ,uwsgi_params │ └─conf.d default.conf example_ssl.conf mywordpress.conf ★設定ファイルを1つ追加・・・▼
/var └─www └─html ドキュメントルート(ワードプレス トップ)データベースにログイン
$ mysql --show-warnings -u root -pワードプレスのデータベース作成。
mysql> create database wp1;ワードプレスのデータベースユーザー作成(ユーザー名'wp1'、パスワード'wp1')。
mysql> grant all privileges on wp1.* to wp1@localhost identified by 'wp1';データベースでの作業終了。
mysql> quit;ユーザーのホームディレクトリへ移動。
$ cd ~/ワードプレス4.0を取得。
$ curl -LO http://ja.wordpress.org/latest-ja.tar.gzワードプレスを展開。
$ sudo tar zxvf latest-ja.tar.gz -C /var/wwwWEBサーバ停止。
$ sudo service httpd stop念のため古いドキュメントルートをリネーム保存。
$ sudo mv /var/www/html /var/www/html.org展開したワードプレスディレクトリをドキュメントルートにリネーム。
$ sudo mv /var/www/wordpress /var/www/htmlドキュメントルートの権限を修正。
$ sudo chown -R root:root /var/www/htmlWEBサーバ開始。
$ sudo service httpd startすぐにブラウザでアクセスし
自分の検査記録映像をDVDで取得。
映像 左上に名前が表示されている為 表示エリアを切り出し、恥ずかしいラスト約30秒をカットしてから ユーチューブにアップするまでの手順。
前提環境
MEncoder SVN-r31628-4.4.6 (C) 2000-2010 MPlayer Team
CentOS release 6.4 (Final)
▼
●WEBコンテンツ開発スタッフのアカウントはプライマリグループapacheで追加
$ sudo usermod -g apache user1サブでwheelグループに所属させる場合に限り
$ sudo usermod -G wheel user1
-rw-r--r-- 1 user1 apache 0 7月 19 08:00 2014 sample.txt↓
-rw-rw---- 1 user1 apache 0 7月 19 09:00 2014 sample.txtのように他人・他グループユーザのファイルアクセスを禁止、同一グループのファイル書き込みを許可するなら
$ sudo vi /etc/profile.d/mybashrc.sh
if [ "`id -gn`" = "apache" ]; then
umask 0007
fi
-rw-r----- 1 user1 apache 0 7月 19 09:00 2014 sample.txtのように他人・他グループユーザのファイルアクセスを禁止するだけなら
$ sudo vi /etc/profile.d/mybashrc.sh if [ "`id -gn`" = "apache" ]; then umask 0027 fi
デフォルトのumaskは
$ umask
0022
注意:上記umaskの apacheプライマリーグループのユーザーでは、pear の sudo インストールで失敗(file open error)する為 wheelプライマリーグループのユーザーで。
●apacheでネームベースの仮想ホスト構築
配置
/varウェルカムページを全てコメントアウト
└─www
│ .htpasswd
├─cgi-bin
├─error
├─html
├─icons
├─virtual1
│ ├─appli WEBアプリケーション
│ │
│ ├─document ドキュメントルート
│ │
│ └─logs アクセスログ、エラーログ
│
└─virtual2
├─appli WEBアプリケーション
│
├─document ドキュメントルート
│
└─logs アクセスログ、エラーログ
$ sudo vi /etc/httpd/conf.d/welcome.confトップページ作成
$ vi /var/www/virtual1/document/index.html404エラーページ作成
$ vi /var/www/virtual2/document/index.html
$ vi /var/www/virtual1/document/404.htmlapache 設定ファイル
$ vi /var/www/virtual2/document/404.html
$ sudo mv /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.org設定ファイルの文法チェック
$ sudo cp /etc/httpd/conf/httpd.conf.org /etc/httpd/conf/httpd.conf
$ sudo vi /etc/httpd/conf/httpd.conf
$ sudo diff /etc/httpd/conf/httpd.conf.org /etc/httpd/conf/httpd.conf
44c44
< ServerTokens OS
---
> ServerTokens ProductOnly
536c536
< ServerSignature On
---
> ServerSignature Off
759c759
< AddDefaultCharset UTF-8
---
> #AddDefaultCharset UTF-8
990c990
< #NameVirtualHost *:80
---
> NameVirtualHost *:80
1009a1010,1029
> <VirtualHost *:80>
> DocumentRoot /var/www/virtual1/document
> ServerName virtual1.mydmain.com
> ErrorLog /var/www/virtual1/logs/error_log
> CustomLog /var/www/virtual1/logs/access_log combined
> ErrorDocument 404 /404.html
> <Directory "/var/www/virtual1/document">
> AllowOverride All
> </Directory>
> </VirtualHost>
> <VirtualHost *:80>
> DocumentRoot /var/www/virtual2/document
> ServerName virtual2.mydmain.com
> ErrorLog /var/www/virtual2/logs/error_log
> CustomLog /var/www/virtual2/logs/access_log combined
> ErrorDocument 404 /404.html
> <Directory "/var/www/virtual2/document">
> AllowOverride All
> </Directory>
> </VirtualHost>
$ sudo /usr/sbin/apachectl configtestapacheを再起動
$ sudo service httpd restarthttp://virtual1.mydmain.com/
上記の設定は ".htaccess" で制御可能。
BASIC認証アカウントとパスワードの作成
htpasswd /var/www/.htpasswd "id"認証制限したいパスに".htaccess"の作成
AuthType Basic
AuthName "Authentication required"
AuthUserFile /var/www/.htpasswd
Require valid-user
mysqlデータベースと連携したphp WEBアプリまで。
●WEBサーバー
apache がインストールされているか確認
$ sudo yum list installed | grep httpdなければ apache をインストール
$ yum info httpd自動起動になっていなければ自動起動に変更
$ sudo yum -y install httpd
$ chkconfig --list | grep httpdapacheを起動してウェルカムページ確認
$ sudo chkconfig httpd on
$ sudo service httpd starthttp://IPアドレス/
$ sudo usermod -G apache admin
$ id admin
●データベースサーバー
mysql-server がインストールされているか確認
$ sudo yum list installed | grep mysql-servermysql Ver 14.14 Distrib 5.1.73
$ yum info mysql-servermysql-server を起動
$ sudo yum -y install mysql-server
$ sudo service mysqld start初期化(パスワード・匿名ユーザー・サンプルデータベースの扱いなど)
$ sudo mysql_secure_installation
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL日本語を使用する場合
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!In order to log into MySQL to secure it, we'll need the current
password for the root user. If you've just installed MySQL, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.Enter current password for root (enter for none): (初めてならエンター)
OK, successfully used password, moving on...Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.Set root password? [Y/n] Y
New password: *****************
Re-enter new password: *****************
Password updated successfully!
Reloading privilege tables..
... Success!By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
:
Remove anonymous users⁄ [Y/n] Y
:
Disallow root login remotely⁄ [Y/n] Y
:
Remove test database and access to it⁄ [Y/n] Y
:
Reload privilege tables now⁄ [Y/n] Y
:
sudo mv /etc/my.cnf /etc/my.cnf.org[mysqld]のブロックに最低限
sudo cp /etc/my.cnf.org /etc/my.cnf
sudo vi /etc/my.cnf
[mysqld]を追記してmysqlサーバ再起動
default-character-set = utf8
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8
$ sudo service mysqld restart自動起動になっていなければ自動起動に変更
$ chkconfig --list | grep mysqlmysql-server へログオン確認
$ sudo chkconfig mysqld on
$ mysql --show-warnings -u root -p
●php
php エンジンがインストールされているか確認
$ sudo yum list installed | grep phpPHP 5.3.3 (cli) (built: Dec 11 2013 03:29:57)
$ sudo yum info phpphp でマルチバイトストリング(日本語)を使えるか確認
$ sudo yum -y install php
$ sudo yum list installed | grep php-mbstringなければ php-mbstring をインストール
$ yum info php-mbstringphp から mysql を使用できるか確認
$ sudo yum -y install php-mbstring
$ sudo yum list installed | grep php-mysqlなければ php-mysql をインストール
$ yum info php-mysql確認用の phpファイルを作成
$ sudo yum -y install php-mysql
$ vi /var/www/html/info.phpapacheを再起動
$ cat /var/www/html/info.php
<?php
phpinfo();
?>
$ sudo service httpd restartここまで apache の設定ファイル httpd.conf はデフォルトのまま。
●phpライブラリpear
pear がインストールされているか確認
$ sudo yum list installed | grep php-pearなければ pear をインストール
$ yum info php-pearpear バージョン確認
$ sudo yum -y install php-pear
$ pear versionPEAR Version: 1.9.5
$ pear list
$ sudo pear install -a ethna/ethnaを解決するためNotice: Array to string conversion in PEAR/REST/13.php on line 80
PHP Notice: Array to string conversion in /usr/share/pear/PEAR/REST/13.php on line 80Warning: Invalid argument supplied for foreach() in PEAR/REST/13.php on line 84
PHP Warning: Invalid argument supplied for foreach() in /usr/share/pear/PEAR/REST/13.php on line 84
PHP Fatal error: Cannot use string offset as an array in /usr/share/pear/PEAR/REST/10.php on line 263
$ sudo pear clear-cachepear アップグレード
$ sudo pear list-upgrades
$ sudo pear upgrade pear
●phpフレームワーク ethna
ethna をインストール
$ sudo pear channel-discover pear.ethna.jpethna コマンド確認
$ sudo pear install -a ethna/ethna
$ ethna -vEthna 2.5.0 (using PHP 5.3.3)
●GDライブラリ
phpで画像の拡大・縮小をするためインストール
$ sudo yum list installed | grep php-gd
$ yum info php-gd
$ sudo yum -y install php-gd
CentOS 6 x86_64 インストール直後から。
●rootでログイン、メイングループwheelとして管理用アカウント追加、パスワード設定、確認
# useradd -g wheel admin
# passwd admin
# id admin
●root になれるユーザを wheel グループのみに制限
# visudo
# %wheel ALL=(ALL) ALL ↓先頭のコメントアウト#を除去 %wheel ALL=(ALL) ALL以降 admin でログインしなおして作業。
●日本語メッセージを出力したいユーザー毎に
$ vi .bash_profileで、末尾に
LANG="ja_JP.UTF-8"
export LANG
LC_CTYPE="ja_JP.UTF-8"
export LC_CTYPE
を追加。
●root のリモートログイン無効。SSH接続デフォルトポートを変更。
$ sudo mv /etc/ssh/sshd_config /etc/ssh/sshd_config.org変更箇所は
$ sudo cp /etc/ssh/sshd_config.org /etc/ssh/sshd_config
$ sudo vi /etc/ssh/sshd_config
$ sudo diff /etc/ssh/sshd_config.org /etc/ssh/sshd_config設定変更の適用
13c13
< #Port 22
---
> Port 10022
42c42
< #PermitRootLogin yes
---
> PermitRootLogin no
$ sudo /etc/rc.d/init.d/sshd reloadあるいは再起動
$ sudo /etc/rc.d/init.d/sshd restart
●root宛てメールをadminへ変更
$ sudo mv /etc/aliases /etc/aliases.org変更箇所は
$ sudo cp /etc/aliases.org /etc/aliases
$ sudo vi /etc/aliases
$ sudo diff /etc/aliases.org /etc/aliases
96c96
< #root: marc
---
> root: admin
$ sudo newaliases
●OSアップデート
$ sudo yum clean all
$ sudo yum install yum-fastestmirror
$ sudo yum -y update
●logwatch
logwatch がインストールされているか確認
$ sudo yum list installed | grep logwatchなければ logwatch をインストール
$ yum info logwatchカスタマイズは以前と同様。
$ sudo yum -y install logwatch
●ログローテート
logrotate がインストールされているか確認
$ sudo yum list installed | grep logrotateなければ logrotate をインストール
$ yum info logrotate基本的なカスタマイズは以前と同様。ただし、ローテートするファイル履歴のデフォルトのサフィックスが連番から年月日へ変更されている。こちらの変更は後日。
$ sudo yum -y install logrotate
●ファイヤーウォール
iptables がインストールされているか確認
$ sudo yum list | grep iptablesなければ iptables をインストール
$ yum info iptablesSSH接続、WEBサーバの接続を許可する設定
$ sudo yum -y install iptables
$ sudo vi /etc/sysconfig/iptables設定を反映
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10022 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
$ sudo service iptables restart確認
$ sudo iptables -L自動起動になっていなければ自動起動に変更
$ chkconfig --list | grep iptables
$ sudo chkconfig iptables on
720/368 | 1.956 | ||
720/400 | 1.8 | ||
16/9 | 1280/720 | 1.78 | GALAXY NEXUS SC-04D |
720/416 | 1.73 | ||
5/3 | 800/480 | 1.67 | HTC ISW11HT |
3/2 | 720/480 480/320 |
1.5 | DVD NTSC |
4/3 | 1024/768 800/600 640/480 400/300 |
1.33 | XGA SVGA VGA |
HTC EVO ISW11HT 向けに変換した動画が、GALAXY NEXUS SC-04D で再生NG。
「MX 動画プレイヤー」などのアプリに依存せず、アンドロイド標準の「ギャラリー」で再生可能な変換オプション。
HTC ISW11HT の 解像度 800:480。
android2.3.4ギャラリーversion2.00.000.457691.970。
GALAXY NEXUS SC-04D の 解像度 1280:720。
android4.0.0ギャラリーversion1.1.30682
android4.2.2ギャラリーversion1.1.40001
android4.3 ギャラリーversion1.1.40012
DVD の 解像度 720:480。
それぞれで再生可能な mencoder オプション比較は▼
mencoder dvdオプションの備忘録。
ミュージックDVD、1曲目
dvd://1
2曲目
dvd://2
:
ライブDVD、1曲目
dvd://1 -chapter 1
2曲目
dvd://1 -chapter 2
1~9曲目
dvd://1 -chapter 1-9
:
ただし、全chapterの2パスエンコードでは開始・終了時間指定が確実。
変換後の期待サイズでビデオ・オーディオのビットレート決定。あとは各コーデックのオプションで画質調整。サイズは、映像ソースによって増えたり減ったり(試した限りでは最大で15%程度)。
androidスマートフォン向けの変換に使用したビデオコーデックは H.264の様々なオプションを指定した例。
$ mencoder dvd://1 -dvd-device dvdimage.iso -o converted.mp4 \
-vf pp=ci,pp=l5 \
-of lavf -lavfopts format=mp4 \
-oac mp3lame -lameopts cbr:br=128 \
-ovc x264 -x264encopts nocabac:level_idc=30:bframes=0:bitrate=700:threads=auto:global_header:threads=auto:subq=5:frameref=6:partitions=all:trellis=1:chroma_me:me=umh \
>> log.txt 2>> error.txt &
前回の基本形(1パスエンコード)の次は、事前にファーストエンコードする時間を与え、さらに圧縮率を向上させる2パスエンコード。
なぜか全チャプタだと最後の最後に2パスエンコードに失敗するので DVD のチャプタ・タイムライン情報
$ mplayer dvd://1 -dvd-device dvdimage.iso -identify
そのコマンド例は▼
ISO形式のDVDイメージファイルをAndroid(HTC EVO ISW11HT)で再生可能な形式に変換。
前提環境
MEncoder SVN-r31628-4.4.6 (C) 2000-2010 MPlayer Team
CentOS release 6.4 (Final)
●システムにインストールされている出力フォーマット
$ mencoder -of help
Available output formats:
avi - Microsoft Audio/Video Interleaved
mpeg - MPEG-1/2 system stream format
lavf - FFmpeg libavformat muxers
rawvideo - (video only, one stream only) raw stream, no muxing
rawaudio - (audio only, one stream only) raw stream, no muxing
●システムにインストールされているビデオ・コーデック
$ mencoder -ovc help
Available codecs:
copy - frame copy, without re-encoding. Doesn't work with filters.
frameno - special audio-only file for 3-pass encoding, see DOCS.
raw - uncompressed video. Use fourcc option to set format explicitly.
nuv - nuppel video
lavc - libavcodec codecs - best quality!
vfw - VfW DLLs, read DOCS/HTML/en/encoding-guide.html.
qtvideo - QuickTime DLLs, currently only SVQ1/3 are supported.
libdv - DV encoding with libdv v0.9.5
xvid - XviD encoding
x264 - H.264 encoding
●システムにインストールされているオーディオ・コーデック
$ mencoder -oac help
Available codecs:
copy - frame copy, without re-encoding (useful for AC3)
pcm - uncompressed PCM audio
mp3lame - cbr/abr/vbr MP3 using libmp3lame
lavc - FFmpeg audio encoder (MP2, AC3, ...)
twolame - Twolame MP2 audio encoder
faac - FAAC AAC audio encoder
●HTC ISW11HT(android2.3.4 ギャラリーversion2.00.000.457691.970)
サポートする音楽ファイルの形式
再生: .aac, .amr, .ogg, .m4a, .mid, .mp3, .wav, .wma (Windows Media Audio 9)
録音: .amr
サポートする動画ファイルの形式
再生: .3gp, .3g2, .mp4, .wmv (Windows Media Video 9), .avi (MP4 ASP and MP3), .xvid (MP4 ASP and MP3)
録画: .3gp
変換は▼
mencoder を使う為に、これを含む mplayer をインストール。
前提環境
cat /etc/redhat-release
CentOS release 6.4 (Final)
cat /proc/version
Linux version 2.6.32-358.el6.i686 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) ) #1 SMP Thu Feb 21 21:50:49 UTC 2013
uname -a
Linux fitpc2 2.6.32-358.el6.i686 #1 SMP Thu Feb 21 21:50:49 UTC 2013 i686 i686 i386 GNU/Linux
$ ll /etc/yum.repos.d
合計 20
-rw-r--r--. 1 root root 1926 12月 1 09:06 2013 CentOS-Base.repo
-rw-r--r--. 1 root root 638 12月 1 09:06 2013 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 630 12月 1 09:06 2013 CentOS-Media.repo
-rw-r--r--. 1 root root 4528 12月 1 09:06 2013 CentOS-Vault.repo
リポジトリを追加する▼
80の他に新たなポートを開けない場合、先頭の仮想ホストがデフォルトのフォワードプロキシ。ここではプロキシのキャッシュはしない。
# vi /etc/httpd/conf
:
<VirtualHost *:80>
:
ServerName www.domain ←デフォルト(先頭)仮想ホスト
:
<IfModule mod_proxy.c>
ProxyRequests On
<Proxy *>
Order deny,allow
Deny from all
Allow from 123.123.123.123 ←ここからのIPアドレスに制限
</Proxy>
ProxyVia Block
</IfModule>
<VirtualHost>
:
ハードウェア:Shuttle XS35GT D510 nVIDIA ION
BIOS:1.0B (BIOSで無線LANをON/OFFするため)
無線LANカード:Realtek RTL8191SE
OS:CentOS release 6.4 (Final)
カーネル:2.6.32-358.6.2.el6.i686
で無線LANを使用する手順▼
Linux のコマンドラインから、ラジコ、らじるらじ を録音できれば、あとは cron に登録するだけ。
▼エアチェック クーロンマネージャー WEBアプリのデモ。
http://www.remix.asia/blog/ac_demo/radiko/
民放の「ラジコ」をlinuxで録音するには、前回の『らじるらじる の 録音』ができている他に、ある認証?が必要。
環境は、CentOS6.2 の最小インストールからアップグレードしたCentOS6.4。
Pentiam3 66MHz,128MB でも十分に同時録音 確認済み。
手順は... ↓
NHKの「らじるらじる」をlinuxで録音。
環境は、CentOS6.2 の最小インストールからアップグレードしたCentOS6.4。
YahooBB ADSL12M, Pentiam3 66MHz, 128MB でも十分に同時録音 確認済み。
手順は... ↓
fitPC2iにインストールした centos6.2 の samba Version 3.5.10 での現象。
Windows XP や 7 から sanmab共有フォルダへ数kB以上のファイルをコピー(アップロード)した瞬間にOSごと無反応。接続中の ssh も無反応。
samba のログレベルを上げても この操作のログは残らず、OSごと落ちている模様。
centos6.4 へアップグレードで解消(sambaのみアップグレードしただけでは解消しない)。
[root@fitPC2i ~]# yum update
発生環境▼
[root@fitPC2i ~]# yum list | grep lame
yum -y install lame
●mp3エンコーダ『lame』の取得
[[taro@fitPC2i lame]$ wget http://sourceforge.net/projects/lame/files/lame/3.99/lame-3.99.5.tar.gz/download
:
●『lame』の解凍 ▼
●ルートになってテキストブラウザ『wget』の確認
[taro@fitPC2i lame]$ su -
パスワード:
[root@fitPC2i ~]# yum list | grep wget
wget.i686 1.12-1.8.el6 base
●『wget』のインストール ▼
1日5回更新される約10分間の英語ニュースmp3音声をLinuxで自動ダウンロード。
NHK WORLD RADIO JAPAN (http://www3.nhk.or.jp/nhkworld/)なので、とてもきれいな英語。
テレビの同時通訳のようにネイティブ向け早口ではない。英語の他に16カ国語。
●URLは固定 ↓
http://www3.nhk.or.jp/rj/podcast/mp3/english.mp3
更新時刻は3,14,19,21,23時のそれぞれ15分ごろ。
●環境 ↓
$ cat /etc/redhat-release
CentOS release 6.2 (Final)
$ cat /proc/version
Linux version 2.6.32-220.17.1.el6.i686 (mockbuild@c6b5.bsys.dev.centos.org) (gcc version 4.4.6 20110731 (Red Hat 4.4.6-3) (GCC) ) #1 SMP Tue May 15 22:09:39 BST 2012
$ wget -V
GNU Wget 1.12 built on linux-gnu.
手順は ↓
超小型ファンレス省エネパソコン fitPC2i で エアーチェックサーバを構築。
自宅での Webアプリ開発・検証、sshトンネリング、ファイルサーバ も予定。
こちらで実績のある CentOS 5.8 を導入したところ
サウンドデバイスは Alsa v1.0.17 によって Realtek ALC262 rev1 と認識されるものの録音しても音が入らない。
おまけに SSD から SMARTエラーを発生(他のファイルシステムでは異常なし)。
深追いせず CentOS 6.2 へ予定変更。
サウンドデバイスは Alsa v1.0.21 によって Realtek ALC262 rev1 と認識され録音可能に。
SSD も ext4 フォーマット時に退避された模様。
CentOS 6 から、いくつかデフォルト設定が変更
▼
後々のことを考慮し最初から仮想サーバとして運用(/home/taro/public_html にコンテンツを配置する http://www.mydomain/~taro/ とはしない)。
アクセスログ・エラーログは仮想サーバ毎に出力。
/home
/home/taro
/home/taro/web
/home/taro/web/domain1
/home/taro/web/domain1/appli ← CGI等
/home/taro/web/domain1/document ← ドキュメントルート
/home/taro/web/domain1/logs ← ログ
仮想サーバを追加する場合
/home/taro/web/domain2
/home/taro/web/domain2/appli
/home/taro/web/domain2/document
/home/taro/web/domain2/logs
あるいは
/home/jiro/web/domain3
/home/jiro/web/domain3/appli
/home/jiro/web/domain3/document
/home/jiro/web/domain3/logs
という具合。手順は ▼
●logwatch がインストールされているか確認
[root@www ~]# yum list installed | grep logwatch
logwatch.noarch 7.3-9.el5_6 installed
[root@www ~]# which logwatch
/usr/sbin/logwatch
[root@www ~]# logwatch -v
Logwatch 7.3 (released 03/24/06)
●なければ logwatch をインストール
[root@www ~]# yum info logwatch
[root@www ~]# yum -y install logwatch
●logwatch の設定
デフォルトで root へ通知される。ここでは外部へのメールアドレスへ通知する。
/etc/logwatch/conf/logwatch.conf へ直接
MailTo = MyMail@outside.domain を追加するか
root宛の全通知を外部へのメールアドレスへ転送するように変更する。
[root@www ~]# diff /etc/aliases.org /etc/aliases
96c96
< #root: marc
---
> root: MyMail@outside.domain
●試験
[root@www ~]# logwatch --print
●logrotate がインストールされているか確認
[root@www ~]# yum list installed | grep logrotate
logrotate.i386 3.7.4-12 installed
●なければ logrotate をインストール
[root@www ~]# yum info logrotate
[root@www ~]# yum -y install logrotate
通常デフォルトで1週間毎に4世代の設定で導入済み。カスタマイズは次回。
●pear がインストールされているか確認
[root@www ~]# yum list installed | grep php-pear
●なければ pear をインストール
[root@www ~]# yum info php-pear
[root@www ~]# yum -y install php-pear
●pear バージョン確認
[toshi@www ~]$ pear version
PEAR Version: 1.4.9
PHP Version: 5.1.6
Zend Engine Version: 2.1.0
Running on: Linux www.remix.asia 2.6.18-308.4.1.el5 #1 SMP Tue Apr 17 17:08:00 EDT 2012 x86_64
[root@www ~]# pear list
Installed packages, channel pear.php.net:
=========================================
Package Version State
Archive_Tar 1.3.1 stable
Console_Getopt 1.2 stable
DB 1.7.14 stable
PEAR 1.4.9 stable
Structures_Graph 1.0.4 stable
XML_RPC 1.5.0 stable
XML_Util 1.2.1 stable
●pear バージョンが低ければアップグレード
[root@www ~]# pear list-upgrades
[root@www ~]# pear upgrade-all
[root@www ~]# pear upgrade --force Archive_Tar
[root@www ~]# pear upgrade --force Console_Getopt
[root@www ~]# pear upgrade --force PEAR
●ethna インストール設定
[root@www ~]# pear channel-discover pear.ethna.jp
Adding Channel "pear.ethna.jp" succeeded
Discovery of channel "pear.ethna.jp" succeeded
●ethna インストール
[root@www ~]# pear install -a ethna/ethna
WARNING: "pear/DB" is deprecated in favor of "pear/MDB2"
downloading Ethna-2.5.0.tgz ...
Starting to download Ethna-2.5.0.tgz (241,455 bytes)
..................................................done: 241,455 bytes
downloading DB-1.7.14.tgz ...
Starting to download DB-1.7.14.tgz (133,103 bytes)
...done: 133,103 bytes
downloading Smarty-2.6.26.tgz ...
Starting to download Smarty-2.6.26.tgz (67,946 bytes)
...done: 67,946 bytes
downloading simpletest-1.1.0.tgz ...
Starting to download simpletest-1.1.0.tgz (289,405 bytes)
...done: 289,405 bytes
install ok: channel://pear.ethna.jp/Ethna-2.5.0
install ok: channel://pear.php.net/DB-1.7.14
install ok: channel://pear.ethna.jp/Smarty-2.6.26
install ok: channel://pear.ethna.jp/simpletest-1.1.0
●php がインストールされているか確認
[root@www ~]# yum list installed | grep php
●なければ php をインストール
[root@www ~]# yum info php
[root@www ~]# yum -y install php
●php でマルチバイトストリング(日本語)を使えるか確認
[root@www ~]# yum list installed | grep php-mbstring
[root@www ~]# yum info php-mbstring
●なければ php-mbstring をインストール
[root@www ~]# yum -y install php-mbstring
●php から mysql を使用できるか確認
[root@www ~]# yum list installed | grep php-mysql
[root@www ~]# yum info php-mysql
●なければ php-mysql をインストール
[root@www ~]# yum -y install php-mysql
●mysql-server がインストールされているか確認
[root@www ~]# yum list installed | grep mysql-server
mysql-server.x86_64 5.0.95-1.el5_7.1 installed
●なければ mysql をインストール
[root@www ~]# yum info mysql-server
[root@www ~]# yum -y install mysql-server
●mysql-server を起動
[root@www ~]# service mysqld start
●root のパスワード設定
[root@www ~]# mysqladmin --user=root password ********
●mysql-server へログオン確認
[root@www ~]# mysql --show-warnings -u root -p
●デフォルトのデータベース確認
mysql> show databases;
mysql> quit;
●自動起動の確認
[root@www ~]# chkconfig --list | grep mysql
mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
●自動起動になっていなければ自動起動に変更
[root@www ~]# chkconfig mysqld on
日本語(UTF8)を使用する場合...↓
●インストール済の apache を確認
[root@www ~]# yum list installed | grep "apache\|http"
httpd.x86_64 2.2.3-63.el5.centos.1 installed
●なければ apache をインストール
[root@www ~]# yum info httpd
[root@www ~]# yum -y install httpd
●起動
[root@www ~]# service httpd start
httpd を起動中: [ OK ]
●デフォルト設定のまま、手元のブラウザで apache のテストページを確認。
http://localhost/
http://IPアドレス/
http://www.mydomain/
●自動起動の確認
[root@www ~]# chkconfig --list | grep httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
●自動起動になっていなければ自動起動に変更
[root@www ~]# chkconfig httpd on
カスタマイズ設定へ続く
●メイングループapacheとして自分のアカウントを用意
[root@localhost ~]# useradd -g apache taro
[root@localhost ~]# passwd taro
Changing password for user taro.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
●ルート権限になれるユーザとする
[root@localhost ~]# usermod -G wheel taro
[root@localhost ~]# id taro
uid=500(toshi) gid=48(apache) 所属グループ=48(apache),10(wheel) context=user_u:system_r:unconfined_t
●root になれるユーザを wheel グループのみに制限
[root@localhost ~]# mv /etc/pam.d/su /etc/pam.d/su.org
[root@localhost ~]# cp /etc/pam.d/su.org /etc/pam.d/su
[root@localhost ~]# vi /etc/pam.d/su
[root@localhost ~]# diff /etc/pam.d/su.org /etc/pam.d/su
6c6
< #auth required pam_wheel.so use_uid
---
> auth required pam_wheel.so use_uid
●リモートから root ログイン無効。SSH接続ポートをデフォルトのままにしておくと四六時中狙われるので変更
[root@localhost ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.org
[root@localhost ~]# diff /etc/ssh/sshd_config.org /etc/ssh/sshd_config
13a14
> Port 12345
39a41
> PermitRootLogin no
●設定の適用
[root@localhost ~]# /etc/rc.d/init.d/sshd reload
●あるいは再起動
[root@localhost ~]# /etc/rc.d/init.d/sshd restart
DMZのサーバはここまですぐに実施(iptables か、業者が提供していればファイアーウォールを設定できれば理想)。
●root宛てメール変更
[root@localhost ~]# mv /etc/aliases /etc/aliases.org
[root@localhost ~]# cp /etc/aliases.org /etc/aliases
[root@localhost ~]# vi /etc/aliases
[root@localhost ~]# diff /etc/aliases.org /etc/aliases
96c96
< #root: marc
---
> root: taro
[root@localhost ~]# newaliases
次回、外部へのメール送信環境ができたら taro を 手元の端末で受信する MyMail@outside.domain などに変更可能。
制約の多いレンタルサーバーから移行するため、vpsサービスを契約。
現状より安価にルート権限を取得。自宅より耐障害、ネットワーク帯域で有利。ドメインはお名前.com管理。
WEBサービスメインの為、少なくとも セキュアシェルssh と エディタvi を入れて server としてインストール。
CentOS 5.8 i386 インストール直後。
●OSの情報
[root@localhost ~]# cat /etc/redhat-release
CentOS release 5.8 (Final)
[root@localhost ~]# uname -a
Linux h121-83-238-146.vps.ablenet.jp 2.6.18-308.el5 #1 SMP Tue Feb 21 20:05:41 EST 2012 i686 athlon i386 GNU/Linux
[root@hXX-XX-XX-XX ~]# cat /proc/version
:
●CPU情報
[root@localhost ~]# cat /proc/cpuinfo
:
●メモリ情報
[root@localhost ~]# cat /proc/meminfo
:
●パーティション情報
[root@localhost ~]# fdisk -l
:
[root@localhost ~]# cat /etc/fstab
:
●ディスク容量
[root@localhost ~]# df -h
:
●ネットワーク回り
[root@localhost ~]# cat /etc/resolv.conf
:
[root@localhost ~]# cat /etc/sysconfig/network
:
[root@localhost ~]# netstat -nr
:
[root@localhost ~]# ifconfig -a
:
●サービス
[root@localhost ~]# chkconfig --list
:
●導入済グループ
[root@localhost ~]# cat /etc/group
: