:::: MENU ::::

株式会社バックスラッシュ

岐阜県関市にあるかゆい所に手が届くコンピュータ屋さん

Posts Categorized / サーバ

  • 12月 29 / 2013
  • 0
CentOS, サーバ, 覚書

ウィルスソフト Clam AntiVirus の導入

アンチウィルスソフトのClamAVを導入します。

# yum -y install clamd

# vi /etc/clamd.conf
LogSyslog no # noに変更
#TCPSocket 3310 # コメント
#TCPAddr 127.0.0.1 # コメント
#User clamav # コメント

# vi /etc/freshclam.conf
LogFileMaxSize 0 # 0に変更
LogSyslog no # noに変更

# /etc/rc.d/init.d/clamd start
# freshclam

# vi clamscan # 自動スキャンスクリプトの作成
#!/bin/sh

PATH=/usr/bin:/bin
LOGFILE=/var/log/clamav/clamscan.log
echo -e -n “\n\n\n\n`date ‘+%Y/%m/%d %H:%M:%S’`” >> $LOGFILE

clamscan -r / -i -l $LOGFILE –exclude-dir=”^/proc|^/sys|^/dev|^/mnt” # proc、sys、dev、mntは除外する

# chmod +x clamscan # 実行権限付与

# vi /etc/cron.d/clamscan # 2時にスキャンを実行するように登録
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

00 2 * * * root /root/clamscan

  • 12月 29 / 2013
  • 0
CentOS, サーバ, 覚書

CentOS 6.5 x86_64 の初期設定をする – さくらのVPS編 –

さくらのVPSを試用期間で動作検証することにしました。
VPSを選んだ理由は、コストパフォーマンスしかありませんが、実際の運用に耐えられるかどうか心配なので2週間ですが運用してみることに・・・。

初期OSは、いつも使っているCentOSなのでそのまま使えそうでしたが、念のため再インストールしてから開始しました。

再インストール自体は10~20分程度でしょうか、これが早いのかどうか・・・。

まずは、teratermでsshログインします。
以下、設定開始。

ルートパスワードの変更

# passwd root

管理者ユーザの追加

# useradd ユーザ名
# passwd ユーザ名
# usermod -G wheel ユーザ名 # 管理者ユーザをwheelグループに追加

suコマンドの使用をrootとwheelグループユーザのみに制限

# vi /etc/pam.d/su
auth required pam_wheel.so use_uid # コメントを外す

sshの設定

# vi /etc/ssh/sshd_config
PermitRootLogin no # noに変更

bashの機能追加

# vi /etc/profile
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

