自作サーバーにubuntu

3650149196_0aeb8f9662新たにWEBサーバーを立てることにした。
今回はubuntuに挑戦。
ハードウェアは過去にヤフオクで数年前にサーバーを立てようと意気込んで買ったパーツの使えそうなのをかき集めて作った。

eden V1000
メモリ 256MB
ハードディスク20GB
電源はACアダプタ


MITSUMIのCDドライブがマスターに固定されてたりACアダプタをつけるのにドリルで穴を開けたりどうにかこうにか組みあがってインストール

CDを焼いて
CDから起動しすると、Enterをクリックすると
ubuntuのロゴが現れ「Install Ubuntu Server」を選びEnterを押す。
言語選択画面が現れ「Japanese 日本語」を選ぶ
次に英語でよく分からんがキーボードのことを聞かれ「いいえ」を選ぶとリストが出てくるので「Japan」を選択すると「Japan」「Japan – Kana」「Japan – OADG 109A」の3択になるので「Japan」を選択、さらに何か分からんのを聞かれるがデフォルトの「Alt + Shift」を選択
次はホスト名を聞かれるとりあえず適当に決めておく
途中止まってる?と思うぐらい無反応な状態でマタされたるするが
次はパーティション「ディスク全体を使いLVMをセットアップする」を選択
、ディスクを選択する確認画面がでるのではいを選択容量を聞かれるが全部使うのでそのままEnter、しばらくすると再度確認画面が出るのではいを選択
新しいユーザーの本名の入力はサーバー用なので適当に入力
次にログイン名とパスワードの設定。
その次に暗号化の設定だけど持ち運ぶことは無いのでいいえを選択
httpプロキシ設定は会社とかでプロキシ設定をしないとホームページが見れない場合だけなのでスルー
アップデートの設定は「セキュリティアップデートを自動的にインストールする」を選択

ソフトウェアの選択では「DNSサーバー」「LAMPサーバー」「Mailサーバー」のみにした
その後mysqlのパスワードを設定して
メールサーバーの設定で「インターネットサイト」を選択、メールアドレスはまだ決めてないのでスルー

インストールには1時間ぐらいかかったが殆どデフォルトの設定でよかった。

まずはIPアドレスを固定

sudo vi /etc/network/interfaces
auto eth0
iface eth0 inet dhcp

auto eth0
iface eth0 inet static
address 192.168.0.4
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1

sudo /etc/init.d/networking restart

後で気づいたんだけどSSHをインストールし忘れたのでインストール

sudo aptitude install openssh-server

もう、モニタやCDロムやキーボードは使わないので外す。

sudo aptitude install proftpd

スタンドアロンを選択

webminをインストール
そのままではインストール出来ないので

sudo vi /etc/apt/sources.list
deb http://download.webmin.com/download/repository sarge contrib
sudo aptitude update
sudo aptitude install webmin

vineに付いてくるのよりバージョンが新しくかっこよくなっている。
とりあえず英語がわかりにくいので「Webmin」の「Change Language…」から「Japanese (JA_JP UTF-8)」を選び日本語に変更

◆DNSサーバーの設定

sudo vi /etc/bind/named.conf.options

でforwardersの部分をプロバイダ指定のプライマリDNS、セカンダリDNSの指定を書き加えて

forwarders {
***.***.***.***;プロバイダ指定のプライマリDNS
***.***.***.***;プロバイダ指定のセカンダリDNS
};

webminの「サーバ」「BIND DNS サーバ」から「設定ファイルの編集」で

zone "test.com" {
type master;
file "/etc/bind/test.com";
};

zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/db.192.168.0";
};

を追加する。
「既存の DNS ゾーン」に「test.com」と「192.168.0」が発生してるので
まず「test.com」の「レコード ファイルの編集」で編集
(sudo vi /etc/bind/test.comでもいい)

$TTL    86400;1D

@       IN      SOA     ubuntu.test.com.      root.ubuntu.test.com. (
2009050601	; Serial
10800		; Refresh 3H
3600		; Retry 1H
604800		; Expire 1W
86400 )		; Minimum 1D

