Ubuntuサーバー設定メモ
一応、頑張ってるUbuntuサーバーです。
自分の為の覚書です。
【インストール】
PXEでネットワークインストール。
インストールするパッケージは、LAMPPとDNS。
【起動】
起動したら、日本語表示がおかしいので、英語に変更。
ホームディレクトリの.bashrcをエディタで開き、末尾に
case $TERM in
linux) LANG=C ;;
*) LANG=ja_JP.UTF-8 ;;
esac
8.04では下の記述で大丈夫でした。2008.08.13
$ export LANG=C
と記述。
ログアウトして、再度ログインすれば、メッセージが英語になる。
【一応】
ネットワークインストールなので、大丈夫だと思うのですが、
$ sudo apt-get update
$ sudo apt-get upgrade
で、最新の状態にしておく。
参考にさせていただいたサイト「第2回:Ubuntu Serverをインストール」
【SSHのインストール】
sudo apt-get install ssh
sshの攻撃を防ぐ方法
/etc/hosts.allowと/etc/hosts.denyのファイルに記述をする事で、sshの攻撃を防げるようです。
/etc/hosts.allow:
sshd: 192.168. 自分のIPとか…
/etc/hosts.deny:
sshd: ALL
参考にさせていただいたサイト
sshへの総当り攻撃をiptablesの2行で防ぐ方法
【FTPのインストール】
sudo apt-get install proftpd
インストールはstandalone。inetdっていうのが、メモリを食わないらしいが、よく判らないので、standalone。
これでUbuntuのユーザー名でログイン可能。
ディレクトリは、自分のHomeディレクトリ。
/etc/proftpd/proftpd.confの編集
その前に設定ファイルのコピー
sudo cp /etc/proftpd/proftpd.conf /etc/proftpd/proftpd.conf.orig
ListOptions “-a” .htaccessaなどのファイルを参照する為。
【ログインに掛かる時間の短縮】
IdentLookups off
UseReverseDNS off
【アクセスできるユーザーを制限】
<Limit Login>
Order allow,deny
AllowUser user この部分にユーザ名を指定する。カンマで区切れば複数指定可能。
Deny all
</Limit>
Proftpdは時刻をGMTで合わせてるらしく、サーバーの時刻設定と全く関係ないタイムスタンプになる事の回避。
どこでもいいので、
TimesGMT FALSE
を追記します。
【Sambaのインストール】
sudo apt-get install samb
設定ファイルのバックアップを、
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.original
ユーザー登録
sudo smbpasswd -a ユーザ名
New SMB password: パスワード
Retype new SMB password: もう一回パスワード
smb.confファイルの変更
workgroup = 自分のワークグループ名に
Networkingのところで、
host allow =sambaで接続する為のPCのIP
直接サイトのファイルをいじりたいので、
[web_root]
comment = Apache Folder
path = /var/www
writable = yes
browseable = yes
Create mask = 0775
directory mask = 0777
public = no
read only = no
参考にさせていただいたサイト
鬼瓦実験室::Ubuntuでsamba
sambaの設定
気長に日記: ubuntuでsamba
【Apacheの設定】
ホームディレクトリの設定
/etc/apache2/sites-enabled/の中に000-defaultというファイルがあるので、まずはバックアップを。
sudo cp /etc/apache2/sites-enabled/000-default default.orig
そして、この中身を書き換える。
DocumentRootの設定を、自分のホームディレクトリに。
<directory />
Options All (CGIを使う場合)
Options -Indexes (ディレクトリ一覧表示しない)
AllowOverride All (.htaccessで設定上書き)
allow from all (全ホストからアクセス許可)
</directory>
CGIを有効にする為に、
AddHandler cgi-script .cgi
の記述を追加。
/etc/apache2/conf.d/charsetで、文字コードの記述があるので、これを変更。
#AddDefaultCharset UTF-8
とコメントアウトされているので、
AddDefaultCharset none
と変更する。
こうしないと、勝手にUTF-8に文字コードが指定されてしまう。
WordPressでパーマリンクの任意のモノへ変更する時に必要なmod_rewriteを有効にする。
sudo a2enmod rewrite
これがないと、パーマリンクを変更した後に、個別記事に飛んでもファイルが見つからないという風にエラーになってしまう。
【phpMyAdmin】の導入
まず最新版をDLして解凍。適当な名前に変更して、サーバーへアップ。
config.inc.phpの設定
config.sample.inc.phpをコピーしてconfig.inc.phpにリネームする。
設定箇所は下記の場所です。
$cfg['blowfish_secret'] –暗号化のためのkey。適当でいいみたいです。
$cfg['Servers'][$i]['host'] –サーバーのフルパスを記述。localhostでも動いてます。
$cfg['Servers'][$i]['controluser'] –MySQLのユーザー名
$cfg['Servers'][$i]['controlpass'] –MySQLのパスワード
出来たらサーバーへアップする。
URLを叩いて管理画面へ。
特権の所をクリックして、「全て:%」のユーザーを削除。
次に「root:localhost」のパスワードを変更。特権の修正をクリック。(最新のUbuntuだったら、LAMPP選択インストール時にMysqlのrootパスワードを聞いてくるので、これはしなくても大丈夫)
次に新たにユーザーの作成をする。
これはWordpressを作るのに必要なので、作らない人は関係ない。
ユーザー名:任意で
ホスト:localhost
パスワード:任意で
グローバル特権では、データと構造に全てチェックする。
で、実行してユーザーを作成する。
参考にさせていただいたサイト。
hiromasa.zone「» Eclipse + XAMPP で WordPress の開発環境を作ろう」
【php.ini】の編集
Wordpressを導入して、今後Mysqlのバックアップデータをアップロードする時に、デフォルトの2MBだとアップロード出来ないので、これの制限をアップする。
sudo vi /etc/php5/apache2/php.ini
その中の[upload_max_filesize]の部分を任意の容量に変える。
それ以外はデフォルトでも大丈夫だと思う。
【Webmin】の導入
Webminを導入すれば、ブラウザ経由で色々設定がいじれるので、結構便利かも。
インストール:
sudo wget http://prdownloads.sourceforge.net/webadmin/webmin_1.400_all.deb
sudo dpkg -i webmin_1.400_all.deb
これだけだと上手くインストールできないようで、
sudo apt-get install -f
とすると、不足してる分を補ってくれるようです。
これで上手く動作したら、ブラウザを開いて
https:<サーバーのアドレス>:10000
にアクセス。httpの後ろにsを付けるのを忘れずに。
Firefox3でアクセスすると「安全な接続ができませんでした」とメッセージが出て表示できませんが、「例外として
承認」できるので、それを行えば大丈夫。
Ubuntu 11.04+webmin1.550では、Webminログインの際にrootパスワードの設定が別途必要のようです。
端末を起動させて、下記のコマンドを実行。
最後のrootのパスワードはご自分の環境に合わせて。
sudo /usr/share/webmin/changepass.pl /etc/webmin root xxxxxxxx
【Webminを使って、Ubuntuを最新の状態に保つ】
サーバー管理では、システムのアップデートも必要になるので、これを自動でしてくれるように設定。
楽チン管理がいいですよね!
Webminメニューの[システム]-[予定済み Cron 作業]を開く。
[新しいスケジュールのcronジョブを作成]をクリックして、各項目を入力
cron ジョブを実行するユーザ: root
有効: はい
コマンド:apt-get update && apt-get -y upgrade
コマンドの引数:書かなくてもいい?
Description:書かなくてもいい?
で、下の時間設定を任意の設定にする。
最後に一番下の[Date range to execute]は、[ ]の方にチェックをして保存する。
これで常に最新のシステムでいられます。
