2013年3月22日金曜日

FTP インストール

FTPがないのでionqubeの確認もままならん世の中とは。
なのでVSFTPDをインストールします。



EVERノートから引っ張り出してきます。

sudo apt-get install vsftpd


vsftpの設定


設定が完了するまで、vsftpを停止します。
sudo /etc/init.d/vsftpd stop
Stopping FTP server: vsftpd.


匿名ユーザーでのログインは禁止し、サーバーにアカウントのあるユーザーだけがログインできるようにします。
設定ファイルは以下
/etc/vsftpd.conf

sudo vi /etc/vsftpd.conf


修正する内容匿名ユーザーのログインの禁止
anonymous_enable=YES
      ↓
anonymous_enable=NO



サーバーにアカウントのあるユーザーのログインを許可
#local_enable=YES
      ↓
local_enable=YES



アップロードをするので書き込みを許可する
#write_enable=YES
      ↓
write_enable=YES



書き込み時のパーミッションの設定
#local_umask=022
      ↓
local_umask=022



アスキーモードでのアップロードを許可
#ascii_upload_enable=YES
      ↓
ascii_upload_enable=YES


アスキーモードでのダウンロードを許可
#ascii_download_enable=YES
      ↓
ascii_download_enable=YES



ログインユーザーはchroot環境とする(ホームディレクトリより上の階層はアクセス不可)
#chroot_local_user=YES
      ↓
chroot_local_user=YES


chrootlistの指定
#chroot_list_file=/etc/vsftpd.chroot_list
      ↓
chroot_list_file=/etc/vsftpd.chroot_list

ディレクトリ単位の削除を許可
#ls_recurse_enable=YES
      ↓
ls_recurse_enable=YES

追加する内容
userlistをログイン許可リストとする(記載されていないユーザーはログインできない)
userlist_deny=NO

userlistの指定
userlist_file=/etc/vsftpd.user_list

タイムスタンプをローカル時刻とする
use_localtime=YES

パッシブモードを有効にする
pasv_promiscuous=YES


chroot対象外ユーザーの設定ホームディレクトリより上の階層へのアクセスを許可するユーザーのリストファイルを作成します。
# vi /etc/vsftpd.chroot_list

パーミッションを設定します。
sudo chmod 600 /etc/vsftpd.chroot_list
ログイン可能ユーザーの設定ログインを許可するユーザーを設定します。サーバーにアカウントがあっても、このファイルに記載されていないユーザーはログインができません。
sudo vi /etc/vsftpd.user_list

これもパーミッションを設定します。
sudo chmod 600 /etc/vsftpd.user_list


vsftpの起動FTPサーバーを起動します。クライアントマシンからFTPクライアントソフトやFTPコマンドで、接続ができれば完了です。
# /etc/init.d/vsftpd start

確認の為FTP接続

