Category Archives: 技術関連

[Linux]ファイルの中身を空にする超簡単コマンド

Linuxのサーバー上にあるログファイルの容量が大きくなったとき、今までは1回ファイルを消してから同名のファイルを作って権限とパーミッションを合わせるとか、めさくさめんどうなことしてた気がします。

先日調べてたら見つけました。ファイルの中身を空にする、とんでもなく簡単なコマンドを。

:> hoge.txt

[PHP]$_SERVER サーバ環境変数

PHPでは、サーバに関する環境変数はグローバル変数$_SERVERに格納されます。
HTTP_REFERERやREMOTE_ADDR、PHP_SELFなどスクリプト構築において欠かせない変数群を簡単に取得できるので、それぞれ暗記しておいて損はないです。

$_SERVER['GATEWAY_INTERFACE'] CGIのバージョン
$_SERVER['SERVER_NAME'] サーバ名
$_SERVER['SERVER_SOFTWARE'] サーバID
$_SERVER['SERVER_PROTOCOL'] プロトコル名・リビジョン(HTTP/1.0)
$_SERVER['REQUEST_METHOD'] リクエストの種類(HEAD・POST・GET・PUT等)
$_SERVER['QUERY_STRING'] クエリーを格納
$_SERVER['DOCUMENT_ROOT'] サーバのルートディレクトリ
$_SERVER['HTTP_ACCEPT'] Acceptヘッダの内容
$_SERVER['HTTP_ACCEPT_CHARASET'] Accept-Charasetヘッダの内容(eucなど)
$_SERVER['HTTP_ACCEPT_ENCODING'] Accept-Charasetヘッダの内容(gzipなど)
$_SERVER['HTTP_ACCEPT_LANGUAGE'] Accept-Languageヘッダの内容(jpなど)
$_SERVER['HTTP_CONNECTION'] Connectionヘッダの内容(Keep-Aliveなど)
$_SERVER['HTTP_HOST'] Hostヘッダの内容
$_SERVER['HTTP_REFERER'] 現在のページへのリンク元のURLを格納。
※ブラウザによっては設定しない場合や’Hidden-Referrer’などと設定する場合があり、必ずしも取得できるとは限らない。
$_SERVER['HTTP_USER_AGENT'] User_Agentヘッダの内容
(compatible; MSIE 6.0; Windows NT 5.0など)
$_SERVER['REMOTE_ADDR'] クライアントのIPアドレス
$_SERVER['REMOTE_PORT'] クライアントマシンで使用されているポート番号
$_SERVER['SCRIPT_FILENAME'] 実行中のスクリプトの絶対パス
$_SERVER['SERVER_PORT'] サーバで使用されているポート番号
$_SERVER['SERVER_SIGNATURE'] サーバのバージョン・ヴァーチャルホスト名
$_SERVER['PATH_TRANSLATED'] 実行中のスクリプトの物理パス
$_SERVER['SCRIPT_NAME'] 実行中のスクリプトのパス
$_SERVER['REQUEST_URI'] 指定されたURI
$_SERVER['PHP_SELF'] 実行中のスクリプトのドキュメントルートに対する相対パス
※PHPスクリプトなどで、自身にフォームを送信したい場合などにactionにこの変数を設定することが多い。

[Poderosa]パスワードなしでSSHログイン

1.接続用ショートカットを作る。

2. ツール⇒詳細プリファレンスエディタから

org.poderosaprotocols.readSerializedPassword をTrueにする

3. 作成したショートカットをテキストエディタで開く

4.account= なんちゃら の後ろに passphrase=”XXXXXX” という形でパスワードを記述して保存。

[Linux]FTP専用ユーザーを作成

# useradd -s /sbin/nologin -M ftpuser
# passwd ftpuser
# mkdir -p /ftp/userdir
# usermod -d /ftp/userdir ftpuser
# chown ftpuser:ftpuser /ftp/userdir
# chmod 705 /ftp/userdir

useradd で /sbin/nologin を指定することで、telnet などでログインできないユーザを作成できる。また、-M オプションを付けると、ホームディレクトリを作成せずにユーザを作成するので、不要なメールボックスが作成されないで済む。FTP先のディレクトリは、 usermod で後から設定してあげればOK。

[CentOS][PHP]PHPのバージョンアップ方法

1.必要なRPM-GPG-KEYを取得
# rpm –import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka

2.リポジトリ参照の設定を追加
# vi /etc/yum.repos.d/utterramblings.repo
―ここから―
[utterramblings]
name=Jason’s Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=1
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
―ここまで―

3.PHPのversionUPをする
# yum update php
※PHPを指定しないとMySQLとか他のパッケージもアップグレードされますので注意

4.【2.】で追加したリポジトリ参照の設定を無効にする
# vi /etc/yum.repos.d/utterramblings.repo
―変更前―
enabled=1
―変更前―

―変更後―
enabled=0
―変更後―

5.Apacheの再起動
# /etc/rc.d/init.d/httpd restart

6.phpinfoにてVersion確認(Apacheのドキュメントルートに保存)
# vi phpinfo.php
―ここから―
phpinfo();
?>
―ここまで―

7.ブラウザにてhttp://ドメイン/phpinfo.phpへアクセスし
PHPのversionが5.2系である事を確認する。

8.phpinfo.phpの削除
# rm phpinfo.php

[Linux ] telnetで自動ログアウト回避方法

telnetでログインして作業している場合,ある程度時間が経つと,自動的にログアウトしてしまうことがあります。
デフォルトの設定では時間が経ってから操作しようとするとログアウトしてしまうようになっています。

~/.bash_profile(~/.bashrc)ファイルに次の1行を加える。
unset autologout  ← この行を加える

また、.bash_profileファイルは編集せずに、コマンドラインで「unset autologout」を入力すれば、自動ログアウトを禁止したい時にだけ有効にできます。

[Apache][.htaccess]mod_rewrite で特定の IP に対してアクセス制限する方法

mod_rewrite を使って特定の IP のみアクセスさせる、もしくはアクセスさせないようにするには以下のようにする。

アクセスを拒否

RewriteCond %{REMOTE_ADDR} ^192\.168\.0\.1$ [OR]
RewriteCond %{REMOTE_ADDR} ^192\.168\.0\.2$
RewriteCond %{REQUEST_URI} !^error\.html
RewriteRule .* error.html

アクセスを許可

RewriteCond %{REMOTE_ADDR} !^192\.168\.0\.1$
RewriteCond %{REMOTE_ADDR} !^192\.168\.0\.2$
RewriteCond %{REQUEST_URI} !^error\.html
RewriteRule .* error.html

[PostgreSQL]PostgreSQLのデータベースをコピーする方法

PostgreSQLのデータベースをコピーする。

createdb -T コピー元データベース名 コピー先(作成する)データベース名

公式マニュアルだと以下に掲載されています。
http://www.postgresql.jp/document/pg841doc/html/manage-ag-templatedbs.html

WordPress でヘッダ内のバージョンを消す方法

WordPress のテンプレートタグ wp_head() を使うと、利用している WordPress のバージョン番号が meta タグとして追加される。
そこで、functions.php に以下のコードを記述するとバージョン番号の表示が行われなくなります。

remove_action('wp_head', 'wp_generator');

[Linux] Postfix 自動起動の設定方法

Postfix 自動起動の設定方法

/etc/rc.d/rc.local に上記コマンド(/usr/sbin/postfix start)を追記する。
そうすれば再起動時に実行されます。

念のため、再起動後に、「ps aux」で起動されているか確認することをおすすめします。