Linuxで特定ポートを使用しているアプリケーションを調べる

dev, ubuntu No Comments »
% sudo lsof -i:5433
COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
postgres 1208 postgres    3u  IPv4   5730      0t0  TCP localhost:5433 (LISTEN)

postgresが5433で動いてる。Ubuntuアップデートと同時にPostgresもバージョンアップされたようで、8.4ではデフォルトで5433使ってるようだ。

ここ見てやった。
Linuxでアプリケーションが使用中のポート番号を調べる - 日々の報告書

UbuntuにphpPgAdminをインストール

PHP, dev, ubuntu No Comments »

ちょっと前にやったphpPgAdminのインストールメモ。

% sudo apt-get install phppgadmin

で入った。
ブラウザで http://localhost/phppgadmin/ にアクセスすると何か見えた。

phpPgAdmin 4.2 (PHP 5.2.6-2ubuntu4.1)
と大きく書いてある。

"導入"というリンクをクリックしてみる。
特に反応なし(リロードされる)。

"サーバー"というリンクをクリックしてみる。
何かよく分からない。

サーバー 	ホスト 	ポート 	ユーザー名 	操作
PostgreSQL 	localhost 	5432 	

"PostgreSQL"というリンクをクリックしてみる。
ログイン画面が出てきた。適当に試してもログインできないので検索する。

Ubuntu 8.04 LTS(Hardy Heron) Server Edition に、phpPgAdmin をインストールする :: Weeeblog.net

ここを参考にすすめる。

% sudo passwd postgres
新しいUNIXパスワードを入力してください: xxxxxxxx
新しいUNIX パスワードを再入力してください: xxxxxxxx
passwd: パスワードは正しく更新されました
% su - postgres
パスワード: xxxxxxxx
$ createuser -P postgreuser
Enter password for new role: xxxxxxxx
Enter it again: xxxxxxxx
Shall the new role be a superuser? (y/n) y

で、ブラウザに戻ってログイン。OK。

irb入れた

ubuntu No Comments »

作業の合間にUbuntuにirb入れた。

% sudo gem install irb

違うらしい。試しに apt-get install してみる。なんか入ったっぽい。

% sudo apt-get install irb

irb - Rubyリファレンスマニュアルを見ながらいろいろやってみる。

% irb
irb(main):001:0> 1+2
=> 3
irb(main):002:0> class Foo
irb(main):003:1>   def foo
irb(main):004:2>     print 1
irb(main):005:2>   end
irb(main):006:1> end
=> nil

nilの意味がわからない。

Pearのアップグレード

PHP, ubuntu No Comments »

使うかわかんないけど、HTTP::redirectを入れておきたかったので

% sudo pear install HTTP

ってやったらpearのバージョンが古いので入れられないよと言われた。

pear/HTTP requires PEAR Installer (version >= 1.7.1), installed version is 1.6.1
No valid packages found
install failed
% sudo pear upgrade PEAR

した後に再度試してみたらOKだった。

開発環境(Ubuntu)にSmarty

PHP, ubuntu 1 Comment »

パッケージ配布先追加

% sudo pear channel-discover pearified.com

インストール

% sudo pear install pearified/Smarty

php.iniを編集

% sudo vi /etc/php5/apache2/php.ini
; UNIX: "/path1:/path2"
;include_path = ".:/usr/share/php"

↓このようにコメントを外してパスを足した

; UNIX: "/path1:/path2"
include_path = ".:/usr/share/php:/usr/share/php/smarty"

apache再起動

% sudo /etc/init.d/apache2 restart

pearコマンドでSmartyやphpMyAdminをインストール:phpspot開発日誌
を見てやった。

最新ニュースなどをシグネチャに挿入する

Perl, opera, ubuntu No Comments »

会社用メールアカウントのシグネチャに最新ニュース的なものを書いたりしてたけど、いよいよ手で更新するのが面倒くさくなってきた。で、機械にやらせようと。会社のサイトのフィードから最新ニュースを取得してシグネチャを更新する。

シグネチャ用のファイルを探す

まずは書き換えるべきファイルを探す。
UbuntuのOperaでは
/home/username/.opera/mail/signature2.txt 。
(アカウントをいくつか作ってたので"2"がついてるのかな)

Windows Operaの場合は
C:\Documents and Settings\username\Application Data\Opera\mail 内かな。

