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

2014年12月16日火曜日

Linux: 複数階層のディレクトリをまとめて作成

mkdir はデフォルトだと1階層ずつしかディレクトリを作れないが、
-p オプションを使用すると複数階層一気に作れる。

my_dir
└sub_dir
$ mkdir -p my_dir/sub_dir/

同じ階層に複数ディレクトリを作る場合は {} で囲むと展開される。

my_dir
├sub_dir1
├sub_dir2
└sub_dir3
$ mkdir -p my_dir/{sub_dir1,sub_dir2,sub_dir3}

2014年12月13日土曜日

info@ で始まるメールアドレスにメールが届かない

root にエイリアスが貼ってあり、 root に飛ばされている。
エイリアスを外すと info で受信できるようになる。
$ sudo vim /etc/aliases
info:        postmaster
↓
#info:        postmaster


2014年5月30日金曜日

Zabbix インストールメモ

サーバの負荷を監視する必要があり、
Zabbix を CentOS6 へインストールした時のメモです。
(結局シンプルな Munin を入れましたが)

基本的には Zabbix 日本語コミュニティのページに従えばインストールできます。
公式の情報が少し古く、変えなければいけないコマンドがあります。


 # mysql -uroot zabbix < /usr/share/doc/zabbix-server-1.8.10/schema/mysql.sql
 # mysql -uroot zabbix < /usr/share/doc/zabbix-server-1.8.10/data/data.sql
 # mysql -uroot zabbix < /usr/share/doc/zabbix-server-1.8.10/data/images_mysql.sq

まずこちらですがインストールした時は 1.8.20 でした。
SQL データの場所が変わっており、
/usr/share/doc/zabbix-server-1.8.20/create/schema/...
/usr/share/doc/zabbix-server-1.8.20/create/data/...
へ移動していました。

また、インストール時に php.ini を以下のように設定する必要がありました。
post_max_size = 32M
max_execution_time = 600
max_input_time = 600

その他、mysql コマンドを入力するときには、
パスワード入力のために付ける -p オプションが書かれていないので、
必要に応じて付加する必要がありました。
それ以外は上記のサイト通りで問題なくインストール出来ました。

2014年5月13日火曜日

Linux: crontab のインストール

とあるサーバで CRON の設定をしようと思ったら crontab コマンドが存在しなかった。
yum でインストールできる。
# yum install crontabs


2014年3月21日金曜日

Linux: 複数の html ファイルの文字コードを一括変換

シェルスクリプトで複数の HTML 内の文字コードを一括で変換する。
ここでは Shift_JIS の html ファイルを UTF-8 にしてみる。
<meta> 要素の charset も変換する。
#!/bin/sh
for html in `ls *.html`
do
    iconv -f SHIFT-JIS -t UTF-8 $html > ${html}_utf8
    mv ${html}_utf8 $html
    sed -e "s/Shift_JIS/UTF-8/" $html > ${html}_utf8
    mv ${html}_utf8 $html
done

iconv コマンドでファイルの文字コードを変換し、
その後 sed コマンドで <meta> の文字コード指定を Shift_JIS から UTF-8 にしている。
シェルスクリプト実行時のディレクトリ内の html ファイル全てに適用される。

2014年3月20日木曜日

Linux: iconv で文字コードを変換

iconv コマンドで文字コードを変換できる。
例えば SHIFT-JIS から UTF-8 へ変更したい場合は
$ iconv -f SHITF-JIS -t UTF-8 index.html > index_utf8.html

のようになる。
iconv で指定できる文字コード一覧は以下で確認できる。
$ iconv -l

もちろん Mac でも使用可能。

2014年3月15日土曜日

Linux: zip コマンドでディレクトリを圧縮

Linux でディレクトリを zip にするときには以下のようにする。
$ zip -r hoge.zip hoge

-r を忘れると空っぽの zip ができてしまうので注意。

2014年1月7日火曜日

MySQL の文字コードを UTF-8 に統一する

WordPress プラグインから MySQL へ日本語を書き込もうとした際に以下のようなエラーが出現。

WordPress database error: [Incorrect string value: '\xE3\x82\xAD\xE3\x83\xBC...' for column ...]

原因は MySQL の文字コードが一部 latin1 となっていたため。

まず、MySQL の設定ファイルでデフォルトの文字コードを UTF-8 に設定する。
Cent OS の場合、
# vi /etc/my.cnf
[mysqld]
character-set-server = utf8

既に設定されている文字コードも変更。
# mysql -u root -p
[パスワード]

mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

mysql> set character_set_database = utf8;
mysql> set character_set_server = utf8;
mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+

mysql> quit;


以上で日本語でも書き込めるようになった。

2013年12月25日水曜日

RubyGem を CentOS 6 へインストール

Ruby のライブラリをインストールできるパッケージ管理システムである RubyGems を Cent OS 6 へインストールする方法です。RubyGems を使うと Ruby 製のライブラリやソフトを簡単にインストールできるようになります。

詳細情報はこちら
http://rubygems.org

まずソースを落としてきます。
$ wget http://production.cf.rubygems.org/rubygems/rubygems-2.1.11.tgz

展開します。
$ tar -xzf rubygems-2.1.11.tgz

README.rb に詳しいインストール方法が書かれています。
ルビーで書かれたインストールスクリプトが入っているので実行します。
$ cd rubygems-2.1.11
$ ruby setup.rb

これでインストール完了です。
$ gem -v
2.1.11

2013年12月24日火曜日

CentOS 6 に Ruby 2.0 をインストール

現在の Ruby の最新版 2.0 を CentOS 6 に入れてみます。
ソースからインストールします。

