LAPJサーバー構築メモ ②

■初期設定

CD挿入して再起動
日本語
Ubuntuサーバーをインストール
Enter×3
DHCP設定される(LAN接続されている場合のみ)
 ※手動設定のとき、IPアドレス:192.168.0.183 192.168.0.186
ホスト名はAPは「www」、DBは「db」
ディスク全体を使う
SCSI2〜
ディスクに変更を書き込みますか?→はい
XXXX
XXXX
XXXXXXXX
ホームディレクトリを暗号化しますか?→いいえ
HTTPプロキシの情報→Enter(空のままで続ける)
自動的にアップデートしない
OpenSSH、PostgreSQLTomcat
インストール完了→CDを抜いて続ける


beep off

sudo rmmod pcspkr

■デスクトップ環境インストール

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ubuntu-desktop

■ネットワーク設定確認、修正(/etc/network/interface)

auto eth0
iface eth0 inet static
address 192.168.0.186
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers XXX.XXX.XXX.XXX
dns-search XXX.XXX

■再起動

sudo reboot

■日本語デスクトップ環境構築


wget -q https://www.ubuntulinux.jp/ubuntu-ja-archive-keyring.gpg -O- | sudo apt-key add -
wget -q https://www.ubuntulinux.jp/ubuntu-jp-ppa-keyring.gpg -O- | sudo apt-key add -
sudo wget https://www.ubuntulinux.jp/sources.list.d/karmic.list -O /etc/apt/sources.list.d/ubuntu-ja.list
sudo apt-get update
sudo apt-get upgrade

言語サポートで標準言語を確認

sudo apt-get install ubuntu-desktop-ja

■再起動

sudo reboot


■キーボード設定

sudo dpkg-reconfigure console-setup

Generic 105-key (Intl) PC を選択
Japan を選択
Japan - OADG 109A を選択
その後はEnter連打

以下、作業引用-------------------

具体的には、キーボードの「a」を押すと「あ」じゃなくて「種」となってしまいます。
他のキーも意味不明な漢字や平仮名になります。

とりあえず、仮復旧手順を備忘録
(後で恒久的な対策を探さなきゃなぁ)

  上部メニューバーの中央右寄りの「ibus インプットメソッドフレームワーク」のアイコンをクリック
  (半角時は、キーボードと地球の形のアイコン。全角時は、歯車の形のアイコン)
  「日本語>」を選択
  3つの選択肢より、2番目の「Anthy」を選ぶ
  で、完了

ただ、例えばブラウザでこの操作をして、ブラウザを閉じて、再度ブラウザを立ち上げるとこの操作をもう一度しなければならなくなるときもあるみたいです。恒久的な対策にはならないですね。
ウィルスかな?ただのクラッシュかな?兎に角よく分からないので気持ち悪いけど、同じような症状になった場合、多分これで、とりあえずの回避になると思います。参考までに。

追記
  このままだと、起動のたびに「Anthy」を選び直さなければならないので、
  半角/全角キーだけで切り替えられるように「ibus」のメニューバー上のアイコンを右クリック
  「設定」を選択
  「インプットメソッド」タブを選択
  3つの選択肢より、2番目の「Anthy」を選び、上へのボタンで最上部に移動
  閉じる

  これで、次回起動時から、「入力ウィンドウ」にカーソル
  

                                                                          • -

########## Postgresqlの外部接続設定 ##########

■(ubuntuとしての)postgresユーザーにパスワード設定(postgres)

sudo passwd postgres

■(postgresqlとしての)postgresユーザーにパスワード設定(postgres)

su - postgres
psql postgres
alter user postgres with password 'postgres';
\q

■/etc/postgresql/8.4/main/postgresql.confを修正

(修正前)
# listen_addresses = 'localhost'

(修正後)
listen_addresses = '*'

■/etc/postgresql/8.4/main/pg_hba.confに以下を追記(IPは管理用端末のIP)

host  all  all  192.168.0.155/32  trust

※マスタ端末ではセカンダリ受付設定をする。
host  all  all  192.168.0.186/32  trust

セカンダリ端末ではマスタ受付設定をする。
host  all  all  192.168.0.183/32  trust

exit
sudo /etc/init.d/postgresql8.4 restart

※pgadminで接続できることを確認する

########## FTPインストール ##########

proftpdをインストール

sudo apt-get install proftpd
standaloneを選択

########## Tomcat設定 ##########

JDKインストール

sudo apt-get install sun-java6-jdk

■/etc/tomcat6/tomcat-user.xmlを修正




■/etc/init.d/tomcat6を修正(暫定)

#TOMCAT6_SECURITY=yes
TOMCAT6_SECURITY=no

sudo /etc/init.d/tomcat6 restart

■warをデプロイ

http://xxx.xxx.xxx.xxx:8080/manager/htmlにアクセスし、
warファイルの配備を行う。

配備後、/(アプリのパス)にブラウザでアクセス。war展開。

jdbc.diconのDBアクセス先を修正(必要な場合のみ)

########## apache2-tomcatの連携 ##########

■apache2をインストール

sudo apt-get install apache2

sslモジュール配置

