〜Linux 奮闘記 設定は自己責任でやってね♪〜
>>androidのいろいろ
■いろいろまとめ
>>SFTPの設定
■debianでの構築例
>>iptablesの設定
■コマンド例
>>cactiの設定
■debian cacti + net-snmp
>>Solarisの簡単な設定
■rsyncのインストール、環境ファイルの設定
>>Sambaのインストール
■Debian(Sarge)にインストール
>>HDDからデータ救済
■レスキューディスクを使ってデータを助けろ!
>>Javaのインストール
■J2SDK Tomcat + Apacheの連携 OS:Linux Debian
>>メーリングリスト作成
■sendmail + fmlインストールメモ

■fml作成時のconfig.phデフォルトファイル設定
場所:/usr/local/fml/etc/makefml/cf
 例)
 AUTO_HTML_GEN 1
 HTML_DIR アーカイブパス/ml-html/_ML_ (_ML_でML名置換)
 REJECT_POST_HANDLER ignore ※メンバー以外の場合返信しない  
>>ネットワーク経由でDebianのインストール
■インストールメモ
>>ネットワーク監視関係
【HotSaNIC】
■HotSaNICのインストール
【nmap lsof】
■使用しているポートを閉じる方法
【fuser】
■使用しているポートのユーザーを調べる方法
【補足】
■サブネットマスクの一覧
>>Proftp
■pidファイルではまったポイント
■頻繁にログアウトされる問題
 DelayEngine off これをproftpd.confに書く。
>>Power Vault 100T DAT72 Tape Drive
■テープの認識確認方法、コマンド一覧
>>Qmail
■スパム対策
■はまったポイント
 
※tcpserverを起動するときに、-RH -l オプションをつけると、送受信が早くなる。
 -lオプションは、ローカルホストネームを調べるのをやめます。
 -Rオプションは、26秒待つのをやめます。ここらへんに。
※vpopmailの簡単にまとめたエイリアスの設定
 /home/vpopmail/domain/hoge.jpの下に、.qmail-fooと書く。
 全部転送は、.qmailのみ。(vpopmailを使っていない場合は、.qmail-defaultと書く)
※キュー関係
 キューの確認 … /var/qmail/bin/qmail-qstat
 キューの詳細 … /var/qmail/bin/qmail-qread
 キューの再送 … kill - ALRM xxxx (send-mailプロセスにALRMを渡す)
>>Sendmail
■Sendmail.mc設定例
■POP befor SMTP設定例
■Sendmail-8.12.10へバージョンアップ
■SMTP認証(AUTH SMTP)の設定方法(SendMail)
■debianでpostfix + Dovecot + SMTP-Auth(sasl2)
■debianでpostfix + dovecot でバーチャルドメイン対応
※587番ポートを有効にする場合
SMTP認証も有効にしないとNG。
(参考)
http://www.iajapan.org/anti_spam/portal/Operation/Implement/submission_a01.html
http://iamse.blog110.fc2.com/blog-entry-102.html


※最新バージョン(smrsh)で空メールを設定する時の注意点
/etc/smrsh に使用するプログラムのシンボリックを貼って、実行するプログラムを許可する。
例)
# cd /etc/smrsh
# ln -s /usr/company/replyandstore.sh replyandstore.sh
http://moyolab.blog57.fc2.com/blog-entry-48.html


※postfixで空メール
/etc/postfix/main.cfで「default_privs」の値をapacheのユーザと合わせる必要があります。
 
【アカウントが存在しないユーザーを指定アドレスに転送】
/etc/postfix/main.cfの設定で、
luser_relay = hoge@connan.jp
local_recipient_maps =
とします。
luser_relayに転送先のメールアドレス、
local_recipient_mapsはコメントアウトじゃなくて、空を指定。
空メールの設定なんかに使えます。

>>Apache(基本的にRPMでインストールした状態で設定しています。)
■Debian Etch Apache2のSSL設定 補足
■apache1.3.33インストール
■CGIを有効にする設定
■SSIを有効にする設定
■バーチャルの設定
■http://hoge/~xxxといった感じで、ユーザーを「~」で分ける
■Debian apache2.2.3 ServerNameに関するエラー
■awstatsインストールメモ
■MaxClientsの設定
※起動時にSSLのパスワードを入力しない設定
発行したkeyに対して、以下のコマンドを適用。一応元のkeyはバックアップしといたほうが無難。
openssl rsa -in 元key -out 新key
例)openssl rsa -in key.pem -out key.pem


