ラベル Linux の投稿を表示しています。 すべての投稿を表示
ラベル Linux の投稿を表示しています。 すべての投稿を表示

2012/10/23

Postfixでalias設定

複数の宛先を一つのアドレスで取得するために設定
main.cf
alias_maps = hash:/etc/aliases,regexp:/etc/postfix/aliases.reg 

/etc/postfix/aliases.regで正規表現でマッチさせればOK。(ユーザー名がhoge)
/^[0-9a-z\-]+(@.*)?$/ hoge 

2012/07/09

VirtualBoxのCentOSでCPU使用率が上がる問題

/etc/grub.conf を下記のように編集


title CentOS (2.6.18-194.3.1.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-194.3.1.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet divider=10
        initrd /initrd-2.6.18-194.3.1.el5.img


http://digitalbox.jp/happy-go-lucky-computing/centos/howto-decrease-cpu-utilization-of-centos-on-virtualbox/

Apacheがログローテートのときに落ちる問題

restartをreloadに変更して対処


vi /etc/logrotate.d/httpd/var/log/httpd/*log
{
 missingok
 notifempty
 sharedscripts
 postrotate
  #/bin/kill -HUP `cat /var/run/httpd.pid 2>/dev/null` 2> /dev/null || true
  /sbin/service httpd reload > /dev/null 2>/dev/null || true
 endscript
}

http://life1204.blogspot.jp/2008/11/httpdlogrotatehttpd.html

2012/04/17

gitでsslのチェックを飛ばす

vundleなどでgithubからpluginを持ってきたいときに、環境によってsslが通らない時があるので一時的にsslのチェックを飛ばす。

export GIT_SSL_NO_VERIFY=true

読み込み専用のファイルをviで保存する方法

こんな感じ
w !sudo tee %


迷惑メールに分類されないためにする方法メモ

DNS逆引き設定
SPFの設定
SPAMメールのブラックリストに対する解除申請

2011/07/29

Gitの初期設定


sudo yum install -y git
git config --global user.name "名前"
git config --global user.email メール@アドレス
git config --global color.ui true 

あとはgit add . なりgit commit -m "" なり git pushなりしてください。

Virtualboxのハードディスクイメージのコピー

virtualboxのハードディスクイメージファイルvdiはIDを持っているので単純にコピーできません。ので専用のコマンドを使ってコピーします。

VBoxManage clonevdi コピーされる.vdi コピー先.vdi

MySQL自動データベースバック

バックアップスクリプトの作成
vi mysql-backup.sh

内容は下記の通り

#!/bin/bash

PATH=/usr/local/sbin:/usr/bin:/bin

# バックアップ先ディレクトリ
BACKDIR=/backup/mysql

# MySQLrootパスワード
ROOTPASS=xxxxxxxx

# バックアップ先ディレクトリ再作成
rm  -rf $BACKDIR
mkdir -p $BACKDIR

# データベース名取得
DBLIST=`ls -p /var/lib/mysql | grep / | tr -d /`

# データベースごとにバックアップ
for dbname in $DBLIST
do
    table_count=`mysql -u root -p$ROOTPASS -B -e "show tables" $dbname|wc -l`
    [ $table_count -ne 0 ] &&
    mysqlhotcopy $dbname -u root -p $ROOTPASS $BACKDIR | logger -t mysqlhotcopy
done

権限を変更してcronに設定。
chmod 700 mysql-backup.sh
echo "0 5 * * * root /root/mysql-backup.sh" > /etc/cron.d/backup 

参考:http://centossrv.com/mysql-backup.shtml

戻すときはディレクトリごとコピーする
/bin/cp -Rf /backup/mysql/test/ /var/lib/mysql/ 

vim-refの設定

こちらを参考に 
http://d.hatena.ne.jp/holypp/20110703/1309711799

w3mをインストールしてくる。

% sudo port install w3m

RubyリファレンスのDLと設定
wget http://doc.okkez.net/archives/201106/ruby-refm-1.9.2-dynamic-20110629.tar.gz
tar zxvf ruby-refm-1.9.2-dynamic-20110629.tar.gz
mv ruby-refm-1.9.2-dynamic-20110629 rubyrefm

sudo vi /opt/local/bin/refe

記載内容は下記な感じで。
#!/bin/sh
exec ruby -Ke -I ~/Documents/Reference/rubyrefm/bitclust/lib ~/Documents/Reference/rubyrefm/bitclust/bin/refe.rb -d ~/Documents/Reference/rubyrefm/db-1_8_7 "$@"

権限の変更
sudo chmod 755 /opt/local/bin/refe

Shift+kでリファレンスを参照できる

Vimプラグイン管理のvundleインストール

開発環境は基本Vimで行っています。IDEも便利ですが重いのと色々ごちゃごちゃしていて集中力が落ちるのであまり使っていません。 Vim使いの人はプラグインを入れるともっと便利になるのですがその管理ツールVundleのインストール方法です。

VundleはRubyのBundleにインスパイアされたとのことで、必要なVimプラグインを.vimrcに書くだけでインストールできる管理ツールです。(Gemfileに当たるのが.vimrcというイメージです)

早速インストール方法は下記を参照すればOK。
https://github.com/gmarik/vundle/blob/master/README.md 

gitからVundel本体をとってきます。

$ git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

あとは.vimrcに下記のような感じで必要なプラグインを記載。

set nocompatible               " be iMproved
 filetype off                   " required!

 set rtp+=~/.vim/bundle/vundle/
 call vundle#rc()

 " let Vundle manage Vundle
 " required! 
 Bundle 'gmarik/vundle'

 " My Bundles here:
 "
 " original repos on github
 Bundle 'tpope/vim-fugitive'
 Bundle 'Lokaltog/vim-easymotion'
 Bundle 'rstacruz/sparkup', {'rtp': 'vim/'}
 " vim-scripts repos
 Bundle 'L9'
 Bundle 'FuzzyFinder'
 Bundle 'rails.vim'
 " non github repos
 Bundle 'git://git.wincent.com/command-t.git'
 " ...

 filetype plugin indent on     " required!  

Ruby使いであれば下記を追記しておくと便利です。

Bundle 'Shougo/neocomplcache'
Bundle 'Shougo/unite.vim'
Bundle 'thinca/vim-ref'
Bundle 'thinca/vim-quickrun'

"Ruby
Bundle 'rails.vim'

"Html
Bundle 'mattn/zencoding-vim'

これらの設定をした後はvimを起動して:BundleInstallでプラグインを一括でインストールできます。vim-refについては次の記事で設定をまとめます。

2011/03/05

Serversmanのwordpressインストール

mysqlのインストール
yum install -y mysql mysql-server

文字コードの設定
vim /etc/my.cnf
下記を追記
default-character-set=utf8

MySQLを再起動、起動設定
/etc/rc.d/init.d/mysqld start
chkconfig mysqld on

DBの作成(MySQLで)
create database wordpress;
grant all privileges on wordpress.* to wordpress@localhost identified by 'パスワード';

Worpressをダウンロードして、解凍、設定(DBの設定は作ったDBの設定を入力)
wget http://ja.wordpress.org/wordpress-3.1-ja.zip
unzip wordpress-3.1-ja.zip
mv wordpress-3.1-ja /var/www/
chown -R apache:apache /var/www/wordpress/
cp /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php
vim /var/www/wordpress/wp-config.php

あとはSendmainlのインストールと起動設定
yum install sendmail
/etc/rc.d/init.d/sendmail start
chkconfig sendmail on

ServersmanのSSH初期設定

まずは接続
ssh root@xxx.xxx.xxx.xxx -p ポート番号
パスワードを入力で接続OK

バージョンを更新
yum update
新しいユーザーを作成してログインを許可
useradd user
passwd user
vim /etc/group
wheel::10:root,user
rootでのログインをなしに
vim /etc/ssh/sshd_config
PermitRootLogin no
AllowUsers user
SSHの再起動
/etc/init.d/sshd restart
exit
参考:http://d.hatena.ne.jp/deeeki/20100530/serversman_user_ssh

2010/12/20

VirtualBoxでホストOSからゲストOSに繋ぐ方法

VirutalBoxを使ってゲストOSにホストOSからアクセスする方法

1.VirtualBoxをSunのサイトからダウンロードして、普通に環境構築。
2.仮想マシンを作成し、ネットワークの設定でアダプタ1で”NAT”を、アダプタ2に”ホストオンリーアダプタ”を選択。

以上。NATの方で普通にゲストOSからインターネット接続できます。ゲストOSに繋ぎたい場合はホストオンリーアダプターのIPにホストOSからアクセスすればOK。初期のままであればDHCPによって192.168.56.101が割り当てられるはず。あとは固定にするも自由。簡単でしょ。

2010/07/30

公開鍵の作り方

sftpなどのための公開鍵の作り方についてまとめておきます。
$ whoami
(ユーザー名)
$ ssh-keygen -t rsa //カギを作成する
Generating public/private rsa key pair.
Enter file in which to save the key (/home/(ユーザー名)/.ssh/id_rsa):
Created directory '/home/(ユーザー名)/.ssh'.   
Enter passphrase (empty for no passphrase): //パスワードを入力
Enter same passphrase again: //もう一度パスワードを入力
Your identification has been saved in /home/(ユーザー名)/.ssh/id_rsa.
Your public key has been saved in /home/(ユーザー名)/.ssh/id_rsa.pub.
The key fingerprint is:
ff:8a:6b:d8:eb:ad:68:90:33:eb:2c:6c:d8:ea:98:41 (ユーザー名)@(PC名)
$ ls -la ~/.ssh //確認
合計 16
drwx------    2 xxx     xxx         4096 Feb  2 13:53 ./
drwx------   22 xxx     xxx         4096 Feb  2 13:53 ../
-rw-------    1 xxx     xxx          951 Feb  2 13:53 id_rsa     //秘密鍵
-rw-r--r--    1 xxx     xxx          236 Feb  2 13:53 id_rsa.pub //公開鍵
$ mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys //authorized_keysにリネーム

2010/07/20

memcachedの起動メモ

memcachedの起動メモ。メモリ1Gで接続許可はローカルホストの場合
memcached -u memcached -d -m 1024 -l 127.0.0.1

2010/06/17

シェルスクリプトの書き方

サーバーメンテナンスなど定期的な処理は自動化しておくとミスも少なくなり便利です。基本的なシェルスクリプトの書き方をまとめておきます。


文章の頭には実行するための決まり文句を書きます。これは実行するファイルを指示しています。rubyやpythonであれば#!/bin/ruby、#!/bin/pythonなどと書きます。また指定位置は実行環境によって異なります。
#!/bin/sh 

次にファイルに実行属性をつけます。
$ chmod u+x ファイル名.sh 

あとはファイル内に命令を書き込むだけです。$で始まる文字列は変数として扱われます。条件分岐はif文、forループ、while文など使えます。
#!/bin/sh
TEST_TXT=/users/user/test.txt
TEST01=test01

echo replace test01.txt
cp ${TEST_TXT}.${TEST01} $TEST.TXT

あとは定期的に実行させるにはcrontabなどに登録しておけば良いです。
    下記コマンドにてcrontabの登録を行います。
    $ crontab -e
    
    設定項目は左から「分」「時」「日」「月」「曜日」となっています。
    下記の場合であれば毎月10日6時45分に実行されます。
    45 6 10 * * ファイル名
    
    「/」の後に実行したい間隔の値を設定することで、その間隔を設定可能。
    「-」で指定することで、実行範囲を設定可能。
    「,」で区切ることで、複数の値を設定可能。

    2010/06/11

    MySQLのログファイルの管理について

    GAEを使っているとKey-Value Storeの方に慣れてしまいますが、MySQLのログを管理する機会があったのでまとめておきます。


    mysql-bin.xxxxxx
      レプリケーション設定のために保存される「mysql-bin.xxxxxx」ファイルが有りますが、この末尾の番号は世代管理になります。よってレプリケーションに必要な物は最新(番号が大きいもの)があれば問題ありません。


      ホスト名-slow.log
        実行に long_query_time 秒より長くかかった SQL コマンドがすべてログファイルに書き込まれるファイルです。パフォーマンスチューニングを行うときに参考になります。

        また、ログファイルは放っておくとどんどん肥大化していくので適宜ログローテートをした方が良いです。強制的にログファイルの入れ替えをするには下記のコマンドすれば良いです。


        mysql > FLUSH LOGS;
        


        ログデータは放置しておくと意外とストレージ容量を圧迫しますので、定期的に確認した方が良いでしょう。




        2010/06/05

        時間がかかる処理などでターミナルが切断されてしまうとき

        恐らくサーバー機器にはリモート環境で接続してメンテナンスを行う人が多いかと思います。ただしターミナル接続は長時間放置すると自動的に切断されるような設定になっています。定期的にパケットを送り合い切断されないようにする方法もありますが、ここでは簡単なコマンドを紹介します。
        nohup コマンド内容
        
        行いたい処理の最初にnohupをつけるだけでログアウト後も実行をし続けてくれます。
        nohup コマンド内容 &
        
        最後にアンパサンド(&)をつけるとコマンド内容で指定した処理がバックグラウンドで実行され、割り込みも無視されます 。

        シェルか何かで大規模な処書き換え理を行う時など時間がかかる処理を行うときは大変便利です。よく使う機能では無いですが覚えておくと便利でしょう。 

        2010/06/02

        最初の投稿

        このサイトはGAEやiPhoneやRubyやcssなどについての備忘録です。