はじめに
さくらのvpsの契約が切れて契約しなおし。。。
からの
自分用メモ、apache入れる&設定をします
最終的にはいろいろ試したいものがあるのでapacheは手抜きでyumインストールします。
ソースからインストールしたほうがバージョン変えて入れたりで比較もできるんですがそれはまたの機会に。
ということでさっそく
1.apacheインストールとか
2.自動起動設定
3.設定編集(/etc/httpd/conf/httpd.conf)
4.適当なhtmlを表示して確認
5.VirtualHostの設定(適当なドメインを打ったら適当なhtmlを表示してみる)
という感じでやります
1.apacheインストールとか
インストール
$ sudo yum -y install httpd ※確認 $ ls -al /etc/httpd/ drwxr-xr-x 4 root root 4096 2月 11 23:31 2014 . drwxr-xr-x. 77 root root 4096 2月 11 23:31 2014 .. drwxr-xr-x 2 root root 4096 2月 11 23:31 2014 conf drwxr-xr-x 2 root root 4096 2月 11 23:31 2014 conf.d lrwxrwxrwx 1 root root 19 2月 11 23:31 2014 logs -> ../../var/log/httpd lrwxrwxrwx 1 root root 29 2月 11 23:31 2014 modules -> ../../usr/lib64/httpd/modules lrwxrwxrwx 1 root root 19 2月 11 23:31 2014 run -> ../../var/run/httpd
おもむろに起動&確認
起動してみます
$ sudo /etc/init.d/httpd status httpd は停止しています $ sudo /etc/init.d/httpd start httpd を起動中: [ OK ]
2.自動起動設定
一応設定しておきます。しなかったらなかったで良いかも
$ sudo chkconfig --list httpd httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off $ sudo chkconfig httpd on $ sudo chkconfig --list httpd httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
3.設定ファイル編集
/etc/httpd/conf/httpd.confを編集するわけですが、
今回はとりいそぎ下記の設定のみ行います
・Options Indexes FollowSymLinks
・ServerTokens OS
・ServerSignature On
Options Indexes FollowSymLinksの変更
ブラウザでhttp://ipアドレス/dirと打った場合など、
index.htmlなどが存在しないディレクトリにアクセスすると、
ディレクトリのファイル一覧を表示してしまうので表示されないように変更します。
- いったん表示されちゃうのを確認
適当なディレクトリを作ります
$ sudo mkdir /var/www/html/test
ブラウザでhttp://ipアドレス/testとアクセスしてみる
こんな感じでファイルの一覧が表示されます
ということで設定を変更して表示されないようにする
$ sudo vi /etc/httpd/conf/httpd.conf --vi編集-- Options Indexes FollowSymLinks ↓変更 Options Includes ExecCGI FollowSymLinks ※CGI,SSIを許可。ファイル一覧表示禁止 ---------- $ sudo /etc/init.d/httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ]
ServerTokens OSの変更
今度はServerTokens OSを変更します。
↑のキャプチャに出ているOS情報(CentOSとか)を消します
$ sudo vi /etc/httpd/conf/httpd.conf --vi編集-- ServerTokens OS ↓変更 ServerTokens Prod ---------- $ sudo /etc/init.d/httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ]
ServerSignature Onの変更
さらにApacheやIPなんかの情報も消します
$ sudo vi /etc/httpd/conf/httpd.conf --vi編集-- ServerSignature On ↓変更 ServerSignature Off ---------- $ sudo /etc/init.d/httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ]
4.適当なhtmlを表示して確認
適当なhtmlファイルを表示してみます
/etc/httpd/conf/httpd.confにはDocumentRoot "/var/www/html"とあるので
/var/www/html以下に適当なindex.htmlファイルを作って表示してみます
$ vi /var/www/html/index.html --vi-- <html> ・・・省略・・・ </html> ------
5.VirtualHostの設定-適当なドメインを打ったら適当なhtmlを表示してみる
virtualhostの設定をすることで、
自分で取ったり取らなかったりしたドメインにアクセスしてきた際のwebサーバの設定を書いておきます
ってことで下記の4つをやります
・vpsのvirtualhostの設定する
・設定したとこにhtmlファイル作る
・macのhostsを変えて確認する
・ブラウザやログで確認
vpsのvirtualhostの設定する
※ httpd.conを編集してvirtualhostを有効にする $ sudo vi /etc/httpd/conf/httpd.conf --vi編集-- #NameVirtualHost *:80 ↓変更 NameVirtualHost *:80 --------- ※ とあるドメインでアクセスしてきた際に公開するディレクトリを作成する $ sudo mkdir -p /var/www/tekitou/public/ ※ FileZillaやCyberduckでファイルをアップロードしたい場合は所有権なども変えておく $ sudo chown -R hoge:hoge /var/www/hoge ← hogeはこのサーバにアクセスできるユーザとかに変える ※ virtualhostの設定ファイルを作成&記述 $ sudo vi /etc/httpd/conf.d/virtualhost_tekitou.conf --vi書き込み-- <VirtualHost *:80> ServerName hoge.tekitou.com DocumentRoot "/var/www/tekitou/public" DirectoryIndex index.html index.php ErrorLog /var/log/httpd/tekitou_error_log CustomLog /var/log/httpd/tekitou_access_log combined AddDefaultCharset UTF-8 <Directory "/var/www/tekitou/public"> AllowOverride All </Directory> </VirtualHost> ------------- ※ 一応確認&再起動して設定を反映 $ sudo /etc/init.d/httpd configtest Syntax OK $ sudo /etc/init.d/httpd restart ※ 一般ユーザでログをみたいときは/var/log/httpdの権限も変えておきます $ sudo chmod 755 /var/log/httpd
設定したとこにhtmlファイル作る
hoge.tekitou.comでアクセスが来た際の設定をしたので
/var/www/tekitou/publicにindex.htmlを作成します。
$ sudo vi /var/www/tekitou/public/index.html ※ 中身は適当なhtml --vi-- <html> <head><title>tekitou</title></head> <body> <h1>tekitouのpublicのindex.html</h1> </body> </html> ------
macのhostsを変えて確認する
これもコマンドでやりますが、
vpsじゃなくて自分のmacの設定を変えるので違うターミナルを開いて行います
hostsファイルを書き換えることで、あるドメインにアクセスしたときのipを無理矢理設定します
$ sudo vi /etc/hosts --vi編集-- ※ 最後の行に追加(xx.xx.xx.xxはさくらvpsのipアドレス) xx.xx.xx.xx hoge.tekitou.com ----------
ちなみにhostsファイルの場所は下記です
mac … /etc/hosts
win … C:/WINDOWS/system32/drivers/etc/hosts
ブラウザやログで確認
ブラウザにhoge.tekitou.comと打ってみます
表示されました(^-^)
一応ログも確認してみます
$ cat /var/log/httpd/tekitou_access_log xxx.xxx.xxx.xxx - - [12/Feb/2014:01:55:51 +0900] "GET / HTTP/1.1" 200 96 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.33 Safari/535.11" xxx.xxx.xxx.xxx - - [12/Feb/2014:01:55:52 +0900] "GET /favicon.ico HTTP/1.1" 404 209 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.33 Safari/535.11" $ cat /var/log/httpd/tekitou_error_log [Wed Feb 12 01:55:52 2014] [error] [client 126.11.174.117] File does not exist: /var/www/tekitou/public/favicon.ico
ってことで、いったんここまで。