詳細情報はこちら
http://www.ruby-lang.org/ja/

まずはソースコードを落とします。
$ wget http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p353.tar.gz

展開します。
$ tar -xzf ruby-2.0.0-p353.tar.gz

展開されたディレクトリ内にある README.ja にインストール方法が詳しく書かれています。

configure, make, make install でインストールできます。
$ cd ruby-2.0.0-p353
$ sudo configure
$ sudo make
$ sudo make install

これでインストール完了です。
$ ruby -v
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-linux]

2013年12月23日月曜日

Cent OS 6 に yum を使って MySQL 5.6 をインストール

2013年12月23日の時点で MySQL Server Community Edition の最新バージョンは 5.6 です。5.7 は評価版が公開されている状態です。

MySQL では公式に yum のリポジトリを公開しており、Linux から最新版をダウンロードできるようになっています。

2.5.1. Installing MySQL on Linux Using the MySQL Yum Repository
http://dev.mysql.com/doc/refman/5.6/en/linux-installation-yum-repo.html

Cent OS 6 へ最新版の MySQL をインストールするには以下のように操作します。

---

まず、MySQL のサイトから rpm をダウンロードします。
http://dev.mysql.com/downloads/repo/

Cent OS 6 の場合は Red Hat Enterprise Linux 6 を選んで下さい。
ダウンロードできたらサーバ上にアップロードしておきます。

rpm パッケージをインストールします。
# rpm -i mysql-community-release-el6-5.noarch.rpm

既に MySQL の古いバージョンがインストールされている場合はアップデートします。
# yum update mysql-server

新規にインストールする場合は以下のように実行します。
# yum install mysql-server

これで最新版の MySQL 5.6 がインストールされます。
# mysql --version
mysql  Ver 14.14 Distrib 5.6.15, for Linux (x86_64) using  EditLine wrapper

2013年12月18日水曜日

service コマンドでサービスの管理をする

Linux でサービスの起動や停止、状態の確認に service コマンドが使える。
例えば Web サーバの Apache を起動する場合は以下のようにする。

$ service httpd start

起動なら start
停止なら stop
再起動なら restart
起動状態の確認は status
を指定する。

2013年12月17日火曜日

vi で長い行の折り返し

:set wrap
で折り返す

:set nowrap
で折り返さない

2013年12月15日日曜日

Linux で特定のポートを開ける

WebサーバやFTPサーバなどをインストールした後、ポートを開けてクライアントと通信できるようにするには iptables コマンドを使用する。
Webサーバ用に 80 ポートを開くときは以下のようにする。
$ iptables -I INPUT -p tcp --dport 80 -j ACCEPT

2013年12月14日土曜日

chkconfig コマンドで OS 起動時のサービスを指定する

指定したサービスを OS 起動時に実行するために chkcoonfig コマンドを使用できる。
例えばサーバが起動した時にWebサーバを自動的に起動するなら

chkconfig httpd on

2013年12月13日金曜日

vi で行番号を表示

ESC キーを押してコマンドモードへ移る。 :set number または :set nu コマンドを実行すると行番号が表示される。 :set nonumber または :set noun コマンドで行番号を非表示に戻す。 

 

2013年12月12日木曜日

MySQL の root パスワードをリセットする

MySQL をインストールした直後や、MySQL の root パスワードを忘れた時は root 権限で以下のコマンドで再設定できます。
$ mysqladmin -u root passwd

2013年12月10日火曜日

Linux でシェルスクリプトを書く

スクリプト作成
$ vi script.sh

!#/bin/sh
処理内容
処理内容
処理内容
スクリプト実行
sh script.sh
定期的に実行する場合は cron を使う
$ crontab -e

*/30 * * * * /bin/sh /(スクリプトファイルの絶対パス)/script.sh > (ログファイルのパス)

2013年11月22日金曜日

CRON の実行結果をメールさせない

CRON で定期的にプログラムを実行するとデフォルトで実行結果をメールで送信します。
毎回メールで送ってほしくない場合は結果を null デバイスに入力する方法があります。
* * * * * /usr/bin/php /var/www/html/task.php > dev/null

ただしこの方法だとログも消えてしまうので、
通常は以下のようにログを残すべきです。
* * * * * /usr/bin/php /var/www/html/task.php >> /var/www/html/task_log

2013年8月29日木曜日

BitTorrent で CentOS をダウンロード

Mac の BitTorrent を使って CentOS のディスクイメージを落として DVD に焼く方法

落とすもの: CentOS 6
環境:Mac OS X 10.8.4

1. BitTorrent をダウンロード・インストール
http://www.bittorrent.com/intl/ja/



2. CentOS のミラーサーバを開く
Donwloads > Mirrors > Mirror List > Asian > Japan のどれかの HTTP 
の順番にクリック


3. torrent ファイルを落とす 
ミラーサーバの
6/ > isos/ > i386 か x86_64 (CPU に合わせて) > CentOS-6.4-i386-bin-DVD1to2.torrent 
からダウンロード

4. torrent ファイルを開く(デフォルトで BitTorrent が起動する)
そのままOK 

5. ダウンロードが始まるので終わるまで待つ 


6. Donwload フォルダの中にイメージファイルが落とされる

7. iMac に空の DVD を入れる 

8. ダイアログが出てくるのでディスクユーティリティで開く を選択


9. ディスクを作成 > 落としたiso ファイル を選択


10. 書き込み終わったら DVD が自動で出てきます

11. 同じように 2 も焼きます

12. あとはインストールしたいパソコンに入れて DVD から起動すればOKです。