___
/ノ^,  ^ヽ\
/ (・))  (・)) ヽ
/ ⌒(__人__)⌒::: l  < 成功
⊂ ̄ヽ_|   |r┬-|    |
<_ノ_ \   `ー'´    /
ヽ  ̄V ̄ ̄ ⌒,
/____,、ノ /
/    (__/
(  (   (
ヽ__,\_,ヽ
(_/(_/

vsftpd.chroot_list
vsftpd.user_list

二つのファイルを忘れる可能性があるので、大事なファイルなどは別ファイルに置いておく事にしおようと思う。

mkdir /user_mk_file
上のdirに作成、vsftpd.chroot_list vsftpd.user_list
2つのファイルをmvし、
vim /etc/vsftpd.conf

chroot_list_file=/etc/vsftpd.chroot_list
userlist_file=/etc/vsftpd.user_list

のディレクトリを変更

再起動後動くか実験した結果きちんと動いたのでOK

--------------------------------------------------------------------------
さて、整理
vsftpd.user_list
はFTP接続できるユーザを書き込むファイル。
vsftpd.chroot_list
は、自DIRより上に行けるユーザーを書き込むFILEだと認識しています

http://blog.sugulab.com/?p=1635


chroot は「上層ディレクトリにアクセスする権限」ではなく、「上層ディレクトリにアクセスさせない制限」らしい。


chroot_local_user=YES
と追記した場合、「ローカルユーザーは全員 chroot
#上の階層には行けない設定で
尚且つ、
/etc/vsftpd/chroot_list
に書かれているユーザーだけは上層に行ける設定

例:
--------------------------------------------------
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/●●/vsftpd.chroot_list
--------------------------------------------------
としなければならない。
起動しなかったのは
chroot_list_enable=YESが抜けていたからです。




その前に、vsftpd.user_listからアカウントを消して接続したら入れるですけど・・・?もう一度ネットで検索してみる事にする
http://linuxserver.jp/%E3%82%B5%E3%83%BC%E3%83%90%E6%A7%8B%E7%AF%89/ftp/vsftpd%E3%81%A7%E3%81%AE%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E5%88%B6%E9%99%90.php


vsftpdで特定のユーザーのFTPサーバーへのアクセスを禁止する場合は、設定ファイルの「userlist_enable」ディレクティブを”YES”に設定します。
そもそも
userlist_deny=ではないっぽい
先に
userlist_enableを設定するみたいです。

例:ブラックリスト方式
*----------------------------------------------------------
userlist_enable=YES
userlist_deny=YES
userlist_file=※ユーザーリストファイルを指定
ユーザリストに書かれたユーザはログインが禁止される。
*----------------------------------------------------------


例:ホワイトリスト方式
*----------------------------------------------------------
userlist_enable=YES
userlist_deny=NO
userlist_file=※ユーザーリストファイルを指定
ユーザリストに書かれたユーザだけがログインできる。
*----------------------------------------------------------

主に使うのはホワイト方式だと思います。

早速試してみます。

成功
そして、chmodeの設定に戻ります。


そして /etc/vsftpd.chroot_list のパスを間違っていた為
♯500could not read chroot()のエラーを出してしまったが、解決し終了
検索で出てきたサイト
http://network.station.ez-net.jp/server/ftp/vsftpd/chroot.asp


お疲れ様でした。




ionCube

ionCubeのインストール



http://temog.info/archives/vps/serversmanvps-php-5-3-3-%E3%81%A7-blueonyx-%E3%82%92%E4%BD%BF%E3%81%86.html





ずっと探してたものを発見

前回ヒストリーを作ったと思ったんだけど失念してました。

ionCubeとは

PHPプログラム)を暗号化するセキュリティソフトです。

ソフトを利用して暗号化されています。プログラムを実行するためには、ionCubeローダーというプログラムが必要になります。

だってさ。

Accelerator(実行速度アップ) と

Encoder(ソース暗号化)の2種類がある





今回入れたいのは正にローダーです。

Acceleratorってすげーな



手順を追って、、、

webから持ってくるのか・・・

まだFTP入れてないんだよね。。。

なのでここはwgetしてみよう。



wgetの使いかたは別の記事で書きますね。

とりあえずなんかあるかわからんので

$ su root -
パスワード:
wget すると普通にhtmlを拾ってくるぞ・・・
だめか・・・

---------------------------------------------------------------------------
http://www.asial.co.jp/ioncube/encoder/install_loaders.php

http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?Ubuntu%2FServer%2FWeb%2FGroupOffice

$ wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
$ tar zxvf ioncube_loaders_lin_x86-64.tar.gz
$ sudo mv ioncube /usr/local/
さっくり解凍

PHP5 に IonCube Loader の場所を指定する。
 php -vでバージョンを調べる
PHP 5.3.3-7
 http://www.asial.co.jp/ioncube/encoder/install_loaders.php
これを参考に php.iniの場所を調べる

->/etc/php5/apache2/php.ini
ここに↓を追加 
zend_extension=/usr/local/ioncube/ioncube_loader_lin_<●phpのバージョン●>.so




apacheを再起動して完了っすね。

ionCube

ionCubeのインストール



http://temog.info/archives/vps/serversmanvps-php-5-3-3-%E3%81%A7-blueonyx-%E3%82%92%E4%BD%BF%E3%81%86.html





ずっと探してたものを発見

前回ヒストリーを作ったと思ったんだけど失念してました。

ionCubeとは

PHPプログラム)を暗号化するセキュリティソフトです。

ソフトを利用して暗号化されています。プログラムを実行するためには、ionCubeローダーというプログラムが必要になります。

だってさ。

Accelerator(実行速度アップ) と

Encoder(ソース暗号化)の2種類がある





今回入れたいのは正にローダーです。

Acceleratorってすげーな



手順を追って、、、

webから持ってくるのか・・・

まだFTP入れてないんだよね。。。

なのでここはwgetしてみよう。



wgetの使いかたは別の記事で書きますね。

とりあえずなんかあるかわからんので

$ su root -
パスワード:
wget すると普通にhtmlを拾ってくるぞ・・・
だめか・・・

---------------------------------------------------------------------------
http://www.asial.co.jp/ioncube/encoder/install_loaders.php

http://mizupc8.bio.mie-u.ac.jp/pukiwiki/index.php?Ubuntu%2FServer%2FWeb%2FGroupOffice

$ wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
$ tar zxvf ioncube_loaders_lin_x86-64.tar.gz
$ sudo mv ioncube /usr/local/
さっくり解凍

PHP5 に IonCube Loader の場所を指定する。
 php -vでバージョンを調べる
PHP 5.3.3-7
 http://www.asial.co.jp/ioncube/encoder/install_loaders.php
これを参考に php.iniの場所を調べる

->/etc/php5/apache2/php.ini
ここに↓を追加 
zend_extension=/usr/local/ioncube/ioncube_loader_lin_<●phpのバージョン●>.so




apacheを再起動して完了っすね。

2013年3月21日木曜日

php mysql

http://greenleaf.sakuraweb.com/index.php?PHP5%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%20-Debian-


今回の参考
http://nantokaworks.com/?p=756

sudo apt-get install php5
基本ライブラリが入ったのかな?


取得:1 http://ftp.jp.debian.org/debian/ squeeze/main libonig2 i386 5.9.1-1 [134 kB]
取得:2 http://ftp.jp.debian.org/debian/ squeeze/main libqdbm14 i386 1.8.77-4 [147 kB]
取得:3 http://ftp.jp.debian.org/debian/ squeeze/main php5-suhosin i386 0.9.32.1-1 [80.8 kB]
取得:4 http://security.debian.org/ squeeze/updates/main apache2-mpm-prefork i386 2.2.16-6+squeeze11 [2,292 B]
取得:5 http://security.debian.org/ squeeze/updates/main php5-common i386 5.3.3-7+squeeze15 [548 kB]
取得:6 http://security.debian.org/ squeeze/updates/main libapache2-mod-php5 i386 5.3.3-7+squeeze15 [2,890 kB]
取得:7 http://security.debian.org/ squeeze/updates/main php5 all 5.3.3-7+squeeze15 [1,058 B]
取得:8 http://security.debian.org/ squeeze/updates/main php5-cli i386 5.3.3-7+squeeze15 [2,859 kB]
6,663 kB を 23秒 で取得しました (287 kB/s)                                    
dpkg: apache2-mpm-worker: 依存関係に問題があります。しかし要求に従い削除しています:
 apache2 は以下に依存 (depends) します: apache2-mpm-worker (= 2.2.16-6+squeeze11) | apache2-mpm-prefork (= 2.2.16-6+squeeze11) | apache2-mpm-event (= 2.2.16-6+squeeze11) | apache2-mpm-itk (= 2.2.16-6+squeeze11) ...しかし:
  パッケージ apache2-mpm-worker は削除されようとしています。
  パッケージ apache2-mpm-prefork はまだインストールされていません。
  パッケージ apache2-mpm-event はまだインストールされていません。
  パッケージ apache2-mpm-itk はまだインストールされていません。
(データベースを読み込んでいます ... 現在 29491 個のファイルとディレクトリがインストールされています。)
apache2-mpm-worker を削除しています ...
Stopping web server: apache2[Thu Mar 21  2013] [warn] NameVirtualHost ***.***.***.***:ポート番号 has no VirtualHosts
[Thu Mar 21  2013] [warn] NameVirtualHost ***.***.***.***:ポート番号 has no VirtualHosts
[Thu Mar 21  2013] [warn] NameVirtualHost *:ポート番号 has no VirtualHosts
 ... waiting .
未選択パッケージ apache2-mpm-prefork を選択しています。
(データベースを読み込んでいます ... 現在 29486 個のファイルとディレクトリがインストールされています。)
(.../apache2-mpm-prefork_2.2.16-6+squeeze11_i386.deb から) apache2-mpm-prefork を展開しています...
apache2-mpm-prefork (2.2.16-6+squeeze11) を設定しています ...
Starting web server: apache2[Thu Mar 21  2013] [warn] NameVirtualHost ***.***.***.***:ポート番号 has no VirtualHosts
[Thu Mar 21  2013] [warn] NameVirtualHost ***.***.***.***:ポート番号 has no VirtualHosts
[Thu Mar 21  2013] [warn] NameVirtualHost *:ポート番号 has no VirtualHosts
.
未選択パッケージ libonig2 を選択しています。
(データベースを読み込んでいます ... 現在 29491 個のファイルとディレクトリがインストールされています。)
(.../libonig2_5.9.1-1_i386.deb から) libonig2 を展開しています...
未選択パッケージ libqdbm14 を選択しています。
(.../libqdbm14_1.8.77-4_i386.deb から) libqdbm14 を展開しています...
未選択パッケージ php5-common を選択しています。
(.../php5-common_5.3.3-7+squeeze15_i386.deb から) php5-common を展開しています...
未選択パッケージ libapache2-mod-php5 を選択しています。
(.../libapache2-mod-php5_5.3.3-7+squeeze15_i386.deb から) libapache2-mod-php5 を展開しています...
未選択パッケージ php5 を選択しています。
(.../php5_5.3.3-7+squeeze15_all.deb から) php5 を展開しています...
未選択パッケージ php5-cli を選択しています。
(.../php5-cli_5.3.3-7+squeeze15_i386.deb から) php5-cli を展開しています...
未選択パッケージ php5-suhosin を選択しています。
(.../php5-suhosin_0.9.32.1-1_i386.deb から) php5-suhosin を展開しています...
man-db のトリガを処理しています ...
libonig2 (5.9.1-1) を設定しています ...
libqdbm14 (1.8.77-4) を設定しています ...
php5-common (5.3.3-7+squeeze15) を設定しています ...
libapache2-mod-php5 (5.3.3-7+squeeze15) を設定しています ...

Creating config file /etc/php5/apache2/php.ini with new version
Reloading web server config: apache2[Thu Mar 21  2013] [warn] NameVirtualHost ***.***.***.***:ポート番号 has no VirtualHosts
[Thu Mar 21  2013] [warn] NameVirtualHost ***.***.***.***:ポート番号 has no VirtualHosts
[Thu Mar 21  2013] [warn] NameVirtualHost *:ポート番号 has no VirtualHosts
.
php5 (5.3.3-7+squeeze15) を設定しています ...
php5-cli (5.3.3-7+squeeze15) を設定しています ...

Creating config file /etc/php5/cli/php.ini with new version
update-alternatives: /usr/bin/php (php) を提供するために 自動モード で /usr/bin/php5 を使います。
php5-suhosin (0.9.32.1-1) を設定しています ...
*---------------------------------------------------------------------


■apacheを再起動
sudo /etc/init.d/apache2 restart

再起動したら確認
sudo vim /var/www/test_jp/index.php

確認したらファイルは削除しておく。
*---------------------------------------------------------------------


MYSQLのインストール
sudo apt-get install mysql-server

Restarting web server: apache2
[Thu Mar 21 2013] [warn] NameVirtualHost ***.***.***.***:ポート番号 has no VirtualHosts
[Thu Mar 21 2013] [warn] NameVirtualHost ***.***.***.***:ポート番号 has no VirtualHosts
[Thu Mar 21 2013] [warn] NameVirtualHost *:ポート番号 has no VirtualHosts
 ... waiting [Thu Mar 21 2013] [warn] NameVirtualHost ***.***.***.***:ポート番号 has no VirtualHosts
[Thu Mar 21 2013] [warn] NameVirtualHost ***.***.***.***:ポート番号 has no Virtual(.../libnet-daemon-perl_0.43-1_all.deb から) libnet-daemon-perl を展開しています...
未選択パッケージ libplrpc-perl を選択しています。
(.../libplrpc-perl_0.2020-2_all.deb から) libplrpc-perl を展開しています...
未選択パッケージ libdbi-perl を選択しています。
(.../libdbi-perl_1.612-1_i386.deb から) libdbi-perl を展開しています...
未選択パッケージ libmysqlclient16 を選択しています。
(.../libmysqlclient16_5.1.66-0+squeeze1_i386.deb から) libmysqlclient16 を展開しています...
未選択パッケージ libdbd-mysql-perl を選択しています。
(.../libdbd-mysql-perl_4.016-1_i386.deb から) libdbd-mysql-perl を展開しています...
未選択パッケージ mysql-client-5.1 を選択しています。
(.../mysql-client-5.1_5.1.66-0+squeeze1_i386.deb から) mysql-client-5.1 を展開しています...
未選択パッケージ mysql-server-core-5.1 を選択しています。
(.../mysql-server-core-5.1_5.1.66-0+squeeze1_i386.deb から) mysql-server-core-5.1 を展開しています...
man-db のトリガを処理しています ...
mysql-common (5.1.66-0+squeeze1) を設定しています ...
未選択パッケージ mysql-server-5.1 を選択しています。
(データベースを読み込んでいます ... 現在 29941 個のファイルとディレクトリがインストールされています。)
(.../mysql-server-5.1_5.1.66-0+squeeze1_i386.deb から) mysql-server-5.1 を展開しています...
未選択パッケージ libhtml-template-perl を選択しています。
(.../libhtml-template-perl_2.9-2_all.deb から) libhtml-template-perl を展開しています...
未選択パッケージ mysql-server を選択しています。
(.../mysql-server_5.1.66-0+squeeze1_all.deb から) mysql-server を展開しています...
man-db のトリガを処理しています ...
libnet-daemon-perl (0.43-1) を設定しています ...
libplrpc-perl (0.2020-2) を設定しています ...
libdbi-perl (1.612-1) を設定しています ...
libmysqlclient16 (5.1.66-0+squeeze1) を設定しています ...
libdbd-mysql-perl (4.016-1) を設定しています ...
mysql-client-5.1 (5.1.66-0+squeeze1) を設定しています ...
mysql-server-core-5.1 (5.1.66-0+squeeze1) を設定しています ...
mysql-server-5.1 (5.1.66-0+squeeze1) を設定しています ...
Stopping MySQL database server: mysqld.
130321 [Note] Plugin 'FEDERATED' is disabled.
130321  InnoDB: Initializing buffer pool, size = 8.0M
130321  InnoDB: Completed initialization of buffer pool
130321  InnoDB: Started; log sequence number 0 44233
130321  InnoDB: Starting shutdown...
130321 14:45:43  InnoDB: Shutdown completed; log sequence number 0 44233
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..
libhtml-template-perl (2.9-2) を設定しています ...
mysql-server (5.1.66-0+squeeze1) を設定しています ...
*-------------------------------------------------------------


MYSQL再起動
/etc/init.d/mysql restart
apacheの再起動
/etc/init.d/apache2 restart

特に設定することがないまま終了。
いずれ必要になるのかな?

2013年3月20日水曜日

apache2 その3

 _| ̄|_    //ヽ\
 |      '|/ / ノ  "´ ̄ ̄''''‐-...ノヽ
 |__|'' ̄!  !    /            丶 |
   ,‐´ .ノ''   /  ,ィ             \
   ヽ-''"   7_//         _/^ 、 `、
