Apacheのインストール
1 |
$ sudo yum -y install httpd |
ブート時の自動起動設定
1 |
$ sudo systemctl enable httpd.service |
バーチャルホストごとのパブリックディレクトリを作成
1 2 3 4 5 6 7 |
$ sudo mkdir -p /var/www/foo.com/public_html $ sudo mkdir -p /var/www/foo.com/logs $ sudo mkdir -p /var/www/bar.com/public_html $ sudo mkdir -p /var/www/bar.com/logs $ sudo chown -R $USER:$USER /var/www/foo.com $ sudo chown -R $USER:$USER /var/www/bar.com $ sudo chmod -R 755 /var/www |
バーチャルホストごとの設定ファイル格納ディレクトリを作成
1 2 3 4 |
$ sudo mkdir /etc/httpd/sites-available ←全バーチャルホストの設定を格納 $ sudo mkdir /etc/httpd/sites-enabled ←公開バーチャルホストの設定を格納 $ sudo vi /etc/httpd/conf/httpd.conf IncludeOptional sites-enabled/*.conf ←末尾に追加 |
バーチャルホストごとの設定ファイルを作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
$ sudo vi /etc/httpd/sites-available/foo.com.conf <VirtualHost *:80> ServerName www.foo.com ServerAlias foo.com DocumentRoot /var/www/foo.com/public_html ErrorLog /var/www/foo.com/logs/error_log CustomLog /var/www/foo.com/logs/access_log combined </VirtualHost> ↓以下はhttpd.confからコピペして変更 # # Relax access to content within /var/www/foo.com. # <Directory "/var/www/foo.com"> AllowOverride None # Allow open access: Require all granted </Directory> # Further relax access to the default document root: <Directory "/var/www/foo.com/public_html"> # # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn't give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information. # Options Indexes FollowSymLinks # # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # #AllowOverride None ← .htaccessを使いたいので変更 AllowOverride All # # Controls who can get stuff from this server. # Require all granted </Directory> $ sudo vi /etc/httpd/sites-available/bar.com.conf .... |
バーチャルホストを公開してApacheを起動
1 2 3 |
$ sudo ln -s /etc/httpd/sites-available/bar.com.conf /etc/httpd/sites-enabled/bar.com.conf $ sudo ln -s /etc/httpd/sites-available/foo.com.conf /etc/httpd/sites-enabled/foo.com.conf $ sudo apachectl restart |
ログローテートの設定変更
デフォルトだと標準インストールのログしかローテートされないので、バーチャルホストのログもローテートされるように設定を追加しておく。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
$ sudo vi /etc/logrotate.d/httpd /var/log/httpd/*log { missingok notifempty sharedscripts delaycompress postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true endscript } /var/www/foo.com/logs/*log { missingok notifempty sharedscripts delaycompress postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true endscript } /var/www/bar.com/logs/*log { missingok notifempty sharedscripts delaycompress postrotate /bin/systemctl reload httpd.service > /dev/null 2>/dev/null || true endscript } |
参考サイト
Apache ウェブサーバーで .htaccess を利用するには | XpressOne Knowledge Base 「サポート技術情報」
http://kb.xpressone.net/2566
【apache】httpd.confの文法チェックを行う
http://www.kishiro.com/apache/config_syntax_check.html
Apacheのログを日毎にしてみる – yk5656 diary
http://d.hatena.ne.jp/yk5656/20140523/1402455511