Home > Debian | UNIX > [Debian]Debian lennyで1からサーバーを作ってみる – apacheをインストール

[Debian]Debian lennyで1からサーバーを作ってみる – apacheをインストール

  • Webサーバー構築(apacheをインストール)
    # aptitude install apache2
    # aptitude clean
    
  • apacheを設定
    # vi /etc/apache2/conf.d/security
    
    ServerTokens Full
    ↓
    ServerTokens Prod
    
    ServerSignature On
    ↓
    ServerSignature Off
    
    # vi /etc/apache2/mods-enabled/mime.conf
    
    #AddHandler cgi-script .cgi
    ↓
    AddHandler cgi-script .cgi .pl
    
    # vi /etc/apache2/apache2.conf
    
    LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
    ↓
    LogFormat "%v:%p %h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
    
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    ↓
    LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    
    # LogFormat設定群の下へ追記↓
    #
    # For a single logfile with access, agent, and referer information
    # (Combined Logfile Format), use the following directive:
    #
    SetEnvIf Request_URI "default\.ida" no_log ← 追加(wormからのアクセスをログに記録しない)
    SetEnvIf Request_URI "cmd\.exe" no_log ← 〃
    SetEnvIf Request_URI "root\.exe" no_log ← 〃
    SetEnvIf Request_URI "Admin\.dll" no_log ← 〃
    SetEnvIf Request_URI "NULL\.IDA" no_log ← 〃
    SetEnvIf Remote_Addr 192.168.0 no_log ← 追加(内部からのアクセスをログに記録しない)
    SetEnvIf Remote_Addr 127.0.0.1 no_log ← 追加(自ホストからのアクセスをログに記録しない)
    CustomLog /var/log/apache2/access.log combined env=!no_log
    
    CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined
    ↓
    CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined env=!no_log
    

    (admin.saizensen.netも作っておく。)

    # vi /etc/apache2/sites-available/default
    

    コピペするときは< /directory>の /は半角に修正してください。

    <virtualhost *:80>
            ServerAdmin webmaster@saizensen.net
            ServerName saizensen.net:80
            ServerAlias www.saizensen.net
     
            DocumentRoot /var/www/html
            <directory />
                    Options FollowSymLinks
                    AllowOverride None
            < /directory>
            <directory /var/www/html>
                    Options Includes ExecCGI FollowSymLinks
                    AllowOverride All
                    Order allow,deny
                    allow from all
            </directory>
     
            ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
            <directory "/usr/lib/cgi-bin">
                    AllowOverride None
                    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                    Order allow,deny
                    Allow from all
            </directory>
     
            ErrorLog /var/log/apache2/error.log
     
            # Possible values include: debug, info, notice, warn, error, crit,
            # alert, emerg.
            LogLevel warn
     
            CustomLog /var/log/apache2/access.log combined env=!no_log
     
        Alias /doc/ "/usr/share/doc/"
        <directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
        </directory>
     
    </virtualhost>
     
    <virtualhost *:80>
            ServerAdmin webmaster@saizensen.net
            ServerName admin.saizensen.net:80
     
            DocumentRoot /var/www/admin
            <directory />
                    Options FollowSymLinks
                    AllowOverride None
            < /directory>
            <directory /var/www/admin>
                    Options Includes ExecCGI FollowSymLinks
                    AllowOverride All
                    Order allow,deny
                    allow from all
            </directory>
     
            ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
            <directory "/usr/lib/cgi-bin">
                    AllowOverride None
                    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                    Order allow,deny
                    Allow from all
            </directory>
     
            ErrorLog /var/log/apache2/admin-error.log
     
            # Possible values include: debug, info, notice, warn, error, crit,
            # alert, emerg.
            LogLevel warn
     
            CustomLog /var/log/apache2/admin-access.log combined env=!no_log
     
        Alias /doc/ "/usr/share/doc/"
        <directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
        </directory>
     
    </virtualhost>

    # ln -s /usr/bin/perl /usr/local/bin/perl
    # mkdir /var/www/html
    # mkdir /var/www/admin
    # chown -R hoge.hoge /var/www ← hogeは適当な一般ユーザーへ
    # apache2ctl configtest
    # /etc/init.d/apache2 restart
    
  • ルータの設定でPort80(TCP)を開ける。
  • SSIを使えるようにする。
    # a2enmod include
    # /etc/init.d/apache2 restart
    
  • リダイレクト出来るようにする。
    # a2enmod rewrite
    # /etc/init.d/apache2 restart
    
  • PHPを使えるようにする。
    # aptitude install libapache2-mod-php5
    # aptitude clean
    # vi /etc/php5/apache2/php.ini
    
    post_max_size = 8M
    ↓
    post_max_size = 64M
    
    magic_quotes_gpc = On
    ↓
    magic_quotes_gpc = Off
    
    upload_max_filesize = 32M
    ↓
    upload_max_filesize = 64M
    
    # /etc/init.d/apache2 reload
    
  • .htpasswdを作る。
    1. .htpasswdファイルを新規作成する場合(hogeは適当な一般ユーザーへ)
      # htpasswd -b -c /etc/apache2/.htpasswd hoge ******
      
    2. 既存の.htpasswdファイルへユーザーを追加する場合(hogehogeは適当な一般ユーザーへ)
      # htpasswd -b /etc/apache2/.htpasswd hogehoge ******
      
    3. ユーザー登録確認
      # cat /etc/apache2/.htpasswd
      
    4. .htaccess作成
      # vi /var/www/admin/.htaccess
      AuthUserFile /etc/apache2/.htpasswd
      AuthGroupFile /dev/null
      AuthName "secret page"
      AuthType Basic
      #require valid-user ←.htpasswdに登録してある全てのユーザー名で認証できるようにする場合
      require user hoge ←.htpasswdに登録してある特定のユーザー名でのみ認証できるようにする場合
      
    5. apache再起動
      # /etc/init.d/apache2 reload
      
  • mod_deflate設定
    # vi /etc/apache2/mods-enabled/deflate.conf
    
    <ifmodule mod_deflate.c>
    	AddOutputFilterByType DEFLATE text/html text/plain text/xml
    	# 送信先ブラウザがNetscape 4.xの場合はtext/htmlのみ圧縮
    	BrowserMatch ^Mozilla/4 gzip-only-text/html
    	# 送信先ブラウザがNetscape 4.06-4.08の場合は圧縮しない
    	BrowserMatch ^Mozilla/4\.0[678] no-gzip
    	# 送信先ブラウザがMSIEの場合は全て圧縮する
    	BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
    </ifmodule>
    # /etc/init.d/apache2 restart
    