┌───┐  /          / 、_(o)_,;j ヽ|
|┌─,  .|  /.           -   =-{_(o)
└┘ ノ ノ   |/        ,r' / ̄''''‐-..,>
   //   {         i' i    _   `ヽ
          ̄フ       i' l  r' ,..二''ァ ,ノ
   n      / 彡       l  /''"´ 〈/ /
   ll     _ > .  彡    ;: |  !    i {
   l|       \ l 彡l     ;. l |     | !
   |l      トー-.   !.    ; |. | ,. -、,...、| :l
   ll     |彡     l    ; l i   i  | l
   ll     iヾ 彡     l   ;: l |  { j {
   |l     { 彡|.      ゝ  ;:i' `''''ー‐-' }
. n. n. n  l 彡   ::.   \ ヽ、__     ノ
  |!  |!  |!   l彡|    ::.     `ー-`ニ''ブ
  o  o  o   l      :.         |


上手くいかない・・・
2個とも同じものを見てしまう・・・

NameVirtualHost ●.●.●:80
<VirtualHost *:80>
ServerAdmin info@test.jp
ServerName test.jp
DocumentRoot /var/www/tests

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/tests/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>



NameVirtualHost ●.●.●.●:81

ServerAdmin info@hogehoge.co.jp
ServerName hogehoge.co.jp
DocumentRoot /var/www/hogehoge

