Memo

メモ > サーバ > 構築: Webサーバ設定 > Apache

■Apache
※Webサーバを構築して、サーバにブラウザからアクセスできるようにする ※IPアドレスでアクセスしたときはIPアドレスもしくはサーバ名だけが表示されるページにアクセス、 ドメインを指定してアクセスしたら対応するページにアクセス…とすると管理しやすいかも 「IPアドレス + /phpmyadmin/」などへの無差別アクセスと攻撃下調べの影響も、若干軽減できる ※バーチャルホストが不要な案件でも、後々検収環境が追加されたりを想定して、常にバーチャルホストにしておくといいかも バーチャルホストの設定方法は Etcetera.txt を参照 ※バーチャルホストにした場合、access_log にサブドメインが残らないのでページを判別しづらい (リファラには表示されるが、外部からアクセスされたときなどはダメ) サブドメイン名を記録するか、サブドメインごとにログファイルを分けておいた方が良さそう ※PHP5.6を使うならApacheは2.4をインストールする。詳細は Programming.txt を参照 なお Amazon Linux 2 の場合でも、Extrasリポジトリではなく通常の手順でインストールできる Amazon Linux2でLAMP環境を構築 - Qiita https://qiita.com/RayDoe/items/fb3e0ef69b9b4132e7f7 Amazon Linux 2にLAMP環境インストール - Qiita https://qiita.com/cherubim1111/items/4a89856e743f287c599f ■インストール Webサーバー構築(Apache) http://centossrv.com/apache.shtml
# yum -y install httpd … httpdをインストール(PHP5.6を使うならApacheは2.4をインストールする) # vi /etc/httpd/conf/httpd.conf … httpdの設定ファイルを編集
#ServerTokens OS ServerTokens Prod … エラーページなどでOS名を表示しないようにする #ServerName www.example.com:80 ServerName refirio.net:80 … サーバー名を指定(コメントアウトしておかないと、サーバ起動時に警告が表示される Webサーバが複数ある場合は「ServerName web1.refirio.net:80」など 初期値のままでも問題なさそう) <Directory "/var/www/html"> #AllowOverride None AllowOverride All ….htaccessを許可する場合 #LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined … 長すぎるURI(414エラー)をログに記録しない場合 LogFormat "%h %l %u %t \"%!414r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D %{X-Forwarded-For}i %{X-Forwarded-Proto}i %v" combined … 処理時間やプロキシのIPなども記録する例 # # For a single logfile with access, agent, and referer information # (Combined Logfile Format), use the following directive: # SetEnvIf Request_URI "default\.ida" no_log … wormからのアクセスをログに記録しない場合 SetEnvIf Request_URI "cmd\.exe" no_log … 同上 SetEnvIf Request_URI "root\.exe" no_log … 同上 SetEnvIf Request_URI "Admin\.dll" no_log … 同上 SetEnvIf Request_URI "NULL\.IDA" no_log … 同上 SetEnvIf Remote_Addr 192.168.1 no_log … 内部からのアクセスをログに記録しない場合 SetEnvIf Remote_Addr 127.0.0.1 no_log … 自ホストからのアクセスをログに記録しない場合 CustomLog logs/access_log combined env=!no_log … 上記以外のアクセスをログに記録する #ServerSignature On ServerSignature Off … エラーページでサーバー情報を表示しないようにする #AddDefaultCharset UTF-8 … UTF-8以外でページを作成する場合はコメントアウト(文字化け対策)
# rm -f /etc/httpd/conf.d/welcome.conf … テストページを削除 # chown apache. /var/www/ … 公開用ディレクトリの所有者をapacheに変更 # chmod 775 /var/www/ … apacheグループのユーザに読み書き実行を許可 # chown apache. /var/www/html/ … ドキュメントルートの所有者を「apache」に変更 # chmod 775 /var/www/html/ … apacheグループのユーザに読み書き実行を許可 # ll /var/www/ … ドキュメントルートの所有者を確認 合計 24 drwxr-xr-x 2 root root 4096 10月 5 11:45 cgi-bin drwxr-xr-x 5 apache apache 4096 9月 27 17:43 html # service httpd configtest … 設定ファイルの構文をチェック Syntax OK # systemctl start httpd … httpdを起動 # systemctl enable httpd … httpdの自動起動を設定 # httpd -v … httpdのインストールを確認
■ファイヤーウォール設定(iptablesを使用している場合の設定)
# vi /etc/sysconfig/iptables … ファイヤーウォールを設定(80ポートを開ける)
#HTTPを許可 -A MY-FIREWALL -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# service iptables restart … ファイヤーウォールを再起動
■動作確認
# vi /var/www/html/index.html … テストページ作成
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>テスト</title> </head> <body> <p>テスト。</p> </body> </html>
http://refirio.net/ のようにブラウザからアクセスを確認

Advertisement