iptables(1)http,sshd

// 一旦入力を許可・転送は不許可・出力は許可
#iptables -P INPUT ACCEPT
#iptables -P FORWARD DROP
#iptables -P OUTPUT ACCEPT

#iptables -A INPUT -p icmp -j ACCEPT
#iptables -A INPUT -i lo -j ACCEPT
#iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT //http
#iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT //ssh
#iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT


//60秒間に3回認証失敗したら、ログはいて拒否
#iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name SSH --rsource


#iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 --rttl --name SSH --rsource -j LOG --log-prefix 'ssh_attack:'


#iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 3 --rttl --name SSH --rsource -j DROP


//上記以外のアクセスは拒否
#iptables -P INPUT DROP


// セーブして再起動
#/etc/init.d/iptables save
#/etc/init.d/iptables restart

Apache+PHPインストール

apache のビルド・インストール

$cd httpd-2.2.12/
$./configure --prefix=/path/to/apache --enable-so
$sudo make
$sudo make install

phpのビルド・インストール

./configure
--prefix=/opt/php53
--with-apxs2=/opt/apache2/bin/apxs
--with-mysql=/opt/mysql55
--with-mysqli=/opt/mysql55/bin/mysql_config
--with-mysql-socket=/tmp/mysql.sock
--with-pdo-mysql=/opt/mysql55
--enable-pdo
--enable-mbstring
--enable-mbregex
--with-gd
--with-zlib
--with-curl
--with-openssl
--enable-pcntl
--with-mcrypt
--enable-sockets
--enable-zend-multibyte

configure時に要求されたもの

$sudo apt-get install libssl-dev
$sudo apt-get install libxml2-dev
$sudo apt-get install libcurl4-openssl-dev
$sudo apt-get install libmcrypt-dev


$sudo apt-get install libjpeg62-dev
$sudo apt-get install libpng12-dev
↑ 画像系のライブラリは、/usr/lib/にシンボリックリンクを作成

