‘linux’ カテゴリーのアーカイブ

複数サイトでphpMyAdminを共有する

2008 年 10 月 27 日 月曜日

CMSを使って、同一サーバーで複数のサイトを管理していたりするときに、phpMyAdminをサイトの数だけそれぞれのドキュメントルートに突っ込んだりしていませんか?

どうせ覗くのは同じMySQLサーバーなのに、面倒だしサーバー領域のムダですよね。
実はシンボリックリンクで共有させることが出来ます。

phpMyAdminを設置したいディレクトリに行って、phpMyAdminが実際にインストールされている階層を指定するだけ。

↓例:/home/dacelo.info/DocumentRoot/で実際に使っているPhpMyAdminを、/home/hogehoge/htmlで使う。

[root@dacelo1]# cd /home/hogehoge/html
[root@dacelo1 html]# ln -s /home/dacelo.info/DocumentRoot/phpMyAdmin/ phpMyAdmin

これで、そこにphpMyAdminをインストールしたのと同じように使えます。(権限を設定する必要はあります)

LinuxでDivX等の動画を見る(Fedora Core)

2008 年 10 月 19 日 日曜日

DVD直リッピングのISOファイルの直接再生から、Youtubeから落としたFLV形式の動画まで、幅広いフォーマットに対応していることで人気のVLC media player。