Thunderbirdだと自由に設定できるみたい。
(Tools > AccountSettingsからAttach this signatureにチェック入れてChoose)

フィードを読んでファイルを更新するスクリプトを書く

次はスクリプト書く。Perlでやった。XML::TreePPとかいうモジュールを使用。
$fileにさっき探したシグネチャのファイルを指定、$strにはシグネチャのフォーマットを書く。
(この例ではlivedoorのニュースを最新のもの1件、タイトルとURLを挿入)

#!/perl/bin/perl
 
use strict;
use warnings;
use XML::TreePP;
 
my $tpp = XML::TreePP->new();
my $tree = $tpp->parsehttp( GET => "http://news.livedoor.com/topics/rss.xml" );
my $file = "/home/username/.opera/mail/signature2.txt";
 
my $str = < < "EOM";
山田太郎 <sample\@yourdomain.com>
==注目のニュース==
$tree->{rss}->{channel}->{item}->[0]->{title}
$tree->{rss}->{channel}->{item}->[0]->{link}
EOM
 
open my $fh, '>', $file or die $!;
print $fh $str;
close $fh;
 
exit;

これをsignature.plなどとして、
$ perl /path/to/script/signature.pl
すると、シグネチャファイルが書き換えられる。
(↑このパス適当。ファイルまでのパスをちゃんと書く。)

スクリプトが毎日定時に実行されるよう設定する

毎度手動でスクリプトを実行したくないので、定期的に実行するよう設定。

$ sudo crontab -e

するとエディタが開くので下記のように書いて(毎日12時に実行)

# m h  dom mon dow   command
0 12  * * *   /bin/sh /usr/local/sbin/daily >/dev/null 2>&1
$ sudo gedit /usr/local/sbin/daily

して次のようなファイルを作ります。

#!/usr/bin/sh
$ perl /path/to/script/signature.pl

cronに関しては下記のサイトを参考にしました。
Ubuntu/cronでスクリプトを回そう - TOBY SOFT wiki

以上でおk。
個人的なメールアカウントならAmazonのWishlist(フィードあるのか)など入れると面白そう。

Apache2の設定でつまづいたメモ@Ubuntu

ubuntu No Comments »

ローカル開発環境構築。プロジェクトごとに適当なURLを割り当ててブラウザからアクセスしたい。

http://localhost/ と http://another.sample.com/ が同時に見られるようにする。
( http://another.sample.com/ の方は適当に命名して /etc/hosts で設定する)

/etc/apache2/sites-enabled/ に main_site と another_site というファイルを作成。
中身は下記のように。

main_site

NameVirtualHost *:80

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www
        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
        LanguagePriority ja en cs de es fr it nl sv pt-br ro
</VirtualHost>

another_site

NameVirtualHost *:80

<VirtualHost *:80="">
                ServerAdmin another@sample.com
                DocumentRoot /var/www/another
                ServerName another.sample.com
                ErrorLog /var/log/apache2/another-error_log
                CustomLog /var/log/apache2/another-access_log combined
                <Directory "/var/www/another">
                        Options ExecCGI
                        AddType application/x-httpd-cgi .cgi
                </Directory>
</VirtualHost>

で、sudo /etc/init.d/apache2 restartすると
http://another.sample.com/ は見れるんだけど、
http://localhost/ が見れない。

main_siteの方が打ち消されてる(?)みたい。
main_siteというファイル名を000-main_siteなどと変えてapache再起動すると両方見れるようになった。

読み込まれる順番の問題なのかな?と勝手に納得した。

Tags: , ,

UbuntuからサーバへSSH接続した時のメモ

ubuntu No Comments »

Ubuntuで鍵の作成

Linux便利帳(基本コマンド)を参考にして

% ssh-keygen -t rsa1

id_rsa id_rsa.pub identity identity.pub
の4つのファイルができてた。

サーバに公開鍵を置く

別のPC経由でサーバにid_rsa.pubをアップ。
authorized_keysと同じディレクトリに置いて

# cat id_rsa.pub >> authorized_keys

Ubuntuから接続

コンセプトの壺 - ブログ - IT全般 'gt; Linux上のEclipseから、SubversionにSSHでアクセスする
のマネをして

% ssh-add

その後

% ssh 123.456.789.012

とやってみたけどログインできず

% ssh tarou@123.456.789.012

でログインできた。(ユーザ名:tarou / サーバのIP:123.456.789.012 の場合)

Powered by WordPress | WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Log in