WordPress 3.2.1 インストール手順
- author: Tadashi
- 2011/09/20 23:42
WordPressをインストールしました。今日は本体のみで後日スマートフォン対応しようと思います。
WordPress日本語ページから最新版のファイルをダウンロードします。今日現在は「3.2.1」です。
EC-CUBEと同様、今回の構成は次のとおり
CentOS 5.5
PHP 5.2.11
MySQL 5.0.77
ダウンロードした圧縮ファイルを解凍し、中の「wp-config-sample.php」を開き、データベースの接続情報 (データベース名、ユーザー名、パスワード) を変更し、このファイルの名前を「wp-config.php」に変更して保存します。
そして、すべてのファイルをサーバーにアップロードします。
ここで先にデータベースを作成しておきます。(一部伏字にしています)
---
# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 127
Server version: 5.0.77 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> CREATE DATABASE wp_lists;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON wp_lists.* to *****@localhost identified by '*****';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
---
ブラウザから「wp-admin/install.php」にアクセスします。
「サイトのタイトル」と「メールアドレス」を入力し、パスワードは空白にして自動生成させます。
次に進むと、「ユーザー名」と「パスワード」が表示されますので、忘れずにメモします。
管理ログイン画面が表示されました。
ログインすると、問題なくインストールされたようです。
サイトのサンプルページも問題ありません。
ここまで来たら、データベースが初期化されないようにinstall.phpは削除しておきます。
- Linuxサーバーを始めよう!
- | Comments (0)
- | Trackbacks (0)
EC-CUBE 郵便番号DB登録エラー
- author: Tadashi
- 2011/09/18 19:03
EC-CUBE 2.11.2をインストールしてみたが、管理画面の郵便番号DB登録がエラーになった。
システムエラーが発生しました。
どういうふうにエラーを調べようかとネット検索していると、「システム設定」-「パラメーター設定」にある「DEBUG_MODE」を「true」に変更して、画面上にデバッグを表示するようだ。
「data/downloads/KEN_ALL_utf-8.CSV」がないと言っているが、そもそもそんなファイルはない。
コピーして文字エンコードを変更して作ればいいのだろうと、ついでに最新版の辞書をダウンロードしてアップロードした。
郵便番号データダウンロード
画面が出てきたので、自動登録でインストール。
時間がかかりそうだ・・・
10分ほどかかって100%になった途端に画面が真っ白になった。戻らないのか?
再度、メニューから郵便番号DB登録を選択すると、12万行入ったようだ。
これで「自動住所入力」ができるようなったのだけど、なぜか自宅の「929-0335」は登録がないと言われる・・・・データベースにはあるのにね、なぜ?
- Linuxサーバーを始めよう!
- | Comments (2)
- | Trackbacks (1)
EC-CUBE 2.11インストール手順
- author: Tadashi
- 2011/09/18 10:23
「EC-CUBE」というのは日本企業が開発されているオンラインショップ構築のオープンソースです。
「2.11」バージョンでスマートフォン対応もしたということで、インストールしてみました。2.4のインストール手順はたくさんありますが、2.11になってまだ日が浅いためか、詳細なインストール手順がなかったので、とりあえず手探りで入れてみました。
今回の構成は次のとおり
CentOS 5.5
PHP 5.2.11
MySQL 5.0.77
まずはホームページから最新版をダウンロードして解凍し、中の「data」フォルダと「html」フォルダをアップロードします。
ECサイトのルートはhtmlフォルダとなります。ここからはブラウザでアクセスしながら、一方でコマンドを実行していきます。
最初からエラーメッセージが表示されました。
/home/fsadmin/jsampo/public/eccube/html/../data/cache/ にユーザ書込み権限(777等)を付与して下さい。
2.4バージョンでも書込み権限の必要なフォルダはありましたが、変更されている可能性もありますので、順番に行きます。
data/cacheフォルダに書込み権限を付与します。
---
# cd /home/fsadmin/jsampo/public/eccube/data
# chmod 777 -R cache
---
ブラウザをリロード
またエラーメッセージが表示されました。
---
Warning: mkdir() [function.mkdir]: 許可がありません in /home/fsadmin/jsampo/public/eccube/data/class/SC_Initial.php on line 249
Warning: mkdir() [function.mkdir]: 許可がありません in /home/fsadmin/jsampo/public/eccube/data/class/SC_Initial.php on line 253
Warning: mkdir() [function.mkdir]: 許可がありません in /home/fsadmin/jsampo/public/eccube/data/class/SC_Initial.php on line 257
Warning: mkdir() [function.mkdir]: 許可がありません in /home/fsadmin/jsampo/public/eccube/data/class/SC_Initial.php on line 261
/home/fsadmin/jsampo/public/eccube/html/install/tempにユーザ書込み権限(777, 707等)を付与して下さい。
---
簡単なほうから、html/tempフォルダに書込み権限を付与します。
---
# cd /home/fsadmin/jsampo/public/eccube/html/install
# chmod 707 -R temp
---
上のエラーはフォルダ作成権限がないというものですが、data/Smarty/templates_cに書き込み権限がないということなので付与する。
---
# cd /home/fsadmin/jsampo/public/eccube/data/Smarty
# chmod 777 -R templates_c
---
ようやくインストールの開始画面が表示されました。
チェック結果が表示されました。さらに権限エラーがたくさん出ています。
フォルダには書込み、実行権限を、中のファイルには書込み権限を付与します。
中のファイルまですべて表示されているので長いですが、要約すると次のフォルダが対象です。
html
html/user_data 以下
html/upload 以下
data/class 以下
data/Smarty/templates 以下
data/downloads 以下
data/upload/csv
data/cache 以下
コマンドにすると次のようになります。
---
# cd /home/fsadmin/jsampo/public/eccube/html/user_data
# chmod 606 __default.php
# chmod 707 css
# chmod 606 css/common.css
# chmod 707 -R include
# chmod 707 -R packages
# chmod 606 packages/admin/css/*.css
# chmod 606 packages/admin/img/basis/*.gif
# chmod 606 packages/admin/img/button/*
# chmod 606 packages/admin/img/common/*
# chmod 606 packages/admin/img/contents/*
# chmod 606 packages/admin/img/header/*
# chmod 606 packages/admin/jquery.multiselect2side/js/jquery.multiselect2side.js
# chmod 606 packages/admin/jquery.multiselect2side/jmultiselect2side.html
# chmod 606 packages/admin/jquery.multiselect2side/jmultiselect2side.html
# chmod 606 packages/admin/js/*
# chmod 606 packages/default/css/*
# chmod 606 packages/default/img/ajax/*
# chmod 606 packages/default/img/background/*
# chmod 606 packages/default/img/banner/*
# chmod 606 packages/default/img/button/*
# chmod 606 packages/default/img/common/*
# chmod 606 packages/default/img/icon/*
# chmod 606 packages/default/img/picture/*
# chmod 606 packages/default/img/title/*
# chmod 606 packages/default/sql/*
# chmod 606 packages/mobile/img/header/*
# chmod 606 packages/sphone/css/*.css
# chmod 606 packages/sphone/css/images/*
# chmod 606 packages/sphone/img/button/*
# chmod 606 packages/sphone/img/common/*
# chmod 606 packages/sphone/img/header/*
# chmod 606 packages/sphone/img/icon/*
# chmod 606 packages/sphone/js/*.js
# chmod 606 packages/sphone/js/images/*
# chmod 606 packages/sphone/js/jquery.facebox/*
# chmod 707 -R plugins
# chmod 606 plugins/*.xml
# chmod 606 plugins/google_analytics/*.php
# chmod 606 plugins/google_analytics/admin/*
# chmod 606 plugins/google_analytics/classes/pages/*
# chmod 606 plugins/google_analytics/sql/*
# chmod 606 plugins/google_analytics/tpl/*.tpl
# chmod 606 plugins/google_analytics/tpl/admin/*.tpl
# chmod 606 plugins/recommend/*.php
# chmod 606 plugins/recommend/admin/*
# chmod 606 plugins/recommend/classes/*
# chmod 606 plugins/recommend/img/*
# chmod 606 plugins/recommend/sql/*
# chmod 606 plugins/recommend/tpl/*.tpl
# chmod 606 plugins/recommend/tpl/admin/*.tpl
# chmod 707 -R templates
# cd ..
# chmod 707 -R upload
# chmod 606 upload/save_image/*
# cd ../data
# chmod 707 -R class
# chmod 606 class/*.php
# chmod 606 class/batch/*
# chmod 606 class/db/*.php
# chmod 606 class/db/dbfactory/*
# chmod 606 class/graph/*
# chmod 606 class/helper/*
# chmod 606 class/module/*
# chmod 606 class/pages/*.php
# chmod 606 class/pages/forgot/*
# chmod 606 class/pages/admin/*.php
# chmod 606 class/pages/admin/basis/*
# chmod 606 class/pages/admin/contents/*
# chmod 606 class/pages/admin/customer/*
# chmod 606 class/pages/admin/design/*
# chmod 606 class/pages/admin/mail/*
# chmod 606 class/pages/admin/order/*
# chmod 606 class/pages/admin/ownersstore/*
# chmod 606 class/pages/admin/plugin/*
# chmod 606 class/pages/admin/products/*
# chmod 606 class/pages/admin/system/*
# chmod 606 class/pages/admin/total/*
# chmod 606 class/pages/cart/*
# chmod 606 class/pages/contact/*
# chmod 606 class/pages/entry/*
# chmod 606 class/pages/error/*
# chmod 606 class/pages/forgot/*
# chmod 606 class/pages/frontparts/*.php
# chmod 606 class/pages/frontparts/bloc/*
# chmod 606 class/pages/guide/*
# chmod 606 class/pages/mypage/*
# chmod 606 class/pages/order/*
# chmod 606 class/pages/preview/*
# chmod 606 class/pages/products/*
# chmod 606 class/pages/regist/*
# chmod 606 class/pages/rss/*
# chmod 606 class/pages/shopping/*
# chmod 606 class/pages/unsupported/*
# chmod 606 class/pages/upgrade/*.php
# chmod 606 class/pages/upgrade/helper/*
# cd Smarty
# chmod 707 -R config templates
# chmod 606 templates/admin/*.tpl
# chmod 606 templates/admin/adminparts/*
# chmod 606 templates/admin/basis/*
# chmod 606 templates/admin/contents/*
# chmod 606 templates/admin/css/*
# chmod 606 templates/admin/customer/*
# chmod 606 templates/admin/design/*
# chmod 606 templates/admin/mail/*
# chmod 606 templates/admin/order/*
# chmod 606 templates/admin/ownersstore/*
# chmod 606 templates/admin/pdf/*
# chmod 606 templates/admin/plugin/*
# chmod 606 templates/admin/products/*
# chmod 606 templates/admin/system/*
# chmod 606 templates/admin/total/*
# chmod 606 templates/default/*.tpl
# chmod 606 templates/default/abouts/*
# chmod 606 templates/default/cart/*
# chmod 606 templates/default/contact/*
# chmod 606 templates/default/entry/*
# chmod 606 templates/default/forgot/*
# chmod 606 templates/default/frontparts/*.tpl
# chmod 606 templates/default/frontparts/bloc/*
# chmod 606 templates/default/guide/*
# chmod 606 templates/default/mail_templates/*
# chmod 606 templates/default/mypage/*
# chmod 606 templates/default/order/*
# chmod 606 templates/default/products/*
# chmod 606 templates/default/regist/*
# chmod 606 templates/default/rss/*
# chmod 606 templates/default/shopping/*
# chmod 606 templates/mobile/*.tpl
# chmod 606 templates/mobile/cart/*
# chmod 606 templates/mobile/contact/*
# chmod 606 templates/mobile/entry/*
# chmod 606 templates/mobile/forgot/*
# chmod 606 templates/mobile/frontparts/bloc/*
# chmod 606 templates/mobile/guide/*
# chmod 606 templates/mobile/mail_templates/*
# chmod 606 templates/mobile/mypage/*
# chmod 606 templates/mobile/order/*
# chmod 606 templates/mobile/products/*
# chmod 606 templates/mobile/regist/*
# chmod 606 templates/mobile/shopping/*
# chmod 606 templates/mobile/unsupported/*
# chmod 606 templates/sphone/*.tpl
# chmod 606 templates/sphone/abouts/*
# chmod 606 templates/sphone/cart/*
# chmod 606 templates/sphone/contact/*
# chmod 606 templates/sphone/entry/*
# chmod 606 templates/sphone/forgot/*
# chmod 606 templates/sphone/frontparts/*.tpl
# chmod 606 templates/sphone/frontparts/bloc/*
# chmod 606 templates/sphone/guide/*
# chmod 606 templates/sphone/mypage/*
# chmod 606 templates/sphone/order/*
# chmod 606 templates/sphone/products/*
# chmod 606 templates/sphone/regist/*
# chmod 606 templates/sphone/shopping/*
# cd ../downloads
# chmod 707 backup module tmp update
# chmod 606 KEN_ALL.CSV
# cd ../..
# chmod 707 data/upload/csv
# chmod 707 html
# chmod 606 data/cache/*
---
ここまで長いとすべて707でも良かったかな。
やっと正常だって言われました・・・
---
>> ○:アクセス権限は正常です。
---
画像がコピーされました。
ECサイトの設定を入力します。
データベースの設定を入力します。
データベースは「PostgreSQL」と「MySQL」から選択できます。次に進む前にデータベースを作成します。DBユーザはテーブルを作成する権限が必要です。
---
# mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 127
Server version: 5.0.77 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> CREATE DATABASE jsampo_eccube_db;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON jsampo_eccube_db.* to *****@localhost identified by '*****';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> exit
---
ログインに成功すると、データベースの初期化画面が表示されます。
テーブルや初期データを作成します。
サイト情報が表示されましたが、上にエラーがまた出ました。
---
Warning: fopen(/home/fsadmin/jsampo/public/eccube/data/class/../config/config.php) [function.fopen]: failed to open stream: 許可がありません in /home/fsadmin/jsampo/public/eccube/html/install/index.php on line 989
---
今まで入力していた設定情報のファイルを作成できないようです。
data/configに書込み権限を付与します。
---
# chmod 707 /home/fsadmin/jsampo/public/eccube/data/config
---
前に戻って、正常に表示されました。
※前に戻ったときは「データベースの初期化処理を行わない」にチェックします。
ここまで3時間手探りでやってきたインストールもようやく終わりです。
と管理画面を表示すると・・・
---
>> /install/index.php は、インストール完了後にファイルを削除してください。
---
まだ最後の作業が残っていましたね。
html/install/index.phpを削除します。
---
# rm -f /home/fsadmin/jsampo/public/eccube/html/install/index.php
---
インストール設定はdata/config/config.phpになりますので、すべての設定が終わった後でURLを変更する場合は、直接変更できます。
- Linuxサーバーを始めよう!
- | Comments (0)
- | Trackbacks (0)
phpBB3のインストール手順
- author: Tadashi
- 2010/10/30 23:56
社内でメッセージを共有し、かつメール送信する人を選べるアプリはないか?ということで探していたところ、「phpBB」に行き当たったのでとりあえずインストールしてみた。よって、その手順を残しておく。
phpBBとしては「PHPBB.HELP J」が日本語サイトしては有名なようだが、バージョン2で情報が古い。しかし参考になる部分もあるので一通り確認した。
PHPBB.HELP J
http://all.netgamers.jp/index.html
「公式サイト」はもちろん英語。しかし、ダウンロードはここから探す。
http://www.phpbb.com/
1.「Downloads」から以下の4ファイルをダウンロードする。
「Full Packeage」から本体をダウンロード。今日現在の最新版は「3.0.7-PL1」
http://www.phpbb.com/downloads/olympus.php
「日本語」表示用として「LANGUAGE」「SUBSILVER2」「PROSILVER」をダウンロード。後者2つは掲示板の表示スタイル。
http://www.phpbb.com/languages/
2.ダウンロードしたファイルを解凍する。
「phpBB-3.0.7-PL1.zip」を解凍して、「phpBB3」フォルダができる。
「lang_ja.zip」を解凍して、先の「phpBB3\language」フォルダに入れる。
「prosilver_ja.zip」を解凍して、先の「phpBB3\styles」フォルダに入れる。
「subsilver2_ja.zip」を解凍して、先の「phpBB3\styles」フォルダに入れる。
3.FTPアプリで「「phpBB3」フォルダ」をサーバーにアップロードする。
4.アップロードしたファイル・フォルダの所有者を変更する。
# chown apache. /(install folder)/phpBB3/config.php
# chown -R apache. /(install folder)/phpBB3/images/avatars/upload/
# chown -R apache. /(install folder)/phpBB3/cache/
# chown -R apache. /(install folder)/phpBB3/files/
# chown -R apache. /(install folder)/phpBB3/store/
5.ここからはブラウザで続きの作業を。URLは自分のに変更して実行する。
実行ファイルはphpBB2のときと変更されているので注意!
http://(yourURL)/install/index.php
最初から日本語で表示された。
phpBB3 がサポートするデータベースは
・MySQL 3.23 以上 ( MySQLi も可)
・PostgreSQL 7.3+
・SQLite 2.8.2+
・Firebird 2.1+
・MS SQL Server 2000 以上 (直接または ODBC 経由)
・Oracle
「データベースのサポート」以外はOKになるようにします。
データベースをコマンドで作成してから、その情報をここに入力します。
必要な情報は
・ホスト名
・データベース名
・ユーザー名
・パスワード
成功したら次に進みます。
管理者情報を入力します。必要な情報は、
・ユーザー名
・パスワード
・メールアドレス
成功したら次に進みます。
成功したら次に進みます。
「メール設定」と「サーバ設定」を変更できるが、管理画面であとでも変更できるのでそのまま進みます。
「データベーステーブルの作成」ステップでエラーが出ると、このように表示されます。この場合はデータベースへのCREATE TABLE権限がなかったため。
一時的に全権をデータベースユーザーに与えて、インストール後に元(SELECT、INSERT、UPDATE、DELETEのみ)に戻します。
成功したら次に進みます。
すべて終わったら、「ログイン」ボタンでログインしてみます。
管理画面へログインします。
管理画面の右上の「掲示板トップ」リンクでこの画面が表示される。
ここからどうやって管理画面へ戻るのか迷ったが、管理者で掲示板にログイン後に、Copyright下の「Administration Control Panel」リンクからもう一度ログインする。
管理画面でとりあえず修正が必要なのは、「掲示板の環境」である。
・サイト名
・サイトの説明
・掲示板のタイムゾーン
この3つは修正しておこう。
タイムゾーンは「[UTC + 9]日本標準時、韓国標準時、チタ標準時」を選択する。
掲示板への自由参加を許さないのであれば、「アカウントの有効化」を「Admin」に変更し、「一見さん卒業までの投稿数」を「0」に変更する。
以上である。どう使うかはおいおい紹介する。
- Linuxサーバーを始めよう!
- | Trackbacks (0)
バックアップはFTPで!
- author: Tadashi
- 2010/09/28 14:28
データファイルのバックアップをどうしようか?と考えていました。
主な要望は以下
・homeディレクトリ毎すべてのファイルをバックアップしたい
・バックアップ先はLinkStation(バッファロー製)
・使えるプロトコルは「FTP」
LinuxサーバーからLinuxサーバーへのバックアップであれば「rsync」を使用できるが、相手がFTPしか使えないのでどうするか?
FTPコマンドでは1ファイルずつ操作するので、増えていくファイルに対応するのは至難の業ですね。
そこで、何かないかとさがしていたところ、見つけたのは「lftp」です。rsyncが流行するまで使用されたことがあるようですが、幸いCentOSには標準で入っている(追加のモジュールが必要です)ようです。
以下、設定手順
必要なモジュールをアップデートする
# yum install lftp
lftp
perl-String-CRC32
rootフォルダにシェルスクリプトを作成する
# vi daily_backup.sh
---
#!/bin/sh
# FTP SYNC
lftp -u ユーザ名,パスワード -e "mirror --reverse --only-newer /home /disk1/backup" ホスト名 << END
quit
END
---
基本的なコマンドは
lftp -u ユーザ名,パスワード ホスト名
となる。ホスト名はIPアドレスでよい。
「mirror コピー元,コピー先」でフォルダの同期が行えるが標準はダウンロードになる。今回はバックアップのLinkStationにアップロードしたいので、「--reverse」スイッチを使用する。またバックアップ節減のため新規ファイルのみ対象とするため、さらに「--only-newer」スイッチを付加する。
lftpコマンドは自身で終了しないので、最後に「quit」を入力する。
シェルの権限変更
# chmod 700 daily_backup.sh
毎日2時に実行する
# vi /etc/crontab
---
0 2 * * * root /root/daily_backup.sh
---
# service crond restart
これでFTPで同期処理できるようになった。
参考サイト: lftpで行う手軽なバックアップ
- Linuxサーバーを始めよう!
- | Comments (0)
- | Trackbacks (0)
Virtual Server 2005 R2上のDovecotが落ちる・・・
- author: Tadashi
- 2010/08/25 22:35
Virtual Server 2005 R2上にCentOS5.5をインストールして、PostfixとDovecotでメールサーバーを組みました。
が・・・・・Dovecotが頻繁に落ちるのです。
dovecot: pop3-login: Time just moved backwards by 5 seconds. I'll sleep now until we're back in present. http://wiki.dovecot.org/TimeMovedBackwards
dovecot: auth(default): Time just moved backwards by 4 seconds. I'll sleep now until we're back in present. http://wiki.dovecot.org/TimeMovedBackwards
dovecot: Time just moved backwards by 6 seconds. This might cause a lot of problems, so I'll just kill myself now. http://wiki.dovecot.org/TimeMovedBackwards
こんなエラーメッセージが続きます。
意味は「時間が○秒戻ったので私(Dovecot)は停止します」って、勝手に死ぬなよー
Virtual Server上に入れたCentOSはクロックの割り込みがうまく行かず、時間がすぐに大幅に狂ってしまいます。
そこでNTPサービスをインストールしましたが、時間が狂いすぎるのか同期できず、仕方なしにバッチで強制的に合わせていました。
# vi /etc/crontab
---
*/10 * * * * root ntpdate 219.164.211.137 > /dev/null 2>&1
---
しかし、エラーメッセージにある「http://wiki.dovecot.org/TimeMovedBackwards」を見てみると、このntpdateコマンドがいけないようですね。
急な同期がダメなのは次のホームページが参考になります。
http://www.ys-network.info/?p=996
このページに死んだDovecotを監視するバッチがあったのでセットします。
# vi /root/dovecot_check_restart.sh
---
#!/bin/sh
HOST='localhost'
#PORT=110
PORT=143
#HP=@$HOST:$PORT
HP=:$PORT
echo 'Checking to see if Dovecot is up...'
if ( lsof -Pni $HP -s TCP:LISTEN 2>&1 >/dev/null ); then
echo 'Dovecot is up';
else
echo 'Dovecot is down, restarting...';
/etc/init.d/dovecot restart
logger -p mail.info dovecot_check_restart.sh restarting Dovecot
fi
---
# chmod 700 dovecot_check_restart.sh
# vi /etc/crontab
---
* * * * * root /root/dovecot_check_restart.sh 2>&1 > /dev/null
---
# service crond restart
これで自動復帰するようになったDovecotですが、実際に接続して使用するとやはり途中で切断されることがしばしば・・・・
さらに調べていると「Virtual Machine Additions For Linux 2.0」で親ホストと同期するのがいいみたい
ということで
参考サイト
http://tnt-blog.at.webry.info/200801/article_3.html
http://www.microsoft.com/downloadS/details.aspx?FamilyID=bf12642f-77dc-4d45-ae4e-e1b05e0a2674&displaylang=en
まずはダウンロードした「VMAdditionsForLinux_32Bit.msi」を親ホスト(Windows Server 2003 R2)にインストールします。
インストールしたフォルダ内のISOファイル(C:\Program Files\Microsoft Virtual Server\Virtual MachineAdditions\VMAdditionsForLinux.iso)をCentOS5.5のCD-ROMにマウントします。
ここからは内部コマンドです。
# mount /dev/cdrom
mount: /etc/fstab や /etc/mtab 内に /dev/hdc を見つけられません
このコマンドだとエラーになりました。
# mkdir /mnt/cdrom
# mount /dev/cdrom /mnt/cdrom/
mount: ブロックデバイス /dev/cdrom は書き込み禁止です、読込み専用でマウントします
CDROM領域を作成してマウントすると読込み専用でマウントされました。
# cd /mnt/cdrom/
[root@fsmail cdrom]# ls
install.sh vmadd-kernel-module-RHEL-2.0-1.i386.rpm
vmadd-full-2.0-1.i386.rpm vmadd-scsi-2.0-1.i386.rpm
vmadd-full-RHEL-2.0-1.i386.rpm vmadd-shutdown-2.0-1.i386.rpm
vmadd-heartbeat-2.0-1.i386.rpm vmadd-timesync-2.0-1.i386.rpm
vmadd-kernel-module-2.0-1.i386.rpm vmadd-x11-2.0-1.i386.rpm
多くのRPMパッケージが入っていますね。
[root@fsmail cdrom]# ./install.sh
シェルがあったので実行してみましたが・・・・何も起きませんでした。
そこで1つずつインストール。依存関係のあったkernel-devel をUPDATE
# yum install kernel-devel
kernel-devel i686 2.6.18-194.11.1.el5 updates 5.4 M
次の順で4つのRPMパッケージをインストールしました。
# rpm -ivh vmadd-kernel-module-RHEL-2.0-1.i386.rpm
# rpm -ivh vmadd-heartbeat-2.0-1.i386.rpm
# rpm -ivh vmadd-shutdown-2.0-1.i386.rpm
# rpm -ivh vmadd-timesync-2.0-1.i386.rpm
残念.....CentOS5.5には入らないようです。
これが入ればそのまま使用と思いましたが、諦めます・・・
- Linuxサーバーを始めよう!
- | Comments (0)
- | Trackbacks (0)
Cronでサービスの死活監視
- author: Tadashi
- 2010/08/23 14:44
最近仕事でVPSにWeb、メール(Postfix、Dovecot)、Webメール、メーリングリスト(Mailman)とインストールしたのだが・・・
本番が始まると突然のサービス停止に時々見舞われて、極めて不安定な状態です。
どうもメーリングリストの設定なのか相性なのか、ここが起因になって他のサービスが停止するようです。
ということで、死活監視を行うことになったのですが、今回はCronのみで死活監視を行うことに挑戦しました。
cronの編集は「# vi /etc/crontab」を前提としています。
Webの死活監視
0 * * * * root wget -O - (URL) > /dev/null 2>&1 || echo `date +\%Y/\%m/\%d_\%H:\%M:\%S` > /dev/null | tee -a /var/log/service_watch.log | service httpd restart > /dev/null | tee -a /var/log/service_watch.log
毎時0分に起動します。Wgetコマンドにより(URL)に指定したコンテンツを取得、取得できなかった場合は、ログファイル(/var/log/service_watch.log)に時刻とサービス再起動状態を記録します。「tee」コマンドの「-a」はファイルに追記するオプションです。
smtpの死活監視
1,11,21,31,41,51 * * * * root (sleep 2;echo "quit") | `telnet 127.0.0.1 25 >& smtp_status`;if [ `grep -c '220' smtp_status` != 1 ]; then service postfix restart; logger -t smtp "crond check - smtp service restart"; fi; > /dev/null 2>&1
1分から10分おきに実行します。quit入力を2秒後にセットし、ローカルの25番ポートに接続します。正常に接続できれば、エコーの中に「220」が入るので、それがない場合は接続できなかったと判断して、Postfixの再起動をします。ログは標準のmessageログに指定したメッセージ(crond check - smtp service restart)で書き込まれます。
pop3の死活監視
2,12,22,32,42,52 * * * * root (sleep 2;echo "quit") | `telnet 127.0.0.1 110 >& pop3_status`;if [ `grep -c 'Welcome' pop3_status` != 1 ]; then service dovecot restart; logger -t pop3 "crond check - dovecot service restart"; fi; > /dev/null 2>&1
2分から10分おきに実行します。quit入力を2行後にセットし、ローカルの110番ポートに接続します。正常に接続できれば、エコーの中に「Welcome」(独自のバナーメッセージ)が入るので、それがない場合に接続できなかったと判断して、Dovecotの再起動をします。ログは標準のmessageログに指定したメッセージ(crond check - dovecot service restart)で書き込まれます。
メーリングリストはサービスが起動していても、キューが詰まる現象があったので、1時間ごとに強制的に再起動させるようにしました。
10 * * * * root service mailman restart > /dev/null 2>&1
- Linuxサーバーを始めよう!
- | Comments (0)
- | Trackbacks (0)
Apache アクセスログを目的別に分けて出力する方法
- author: Tadashi
- 2010/07/15 13:58
携帯サイトで、「Flash待ち受け」「画像待ち受け」「デコメテンプレート」の3種類のダウンロード回数をカウントするサイトを作成したときの話。
それぞれのダウンロード回数をアクセスログの行数(つまり画面に表示した時点でダウンロード)で判断することになった。
その適用方法を紹介します。
# vi /etc/httpd/conf/httpd.conf
#
# For a single logfile with access, agent, and referer information
# (Combined Logfile Format), use the following directive:
#
SetEnvIf Request_URI "decome\.dmt" decome
SetEnvIf Request_URI "decome\.hmt" decome
SetEnvIf Request_URI "decome\.khm" decome
SetEnvIf Request_URI "flash0\.swf" flash
SetEnvIf Request_URI "waiting0\.gif" waiting
CustomLog logs/decome1_log combined env=decome
CustomLog logs/flash_log combined env=flash
CustomLog logs/waiting_log combined env=waiting
CustomLog logs/access_log combined
→mod_setenvif を使用して該当のファイル名がアクセスログに記録されるタイミングに、各個別ファイルと「access_log」に記録されるようにします。一番後ろにつけた名前(env)によって振分をおこないます。
・・・
CustomLog "| /usr/sbin/rotatelogs /home/fs/www/accesslog/access_log.%Y%m%d 86400 540" combined
CustomLog "| /usr/sbin/rotatelogs /home/fs/www/accesslog/decome0_log.%Y%m%d 86400 540" combined env=decome
CustomLog "| /usr/sbin/rotatelogs /home/fs/www/accesslog/flash_log.%Y%m%d 86400 540" combined env=flash
CustomLog "| /usr/sbin/rotatelogs /home/fs/www/accesslog/waiting_log.%Y%m%d 86400 540" combined env=waiting
→バーチャルホストを使用している場合は、ここにも「CustomLog 」を追加します。最後に「env」を忘れると、うまく振分られないことがありますので、忘れずにつけましょう。
後はできたファイルの行数を数えれば各ダウンロード回数となります。
(注)Basic認証をかけた場合は1回のアクセスで2行追加される場合があります。
- Linuxサーバーを始めよう!
- | Comments (0)
- | Trackbacks (0)
NTPサーバの設定
- author: Tadashi
- 2010/07/13 00:14
RTX1100の設定不足でNTP同期できなかった問題が解決したところで、NTPサーバの設定をまとめておきます。
OS:CentOS 5.5 最小インストール
NTPサーバ:ビジネスぷらら
プライマリ:ntp2.plala.or.jp
セカンダリ:ntp1.plala.or.jp
NTPをインストールします。
# yum install ntp
今日現在インストールされるバージョンは「4.2.2p1-9.el5.centos.2.1」となります。
設定ファイルを編集します。
# vi /etc/ntp.conf
既存のIPv4、IPv6用の問い合わせをコメントアウトし、すべての外部からの問い合わせの拒否を追加します。
# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
#restrict default kod nomodify notrap nopeer noquery
#restrict -6 default kod nomodify notrap nopeer noquery
restrict default ignore
IPv6用のループバックアクセスをコメントアウトします。
# Permit all access over the loopback interface. This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
#restrict -6 ::1
今回使用するビジネスぷららのNTPサーバを追加します。
# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
restrict 219.164.211.137 mask 255.255.255.255 nomodify notrap noquery
restrict 219.164.211.129 mask 255.255.255.255 nomodify notrap noquery
既存のNTPサーバをコメントアウトし、ビジネスぷららのNTPサーバを追加します。
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org
#server 1.centos.pool.ntp.org
#server 2.centos.pool.ntp.org
server ntp2.plala.or.jp
server ntp1.plala.or.jp
最後にローカルで同期するのを停止します。
# Undisciplined Local Clock. This is a fake driver intended for backup
# and when no outside source of synchronized time is available.
#server 127.127.1.0 # local clock
#fudge 127.127.1.0 stratum 10
自動起動するようにデーモンを設定します。
# chkconfig --level 3 ntpd on
デーモンを起動する
# service ntpd start
10分後ぐらいに同期を確認します。
# ntpq -p
remote refid st t when poll reach delay offset jitter
=============================================================
+ntp2.plala.or.j 202.234.233.109 4 u 30 64 377 14.117 23.350 7.381
*ntp1.plala.or.j 202.234.233.109 4 u 33 64 377 13.983 29.240 3.461
先頭に「*」が付いたNTPが現在の同期サーバーとして、「+」が付いたNTPが予備サーバーとして正常に同期したことを示しています。
現在の時刻を確認して終了です。
# date
- Linuxサーバーを始めよう!
- | Comments (0)
- | Trackbacks (0)
SSHは便利だけど・・・
- author: Tadashi
- 2009/12/21 23:24
直接入力するのも大変ですので、SSHを入れましょう。
Tera Termでログインすれば、貼り付けなどで作業効率もグッと上がります。
CentOS5.3にはSSHサーバーは最初からインストールされていますので、早速設定を始めましょう。
# vi /etc/ssh/sshd_config
標準ポートは22番ですが、限られた人が使う場合はセキュリティの観点から変更しましょう。
#Port 22
Port 10022
ログインしたときのバナーを作成します。威嚇程度にしかなりませんが・・・
#Banner /some/path
Banner /etc/ssh/banner.txt
SSHはバナーは設定ファイル内ではなく、別ファイルに記述します。
設定ファイルの最後にログインできるユーザーを記述しましょう。IPアドレスを固定できるのであれば、rootもアリですね。
AllowUsers root
設定ファイルを保存して、ログイン時に表示するバナーを作成します。
# touch /etc/ssh/banner.txt
# vi /etc/ssh/banner.txt
Welcome! SSH Service. This login is recorded in the log.
設定後にデーモンの再起動します。
# service sshd restart
ポートを変更した場合は再接続します、
それではTCPWrappersを次に設定します。CentOSには最初からインストールされています。この機能ではデーモン毎に利用する環境を制限したり、付属してアクションを指定することができます。
http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/ja/security-guide/ch-server.html
注意するのは再起動は不要ということ!
保存と同時に設定が適用されるので、注意して最後の保存はボタンを押してくださいね。
許可ファイルにIPアドレスと許可された場合にログに記録するアクションを記述します。
# vi /etc/hosts.allow
sshd : 127.0.0.1 192.168.0. : banners /etc/banners/
記述は、(デーモン名):許可するIPアドレス:許可された場合のアクション、という順となります。
ネットワーク範囲でIPアドレスを指定する場合は、
192.168.0. (最後に「.」を忘れずに!)
または、
192.168.0.0/255.255.255.0
と記述します。
よくある 192.168.0.0/24 はエラーになるので使えません。
拒否ファイルにIPアドレスと拒否された場合にログに記録するアクションを記述します。
# vi /etc/hosts.deny
sshd : ALL : spawn /bin/echo `LANG=C /bin/date` from %h>> /var/log/sshd_reject.log
記述は、(デーモン名):拒否するIPアドレス:拒否された場合のアクション、という順となります。
上記の例では拒否されたIPアドレスをログに記録しています。
あ!そうそう接続ポートを変更する場合は、SSHの設定前にファイアウォールを停止させてくださいね。
# service iptables stop
外部から接続している場合は何もできなくなってしまいますよ!
- Linuxサーバーを始めよう!
- | Comments (0)
- | Trackbacks (0)
SELinuxは・・・・どうする?
- author: Tadashi
- 2009/12/20 23:40
SELinuxはどうしていますか?
これって設定難しくないですか?まともに設定しているサイト見たことありません。
ということで、他でセキュリティ対策を考えることにして、今回は「無効」にします。
とりあえず、起動中のSELinuxを無効するコマンドです。
# setenforce 0
それでは、状態を確認してみましょう。
# getenforce
Permissive
これだけだと、再起動したときに復活してしまいますので、再起動時のデフォルト状態を変更しておきましょう。
# vi /etc/selinux/config
デフォルトの有効状態は以下に記載されています。
SELINUX=enforcing
今後設定が必要になったときのための情報を採取する人はこちら。エラーログは出力してくれます。
SELINUX=permissive
全く無効としてしまう人はこちら。
SELINUX=disable
ちなみに、SELinuxの「enforcing(permissive)」←→「disable」の切り替えはホストの再起動が必要です。
- Linuxサーバーを始めよう!
- | Comments (0)
- | Trackbacks (0)
CentOSをインストールしよう
- author: Tadashi
- 2009/12/20 23:15
最近ずっとLinuxサーバーを構築していました。以前からメールサーバーはLinuxを使用していたけど、Webサーバーやら、DNSサーバーやら、果ては最近のセキュリティ対策も追加してみたりと悪戦苦闘の日々でした。
ちょっと自信作になったので、今後のためにも備忘録!
まずはOSインストールから始めましょう。
使用したのは、「CentOS5.3」。Redhat社の有償版「Red Hat Enterprise Linux 5」から有償ライセンスを外したフリー版です。皆さんもご存知ですよね。
サイトからダウンロードします。構築している間に「CentOS5.4」がリリースされてしまいました。
インストールの前に、今回のインストール方針は以下の2つ。
1.パッケージインストール(yum)を基本とする。Linuxは依存関係の管理が非常に面倒なので、ソースインストールすると後の管理や更新が難しくなります。
2.無駄なサービスは起動しない。
セキュリティ対策としてはよく言われていることですが、未だに標準インストールで進める人が多いですから、これでは踏み台になるサーバーは減りませんね。
インストールは方針2により、最小インストールです。
カスタマイズによりほとんどのチェックを外してしまいましょう。最後に残るは「言語」-「日本語のサポート」のみです。本当にこれだけです!それでも1Gくらいはインストールされますね。
インストール手順の中で注意する点は1点。
「タイムゾーンの選択」で「システムクロックで UTC を使用」のチェックを必ず外すようにします。そのまま進んでしまうと時計がやけに狂うのです。
もしそのまま進んでしまったのなら、以下のコマンドで修正しましょう。
# vi /etc/sysconfig/clock
---
ZONE="Asia/Tokyo"
UTC=false →ここを「true」から「false」に変更
ARC=false
---
- Linuxサーバーを始めよう!
- | Comments (0)
- | Trackbacks (0)