Category Archives: Source

ubuntuにApacheをインストール、配置

1.ubuntuにaptでapache2をインストール
apt-get install apache2

2.バーチャルホストを追加
「 /etc/apache2/sites-available/」直下の000-default.confを参照してバーチャルホストファイルを作成、名前はabc.confです。shellの中に下記コードを実行
sudo a2ensite abc.conf

ubuntuにmongodbをインストール

1.インストールコマンド:
#!/bin/sh
### BEGIN INIT INFO
# Provides: mongodb
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mongodb
# Description: mongo db server
### END INIT INFO
export LC_ALL=”C”
. /lib/lsb/init-functions
PROGRAM=/opt/mongodb/bin/mongod
MONGOPID=ps -ef | grep 'mongod' | grep -v grep | awk '{print $2}'
test -x $PROGRAM || exit 0
case “$1” in
start)
log_begin_msg “Starting MongoDB server”
#/usr/bin/mongod –fork –quiet –dbpath /data/db –logpath /var/log/mongodb.log
/opt/mongodb/bin/mongod –fork –quiet -journal -maxConns=2400 -rest –dbpath=/opt/mongdb –logpath /usr/local/src/data/mongodb/journal/mongdb.log
log_end_msg 0
;;
stop)
log_begin_msg “Stopping MongoDB server”
if [ ! -z “$MONGOPID” ]; then
kill -15 $MONGOPID
fi
log_end_msg 0
;;
status)
;;
*)
log_success_msg “Usage: /etc/init.d/mongodb {start|stop|status}”
exit 1
esac
exit 0
#
sudo chmod +x /etc/init.d/mongdb

2.ファイルを編集する

vi /etc/security/limits.conf

* soft nofile 65536
* hard nofile 65536

#
export LC_ALL=”C” ローカル設定を削除

「UNIX」awkでファイルに結果を出力する方法

1.入力ファイル
# cat 1.txt
1 1
2 2
2 2
3 3
4 4
5 5
6 6
5 5
5 5
5 5

2.awkファイル
test_startnews24.sh
#/bin/bash
filename=$1
echo $filename

#BEGIN{file1=a;file2=b;file3=c}
file1=a
file2=b
file3=c

if [ -f “$file1” ];then
rm “$file1”
fi
if [ -f “$file2” ];then
rm “$file2”
fi
if [ -f “$file3” ];then
rm “$file3”
fi
awk ‘
{
if($1 == 2)
{
print “こんにちは a” >> “‘$file1′”;
}
else if($1 == 5)
{
print “こんにちは b” >> “‘$file2′”;
}
else if($1 == 3)
{
print “こんにちは c” >> “c”;
}
}
‘ $filename

3.出力ファイル:
cat a
こんにちは a
こんにちは a
cat b
こんにちは b
こんにちは b
こんにちは b
こんにちは b
cat c
こんにちは c

「/usr/bin/codesign failed with exit code 1」エラーメッセージの解決

1.システム要件:
Xcode(5.1 and last version)
OSX10.10

2.エラーメッセージ:
XXX.app: the main executable or Info.plist must be a regular file (no symlinks, etc.)
Command /usr/bin/codesign failed with exit code 1
3.対策:
プロジェクト名(Product Name)を英語に変更される,schemeとxcodeprojを編集する

Linuxにjdk1.7ソースパッケージをインストール

1.ソースパッケージをダウンロード
wget http://download.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-linux-x64.tar.gz

2.ソースパッケージを解凍
sudo mkdir /usr/local/java
cp jdk-7u45-linux-x64.tar.gz /usr/local/java
cd /usr/local/java
sudo tar xvf jdk-7u45-linux-x64.tar.gz
sudo rm jdk-7u45-linux-x64.tar.gz

3.JDK環境変数の設定
sudo gedit /etc/profile

ファイルの最後に下記行目を追加する
export JAVA_HOME=/usr/local/java/jdk1.7.0_45
export JRE_HOME=/usr/local/java/jdk1.7.0_45/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile

4.インストールが成功かどうか確認
java -version

成功したら以下の通りです
java version “1.7.0_45”
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

pure-ftpdにユーザはアップロード権限のみ持っている、編集、削除権限が無し

pure-ftpdにユーザはアップロード権限のみ持っている、編集、削除権限が無し
pure-ftpd.confに下記パラメータを修正
# Allow users to resume and upload files, but *NOT* to delete them.

KeepAllFiles no
# Set to ‘yes’ if you don’t want your users to rename files.

NoRename no
操作:「KeepAllFiles」と「NoRename 」をnoへ変更する
pure-ftpdが再起動

cactiはsnmpを通じて通信容量を監視する方法

1.snmapをインストールして設定
1.1. yum install -y net-snmp net-snmp-utils
1.2. chkconfig snmpd on
1.3. chkconfig –list|grep snmpd
1.4. vi /etc/snmp/snmpd.conf
修正前:
view systemview included .1.3.6.1.2.1.1
修正後:
view systemview included .1.3.6.1.2.1

修正前:
com2sec notConfigUser default public
com2sec notConfigUser default XXXXXX
1.5 snmapが再起動
service snmpd restart

2.snmpサービスが有効かどうか
catctiサーバー下記コマンドをインストール
snmpwalk -v 2c -c XXXX 監視されるIP

3.cactiにデバイスを追加
1.Managemnet->Devices
2.Addをクリックする
3.「Description」、「Hostname」、「Host Template」と「SNMP Version」を設定
4.グラフィックの追加
4.1 Create Graphs for this Host
4.2 監視対象のカードを追加
4.3 Graph Trees->CTC
4.4 Add->Tree Item Type(Host)->Host->Save
4.5 graphsで結果を確認