sudo mkdir /etc/apache2/modules
cd /etc/apache2/modules
sudo cp /usr/lib/apache2/modules/mod_proxy.so ./
sudo cp /usr/lib/apache2/modules/mod_proxy_ajp.so ./

httpd.confに追記

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so


ProxyPass ajp://localhost:8009/

■/etc/tomcat6/server.xmlを修正

8080ポートコネクタをコメントアウト
8009ポートコネクタをコメントイン

sudo /etc/init.d/apache2 stop
sudo /etc/init.d/tomcat6 restart
sudo /etc/init.d/apache2 start

ブラウザでポートなしアドレス確認。Tomcat初期画面がでればOK。


########## SSLの設定 ##########

※※※※※※※※※※※※※※(自己証明書)※※※※※※※※※※※※※※※※※※※※※※※※※※※※

apache.pemを作成する。(ここに秘密鍵情報と、認証局からもらうCRT情報を記述)

sudo mkdir /etc/apache2/ssl
sudo make-ssl-cert /usr/share/ssl-cert/ssleay.cnf /etc/apache2/ssl/apache.pem

GUI起動される)
CommonNameを入力

sslファイルを作成する。

sudo touch /etc/apache2/sites-available/ssl
sudo vi /etc/apache2/sites-available/ssl

                                                                        • -

NameVirtualHost *:443


DocumentRoot /var/www/

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.pem
SSLCertificateKeyFile /etc/apache2/ssl/apache.pem


                                                                        • -

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

※※※※※※※※※※※(認証局からの証明書)※※※※※※※※※※※※※※※※※※※※※※※※※

※任意のディレクトリで作業

■鍵ペア生成(パスフレーズは「XXXX」)
openssl genrsa -des3 -rand randfile1:randfile2:randfile3 1024 >server.key
XXXX
XXXX

CSR生成
openssl req -new -key server.key -out server.csr
XXXX
JP
XXXX
XXXX-shi
XXXX
XXXX
www.XXXX.XXX
XXXXXX@XXXXXXX.co.jp
.
.

openssl req -noout -text -in server.csr

sslファイルを作成する。

sudo touch /etc/apache2/sites-available/ssl
sudo vi /etc/apache2/sites-available/ssl

                                                                        • -

NameVirtualHost *:443


DocumentRoot /var/www/

SSLEngine on
SSLCertificateChainFile /etc/apache2/ssl/ca.crt
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key


                                                                        • -

■上記で指定したディレクトリに中間証明書、証明書、秘密鍵ファイルを配置(認証局より受領したファイル)

sudo mkdir /etc/apache2/ssl


■ホスト名確認

hostname
※「www」であることを確認。違う場合は・・・
sudo hostname www
sudo /etc/init.d/networking restart

■/etc/hostsファイル確認(以下となっているか)

127.0.0.1 www.XXXX.XXXX www
127.0.0.1 localhost
192.168.0.183 www.XXXX.XXXX www
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※


ssl有効化

sudo a2dissite ssl
sudo a2dismod ssl
sudo a2enmod ssl
sudo a2ensite ssl

sudo apache2ctl configtest
sudo apache2ctl graceful
sudo /etc/init.d/apache2 stop
sudo /etc/init.d/tomcat6 restart
sudo /etc/init.d/apache2 start

ブラウザでhttps確認

■pgpoolⅡをインストール、設定(マスタ端末)

sudo apt-get install pgpool2

sudo vi /etc/pgpool.conf

                                                                                      • -

listen_addresses = '*'
port = 9999
replication_mode = true
load_balance_mode = true
failover_command = 'sudo /etc/init.d/XXXXXXXX' #apache,tomcat再起動独自シェル

backend_hostname0 = '192.168.0.186' # DB 兼 スタンバイAP端末のIP
backend_port0 = 5432
backend_weight0 = 1

backend_hostname1 = '127.0.0.1' # AP 兼 セカンダリDB端末のIP
backend_port1 = 5432
backend_weight1 = 1

                                                                                      • -

■/etc/postgresql/8.4/main/pg_hba.confを確認

                                                                                      • -

host all all 127.0.0.1/32 trust
host all all 192.168.0.155/32 trust
host all all 192.168.0.35/32 trust
host all all 192.168.0.183/32 trust

                                                                                      • -

※認証方法が全て「trust」であること(pgpoolではmd5認証は不可なので)
※マスタ(セカンダリ)のIPが設定されていること
※メンテナンス用端末のIPが設定されていること

■マスタ、セカンダリのpostmaster起動

■pgpoolスタート

sudo pgpool -n &

※停止は以下
sudo pgpool stop

※再起動時は以下の順に停止起動すること

・pgpool,マスタ、セカンダリ停止
セカンダリ起動
・マスタ起動
・pgpool起動

jdbc.diconのDB接続ポートを「9999」に変更、tomcat再起動

■/etc/init.d/XXXXXXXXを作成(再起動独自シェル)

sudo /etc/init.d/apache2 stop
sudo /etc/init.d/tomcat6 stop
sudo /etc/init.d/tomcat6 start
sudo /etc/init.d/apache2 start



■ファイアーウォールGUIをインストール
sudo apt-get install gufw