さくらVPSサーバー初期設定 – Apacheのインストール

Web

参考URL

Apacheのインストール

# yum install httpd

Apacheのバージョンを確認

# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Oct 19 2017 20:39:16

Apacheの起動

# systemctl start httpd
Apacheの再起動
# systemctl restart httpd
Apacheの停止
# systemctl stop httpd
Apacheの動作状況を確認
# systemctl status httpd

ファイアーウォールがhttp通信を遮断している状態なので通過許可を設定する

  • ついでにhttpsも同様の設定をしておく。
# firewall-cmd --add-service=http --zone=public --permanent
# firewall-cmd --add-service=https --zone=public --permanent
  • 適用にはファイアーウォールの再起動が必要。
# systemctl restart firewalld
  • ブラウザから http://{IPアドレス} にアクセスして表示を確認。
    ブラウザ表示確認したときのスクリーンショット
開いているポートをnmapコマンドで確認する(2019-04-15追記)
# yum install nmap
  • スキャンするときはIPアドレスを渡す
$ nmap IPアドレス

サーバー起動時にApacheも起動するようにする

# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
  • 上記コマンド実行後、Apacheの再起動をすると適用される。
インストール済みのサービスタイプのユニットファイル一覧から設定を確認する
# systemctl list-unit-files -t service
# systemctl --help
systemctl [OPTIONS...] {COMMAND} ...
(略)
- t --type=TYPE      List units of a particular type
(略)
Unit File Commands:
  list-unit-files [PATTERN...]    List installed unit files
  • 表示されたリストの httpd.service の行が
    • enabled:自動起動が有効
    • disabled:自動起動が無効

FileZillaからSFTP接続してHTMLファイルをアップロードする

FileZillaの設定画面

  • 実行するとユーザーのホームディレクトリに接続される
    • 例)ユーザー名がadminの場合:/home/admin

【番外】viの編集画面が見にくいので設定ファイルをつくる

# vi ~/.vimrc
set number #行番号を表示
set ignorecase #検索時の大文字/小文字の区別をしない
syntax on #コードを色分けする
highlight Comment ctermfg=LightCyan #syntax onのとき、コメント行の色を変える

ユーザーのホームディレクトリ直下の public_html をドキュメントルートに設定する

ディレクトリとHTMLファイルを作る
  • FileZillaからやってもいいんだけど、Terminalからやるなら…
# cd /home/{ユーザー名}
# mkdir public_html
# cd public_html
# echo 'hello world' > index.html
  • /home/{ユーザー名}/public_html/index.html ができた。
所有者と権限を設定する
  • rootで入った状態で作ったため、所有者とグループがrootになっているで、どちらもユーザーに変更する。
    • 「-R」をつけておけば、index.htmlに対しても再帰的に適用される。
# chown -R {ユーザー名}:{ユーザー名} /home/{ユーザー名}/public_html 
  • パーミッションを775に設定する。
    • ホームディレクトリそのもののパーミッションも変更しないと、ブラウザで確認したときに403になってしまう。
# chmod 775 -R /home/{ユーザー名}/
httpd.confで設定されているドキュメントルートを書き換える
# vi /etc/httpd/conf/httpd.conf
    114 #
    115 # DocumentRoot: The directory out of which you will serve your
    116 # documents. By default, all requests are taken from this directory, but
    117 # symbolic links and aliases may be used to point to other locations.
    118 #
    119 DocumentRoot "/var/www/html"
  • 上記119行目を以下の通り書き換える。
    • 前:DocumentRoot "/var/www/html"
    • 後:DocumentRoot "/home/{ユーザー名}/public_html"
デフォルトのドキュメントルートディレクトリに施されていた設定を見直し、変更後のディレクトリに適用する
# vi /etc/httpd/conf/httpd.conf
  • /var/wwwディレクトリの設定
    • 125行目:/home/{ユーザー名} に書き換え
    122 #
    123 # Relax access to content within /var/www.
    124 #
    125 <Directory "/var/www">
    126     AllowOverride None
    127     # Allow open access:
    128     Require all granted
    129 </Directory>
  • /var/www/htmlディレクトリの設定
    • 132行目:/home/{ユーザー名}/public_html に書き換え
    • 145行目:コメントアウト(index.htmlが存在しないときにディレクトリ構造を表示させない)
    • 152行目:AllowOverride All に書き換え(.htaccessを使えるようにする)
    131 # Further relax access to the default document root:
    132 <Directory "/var/www/html">
(略)
    145     Options Indexes FollowSymLinks
(略)
    152     AllowOverride None
(略)
    157     Require all granted
    158 </Directory>
ついでにCGI関連の設定をコメントアウトしておく(CGI使用しないため)
  • 250行目
    223 <IfModule alias_module>
(略)
    250     ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
    251 
    252 </IfModule>
  • 258~262行目
    258 <Directory "/var/www/cgi-bin">
    259     AllowOverride None
    260     Options None
    261     Require all granted
    262 </Directory>
  • 297行目
    264 <IfModule mime_module>
    (略)
    297     AddHandler cgi-script .cgi
    (略)
    310 </IfModule>

Comments

  • スパム対策のため、コメント本文にURLが含まれている場合は「承認待ち」となり、すぐに投稿が反映されません。ご了承ください。
  • 公序良俗に反する内容、個人が特定できる情報、スパム投稿と思われるコメント等については、予告なく編集・削除する場合があります。