「shell」Linuxで先月第1秒と先月の最後の1秒を取得

コマンド

先月の第1秒
date -d”date -d "last month" +%Y%m01' 00:00:00'” +%s
先月の最後の1秒
date -d”date +%y%m01' 23:59:59' last day” +%s

 

Linuxに2台サーバーのSSH公開鍵交換方式による認証と相互運用方法

1.サーバー1の相互認証
[root@rac1 ~]# ssh-keygen -t rsa –rac1に秘密鍵を生成
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
b4:d1:db:49:d4:27:2c:f9:6d:85:cd:cf:e8:2b:53:72 root@rac1
The key’s randomart image is:
+–[ RSA 2048]—-+
| .+ + |
| . .o = =|
| o . .o *o|
| . o + .o =|
| S . o. . |
| . E |
| + . |
| o . |
| o |
+—————–+
[root@rac1 ~]# scp /root/.ssh/id_rsa.pub 3.3.3.100:/root/.ssh/authorized_keys –サーバー1の公開鍵をサーバー2にアップロード
root@3.3.3.100’s password:
id_rsa.pub 100% 391 0.4KB/s 00:00
[root@rac1 ~]#

 
2.サーバー2のSSHサービスが相互認証
[root@rac2 Packages]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
bc:d2:00:ed:4f:60:a2:bd:bc:4d:da:34:68:fe:5a:27 root@rac2
The key’s randomart image is:
+–[ RSA 2048]—-+
| |
| . |
| o + |
| o = o |
| . . o S |
| . o = . |
| = E = |
| o O = |
| =o+ |
+—————–+
[root@rac2 Packages]# scp /root/.ssh/id_rsa.pub 3.3.3.99:/root/.ssh/authorized.keys
The authenticity of host ‘3.3.3.99 (3.3.3.99)’ can’t be established.
RSA key fingerprint is ee:eb:9c:70:83:0b:d1:25:0e:84:73:f2:fa:27:4d:7f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘3.3.3.99’ (RSA) to the list of known hosts.
root@3.3.3.99’s password:
id_rsa.pub 100% 391 0.4KB/s 00:00
[root@rac2 Packages]#ssh rac1
[root@rac2 Packages]#ssh rac2
[root@rac2 Packages]#ssh rac1-priv
[root@rac2 Packages]#ssh rac2-priv

LNMP(Linux+Nginx+MySQL+PHP)環境にmemcachedモジュールを追加

1.依存関係ライブラリ(libevent)をインストール
[root@localhost tong]# tar xvf libevent-1.4.13-stable.tar.gz
[root@localhost tong]# cd libevent-1.4.13-stable
[root@localhost libevent-1.4.13-stable]# ./configure –prefix=/usr/local/test/libevent
[root@localhost libevent-1.4.13-stable]# make
[root@localhost libevent-1.4.13-stable]# make install
[root@localhost libevent-1.4.13-stable]# echo $?
0
[root@localhost libevent-1.4.13-stable]#
2.memcachedサーバー側をインストール
[root@localhost libevent-1.4.13-stable]# cd ..
[root@localhost tong]# tar xvf memcached-1.4.20.tar.tar
[root@localhost tong]# cd memcached-1.4.20
[root@localhost memcached-1.4.20]# ./configure –prefix=/usr/local/test/memcached –with-libevent=/usr/local/test/libevent/
[root@localhost memcached-1.4.20]# make
[root@localhost memcached-1.4.20]# make install
[root@localhost memcached-1.4.20]# echo $?
0
[root@localhost memcached-1.4.20]#

3.memcacheクライアントをインストール
[root@localhost memcached-1.4.20]# cd ..
[root@localhost tong]# tar xvf memcache-3.0.6.tgz
[root@localhost memcache-3.0.6]# ./configure –enable-memcache –with-php-config=/usr/local/test/php/bin/php-config –with-zlib-dir
[root@localhost memcache-3.0.6]# make
[root@localhost memcache-3.0.6]# make install
Installing shared extensions:
/usr/local/test/php/lib/php/extensions/debug-non-zts-20090626/
[root@localhost memcache-3.0.6]# echo $?
0
[root@localhost memcache-3.0.6]# vim /usr/local/test/php/lib/php.ini //php.iniに以下の2行を追加する
extension_dir = “/usr/local/test/php/lib/php/extensions/debug-non-zts-20090626/”
extension=memcache.so

4.memcached サービスが起動
memcached -d -m 10 -u root -l 202.207.177.177 -p 11211 -c 256 -P /tmp/memcached.pid
パラメータ説明:
-d デーモンを起動,-m Memcacheを使用するために割り当てられるメモリの量,
-u Memcacheを実行しているユーザー,-lサーバーのIPアドレスをリスニング,
-p Memcacheのリスニングポートを設定,-c 実行中の最大同時接続数,ディフォルト1024
-P Memcacheのpidファイルを設定,保存場所: /tmp/memcached.pid

5.サービスが起動するかどうかを確認する
[root@localhost memcache-3.0.6]# netstat -anp |grep mem
tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 9565/memcached
tcp 0 0 :::11211 :::* LISTEN 9565/memcached
udp 0 0 0.0.0.0:11211 0.0.0.0:* 9565/memcached
udp 0 0 :::11211 :::*

6.テスト
[root@localhost memcache-3.0.6]# cd /usr/local/test/nginx/html/
[root@localhost html]# vim test.php
<?php
$mem = new Memcache;
$mem->connect(“202.207.177.177”, 11211);
$mem->set(‘key’, ‘これはarkgame.comのテストです!’, 0, 60);
$val = $mem->get(‘key’);
echo $val;
?>