※指定ファイル名をcgiとして実行
<Files ファイル名(qmailadminなど)>
  SetHandler cgi-script
</Files>
>>MySQL
■文字コードの設定
■logrotateのエラー。MySQLの起動・停止ができない時の対策。
●Crontabの設定ファイル
/var/spool/cron/crontabs/
この中に、各ユーザーの設定ファイルが入ってます。
■crontabの設定
>>swap関係
■swap領域のマウント方法
●SSHの設定ファイル
テラタームでSSHログインを試みた時に、
「use plain password to log in」
を選択できない場合は、/etc/ssh/sshd_configの
「PasswordAuthentication no」を、「PasswordAuthentication yes
にするとログインできるようになる。
●フロッピーフォーマット
1. 物理フォーマット # fdformat /dev/fd0h1440
 
●locateとvsftpの設定
locateのデータベースを更新するには、 updatedb を実行する。
vsftpでユーザーが見れる上位階層を設定するには、chroot_local_user=YES。
vsftpでは、デフォルトの設定では、「.」ファイルは表示しない。force_dot_files=YESとすれば良いらしいけど、僕のつかってるvsftpにはこの記述が無く、記述するとftpが起動しなくなったとのコメントもあったので、ffftp(クライアント)の設定で、 NLST -R にチェックをいれるとOK。
・日本時間の合わせ方
use_localtime=YES
 
●Webmin
※rootのパスワードを忘れた場合の対処方法
 Webminの実行ディレクトリ(/usr/local/webmin***) ***はWebminのバージョン
 Webminの設定ディレクトリ(/etc/webmin)
 IDが分からない場合は、 設定ディレクトリ/miniserv.users のファイルを参考に。
 パスワードの変更は、ユーザーをrootとした場合、以下のコマンドを入力します。
 /usr/local/webmin***/changepass.pl /etc/webmin root hoge
 
●mount
・権限を設定してマウント
 mount -r -t ntfs -o iocharset=utf8,uid=99 /dev/sdc1 /media/HD-HU2/ 
※メモ
FATには所有者とかパーミッションという概念がないので、chownやchmodは使えません。
上記のように、mountコマンドや/etc/fstabでオプションを設定することで、ファイルの所有者(uid)、グループ(gid)などを変えることができます。
 
日本語のファイル名やフォルダ名を使うなら codepage や iocharset も設定しておくと良いらしいです。
・VirtualBoxでのfstab設定例
public /media/sf_public vboxsf defaults 0 0
●ハードウェアの情報を調べる
lspci
※参考 http://kmuto.jp/debian/hcl/
●古いカーネルで、USB用外付けHDDを認識させる
外付けHDDをUSBに接続し、dmesgなどで確認後、以下のようなメッセージで止まっている場合は、必要なモジュールが読まれていない場合があります。

 usb.c: USB new device connect, assigned device number 2
 usb.c: USB device 2 (prod/vend 0x4bb/0x113) is not claimed by any active driver.

この場合は、
 /sbin/insmod usb-storage
で、モジュールを読み込みます。そうすると、dmesgに認識されたメッセージが表示され、マウント可能となります。再起動後も適用したい場合は、「モジュール関係」を参照。
●DELLの仕様
・poweredge830 NICはtg3
・Power Edge R300にNICを認識させる
●モジュール関係
insmodで一時的にモジュールが有効になるけど、再起動後にも有効にするには、/etc/modulesに読み込ませたいモジュールを記述する。
●CPAN関係
・リストを一個追加
cpan> o conf urllist push ftp://ftp.cpan.jp/
 
・リストを一個ずつ削除
cpan> o conf urllist pop
 
・設定内容保存
cpan> o conf commit

