参考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通信を遮断している状態なので通過許可を設定する
# 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追記)
- nmapコマンドでポートスキャンをすると今開いているポートが確認できる。
- nmapコマンドをインストール
# yum install nmap
$ 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ファイルをアップロードする
- 実行するとユーザーのホームディレクトリに接続される
- 例)ユーザー名が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使用しないため)
223 <IfModule alias_module>
(略)
250 ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
251
252 </IfModule>
258 <Directory "/var/www/cgi-bin">
259 AllowOverride None
260 Options None
261 Require all granted
262 </Directory>