Comments:9

add to hatena hatena.comment (1) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 1

bael 09-09-03 (木) 3:44

ルータの設定の前段で
# apache2ctl configtest
とすると
apache2: Syntax error on line 293 of /etc/apache2/apache2.conf: Syntax error on line 43 of /etc/apache2/sites-enabled/000-default: Expected but saw
とおっしゃいます。
ほとんどコピペして、必要事項を書き換えたんですが・・・

bubbkis 09-09-03 (木) 11:06

/etc/apache2/sites-available/default
の一部コードが抜け落ちている箇所がありました。

<directory />

を閉じる文字列がwordpressに自動で消されるorz
なんだこれは・・・
de、正しくは↓です。

        <directory />
                Options FollowSymLinks
                AllowOverride None
        < /directory>

の /は半角に修正してください。

bael 09-09-03 (木) 11:51

今度は

apache2ctl configtest
Syntax error on line 199 of /etc/apache2/apache2.conf:
LogFormat takes 1-2 arguments, a log format string (see docs) and an optional format name

ですって・・・
う〜ん

bael 09-09-03 (木) 12:07

解決しました。
変更記録を残そうとして、” # “を” # “としてたようです。

m(_”_)m

WordpressにVicunaですか。
すっきりしてて良いですね。

bael 09-09-03 (木) 15:03

# apache2ctl configtest
Syntax OK
# /etc/init.d/apache2 restart
Restarting web server: apache2 failed!

ってどなられました ort

bubbkis 09-09-03 (木) 15:19