●Can't ioctl TIOCGETP: invalid argument が出る
apt-get install build-essential で、ccコマンドを入れる。
●PPM関係
ppm gui failed: DBI connect('dbname=C:\DOCUME~1\奥野\LOCALS~1\APPLIC~1/ActiveState/ActivePerl/822/ppm-MSWin32-x86-multi-thread-5_8.db','',...)
failed: unableto open database file(1)
Perl5.8からPPM環境がGUIになったのでユーザーが日本語だと上記エラーがでます。
環境変数 ACTIVEPERL_PPM_HOME を設定する方法で解決します。
SET ACTIVEPERL_PPM_HOME=C:\usr\ppm」で環境変数をセットして、ppmを実行します。
これだと毎回SETしなくちゃいけなくて面倒なので、以下のようなやり方もあるようです。
起動用のbatファイルを書き換えます。
C:\usr\bin\ppm.bat がそれなので、テキストエディタで開いて、3行目に「SET ACTIVEPERL_PPM_HOME=C:\usr\ppm」と追加します。
※CUIでのインストール
ppm-shell で実行すれば従来どおりコマンドで実行できます。
●サイボーズ関係
apache2環境の場合は、以下のエラーが出ることがあります。
「Web Server is not running.After starting Web Server, run the Setup program.」
「Web サーバーが起動していません。Web サーバーを起動後、インストーラを起動して下さい。」
この場合は、cb6setupの「for httpdname in httpd apache httpsd httpd2-prefork 」に、
apache2を追加するとインストーラーが起動します。
●Debian Sarge locale とキーマップとSSH
localeの設定は、/etc/locale.genを編集し、locale-gen を実行する。
さらに、/etc/enviromentも変更。
・キーマップ
jp106キーマップを /etc/console/boottime.kmap.gz にコピーする
cp /usr/share/keymaps/i386/qwerty/jp106.kmap.gz /etc/console/boottime.kmap.gz
そんで適用する。
loadkeys /etc/console/boottime.kmap.gz
・SSH
SSH2(SSH1を無効)だけにするとパスワード入力でうまく接続できる。
etchにバージョンアップした場合、「Permission denied (publickey)」と表示されて接続できないことがあります。その場合は、「/etc/ssh/sshd_config」ファイルを以下のように変更します。
# PasswordAuthentication no

PasswordAuthentication yes
●パッケージ管理の技
「dpkg -l」でパッケージ名が途中できれている場合、環境変数を変更します。
export COLUMNS=150
($HOME/.bash_profileに書いてもOK)
・起動スクリプト削除
# update-rc.d -f exim4 remove

・起動スクリプト有効
# update-rc.d exim4 defaults
# insserv exim4 ※debian6.0以降はこっち
●lastにlogを表示
・vsftpdの場合
 session_support=YES にして、/var/log/wtmp にログを出力
●階層ごとに容量計算
du --max-depth=1 -h
●BINDの設定
再帰クエリ(rootサーバーに問合せ)を必要としない場合はrecursive queryを拒否します。
設定は、named.confのoptionsの中に以下の一文を追加。
allow-recursion { none; };
●namazuの設定
namazuの設定ファイル(mknmzrc、namazurc)を設定しても、検索結果が文字化けする場合は、シェルのデフォルト言語が異なってる可能性があります。(僕の場合は、en_US.UTF-8でした)
eucで出力するような設定の場合、以下コマンドを実行します。
export LANG=ja_JP.ujis
そして、インデックスファイルを作成しなおせばOKです。
ログインするたびに、設定しておくには、.bash_profileに記述しておきましょう。
●aptでパッケージファイル更新時のエラー
「公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY [鍵文字列]」
上記のようなエラーが出る場合は、以下のコマンドで公開キーを有効にします。
 
gpg --keyserver pgp.mit.edu --recv-keys [鍵文字列]」
gpg -armor --export [鍵文字列]」 | apt-key add -
 
pgp.mit.eduは、変わることがあるかもです。
●大量ファイルが削除できない場合
削除ディレクトリに移動し、下記コマンドを実行。
ls | xargs rm
標準出力した内容をrmしてくれます。
■Turbo Linux Server (TLS) 6.5
>>コンパイル
●コンパイル時のエラー

●Perlモジュールの確認
find `perl -e 'print "@INC"'` -name '正規表現もOK.pm' -print
●ログアウトしても処理を実行させ続ける
nohup node app.js > /dev/null 2>&1 &
※jobsに出ないので、止める時はpsで確認後killすること
●一括でプロセスをkill
pkill -9 -f "https"
●プロセスの詳細を確認
/proc/[プロセス番号]/以下に詳細がある
●日付でfind
find ./* -newermt '20190517 17:00'
●ssl証明書無視でwget
wget --no-check-certificate https://connan.jp/