export HISTIGNORE=”history*:cd*:ls*:ll*” # 不要な履歴を記録しない
export HISTTIMEFORMAT=’%Y-%m-%d %T ‘ # 履歴に日時を追加
bind ‘”\e[A”: history-search-backward’ # ↑キーに履歴検索機能を追加
bind ‘”\e[B”: history-search-forward’ # ↓キーに履歴検索機能を追加

SELinuxの無効を確認

# getenforce
disabled # さくらのVPSはデフォルトでdisabledのようです。 Enforcingなら以下コマンドで無効

# setenforce 0
# vi /etc/sysconfig/selinux
SELINUX=disabled # disabledに変更

リポジトリの追加と設定

# yum -y install yum-plugin-priorities # yum-prioritiesのインストール
# vi /etc/yum.repos.d/CentOS-Base.repo # priorityの追加
[base]
priority=10 # 追加
exclude=php* mysql* # 追加、phpとmysqlはremiリポジトリからインストールため除外

[updates]
priority=10 # 追加
exclude=php* mysql* # 追加、phpとmysqlはremiリポジトリからインストールため除外

[extras]
priority=10 # 追加

[centosplus]
priority=20 # 追加

[contrib]
priority=20 # 追加

# rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
# vi /etc/yum.repos.d/rpmforge.repo
[rpmforge]
#mirrorlist = http://mirrorlist.repoforge.org/el6/mirrors-rpmforge # コメント
mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge # コメントを外す
priority=90 # 追加

[rpmforge-extras]
#mirrorlist = http://mirrorlist.repoforge.org/el6/mirrors-rpmforge-extras # コメント
mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-extras # コメントを外す

[rpmforge-testing]
#mirrorlist = http://mirrorlist.repoforge.org/el6/mirrors-rpmforge-testing # コメント
mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge-testing # コメントを外す

# vi /etc/yum.repos.d/mirrors-rpmforge
http://ftp.riken.jp/Linux/dag/redhat/el6/en/$ARCH/rpmforge # 最上段に追加
http://ftp.iij.ad.jp/pub/linux/dag/redhat/el6/en/$ARCH/rpmforge # 続けて追加

# vi /etc/yum.repos.d/mirrors-rpmforge-extras
http://ftp.riken.jp/Linux/dag/redhat/el6/en/$ARCH/extras # 最上段に追加
http://ftp.iij.ad.jp/pub/linux/dag/redhat/el6/en/$ARCH/extras # 続けて追加

# vi /etc/yum.repos.d/mirrors-rpmforge-testing
http://ftp.riken.jp/Linux/dag/redhat/el6/en/$ARCH/testing # 最上段に追加
http://ftp.iij.ad.jp/pub/linux/dag/redhat/el6/en/$ARCH/testing # 続けて追加

# vi /etc/yum.repos.d/epel.repo
[epel]
priority=91 # 追加

# rpm –import http://rpms.famillecollet.com/RPM-GPG-KEY-remi # Remiリポジトリの追加
# rpm -ihv http://rpms.famillecollet.com/enterprise/remi-release-6.rpm # Remiリポジトリの追加
# vi /etc/yum.repos.d/remi.repo
[remi]
enabled=1 # 1に変更
priority=92 # 追加

インストール済パッケージのアップデート

# yum -y update

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

# yum -y install nkf # 日本語処理に必要なnkfコマンドのインストール

参考にしたサイト

System House ACT http://www.system-act.com/server/
CentOSで自宅サーバー構築 http://centossrv.com/

  • 1月 29 / 2013
  • 0
CentOS, サーバ, 覚書

メールキューの削除

大量にキューがたまってしまったので、久しぶりにpostfix manualを見ましたw

指定したsenderアドレスのキューを削除する
mailq | tail +2 | awk ‘BEGIN { RS = “” }
# $7=sender, $8=recipient1, $9=recipient2
{ if ($7 == “user@example.com”)
print $1 }
‘ | tr -d ‘*!’ | postsuper -d –

指定したrecipientアドレスのキューを削除する
mailq | tail +2 | awk ‘BEGIN { RS = “” }
# $7=sender, $8=recipient1, $9=recipient2
{ if ($8 == “user@example.com” && $9 == “”)
print $1 }
‘ | tr -d ‘*!’ | postsuper -d –

ちゃんと削除できました。

  • 2月 13 / 2012
  • 0
CentOS, RedHat, サーバ, 覚書

rsyncでバックアップ

バックアップ元で秘密鍵と公開鍵のペアを作成する。
# ssh-keygen -t rsa
※すべて「enter」でOK

バックアップ先へ公開鍵をコピーする
# scp /root/.ssh/id_rsa.pub <バックアップ先のIPアドレス>:/root/.ssh/

バックアップ先で公開鍵を「authorized_key」に追加する。
# cat /etc/.ssh/id_rsa.pub >> /etc/.ssh/authorized_keys

パスワードが聞かれなければ完了
# rsync -av –delete -e ssh <バックアップ元パス> <バックアップ先のIPアドレス>:<バックアップ先パス>

  • 7月 05 / 2011
  • 0
CentOS, サーバ, 覚書

SSL証明書の更新

SSLサーバ証明書の更新が近づいてきたので、更新をしました。
数年に1度のことなので、覚書を。

まずは、サーバ証明書と秘密鍵の生成 (出力ファイル名は適宜変更)
# openssl req -nodes -newkey rsa:2048 -keyout myserver.key -out myserver.csr

backslash.csrの中身を、証明書発行機関へ。

メールで届いた証明書をコピーして、サーバの然るべき場所へ保存
(今回より中間証明書が必要になりました。)

myserver.csr (証明書)
myserver.inca.csr (中間証明書)
myserver.key (秘密鍵)

Apacheを再起動して終了

以下で正常に動作しているか確認できます。
https://knowledge.rapidssl.com/support/ssl-certificate-support/index?page=content&id=SO9556&actp=LIST&viewlocale=en_US

  • 6月 02 / 2010
  • 0
CentOS, サーバ, 覚書

PostfixAdminのユーザディレクトリ削除

PostfixAdminは、管理画面上からユーザアカウントを削除してもサーバ上のメールボックスは削除してくれない。

その機能を補完するスクリプトが用意されているので、今回実装した。

ファイル名は、「mailbox_remover.pl」でPostfixAdminのインストールディレクトリの「ADDITIONS」ディレクトリの中にある。

変更箇所は、以下の通り。

##########
# Set these variables according to your configuration

# when mailboxes are removed, save their tarballs here
#my $archdir=”/var/archive/mailboxes”;
my $archdir=“/backup/mailboxes”;

# expected to support z option, tweak invocation if you want different
#my $archcmd=”/usr/bin/tar”;
my $archcmd=“/bin/tar”;

# trailing slash not needed
#my $maildir_path=”/var/mail”;
my $maildir_path=“/data/postfix”; (「/data/postfix/ドメイン名/アカウント」の場合)
# find out if we need to check subdirs for mailboxes or just maildir_path
# $CONF[‘domain_path’] = ‘YES’;
my $pfadmin_config=“config.inc.phpのパス”;

# database information
my $host=”localhost”;
my $port=”3306″;
my $userid=”データベースのユーザID“;
my $passwd=’データベースパスワード‘;
my $db=”データベース名“;
############

124行目の「system(@args) == 0 or die “Creating archive for $maildir failed: $?”」の一番後ろに「;」が抜けているので、追加する。

[root@bssv1 ADDITIONS]# perl mailbox_remover.pl
marking /data/postfix/ドメイン名/test for deletion.
Ctrl-C in 5 seconds to abort before removal starts…
Archiving ドメイン名/test
ドメイン名/test/
ドメイン名/test/tmp/
ドメイン名/test/new/
ドメイン名/test/dovecot-uidvalidity.4aa77d32
ドメイン名/test/cur/
ドメイン名/test/dovecot-uidlist
ドメイン名/test/dovecot.index
ドメイン名/test/dovecot.index.log
ドメイン名/test/dovecot-uidvalidity
Wed Jun 2 10:14:13 2010 ドメイン名/test has been deleted.

無事削除することができました。

あとは、cronで毎日0時に実行するように設定。
「0 0 * * * root /usr/bin/perl mailbox_remover.plの絶対パス」

  • 3月 10 / 2010
  • 0
CentOS, サーバ, 覚書

mysqlhotcopyのエラー回避

mysqlhotcopyがエラーを出していたので、回避策を講じる。

エラーは、
「DBD::mysql::db do failed: You can’t use locks with log tables. at /usr/local/bin/mysqlhotcopy line 452.」
となっていた。

mysqlhotcopyを修正して完了

# vi /usr/local/bin/mysqlhotcopy
sub get_list_of_tables {
my ( $db ) = @_;

my $tables =
eval {
$dbh->selectall_arrayref(‘SHOW TABLES FROM ‘ .
$dbh->quote_identifier($db))
} || [];
warn “Unable to retrieve list of tables in $db: $@” if $@;

#return (map { $_->[0] } @$tables); ← 行頭に#を追加してコメントアウト

### add ###

my @ignore_tables = ();

# Ignore tables for the mysql database
if ($db eq ‘mysql’) {
@ignore_tables = qw(general_log slow_log schema apply_status);
}

my @res = ();
if ($#ignore_tables > 1) {
my @tmp = (map { $_->[0] } @$tables);
for my $t (@tmp) {
push(@res, $t) if not exists { map { $_=>1 } @ignore_tables }->{$t};
}
} else {
@res = (map { $_->[0] } @$tables);
}

return @res;

### add end ###

}

  • 2月 16 / 2010
  • 0
サーバ, 覚書

SSH2のRSA鍵認証

今さらですが、一応覚書として・・・w

# su – USER
$ mkdir .ssh
$ chmod 700 .ssh
$ cd .ssh
$ ssh-keygen -t rsa -C “SSH2 RSA KEY”
 ※パスフレーズを聞かれる。id_rsaとid_rsa.pubが作成される。
$ cat id_rsa.pub >> authorized_keys
$ chmod 600 authorized_keys
$ rm -rf id_rsa.pub

作成されたid_rsaをクライアントへコピーして完了^^

  • 9月 29 / 2009
  • PHPの再インストール はコメントを受け付けていません。
CentOS, サーバ, 覚書

PHPの再インストール

# yum -y install libtool-ltdl-devel

# make distclean

# ./configure –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql=/usr/local –with-mysqli=/usr/local/bin/mysql_config –with-pgsql=/usr/local/pgsql –with-imap –with-imap-ssl –with-gd –with-jpeg-dir=shared –with-mcrypt –enable-zend-multibyte –enable-mbstring –enable-calendar -with-zlib

# make

# make test

# make install

  • 6月 30 / 2009
  • 0
CentOS, サーバ, 覚書

Postfix Adminのインストール

# cd /data/www/vhosts/back-slash.com/www
# wget http://jaist.dl.sourceforge.net/sourceforge/postfixadmin/postfixadmin_2.3rc5.tar.gz
# tar zxvf postfixadmin-2.3beta.tar.gz
# mv postfixadmin-2.3beta postfixadmin

# chown -R apache:apache postfixadmin
# cd postfixadmin
# chmod 640 *.php *.css
# cd admin/
# chmod 640 *.php .ht*
# cd ../images/
# chmod 640 *.gif *.png
# cd ../languages/
# chmod 640 *.lang
# cd ../templates/
# chmod 640 *.php
# cd ../users/
# chmod 640 *.php
# cd ..

# vi /etc/httpd/conf.d/postfixadmin.conf

# /etc/init.d/httpd reload

http://partix.jp/postfixadmin/setup.php

# su – postgres
$ createdb postfixadmin
$ exit

# yum -y install php-imap

# /etc/init.d/httpd reload

# vi config.inc.php

転送設定
$CONF[‘alias_control’] = ‘YES’;
$CONF[‘alias_control_admin’] = ‘YES’;

# vi /etc/aliases
postfixadmin:    xxxxxx@xxxxxxxx

# newaliases

# vi /var/www/postfixadmin/config.inc.php

ページ:123