# apache2ctl configtest
は通っててもエラーになりますか・・・
/var/log/apache2/error.log
の内容はどうなってますか?

bael 09-09-03 (木) 15:54

[error] (2)No such file or directory: could not open transfer log file /etc/apache2/logs/access_log.
Unable to open logs

んで
# cd /var/log/apache2
# ls -al
合計 16
drwxr-x— 2 root adm 4096 2009-09-03 12:17 .
drwxr-xr-x 14 root root 4096 2009-09-03 03:59 ..
-rw-r—– 1 root adm 1028 2009-09-03 02:19 access.log
-rw-r–r– 1 root root 0 2009-09-03 12:17 access_log
-rw-r–r– 1 root root 0 2009-09-03 12:17 admin-error.log
-rw-r—– 1 root adm 2908 2009-09-03 15:43 error.log
-rw-r–r– 1 root root 0 2009-09-03 01:55 other_vhosts_access.log

access_logって誰のものなんでしょ?

bubbkis 09-09-03 (木) 16:26

/etc/apache2/apache2.conf
/etc/apache2/sites-available/default

CustomLog /var/log/apache2/access_log combined env=!no_log

CustomLog /etc/apache2/logs/access_log combined env=!no_log
になってませんか?

>access_logって誰のものなんでしょ?
access_logじゃなくてaccess.logですね。ということで
CustomLog /var/log/apache2/access.log combined env=!no_log
が正しいですね。記事も直しておきました。

bael 09-09-03 (木) 18:34

apache2.confの
CustomLog /var/log/access.log combined

CustomLog /log/access.log combined
になってました。 (^^;;

# /etc/init.d/apache2 restart
Restarting web server: apache2 … waiting .
でプロンプト戻り。(ぉぉー

mod_deflate設定まで終わり、localhostとFQDNでアクセス。
Forbidden
You don’t have permission to access / on this server.
ぁぅ
Documentroot /var/www/html か・・・
デフォルトのindex.htmlをコピー。
「It works!」
ありがとうございました。
数年ぶりにapacheをセットアップしました。完全に忘れている上に、初めてのvierualhostでの設定。ちょっと悩みました。
この設定だと複数ドメインになった時、各ドメインのDocumentrootを、それぞれのドメイン名で指定してあげてディレクトリを作成すれば良いのですね。。。
以前使用していたユーザーディレクトリのトップを流用して、置いておきました。

細かなご指導ありがとうございます。

Comment Form
Remember personal info

Trackbacks:5

Trackback URL for this entry
http://ore.saizensen.net/archives/304/trackback
Listed below are links to weblogs that reference
[Debian]Debian lennyで1からサーバーを作ってみる – apacheをインストール from おれ最前線ねっと
pingback from Build Apache2 on Debian Lenny « Zagan's Blog 09-09-13 (日) 21:46

[...] なお、設定に当たって おれ最前線ねっとを参考&質問先にさせていただきました。 [...]

pingback from Build Apache2 on Debian Lenny - Iron Sling annex 10-01-05 (火) 21:43

[...] なお、設定に当たって おれ最前線ねっとを参考&質問先にさせていただきました。 GUIな環境であれば、デスクトップ環境が用意しているエディタを使用すれば良い。多くのディスト [...]

pingback from Apacheの設定 « SkyGarden出張所 10-05-20 (木) 5:09

[...] apacheをインストール|おれ最前線ねっと [...]

pingback from Build Apache2 on Debian Lenny « Zagan's Blog 10-08-29 (日) 19:59

[...] なお、設定に当たって おれ最前線ねっとを参考&質問先にさせていただきました。 GUIな環境であれば、デスクトップ環境が用意しているエディタを使用すれば良い。多くのディスト [...]

pingback from Build Apache2 on Debian Lenny « Iron Sling annex 10-09-05 (日) 11:41

[...] なお、設定に当たって おれ最前線ねっとを参考&質問先にさせていただきました。 GUIな環境であれば、デスクトップ環境が用意しているエディタを使用すれば良い。多くのディスト [...]

Home > Debian | UNIX > [Debian]Debian lennyで1からサーバーを作ってみる – apacheをインストール

Search
Feeds
Meta

Return to page top