Debian Jessie に apache2 を入れてみた
もりすけです。
さくらVPS の Debian 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://自分のサーバ名/
にアクセスしてみましょう。
昔よりデザインがオサレになっている気がしないでもないです。
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.conf
と default-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.エラーページでのサーバ情報の非表示
これ、しておいたほうがいいですね。
例えば、アクセス制限をしているページに
許可していない人が入ろうとすると
エラーページが出ますよね。
サーバ情報や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の設定をしたいと思います。