IN      NS      ubuntu.test.com.
IN      MX 10   ubuntu.test.com.

ubuntu   	IN      A       192.168.0.4
test.com	IN      A       192.168.0.4

dns     	IN      CNAME   ubuntu
www     	IN      CNAME   ubuntu
myrelease    	IN      CNAME   ubuntu
smtp    	IN      CNAME   ubuntu
pop     	IN      CNAME   ubuntu
ftp     	IN      CNAME   ubuntu
sudo vi /etc/bind/db.192.168.0
$TTL    86400;1D

@       IN      SOA     ubuntu.test.com.      root.ubuntu.test.com. (
2009050601	; Serial
10800		; Refresh 3H
3600		; Retry 1H
604800		; Expire 1W
86400 )		; Minimum 1D
;
IN      NS      ubuntu.test.com.

IN      PTR     ubuntu.test.com.
IN      A       255.255.255.0

「Apply Configuration」をクリックし、クライアントの優先DNSサーバーを192.168.0.4に変更して確認
とりあえずクライアントで確認できた。

◆外DNSの設定
外のDNSはvalue domainでドメインを取ってダイナミックDNS設定。
ネームサーバー変更で「VALUE-DOMAIN独自のネームサーバー」にして

ns @ NS1.VALUE-DOMAIN.COM.
ns @ NS2.VALUE-DOMAIN.COM.
a @ 0.0.0.0
mx mx.test.com. 10
cname * test.com.

http://dyn.value-domain.com/cgi-bin/dyn.fcg?d=test.com&p=eroero69&h=@
しばらく待って

dig @NS1.VALUE-DOMAIN.COM test.com

でチェック

◆アパッチの設定
デフォルトのドキュメントルートが「/var/www」と遠かったので
「/home/uda2/」に「public_html」というフォルダを作り
webminの「サーバ」「Apache Webサーバ」の仮想サーバをクリックしてドキュメントルートを「/home/uda2/public_html」に変更する。
その後「変更を適用」をクリックし、適当なファイルをアップして確認。
問題なさそうだ。

◆ftpの設定
ftpは辿るのが面倒なのでコメントアウトされてるDefaultRootを生かす
DefaultRoot ~
.htaccess等をいじる可能性があるので下記に変更
ListOptions “-a”

◆ユーザーの追加
mkdir public_html

「仮想ホストの作成」でドキュメントルートを
サーバー名を

◆ソフトの追加と削除
rpm -qa|grep php
の代わりに
全てはdpkg -l

なぜかGDが入ってなかったので追加

sudo aptitude install php5-gd
sudo aptitude install php5-mcrypt
sudo aptitude install php-pear
sudo aptitude install phpmyadmin
sudo pear install -a Mail

メールサーバーはアンインストール

sudo aptitude remove postfix

◆phpの設定

sudo cp -p /etc/php5/apache2/php.ini /etc/php5/apache2/php.ini.bak.YYYYMMDD
sudo vi /etc/php5/apache2/php.ini

memory_limit = 32M
;default_charset = EUC-JP
sendmail_path = /usr/sbin/sendmail -t -i
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.substitute_character = none
mbstring.detect_order = SJIS,EUC-JP,JIS,UTF-8,ASCII

◆mysqlの設定
なぜかEUC(latin1)になってるのでUTF-8に変換する。

vi /etc/mysql/my.cnf
[client]
default-character-set = utf8

[mysqld]
default-character-set = utf8
skip-character-set-client-handshake

[mysqldump]
default-character-set = utf8

[mysql]
default-character-set = utf8

書き終えたら
# mysql -u root -p
> status;
で確認まだまだ残ってるので
> show character set;
とか
> alter database myrelease character set utf8
とかしても変化なしSQLサーバーを再起動してみたらUTF-8になった。

◆Rewriteモジュールの有効化
sudo ln -s /etc/apache2/mods-available/rewrite.load
だと「rewrite.load」が作成されず
sudo a2enmod rewrite
で成功
sudo vi /etc/apache2/mods-enabled/rewrite.load

Tags:

トラックバック

コメントを書く