残しときます(自分用)

忘れないうちにね!

Debian Jessie に apache2 を入れてみた

もりすけです。

さくらVPSDebian Jessie に ssh でのログインに成功。
次にすることは・・・

やはり最初は apache2 php5 関係のインストールですかね。
wordpress も入れる時が来ることを考えると MySQL も入れときましょう。

今回は apache2 を入れた時の作業を残しときます。

完成イメージ

・ユーザ毎のウェブディレクトリは作らない
www.example.com/~ユーザ名/ のことね)

・基本のウェブディレクトリは /home/管理用ユーザ/public_html/
 にドメイン別のディレクトリを作成しその中に入れる

・こうしたほうがsshでログインした時にアクセスするの楽だった。

今回したこと

1.apache2 のインストール
2.ドメイン毎の設定ファイルの作成
3.設定ファイルの有効化
4.エラーページでのサーバ情報の非表示
5.再起動

1.apache2 のインストール

とにかく最初はインストールですね。

~$ sudo aptitude update
~$ sudo aptitude install apache2

インストールは簡単ですよね。

http://自分のサーバ名/ にアクセスしてみましょう。

f:id:namotch:20150606213508p:plain

昔よりデザインがオサレになっている気がしないでもないです。

2.ドメイン毎の設定ファイルの作成

apache2 の設定ファイルはたくさん分かれています。
ドメインごとの設定ファイルを新しく作成して、
それを有効化していきましょう。

設定ファイルは /etc/apache2/site-available/ にあります。

~$ cd /etc/apache2/site-available/
/etc/apache2/sites-available$ ls -al

合計 20
drwxr-xr-x 2 root root 4096  6月  6 21:08 .
drwxr-xr-x 8 root root 4096  6月  6 21:08 ..
-rw-r--r-- 1 root root 1332  2月  1 17:23 000-default.conf
-rw-r--r-- 1 root root 6437  2月  1 17:23 default-ssl.conf

/etc/apache2/sites-available$ 

000-default.confdefault-ssl.conf がありますね。
後者はssl用ですので、000-default.conf をコピーして使いましょう。
ファイル名はドメイン名をそのまま使います。
こうしたほうが後で設定を変更したいときわかりやすいですよね。

下記コードでは example.com を使用していますが、
自分のドメインを指定してください。

/etc/apache2/sites-available$ sudo cp 000-default.conf example.com.conf
/etc/apache2/sites-available$ ls -al

合計 24
drwxr-xr-x 2 root root 4096  6月  6 21:17 .
drwxr-xr-x 8 root root 4096  6月  6 21:08 ..
-rw-r--r-- 1 root root 1332  2月  1 17:23 000-default.conf
-rw-r--r-- 1 root root 6437  2月  1 17:23 default-ssl.conf
-rw-r--r-- 1 root root 1332  6月  6 21:17 example.com.conf

/etc/apache2/sites-available$ 

コピーしたファイルを編集します。

/etc/apache2/sites-available$ sudo vi example.com.conf

最終設定した内容はこちら

[/etc/apache2/sites-available/example.com.conf]

# バーチャルホストのデフォルトで80ポートを使用
<VirtualHost *:80>

    # ドメイン名
    ServerName example.com
    # 管理者のメールアドレス
    ServerAdmin support@example.com
    # ドキュメントルートまでのパス
    DocumentRoot /home/管理者ユーザ/public_html/example.com/

    # 制御するディレクトリ
    <Directory /home/管理者ユーザ/public_html/example.com/>
        # オプション
        Options FollowSymLinks
        # .htaccessの許可
        AllowOverride all
        # アクセス許可
        Require all granted
    </Directory>

    # エラーログ
    ErrorLog ${APACHE_LOG_DIR}/error_example.log
    # エラーログを記録するレベル
    LogLevel warn
    # アクセスログ
    CustomLog ${APACHE_LOG_DIR}/access_example.log combined

</VirtualHost>

コピーしておきながら、 前に使っていた内容を貼り付けて使うという。

追記:apache2.4からアクセス許可の記述がかわっていましたので修正しています

3.設定ファイルの有効化

そして設定ファイルを有効化します。

有効化:a2ensite
無効化:a2dissite

/etc/apache2/sites-available$ sudo a2ensite example.com

Enabling site example.com.
To activate the new configuration, you need to run:
  service apache2 reload

/etc/apache2/sites-available$

4.エラーページでのサーバ情報の非表示

これ、しておいたほうがいいですね。

例えば、アクセス制限をしているページに
許可していない人が入ろうとすると
エラーページが出ますよね。

f:id:namotch:20150608071551p:plain

サーバ情報やOS情報が表示されちゃうわけです。
こういう情報は表示されないようにしましょう。

/etc/apache2/sites-available$ cd ../conf-available
/etc/apache2/conf-available$ sudo vi security.conf
[/etc/apache2/conf-available/security.conf]

# OS情報の表示
ServerTokens OS
↓
# OS情報の非表示
ServerTokens Prod

# サーバ情報の表示
ServerSignature On
↓
# サーバ情報の非表示
ServerSignature Off

5.再起動

ここまできたら、apache2 を再起動します。

/etc/apache2/conf-available$ sudo /etc/init.d/apache2 restart

[ ok ] Restarting apache2 (via systemctl): apache2.service.

/etc/apache2/conf-available$ 

さいごに

基本的なapache2の設定はおわりました。

新しく設定したディレクトリにHTMLファイルを入れて
うまく表示されるか確認してみてください。

次回はPHP5の設定をしたいと思います。