| HOME | FrontPage | 記事編集 | RSS |
UbuntuWWWサーバのセットアップ OS::Linux::Ubuntu
- 1. MySQL
- 2. Apache2
- 2-1. apache2.conf
- 2-2. setenvif.conf
- 2-3. sites-available
- 2-4. ディレクトリ作成
- 2-5. cgi有効
- 2-6. suexec有効
- 2-6-1. 追記
- 3. iptables
- 4. まとめて再起動
最近セットアップしすぎなので覚えてる内に最速設定をメモ。
# apt-get install apache2
# apt-get install mysql-server
# apt-get install libapache2-mod-perl2
# apt-get install php5
# apt-get install php5-mysql
1. MySQL
MySQLから設定開始。とりあえず全部utf8にしておく。
# vim /etc/mysql/my.cnf
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
skip-character-set-client-handshake
[mysql]
default-character-set=utf8
データベースwwwを作り、ユーザwwwuserに全権限を付ける。
$ mysql -p -u root
> create database www;
> grant all on www.* to wwwuser@localhost identified by 'PASSWORD';
> exit;
2. Apache2
まぁいつものパターンで。
2-1. apache2.conf
なぜかServerNameが行方不明になったのでapache2.confの何処かに追加。
# vim /etc/apache2/apache2.conf
ServerName testserver
2-2. setenvif.conf
気に入らないサービスを403。
# vim /etc/apache2/mods-enabled/setenvif.conf
このconfigはフィクションです。
#
# uzai access
#
SetEnvIfNoCase User-Agent "naver" drop
SetEnvIfNoCase User-Agent "arachmo" drop
SetEnvIfNoCase User-Agent "ninja" drop
SetEnvIfNoCase User-Agent "indy" drop
SetEnvIfNoCase User-Agent "archive" drop
ついでにログを保存しない条件を設定。
#
# uzai log
#
SetEnvIf Request_URI "\.(gif|jpg|jpeg|png|bmp|png|css|js)$" no_log
SetEnvIf Remote_Addr "^127\.0\.0" no_log
2-3. sites-available
上で設定した条件をバーチャルホストで反映。
# vim /etc/apache2/sites-available/default
dropを落としてno_logのログを取らない。
ついでにファイル名.plでmod_perl有効。
<VirtualHost *>
ServerAdmin speed@snoop.to
DocumentRoot /var/www/wwwuser/public_html/
ServerName testserver
SuexecUserGroup wwwuser wwwuser
<Directory /var/www/wwwuser/public_html/>
Options ExecCGI Includes Indexes FollowSymLinks
AllowOverride None
<Files *.pl>
SetHandler perl-script
PerlSendHeader On
PerlResponseHandler ModPerl::Registry
</Files>
Order allow,deny
allow from all
deny from env=drop
</Directory>
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel error
ErrorLog /var/www/wwwuser/logs/error.log
CustomLog /var/www/wwwuser/logs/access.log combined env=!no_log
</VirtualHost>
2-4. ディレクトリ作成
バーチャルホストで定義したディレクトリを作成。
# mkdir /var/www/wwwuser
# mkdir /var/www/wwwuser/public_html
# mkdir /var/www/wwwuser/logs
# chown -R wwwuser.wwwuser /var/www/wwwuser
/var/www配下に作るのはsuExecの都合。
2-5. cgi有効
/etc/apache2/apache2.confの何処かに↓の1行を追加。
AddHandler cgi-script .cgi
嫌がらせのようにいつもこれが無いな。
今回はServerNameも無いし、Apache2のメンテナはバカじゃないのか。
2-6. suexec有効
最新のubuntuにapache2-suexec-customなるパッケージが追加されたので使ってみる。
# apt-get install apache2-suexec-custom
パッケージの用途は説明が面倒なので要検索。
ま、うちには必要ないけど、新しいものは良いものだ。
例によってファイルが足らないので足す。
LoadModule suexec_module /usr/lib/apache2/modules/mod_suexec.so
↑の1行を書いたファイルを/etc/apache2/mods-available/suexec.load、/etc/apache2/mods-enabled/suexec.loadの2つ新規作成。各自で、手で。なんで。なんでと言われてもそうしないと動かないんだから仕方がない。ただこのsuexec-customは意外に便利で、/etc/apache2/suexec/www-dataにsuexecしたいpathを追加すると、そのパス配下でsuexecできるようになります。あ、説明しちゃった。
2-6-1. 追記
いくらなんでもおかしいので昼休みにマジメに調べてみたら、Debian系のApach2ではa2enmod / a2dismodを使ってモジュールのOn/Offを切り替えるのが正しい運用なんだって。そのためにこんなディレクトリ構成・ファイル構成になってるんだな。使い方は
# asenmod deflate
みたいな。感じ。
3. iptables
最後にiptablesでうざいアドレスを弾く。
# iptables -P INPUT ACCEPT
# iptables -P FORWARD DROP
# iptables -P OUTPUT ACCEPT
# iptables -A INPUT -s 89.0.0.0/8 -j DROP
# iptables -A INPUT -s 92.0.0.0/8 -j DROP
# iptables-save > /etc/iptables.conf
# vim /etc/network/if-pre-up.d/iptables
↓の2行を書いて保存。
#!/bin/sh
/sbin/iptables-restore < /etc/iptables.conf
実行権限を付ける。
chmod +x /etc/network/if-pre-up.d/iptables
4. まとめて再起動
正常終了ならおしまい。
# /etc/init.d/networking restart
# /etc/init.d/mysql restart
# /etc/init.d/apache2 restart
不気味なのはapache2-suexec-customにしたらcgiスクリプトの権限が700でも755でも正常に動くようになったことかな。べつにsuExecなんて大した機能じゃないので、なんでこの程度のものがセキュリティ、セキュリティと必死になって騒がれたのが僕には全然分からないけど、今まで禁止されていたものが許可されると
何だこれカメラどこだよ
程度に不気味ではある。
speed
/ 2008.11.29 22:14
BBSWiki ver.1.50 Final blogmode.
Copyleft (!C) 2005-2007 SUICIDE BLONDE JP.
All Lefts Reserved.
- 2008 Recent 50 Entries
- Windows Vista x64
2008.12.31 19:50 - 性格が良いor悪い
2008.12.30 02:45 - PC-MDVD/U2
2008.12.28 02:25 - USBメモリ5GBあたり\1,000
2008.12.25 22:10 - 植田佳奈叩かれる
2008.12.24 22:29 - 哲学熱再燃
2008.12.23 03:30 - Cha-la Head Cha-la
2008.12.21 13:47 - 紅第6巻
2008.12.17 02:19 - 民団、民主・公明支援へ
2008.12.16 03:30 - 口論における男性の勝率
2008.12.15 00:14 - 本業の話
2008.12.14 23:15 - 鉄拳王になったよー
2008.12.13 18:34 - やっぱりuse warningsを使おう
2008.12.11 23:02 - WinningEleven 2009 (PS3)
2008.12.03 20:31 - Ishkur's Guide to Electronic Music
2008.11.30 21:35 - ゲームも必要
2008.11.30 15:41 - UbuntuWWWサーバのセットアップ
2008.11.29 22:14 - らき☆すたOVA
2008.11.28 01:58 - Ubuntuデスクトップ用.vimrc
2008.11.27 22:02 - キーボードを水洗い
2008.11.25 01:33 - よりよい世界をMakeするために
2008.11.23 13:07 - だいぶ疲れも取れたようです
2008.11.20 08:56 - HDMI接続
2008.11.14 00:59 - またモニタ買った
2008.11.12 04:41 - うちの平尾がやりおった!!
2008.11.09 21:32 - ワイヤレスキーボード買った
2008.11.06 23:01 - PS3その後
2008.11.04 22:59 - PS3でかすぎ
2008.10.31 09:22 - ゲームばっかり!!111
2008.10.29 09:10 - 1$92yen
2008.10.27 23:29 - ヒアドキュメント中のハッシュ要素
2008.10.26 15:27 - 女性差別
2008.10.25 23:08 - 鉄拳5サウンドトラック
2008.10.24 04:11 - 新blogやることありすぎ
2008.10.22 00:39 - 鉄拳 DarkResurrection (PSP)
2008.10.20 00:08 - Linuxだけで足りるかも
2008.10.18 23:25 - PS3予約した
2008.10.18 00:26 - Firefox使えない
2008.10.17 23:18 - XML+XSL+Microformats
2008.10.17 00:59 - Minibuffer+AutoPagerize+LDRize
2008.10.15 22:52 - 心の余裕
2008.10.15 01:47 - IPパケットからWEPキーを抽出
2008.10.14 22:45 - Fedora Core4の壁紙
2008.10.13 19:29 - Fedoraマジおすすめ
2008.10.13 17:26 - 新サーバ構築中
2008.10.11 23:18 - 『安心ネットづくり』促進協議会
2008.10.09 22:42 - サーバ/インフラを支える技術
2008.10.09 20:57 - 田中理恵エロすぎ
2008.10.06 23:03 - 翻訳法人
2008.10.05 13:42 - ObjectDriver使えねえ。。
2008.10.02 22:39
- Archive
- 2006年
- 2006年01月
- 2006年02月
- 2006年03月
- 2006年04月
- 2006年05月
- 2006年06月
- 2006年07月
- 2006年08月
- 2006年09月
- 2006年10月
- 2006年11月
- 2006年12月
- 2007年
- 2007年01月
- 2007年02月
- 2007年03月
- 2007年04月
- 2007年05月
- 2007年06月
- 2007年07月
- 2007年08月
- 2007年09月
- 2007年10月
- 2007年11月
- 2007年12月
- 2008年
- 2008年01月
- 2008年02月
- 2008年03月
- 2008年04月
- 2008年05月
- 2008年06月
- 2008年07月
- 2008年08月
- 2008年09月
- 2008年10月
- 2008年11月
- 2008年12月