カテゴリー : ソフトウェア

CentOS5.6で自宅サーバ建てた

技術解説というより忘備録。要点まとまってなくてごめんね。

1. 概要

流行に便乗して買ったはいいものの、スペック不足でお蔵入りしそうなミニノートのリソースを自作サーバとして利用することにしました。
小さいのは勿論、省電力で静かなのはサーバとして喜ばしいです。用途はHTTP,FTP,MySQL,DDNS,VPN,Sambaなど。
AcerAOA150-BbにCentOS5.6をクリーンインストールしてして挑戦。
本当はHDD換装してWindowsを残すようにしたかったのだけれども断念したというより残す意味もないだろうと槍投げた感じです。

基本的にウェブで調査しながらの作業になりましたが、手詰まった箇所や工夫が必要な箇所等を忘備録として記述することとします。
CentOSで自宅サーバー構築

2. OSインストール

導入を考えた時期に丁度Fedora15がリリースされましたが
一部のデーモンのKernel相性やRPMリポジトリの不整合等が発生した為、残念ながら導入見送り。
(FedoraはいつかxWindowSystemのGUIで操作したいなぁ)
安定性と情報量のあるCentOS5.6をインストール。ミニノートなので光学ドライブなしである為USBドライブからインストール。
CentOS-5.6-i386-bin-DVD.iso をダウンロード、64ビットな人はx86_64を。
SysLinuxをDL。本記事記述時点でv4.04。DLページはわかりにくいのでこちら
こちらの記事が非常に参考になります。
気をつける点はコマンドプロンプトを管理者権限付与の状態で起動すること。
HardDiskから/dev/sda*を選ぶ場面は環境によりますが可能性として/dev/sdb1が高いと思います。
GRUBの設定は[パーティションレイアウトの再確認と変更]のチェックボックス->次へ->次への遷移にて[高度なブートローダーオプションの設定]が可能です。
インストールパッケージはメモリ使用量とHDD容量の関係上インストールしないことをオススメします。そもそもLinuxサーバはCUIでこそですよね。
サーバ公開前のセキュリティ強化の項目は個人的に全てなくてよいと思います。かなりリソースを消費しますしお好みで。

3. DiCEの設定

DiCEのテキストはEUCで書かれている為、SSHクライアントのエンコーディングををUTF-8から変更するのがセオリーですが、今回は文字コード変換をかませなから作業しましょう。
DiCE起動の際に

# /usr/local/bin/DiCE/diced | nkf -uw

でEUCエンコーディングをUTF-8に変換してファイル内容のSSH送受信が行えます。
お名前.comで取得した方は、OpenSSLライブラリの場所を検出できないせいでシンボリックリンクの設定が必要です。
locateコマンドで libssl.so libcrypto.so の二つを検索し、/usr/lib/ の場所にシンボリックリンクを設定します。
CentOS5.6の場合、

# ln -s -i /lib/libssl.so.0.9.8e /usr/lib/libssl.so.0
# ln -s -i /lib/libcrypto.so.0.9.8e /usr/lib/libcrypto.so.0

となります。

4. YUMでRPM管理するためのリポジトリ更新

phpMyAdmin3.xやWordPress3.2などPHP5.2以上のバージョンを要求するウェブアプリケーションが増えてきました。
CentOS5.6のベースで提供されているPHPのバージョンは5.1.6です。

# php -v

またMySQL等も古いバージョンが提供されています。

# mysql --version

これらのバージョンを上げるために

# rpm --import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
# vi /etc/yum.repos.d/utterramblings.repo
[utterramblings]
name=Jason’s Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=0
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
priority=0
# yum --enablerepo=rpmforge --enablerepo=utterramblings update php

でリポジトリを明示的に指定することにより新しいバージョンへと更新されます。
enabled=0なのはリポジトリを指定した場合にのみ上記のリポジトリが適応されるようにするため。
新規でインストールする場合はupdateをinstallに。
解説サイトによっては一度アンインストールしたほうが、との意見もみかけましたが特に問題もなかった為アップデートで良いと思います。
PHPの場合php.iniが初期化されるので再設定する必要があります。
新しもの好きで最初に5.3を導入しましたがその後に必要となるPHP:GDモジュールのインストールが不整合でうまくいかなかった為、特に問題がなければ5.2で良いと思います。

5. AjaXplorer3.2.4の設定

高機能なブラウザウェブアプリケーションであるAjaXplorerを導入します。
解説記事が少ないのでこの際まとめちゃいます。
HTTP(.htaccessを有効)とPHPが正常に稼動していることが条件です。
ダウンロード

