ubuntu serverのインストール

【ubuntu Serverのインストール】
i386もppcも、LAMP環境を動かす程度ではubuntuのインストールCDに従ってれば全然無問題。
途中、キーボードを選ぶときは半自動?検出より自分で選んだ方が早いし確実。
(必要であればDNS鯖と)LAMPをインストールしとく。
昔はネットワークを繋ぐのも苦労したのに便利になりましたなぁ。
ってわけで、以下はインストール後のお話し。サーバーを動かす目的は、WordPressやウェブサイトの実験用。

■他のPCから操作できるようにする
キーボードを何個も置くのは邪魔なので最初に・・・。

・OpenSSH
sudo apt-get install openssh-server

これを入れた後はメインのPCからssh接続して使えばOK。
WindowsからならTeraTermなどのアプリケーションを使ってSSLで接続。
ubuntuなどからの場合は、端末を使って ssh ユーザ名@ホスト名(or IP) で接続。
・再起動: sudo reboot
・電源断: sudo poweroff
sudo shutodown -r now、sudo shutdown -h nowでもOK。rebootとpoweroffの方がそのまんまでわかりやすいかもね。

・apt-getすると「インストールCDを入れろ」と異国の言葉で言われる。
途中、sudo apt-get install xxxx をやるときに、インストールCDを入れろ、と言われるようであれば、恐らく「/etc/apt/sources.list」にcdromの記述があるためです。
インターネットに繋がっている環境ならcdromからじゃなくてもいいので、消しちゃってもOKだと思います。
私の環境ではiBookにインストールしたときは1度だけ表示されたがその後は大丈夫だったけど、i386なPCの場合にはなぜか延々とでてきて非常に邪魔だった・・・。
一応、/media/cdrom あたりがcdromだと思うので、インストールCDを入れろといわれた場合には、/media/cdrom と入力してENTERを押すと先に進める。

■ubuntu自体を最新のものに更新する。
sudo apt-get update
sudo apt-get upgrade

なるべく常に最新にしておくとセキュリティー上良いと思います。
手動でやるのがめんどくさい方は /etc/crontab に両方のコマンドをいれちゃいましょう。

10 4 * * * root apt-get update && apt-get -y upgrade

Webmin入れてから、cronで追加するとviとか使わなくてもいいので楽

【FTP】
必要であれば。好きなFTPを入れればいい。私の場合、WordPressやウェブサイトの実験をしたかったのでFTPサーバーをインストールしました。

sudo apt-get install proftpd

外部に公開するなら細かい設定が必要かもしれないけど、内部だけであればインストールしたままでもたぶん大丈夫。。。だと思う。。。

【samba】
ネットワーク内でファイルのやり取りをするのであれば入れておく。

sudo apt-get install samba

【Webmin】
サーバーの色々な設定をブラウザで管理できるソフトウェア。私のようなコマンドを覚えてない(覚える気がない!?)Linux初心者にはありがたい。

1.http://www.webmin.com から 「Debian Package」をダウンロード
2.sudo dpkg -i webmin_1.350_all.deb
3.依存関係でだめといわれたら、
sudo apt-get -f install
(その後、もう一度sudo dpkg -i webmin_1.350_all.deb ←やらなくてもインストールされてる)
4.インストールが完了したら、ブラウザから
https://ホスト名orIP:10000/
でアクセスして、セキュリティー証明書を許可する。
日本語化:Wbemin>Webmin Configuration>Language>Display in languageを「Japanese(JA_JP.UTF-8)」にして「Change Language」を押すと日本語化される。

【Subversion】
バージョン管理システム
別にバージョン管理する必要はなくても、subversionで管理されているプロジェクトをソースからインストールするときにソースを持ってくるのに使う。

sudo apt-get install subversion

■WordPressを動かす
基本+FTP+Webminがあれば便利
Apache、MySQL、phpは最初からインストールされているので、WebminでMySQLにデータベースを作るだけですぐに使える。
FTPサーバーもインストールしておけば
WordPressのデータを送るのも楽です。

1.MySQLにデータベースを追加し、ユーザーを追加し、ユーザのDB操作の許可を設定する。
2.WordPressのファイルをFTPで転送
3.設定して完了

これでWordPressは動いてくれます。余計なことしなけりゃubuntuのインストール開始からWordPressが動作してるのを確認するまで1時間もかからないでしょう。

・WordPressで画像をアップロードしてもサムネイルが作られない!
どうやらphpのGDライブラリは最初からは入ってないようです。

sudo apt-get install php5-gd

でインストール。
いざ!アップロード!!!  ・゚・(ノ´Д`)<失敗シチャッターョ!!!

と、思ったら再起動してないだけでした。

apacheを再起動したらOK。

■メール関係が上手くいかない!
受信するにはPOPやIMAPサーバーを入れる必要あり。
今回はsendmailじゃなくてPostfixとDevecotを入れる(Webminで設定できるので)

【Postfix】
sudo apt-get install postfix

【Dovecot IMAP/POP3 Server】
sudo apt-get install dovecot-common dovecot-imapd dovecot-pop3d

設定はWebminのサーバから。

・hostnameをFQDNで。
よく見かけるメールアドレスは「xxxx@yyy.com」といった感じだが、「yyy.com」でメールを直接受け取っているわけじゃなくて、「hoge.yyy.com」のメール鯖が受け取ってる。
らしい(よく知らない)。
なのでFQDNってのは「hoge.****.com」のようなやつ。「***.com」だけじゃだめみたいです。

@やっぱりメールがうまくいかない
【Postfix】

home_maildir = Maindir/(2008/3/21 全然違った!)
home_mailbox = Maildir/
にしてるのだが、メールが「/var/mail」に届いてしまうorz
問題は

mailbox_command = procmail -a “$EXTENSION”

だった。
procmailはメール内容で振り分けを行うソフトウェア。きちんとprocmailの設定をすればこのままでも大丈夫なのだと思う。
とりあえず今は無効化。

@FTPの設定
ログインしたところ(ホームディレクトリ)以外はアクセスできないようする。
Webmin>サーバ>ProFTPD Server>ファイルとディレクトリ で chroot するユーザ最大数(?) ディレクトリを「ホームディレクトリ」にして、「保存」して「変更を適用」。

■メール受信の証明書を作る
オレオレ証明書作り。(参考:http://d.hatena.ne.jp/CLA/searchdiary?word=*%5BDebian%5D)
/etc/ssl/certs に移動

・秘密鍵の作成
$ sudo openssl genrsa -out server.key 1024
Generating RSA private key, 1024 bit long modulus
……….++++++
..++++++
unable to write ‘random state’
e is 65537 (0x10001)

・サーバ証明書の作成
$ sudo openssl req -new -x509 -days 365 -key server.key -out server.crt
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Tokyo
Locality Name (eg, city) []:Shinjuku
Organization Name (eg, company) [Internet Widgits Pty Ltd]:適当
Organizational Unit Name (eg, section) []:適当
Common Name (eg, YOUR name) []:ドメイン名
Email Address []:postmaster@ドメイン名

・パーミッションの変更
$ sudo chmod 400 server.key server.crt

■dovecot.confを編集

#ssl_cert_file = /etc/ssl/certs/dovecot.pem
#ssl_key_file = /etc/ssl/private/dovecot.pem
ssl_cert_file = /etc/ssl/certs/server.crt #上で作成した証明書を指定する
ssl_key_file = /etc/ssl/certs/server.key #上で作成した秘密鍵を指定する