xdebug インストール(http://www.xdebug.org/)

$sudo apt-get install autoconf
$tar zxf xdebug-2.1.1.tgz
$cd xdebug-2.1.1/
$/opt/php53/bin/phpize
$./configure --enable-xdebug --with-php-config=/opt/php53/bin/php-config
$make

$sudo cp -i xdebug.so /opt/apache2/modules/

cp /path/to/php_source/php.ini-development /opt/php53/lib/php.ini
cp /path/to/php_source/php.ini-product /opt/php53/lib/php.ini

php.iniの設定

/opt/php53/lib/php.ini

以下の行を追加
zend_extension="/opt/apache2/modules/xdebug.so"

Mysqlインストール

5.5.12 Ubuntu/11.04


ユーザの作成

$sudo groupadd mysql
$sudo useradd -g mysql mysql
$getent group mysql

// cmake がなかったら入れておく

$sudo apt-get install cmake

// 入っていなかったら libncurses5-devを入れておく

$sudo apt-get install libncurses5-dev

※入っていない場合cmake中に、以下のエラー。

libncurses5-devインストール後、remove CMakeCache.txtして、再度cmake

CMake Error at cmake/readline.cmake:82 (MESSAGE):
Curses library not found. Please install appropriate package,

remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
Call Stack (most recent call first):
cmake/readline.cmake:126 (FIND_CURSES)
cmake/readline.cmake:216 (MYSQL_USE_BUNDLED_LIBEDIT)
CMakeLists.txt:250 (MYSQL_CHECK_READLINE)

    • Configuring incomplete, errors occurred!
                                                                                                                                                                • -

mysqlのビルドとインストール

$tar -zxf ./mysql-5.5.12.tar.gz

$cd ./mysql-5.5.12

$sudo cmake .
-DCMAKE_INSTALL_PREFIX=/opt/mysql55
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_unicode_ci
-DMYSQLD_USER=mysql

$sudo make

$sudo make install

$sudo /opt/mysql55/scripts/mysql_install_db --user=mysql

$sudo cp support-files/my-medium.cnf /etc/my.cnf
$sudo chown -R root /opt/mysql55
$sudo chown -R mysql /opt/mysql55/data

// 既存環境からのダンプとレストア

:dump
$mysqldump -u user_name database_name > dumpfile.sql
:restore
$mysql -u user -p database_name < dumpfile.sql

Python開発環境(1) [ virtualenv + virtualenvwrapper + pip ]

  1. 使用言語    :Python 2.6
  2. フレームワーク :Django 1.2.3
  3. データベース  :Postgresql 9.1alpha
  4. 作るもの    :まずToDoリスト的なもの
  5. 開発:Ubuntu10.04 Desktop

開発用の環境を作成する。virtualenv + virtualenvwrapper + pip を利用する。virtualenvwrapperのインストールは、1.X.Xと2.X.Xではインストール方法が違う。setup.pyがあったのでbuild→installしたらインストールは成功。その他設定はダウンロード元で確認
http://www.doughellmann.com/docs/virtualenvwrapper/
以下はインストールを行った手順。



開発環境のインストール

Virtualenv-1.4.9 のインストール

$ wget http://pypi.python.org/packages/source/v/virtualenv/virtualenv-1.4.9.tar.gz
$ tar -zxf ./virtualenv-1.4.9.tar.gz
$ cd virtualenv-1.4.9
$ python setup.py build
$ sudo python setup.py install

virtualenvwrapper2.5.1のインストール

$ wget http://www.doughellmann.com/downloads/virtualenvwrapper-2.5.1.tar.gz
$ tar -zxf ./virtualenvwrapper-2.5.1.tar.gz
$ python setup.py build
$ sudo python setup.py install

pip0.8.1のインストール

$ wget http://pypi.python.org/packages/source/p/pip/pip-0.8.1.tar.gz
$ tar -zxf pip-0.8.1.tar.gz
$ cd pip-0.8.1/
$ sudo python setup.py install

インストール後の動作確認

WORKON_HOME用のディレクトリを作成して~/.bashrc に以下を定義

$ mkdir ~/.virtualenv
$ vi ~/.bashrc


[.bashrc]----------------------------------------------
export WORKON_HOME=$HOME/.virtualenv
source /usr/local/bin/virtualenvwrapper.sh

                                                                                                            • -

仮想環境(amenbo)作成

$ mkvirtualenv amenbo
(amenbo) hoge@localhost:dir $

もう一個(test)作成

$ mkvirtualenv test
(test) hoge@localhost:dir $

切り替えてみる

$ workon amenbo
(amenbo) hoge@localhost:dir $

そして用済みは消してみる

$ deactivate
$ rmvirtualenv test

最後、djangoのインストール

(amenbo)$ pip -E ~/.virtualenv/amenbo install django

RHEL5.3 WEB、SSL設定

1.mod_sslのインストール

#yum -y install mod_ssl

2.秘密鍵の作成

# cd /etc/pki/tls/certs/
# make server.key
:パスフレーズの入力

3.証明書の作成

# make server.crt

:keyファイル作成時のパスフレーズ入力
Country Name (2 letter code) [GB]:JP #国
State or Province Name (full name) [Berkshire]:Saitama #都道府県
Locality Name (eg, city) [Newbury]:Toda #市
Organization Name (eg, company) [My Company Ltd]:hoge corp #組織
Organizational Unit Name (eg, section) : #組織
Common Name (eg, your name or your server's hostname)
:hoge.com #ホスト名
Email Address []:webmaster@hoge.com

4.sslのコンフィグ設定

vi /etc/httpd/conf.d/ssl.config

SSLCertificateFile /etc/pki/tls/certs/server.crt #証明書
SSLCertificateKeyFile /etc/pki/tls/certs/server.key #秘密鍵

5.httpdの再起動

/etc/rc.d/init.d/httpd restart