実はこれにFedora Core版というのがありまして、これをインストールすればFedoraCoreのリナックス環境でDivXを含めた色々な動画が再生できるようになります。(VLC media player for Fedora

インストールに使うコマンドは以下のとおり。

$> su -
#> rpm -ivh http://rpm.livna.org/livna-release-6.rpm
#> yum install vlc
#> yum install python-vlc mozilla-vlc (optionnal)

ところでFedora Coreってもう9まで出てるんですねえ。

シンボリックリンクが削除できない!?

2008 年 10 月 14 日 火曜日

別サイトに設置したphpMyAdminを流用しようとして作ったシンボリックリンクが削除できない。

[root@dacelo DocumentRoot]# rm phpMyAdmin/
rm: cannot remove directory `phpMyAdmin/’: ディレクトリです
[root@adcelo DocumentRoot]# rm -f phpMyAdmin/
rm: cannot remove `phpMyAdmin/’: ディレクトリではありません
[root@dacelo DocumentRoot]# rm -f phpMyAdmin

「シンボリックリンクはrmで削除できる」はずなのに、ディレクトリ扱いになっているのかと思えばそうでもなく、どうやっても削除できない。

と思ってよく見ると、
phpMyAdmin/
となっている。/が付くのはディレクトリ。シンボリックリンクのリンク先がディレクトリなせいで、Tab補完すると自動的に/まで入ってしまうんだけど、シンボリックリンク自体はディレクトリではない。
つまり正解は

rm シンボリックリンク名/

ではなく

rm シンボリックリンク名

でした。

[root@dacelo DocumentRoot]# rm phpMyAdmin
rm: remove シンボリックリンク `phpMyAdmin’?
YES!

FTPでのサーバー間転送

2008 年 10 月 9 日 木曜日

サーバ間の転送には、通常SFTP接続で次のようなコマンドを実行します。

scp -r ./転送したいディレクトリ/ ユーザー名@転送先アドレス:/転送先ディレクトリ

scp -r ./www/ user@210.111.11.11:/home/user/html/

しかし、SFTPが入っていない古い共有サーバーなどでは、未だにFTPで転送する必要があります。FTPというと、『FFFTP』などのWindows用クライアントソフトで接続するイメージがどうしても強いのですが、ちゃんとシェルで作業できます。

まず、転送先サーバにログインします。
(転送、というよりFTP接続してダウンロードするので。)

ログインしたらFTPコマンドで対象サーバ(oldserver.co.jp)にログイン。

ftp oldserver.co.jp

接続に成功すると、ユーザー名、パスワードの順に対話型で入力します。

Name (newserver.co.jp:currentuser): ftpuser
331 Password required for ftpuser.
Password:
230 User ftpuser logged in.

CD、lsなどのコマンドはTelnetやSFTPと共通なので、目的のディレクトリに移動したら、getコマンドでファイルを転送(最初のログインサーバにダウンロード)します。

get 対象ファイル 保存先

get ./images/ ./imagesbackup/

保存先を省略すると、FTP接続するときにいたディレクトリに保存されます。ファイル名が複数あるときはgetではなくmgetを使います。

逆にログイン先のサーバーからアップロードするときはput、mputを使います。

これでファイルの転送はOKなんですが、ディレクトリごとのコピーはできません…。
ツールを使うしかありません。

Linux serviceの開始と停止コマンド

2008 年 9 月 22 日 月曜日

apacheの設定を変更したときなど、よくservice httpd restartで再開を実行するけど、そういえばreloadなど他にも開始系コマンドがある。あとはサービスの状況によって動きが違うcondrestartというコマンドもあった。

  • reload…起動したまま再度startを実行する。一部のライブラリが再読み込みされる。
  • restart…起動状況にかかわらずstopとstartを実行する。全て再読み込みされる。
  • condrestart…“conditional restart”の略。起動しているかどうかをチェックし、起動していた場合は stop と start を実行して再起動。停止していた場合には何もせず、停止したまま。

user beaglidxとは?

2008 年 9 月 10 日 水曜日

hosts設定前、あまりにも突撃ログが多かったので、念のため侵入に成功しているログがないか

/var/log/secure

を確認。

すると、中にこんなログを確認。
Sep 8 04:02:13 localhost runuser: pam_unix(runuser:session): session opened for user beaglidx by (uid=0)
Sep 8 04:02:20 localhost runuser: pam_unix(runuser:session): session closed for user beaglidx

誰だbeaglidxって…?

Re: beaglidx はどんなものですか(急)

ウィルスなどの怪しいものではなく、デスクトップサーチが出来るようにホームディレクトリのファイルを順に調べてインデックスを作っているものです。

低優先度で動いているので、他のプロセスが動かない間だけ動くはずですが、beagle-shutdownコマンドで止められると思います。

インデックスが出来れば、beagle-searchコマンドで検索できるようになります。

Beagleプロジェクトのホームページです。
http://beagle-project.org/Main_Page
Fedora JP 掲示板

ということでした。

自宅サーバ起動! hostsの設定

2008 年 9 月 10 日 水曜日

週末に所用があって実家に帰った時に、サーバを立ち上げてきた。以前、会社から譲り受けた不要マシンで立ち上げたFedoraサーバだったが、HDDが完全に死んで(徹夜で作った練習プログラムを道づれに)以来、部屋の片隅でオブジェと化していたのだけど、システム修行を再開するにあたり、新しいHDDを入れ直した。

1年前の僕なら、リナックスをインストールするところから始まり、3日くらいはかかっていたサーバの立ち上げが、インストール待ちを入れてもものの30分くらいでApacheのテストページを表示させるところまでサクッと進んだ。素晴らしい。(用途は未定。あと電気代払ってません。ごめん母さん)

設定ファイル(/etc/hosts.allow、/etc/hosts.deny)の編集

ところが、hosts.allow/hosts.denyを編集していなかったため(会社のIPが分からなかったから)、今見てみるとchドメインから不正アクセスの嵐が。

早速

/etc/hosts.allow

#Local Network
all : 192.168.

#Office
all : 210.XXX.X.XXX

#Apart
all : 125..XXX.X.XXX

と許可IPを追加、

/etc/hosts.deny

all:all

で全部弾いて完了。

scp サーバ間で情報をコピーする

2008 年 9 月 8 日 月曜日

サーバAにある情報をサーバBにコピーする。
サーバやシステムの引っ越しなどで頻出するシチュエーション、Windows脳のままだと、「FTPでサーバAからダウンロードしてきて、サーバBにアップロードだな…」などと考えてしまいがちですが、ちょっとLinuxコマンドを使えば、直接コピーすることが可能です。

コマンド:

scp コピー元ファイル [[ユーザー名@]コピー先ホスト:]コピー先ファイル

例:
serverAにあるファイルexample.tarをserverB(210.123.45.67)にコピーする場合

scp ./example.tar user@210.123.45.67:/home/user/

サーバAにログイン、ファイルがあるディレクトリに移動して、サーバBのユーザー名userで接続しています。
この後、接続が成功するとuser@サーバBのパスワードを聞かれます。

注意点

サーバBのhosts.allowに注意
サーバBの許可ホストに、サーバBのIPが登録されていないと、接続でハネられるので注意。

注意点2

仮想サーバの場合はローカルIPだ!
サーバAとサーバBが仮想サーバで同一の物理サーバに入っているような場合、サーバAのグローバルIPを登録しても、当然のことながら接続できません。

オプション

ウンともスンとも反応がない!
scp -v のオプションを付けて、セリフを表示しましょう。何らかのヒントが見えるかも知れません。
「ファイルではありません」と言われてコピーできない
ディレクトリの場合は、-rのオプションを付けましょう。