# wget http://sourceforge.net/projects/ajaxplorer/files/ajaxplorer/3.2.4/ajaxplorer-core-3.2.4.zip

解凍

# unzip AjaXplorer-3.2.4.zip

wwwフォルダへコピー

# cp -pr AjaXplorer-3.2.4 /var/www/ajaxplorer

圧縮ファイルリムーブ

# rm AjaXplorer-3.2.4.zip

所有者の変更

# chown -R apache:apache /var/www/ajaxplorer

所有者の確認

# cd /var/www/
# ls -l

設定ファイルの編集(INSTALL-SelectMeAndClickEdit.txtに則って)
define(“ADMIN_PASSWORD”, “admin”); と $default_language=”en”; 最初はこの二箇所変更

# vi /var/www/ajaxplorer/server/conf/conf.php

エイリアス設定ファイルを新規作成

# vi /etc/httpd/conf.d/ajaxplorer.conf
Alias /ajaxplorer /var/www/ajaxplorer

アップロード可能なファイルサイズは

# vi /etc/php.ini

upload_max_filesizeとpost_max_sizeの値が適用されます。

設定を変更した後はhttpdを再起動(reloadよりrestartが好ましい)

# /etc/init.d/httpd restart
Tips
サムネイルが表示されない
-> (管理画面のGD EnabledがNoなら)PHP:GDモジュールのインストール
-> php.iniのmemory_limitの値を上げる
マルチバイト文字のダウンロード時の文字化け
-> エンコーディング周りの処理を加えたりしましたが解決せず、ファイル名の頭に半角文字を挿入することで回避。

VMwareでUSBにUbuntuをインストールする

だってLinux環境が欲しいじゃない。

■用意するもの。

■手順

  1. VMwareのインストール
  2. UbuntuをCDイメージからブート
  3. インストール先対象ドライブをUSBドライブへ

これだけだけれど、ちょいとつまずく箇所があったんで軽くメモ。

- VMwareのインストール
ユーザ登録し、VMware-player-3.1.3-324285.exeをダウンロードしインストール。要再起動。

- UbuntuをCDイメージからブートしUSBへインストール

VMwareを起動し、新規仮想マシンの作成。新しい仮想マシン設定ウィザードが立ち上がる。
後でOSをインストールを選択し、次へ。
(ここでインストーラディスクイメージファイルを指定すると簡易インストールが実行されてしまう)

ゲストOSの選択は、Linux。バージョンはUbuntuで。

仮想マシン名、及び格納場所は任意で。

仮想ディスクを単一ファイルをして格納を選択。ディスク最大サイズは推奨値の20GBを選択。

仮想マシンの設定確認画面で「ハードウェアをカスタマイズ」をクリック。

新規CD/DVDを選択し、接続をISOイメージファイルを選択するにチェック。
その後、準備段階でダウンロードしたubuntu-ja-10.10-desktop-i386.isoを選択。

USBコントローラを選択し、全てのチェックボックスにチェックを付ける。

OKを押し。完了します。
これでISOイメージをマウントした状態の仮想マシンが作成されています。
起動すると自動的にISOファイルからブートされ、以下の画面が起動します。

VMwareウィンドウの下にいくつかアイコンが出ていると思います。
Windows上で認識されているデバイスのリストなので
USBメモリとして識別されているリムーバブルディスクを選択。
以下の画面を確認しOKを押す。

VM上でUSBメモリが認識されました。(右下のアイコンが活性化しています。)

仮想マシン上の「Ubuntuをインストール」を選択します。
「インストール中にアップデートをダウンロードする」「このサードパーティー・ソフトウェアをインストールする」の項目は任意です。選択すると時間がかかります。進むをクリック。

ディスク領域の割り当てでは特にパーティションを区切る理由がなければ「ディスク全体を削除してから使用する」を選択し、進む。

インストール先ドライブの選択画面でVMwareが割り当てた仮想のHDD領域ではなくUSBデバイスを選択します。

そしてインストールをクリックするとUSBメモリへのインストールが始まります。
その最中にUbuntuの基本的な設定(地名選択、キーボードレイアウト、ユーザ登録)があるので任意で設定します。

以上です。
あとはUbuntuをUSBブートさせたいマシンに今回作成したUSBメモリからブートさせれば、
見事にHDDを汚さずしてどこでもあなただけのUbuntu環境が操作できます。
お疲れ様でした。