Options FollowSymLinks
AllowOverride None

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all


ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

何が問題なんだろう。。。
http://pokotsun.mydns.jp/?p=770

新しい記事を読み込む
一旦hogehoge.o.jpの方を解除
test.jpを残し、編集


結果、自分の頭がどうかしてた。


そもそもの考え方がイカンかった。


NameVirtualHost 27.96.63.134:80
<VirtualHost *:80>
ServerAdmin info@hogehoge.co.jp
ServerName hogehoge.co.jp
DocumentRoot /var/www/hogehoge_co
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/hogehoge_co/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
/span>
ErrorLog ${APACHE_LOG_DIR}/hogehoge_co_error.log
/span>
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
/span>
CustomLog ${APACHE_LOG_DIR}/hogehoge_co_access.log combined
</VirtualHost>

<VirtualHost *:80>
ServerAdmin info@test.co.jp
ServerName test.co.jp
DocumentRoot /var/www/test_co

<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/test_co/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/test_co_error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/test_co_net_access.log combined
</VirtualHost>


今回書いたのがこれ
今まで、NAMEベースって言うのはポートでどのサイトかを判別していると思ってたけど <VirtualHost *:80>


<VirtualHost *:81>

どうも違うのね
振り分けてるのはServerName hogehoge.co.jp
これだと判断する。
今度はここを双方のドメインにしつつポートを揃えて、なおかつ設定ファイル。この場合は/sites-available/test.jpファイル1枚で作成してみた。
結果、

                      /
                    /
                       ` ー
                       _,.>
                      r "
     うごいた!        \    _
                         _ r-''ニl::::/,ニ二 ーー-- __
                     .,/: :// o l !/ /o l.}: : : : : : :`:ヽ 、
                   /:,.-ーl { ゙-"ノノl l. ゙ ‐゙ノノ,,,_: : : : : : : : : :ヽ、
               __l>ゝ、,,ヽ /;;;;;;;;;;リ゙‐'ー=" _゛ =、: : : : : : : :ヽ、
              /  _________`゙ `'-- ヾ_____--⌒     `-: : : : : : : :
...-''"│    ∧  .ヽ.  ________   /   ____ ---‐‐‐ーー    \: : : : :
    !   /   .ヽ  ゙,ゝ、      /  ________rー''" ̄''ー、    `、: : :
    .l./     V   `'''ー-、__/__r-‐''"゛     ̄ ̄   \   ゙l: : :
                   l     .,.. -、、 _ ‐''''''''-、    l   !: :
                  |   /    .| .!     `'、  |   l: :
                      l   |     .l,,ノ     |  !   !: :
                       / '゙‐'''''ヽ、 .,,,.. -''''''''^^'''-、/  l   !: :
             r―- ..__l___    `´            l   /   /: :
                \      `゙^''''''―- ..______/_/   /: : :
                `


チクショウ、チクショウorz


------------------------------------------------------------------------------
続き

1枚の設定ふぁいるで動いたので

今度は再び2枚に戻す

ファイルを作り sudo a2ensite hogehoe
で設定ファイルのシンボリックを貼る。

sudo /etc/init.d/apache2 restart
でアパッチを再起動

問題なく分けられてる!!!!



以上で設定を完了します。


いずれNAMEベースのデメリットとかも勉強していこうと思う。

http://uturo1.nevernothing.jp/apache2namebase/


2013年3月19日火曜日

apache2 その2

前回の記事を元に
sites-available
sites-enabled
を編集していけば良い事が分かった。

なので~
今回はバーチャルホストの設定に進んでみることにする。

今回参考にするサイト一覧

http://d.hatena.ne.jp/UDONCHAN/20101027/1288155504
http://linuxer.seesaa.net/article/41624641.html

http://sj6.org/apache2%E3%81%AE%E7%90%86%E8%A7%A3%E3%82%92%E6%B7%B1%E3%82%81%E3%82%8B/

http://www.infra.jp/debian/apache2_ab.html
http://hishou.ddo.jp/modules/pico/index.php?content_id=19



まずはsites-available
サイト定義ファイルが置かれるディレクトリに置かれているdefaultをバックアップ
sudo cp default default_2013_03_18
その後編集するファイルをコピー
sudo cp default domain_s
以降domain_sを変更していく事にする。
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
以下説明
NameVirtualHost
ネームベースのバーチャルホスト (一つの IP アドレスに複数のウェブサイト)を設定したいときに必要となるもの
そんなときはIPを指定するのですが、現在は*でOK。
つまり、192.168.100.999:80 みたいにして書くのかしら。

<virtualhost>~</virtualhost>
特定のバーチャルホストに対してのみ適用されるディレクティブ群を括るためのもの
バーチャルホストを設定する場合は*の部分にIPアドレスを入力しますが、
こちらも*でOK。
他にこの階層に記述してあるものを見てみます。

---------------------------------------------------------------------------------
以下サイトに記載されていたもの
ServerAdmin webmaster@localhost
    -->管理者のメールアドレスです。
DocumentRoot /var/www/
    -->ドキュメントルートの場所です。
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
-->対象ディレクトリに mod_cgi の cgi-script ハンドラで処理される CGI スクリプトがある場合、ドキュメントを ローカルファイルシステムの DocumentRoot 以外の場所に保管することができます。
この場合は、/cgi-bin/ ディレクトリから処理対象CGIが呼び出された場合、/usr/local/cgi_bin ディレクトリにあるファイルが呼び出されます。

うん、意味不明・・・

ErrorLog /var/log/apache2/error.log
    -->サーバがエラーログを収集する場所を指定しています。
LogLevel warn
-->ログに記録するメッセージのレベルを設定します。

emerg,alert,crit,error,warn,notice,info,debugの8種で、運用時はnotice,warn、テスト時はinfo,debugを指定することが多い。
CustomLog /var/log/apache2/access.log combined
-->サーバへのリクエストログを収集する場所を指定します。

2番目の引数はログの書式で、よく使われるものは以下のとおり。

Common Log Format (CLF)
    "%h %l %u %t \"%r\" %>s %b"
バーチャルホスト付き Common Log Format
    "%v %h %l %u %t \"%r\" %>s %b"
NCSA extended/combined ログ書式
    "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\""
Referer ログ書式
    "%{Referer}i -> %U"
Agent (ブラウザ) ログ書式
    "%{User-agent}i"

ServerSignature On
-->サーバが生成するドキュメントに付与するフッタの設定で、on|Off|Emailがあり、
OnにするとServerNameに書かれた行を追加し、EmailはさらにServerAdminを追加します。
Alias /doc/ "/usr/share/doc/"
-->ドキュメントを ローカルファイルシステムの DocumentRoot 以外の場所に保管することができます。
この場合は、/doc/ ディレクトリからファイルが呼び出された場合、/usr/share/doc/ ディレクトリにあるファイルが呼び出されます。

あとは、ServerNameを追加します。
ServerName
-->サーバが自分自身を示すホスト名とポートです。例えば、www.example.com:80のように設定します。

ServerAdmin webmaster@localhost
DocumentRoot /var/www

Options FollowSymLinks
    #FollowSymlinks:ディレクトリ内でシンボリックリンクをたどれるようなる

AllowOverride None
    #.htaccess で許可されるディレクティブの種類を設定します。以下のキーワードから設定します。
        ALL:.htaccessの全てのディレクティブを許可
        None:.htaccessが無効
        AuthConfig:認証に関するディレクティブの使用を許可
        FileInfo:ドキュメントタイプを制御するためのディレクティブの使用を許可
        Indexes:ディレクトリインデックスを制御するためのディレクティブの使用を許可
        Limit:ホストへのアクセス制御を行うためのディレクティブの使用を許可
        Options:特定のディレクトリにおける機能を指定するためのディレクティブの使用を許可
 




Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
    #サーバのある領域にアクセスできるホストを制御します。
        設定できる値は、ドメイン(とその一部)やIPアドレス
        (とその一部)、ネットワーク/ネットマスク の対、ネットワーク/nnn CIDR 指定が設定できます。
        例> Allow from 10.1.2.3

#Deny
#Allowと同様の形式でアクセスを拒否するホストを制御します。


       


        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
       
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny

    #デフォルトのアクセス可能な状態と、Allow と Deny が評価される順番を制御します。
    #Deny,Allow:Denyが Allowの前に評価。アクセスはデフォルトで許可。
    #Allow,Deny:AllowがDenyの前に評価。アクセスはデフォルトで拒否。
    #Mutual-failure:Allow,Denyと同様で、非推奨設定。



Allow from all
       


        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined




混乱してきた。
とりあえず設定を反映させてみよう 
----------------------------------------------------------------

はい、だめー。。。

後半へ続く

2013年3月18日月曜日

apache2

apache2インストール

sudo apt-get install apache2

Apache2の設定ファイルとしては、/etc/apache2/apache2.confが元の設定ファイルとなります。この設定ファイル内の中で、以下の記述がありました。
Debianのapache2は独自ルール
設定ファイルは
/etc/apache2/apache2.conf
基本設定
/etc/apache2/ports.conf
ポート設定
使用するポートをこのファイルに設定します。一般的な80番とか443番とかを設定します。
/etc/apache2/mods-available/
モジュールファイルが置かれるディレクトリ
このディレクトリには、モジュール設定ファイルが置かれています。モジュール定義ファイルは、2種類(xxxx.load、xxxxx.conf)が存在します。 loadファイルは、モジュールの取り込みの設定が、confファイルには、モジュールの設定について書かれています。設定を反映させるために は、「a2enmod ファイル名(拡張子は付けない)」実行する必要があります。また、設定を取り消すには、「a2dismod ファイル名(拡張子は付けない)」を実行します。
/etc/apache2/mods-enabled/
使用するモジュールへのリンクファイルが置かれるディレクトリ
このディレクトリ内には、ファイルは存在しません。「/etc/apache2/mods-available/」内のモジュール定義ファイルのシンボ リックリンクが存在するだけです。このディレクトリにシンボリックリンクがあるモジュールのみ有効となります。前述の「a2enmod」 「a2dismod」の実行でシンボリックリンクの作成や削除が実行されます。
/etc/apache2/conf.d/」内のファイル
このディレクトリ内のファイルについては、置かれたファイルの内容が設定に追加されます。
使用目的としては、Debianのパッケージが使用しているようです。
apache-docなどのパッケージをインストールすると、それらに対応したApacheの設定ファイルが置かれるようです。
/etc/apache2/sites-available/
サイト定義ファイルが置かれるディレクトリ
サイト定義ファイルの保存場所です。サイト定義ファイルとは、NameベースやIPベースのバーチャルホストの使用を前提としたサイトごとの定義ファイルです。 このディレクトリにファイルを置くだけでは、設定は、変わりません。設定を反映するには、「a2ensite ファイル名」を実行する必要があります。また、設定を取り消すには、「a2dissite ファイル名」を実行します。
/etc/apache2/sites-enabled/
使用するサイト定義ファイルへのリンクファイルが置かれるディレクトリ
 このディレクトリ内には、ファイルは存在しません。「/etc/apache2/sites-available/」内のサイト定義ファイルのシンボリッ クリンクが存在するだけです。このディレクトリにシンボリックリンクがあるサイトのみ有効となります。前述の「a2ensite」「a2dissite」 の実行でシンボリックリンクの作成や削除が実行されます。

■参考
http://www.uetyi.mydns.jp/wordpress/apache-setting/entry-146.html


<<参考>>
http://server.riopi.net/apache-1.html


/etc/apache2/apache2.conf
User www-data
Group www-data

設定を確認し,必要であれば独自のユーザ名・グループ名に変更します.
ただし,たとえ変更するにしても,rootやログインユーザのアカウントに設定することは避けるべき
万が一,悪意ある攻撃等によりサーバへ侵入された場合,システム全体を乗っ取られる可能性も考えられるため
ここは怖いので確認だけして放置

■ざっくり説明

availableとかenabledって?
sites-availableの方に設定自体を書き込む
有効化したいものだけsites-enabledの方にシンボリックリンクする。
設定ファイルと、その設定の有効無効を分離している。
つまりsites-enabledのシンボリックをはずすと設定ファイルは残るけど、機能が効かなくなる。
という、便利だけど微妙に使いどころに困る設定。
慣れるとこっちの方が良いのかもしらん。

2013年3月14日木曜日

iptables2

http://blog.infinity-es.com/%E3%81%95%E3%81%8F%E3%82%89%E3%81%AEvps%E3%81%AB%E3%82%88%E3%82%8B%E3%80%80%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E5%85%A5%E9%96%807-iptables%E8%A8%AD%E5%AE%9A%E3%80%80/


↑そもそもiptableとはなんぞやってことから




http://www.turbolinux.co.jp/products/server/11s/user_guide/iptablesboot.html
今回の参考

iptablesってのは再起動すると消える
それを保存?する為に今回の作業が必要らしい。

それとこれ
http://d.hatena.ne.jp/mercysluck/20120211/p1
http://d.hatena.ne.jp/mercysluck/20121212


どうすればいいんだ( ̄Д ̄;)

とりあえず
/etc/iptables/rules.v4
/etc/iptables/rules.v6
を採用
と思ったらファイルが無いって言う
これはブログの人が作ったやつ?だと思うので



http://jitsu102.hatenablog.com/entry/2012/04/29/062417

こっちを採用

chkconfig iptables on
こっちを打ってもコマンドは見つかりませんって言われるので・・・



とりあえずiptables-persistentをインストール
aptitude install iptables-persistent

まずバックアップ
sudo cp rules rules_bk
■ルールの設定ファイルを作成
sudo vi /etc/iptables/iptables.rules

前回適用した設定を流し込み
sudo iptables-save > /etc/iptables/rules

そして戻してみる

# iptables-restore < /etc/iptables/iptables.rules

ファイル名が違うので正しくは

# iptables-restore < /etc/iptables/rules
確認として
iptables -L





一度リセットしてみる
iptables -F

すると
iptables -L
===============================================================
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  
===============================================================

そしてもう一度
iptables-restore < /etc/iptables/rules

iptables -L
===============================================================
Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:www
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:pop3
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:pop3
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:smtp
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:smtp

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ftp-data
ACCEPT     udp  --  anywhere             anywhere            state NEW udp dpt:20
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ftp
ACCEPT     udp  --  anywhere             anywhere            state NEW udp dpt:fsp

===============================================================
ちゃんと入ってる。
バラスィー

ルールを/etc/iptables/rulesに反映させて、iptables-persistentを起動します。

# iptables-save > /etc/iptables/rules←さっきと同じことを・・・
# /etc/init.d/iptables-persistent start

iptables-persistentは起動時に/etc/iptables/rulesを適用してくれるらしい。
スバラスィー


http://jitsu102.hatenablog.com/entry/2012/04/29/062417
今回の参考

iptables

<<参考>>
http://homeserver.seesaa.net/article/5049375.html


外からターミナルをつなぐ為に後日設定しよう
http://yakinikunotare.boo.jp/orebase/index.php?Linux%2F%A5%D5%A5%A1%A5%A4%A5%A2%A1%BC%A5%A6%A5%A9%A1%BC%A5%EB%A4%CE%C0%DF%C4%EA


結果
#■設定確認

sudo iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source      destination

Chain FORWARD (policy ACCEPT)
target     prot opt source      destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source      destination

-------------------------------------------------------------------
説明
Chain INPUT (Policy ACCEPT)
target  prot opt source     destination
Chain FORWARD (Policy ACCEPT)
target  prot opt source     destination
Chain OUTPUT (Policy ACCEPT)
target  prot opt source     destination

・Chain INPUT:入ってくるパケットの設定
・Chain FORWARD:転送するパケットの設定
・Chain OUTPUT:出ていくパケットの設定
Policy ACCEPT となっておりデフォルトでは全て許可されています。


-------------------------------------------------------------------
まったく同じ(゚◇゚;)mgd?
何も設定してないから当たり前だよね。。。






sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
sudo iptables -A INPUT -p tcp --sport 20 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A INPUT -p tcp --sport 21 -j ACCEPT
#■↓追加した結果

========================================================================
Chain INPUT (policy ACCEPT)
target     prot opt source               destination       
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  
========================================================================


#■WEB(80ポート) /WEBサーバーへの通過を許可
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --sport 80 -j ACCEPT
↓追加した結果
========================================================================
Chain INPUT (policy ACCEPT)
target     prot opt source               destination       
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:www

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
========================================================================

POP(110ポート) /受信メールの許可
sudo iptables -A INPUT -p tcp --dport 110 -j ACCEPT
sudo iptables -A INPUT -p tcp --sport 110 -j ACCEPT
↓■追加した結果
========================================================================
Chain INPUT (policy ACCEPT)
target     prot opt source               destination       
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:www
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:pop3
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:pop3
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
========================================================================


SMTP(25ポート) /送信メールの許可
sudo iptables -A INPUT -p tcp --dport 25 -j ACCEPT
sudo iptables -A INPUT -p tcp --sport 25 -j ACCEPT



Chain INPUT (policy ACCEPT)
target     prot opt source               destination       
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp-data
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:www
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:www
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:pop3
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:pop3
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:smtp
ACCEPT     tcp  --  anywhere             anywhere            tcp spt:smtp

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination       

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination      




■FTP用
sudo iptables -A OUTPUT -p tcp -m state --state NEW --dport 20 -j ACCEPT
sudo iptables -A OUTPUT -p udp -m state --state NEW --dport 20 -j ACCEPT
sudo iptables -A OUTPUT -p tcp -m state --state NEW --dport 21 -j ACCEPT
sudo iptables -A OUTPUT -p udp -m state --state NEW --dport 21 -j ACCEPT


■結果
-L は一覧で, -nはIPアドレスから,DNSで逆引きしない設定。なくても良いがあれば表示が速くなる
sudo iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination       
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:20
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:20
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:21
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:21
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:20
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:21
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:21
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:80
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:110
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:110
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:25
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:25

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination       

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination       
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:20
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:20
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:21
ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           state NEW udp dpt:21


この状態だと最初全開放してるっぽいので意味が無いんじゃないかとか思ってみる。。。( ゚д゚)ポカーン

"-A"はappendの略で追加のoptionコマンドです。設定したルールを削除する場合は"-A"の部分を"-D"(delete)にします。



■追記
http://murayama.hatenablog.com/entry/20100206/1265444193

iptablesの初期化

iptables --flushコマンドを実行します。

[root@localhost ~]# iptables --flush

iptables --listの実行結果から設定情報が初期化されたのがわかります。



http://sato-si.at.webry.info/200703/article_2.html
ルールのクリアー
iptables -F

接続があったとき,全て受け付ける
iptables -P INPUT ACCEPT

ルーター用のものなので,受け付けない
iptables -P FORWARD DROP

こちらから,他のサーバへの接続をするのは,全て受け付ける
iptables -P OUTPUT ACCEPT

無効なときの設定を保存
/etc/init.d/iptables save inactive
■結果
/etc/init.d/iptables: そのようなファイルやディレクトリはありません
効かない・・・だと?


続く

ssh

<<参考>>



# vi /etc/ssh/sshd_config

以下の点を追加・編集して行きます。

# RSA秘密鍵 identityを必須にする( no で“必須”を指定 )
PasswordAuthentication no
↑ここは書き換えない



# rootでのログインを禁止する
PermitRootLogin no

# パスワード無しのログインを許すか
PermitEmptyPasswords no

# .rhosts等を信用するか(RSA認証付き)
RhostsRSAAuthentication no

# ユーザhogeのみ接続許可をする(不特定多数に接続させない為)
AllowUsers hoge
↑後日追加


 (1):"PermitRootLogin yes"

 この意味は「rootでログインを許可する」ということです。これはおすすめできません。なぜならパスワード(パスフレーズ)さえ分かれば簡単にログインできてしまうためです。rootユーザはどのLinuxにもあります。それゆえ、rootユーザでログインはやめておきましょう。

 
 (2):"PasswordAuthentication yes"

 この意味は「パスワード認証にする」ということです。これは場合によりますが、一般的にはパスワード認証より鍵を用いたRSA認証のほうが安全です。RSA認証については後ほど説明します。

 
 (3):"PermitEmptyPasswords yes"

 この意味は「空(何もない)パスワードを許可する」ということです。これは最悪。rootユーザで簡単にログインされるどころか、一般ユーザでもログインされる可能性が出てきます。これは必ず"no"にしておきましょう。

 
 (4):"AllowUsers root"

 これもやはりrootユーザでログインを許可する記述です。このようにsshd_configファイルではログインを許可したいユーザをAllowUsersを用いて記述するわけですが、ここにわざわざ"AllowUsers root"と記述するのは自爆行為そのもの。特別な理由がない限りやめておきましょう。




以上が設定出来たら SSH の再起動を行います。

sudo /etc/init.d/ssh restart
sshdを停止中:                                              [  OK  ]
sshdを起動中:                                              [  OK  ]

debian

debianがあぼんしたので再インストールのメモ


やらかしました。
ターミナル開くとずーっと
y
y
y
y
y
y
y
y
y
y
y
y
y
y
リスタートしても
y
y
y
y
y
y
y
y
y


よくわからんので再インストール

CDぶち込み再インストールをかけました。

sshはデフォルトでインストール
それ以外は何もしてません。



#■ソフトウェア(パッケージ)一覧情報の更新をする。ソフトウェアの一覧情報の更新だけあって、ソフトウェアそのものの更新はしない。
aptitude update


#■このコマンドはなるべく多くのパッケージを更新します。依存関係に問題がある場合は、(例えばそれらを削除したりはせずに) パッケージの更新を行いません。
aptitude upgrade

#■ユーザー作成
adduser hogehoge(ユーザー名)

#■作成したuserのpasswdを決める。決める?入力する?決定する?
passwd hogehoge

#■作成したユーザの詳細確認?
grep hogehoge /etc/passwd


#■sudoのインストール
apt-get install sudo

#■vimのインストール
apt-get install vim


vim /etc/network/interfaces

<<参考>>
http://www.logos.ic.i.u-tokyo.ac.jp/~s1s5/pukiwiki/index.php?Linux%2F%B4%C9%CD%FD%BC%D4%A4%E0%A4%B1%2F%A4%E2%A4%ED%A4%E2%A4%ED%A4%CE%C0%DF%C4%EA#raa745d4
参考にするといいかも

>>内容
-------------------------------------------------------------
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

##---------------- START
auto eth0
iface eth0 inet static
address 192.168.0.5←debianに設定するip
netmask 255.255.255.0
gateway 192.168.0.●←
##---------------- END

↓コメントアウト
# The primary network interface
#allow-hotplug eth0
#iface eth0 inet dhcp
-------------------------------------------------------------
#■リスタート
/etc/init.d/networking restart


#■sudoの設定-ものによってnano editが起動する。
visudo

内容
--------------------------------------------------------------------
# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults        env_reset
# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL) ALL

hogehoge  ALL=(ALL) ALL
↑adduserしたユーザ名
ALL=(ALL) ALLに関しては色々書き方があるっぽいど


# Allow members of group sudo to execute any command
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL
#
#includedir /etc/sudoers.d
--------------------------------------------------------------------


#■sshの設定
バックアップをとる
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.default



sshの設定を編集する
ここではまだ色々済んでいないので後日設定
sudo /etc/init.d/ssh stop←sshを一応止める
vim /etc/ssh/sshd_config

#■hostsの設定
vim /etc/hosts.allow


<<参考>>
http://www.itmedia.co.jp/help/tips/linux/l0124.html
↓hostsでできること
1. アクセス元の条件を決める
hosts.allow,hosts.denyファイルでは,IPやドメインを指定してアクセス元を限定することができる。
2. どのサービスを起動許可するかを決める
デーモン起動以外のinetサービスでは,inetdでサービスの起動許可を設定する。
3. TCP,UDPごとのフィルタ設定を行う
 tcp wrapperなどによって,特定のポート番号でのアクセスを制限する。一般的にファイアウォールと呼ばれるアクセス制限の手段。

 ここでは,1番の/etc/hosts.allow,/etc/hosts.denyの記述例を挙げてみよう。

・hosts.allow
 アクセス許可条件を設定するファイル
・hosts.deny
 アクセス不可条件を設定するファイル

 2つのファイル共に,基本的に次のような記述フォーマットになっている。


sudo /etc/init.d/networking restart



一応これでターミナルにアクセスできるだろう。
腰が痛かった