ちょっと時間が空いてしまいましたが、
当初掲げていた目標は
ApacheとPHPとMysqlでWebアプリ作って、
なんとなく外部に公開したいなーー
っていうゆるい目標を1つの軸に持ちつつやりたいと思います。
ということなので、
ちょこちょこやっていきます。
■Apacheをインストール
[root@luffy ~]# yum -y install httpd
■Apacheの設定・・・の前に
Apacheインストール直後の状態だと、
[root@luffy www]# ls -l /var/www/ 合計 16 drwxr-xr-x 2 root root 4096 8月 14 02:30 2013 cgi-bin drwxr-xr-x 3 root root 4096 8月 14 16:59 2013 error drwxr-xr-x 2 root root 4096 8月 14 02:30 2013 html drwxr-xr-x 3 root root 4096 8月 14 16:59 2013 icons
というような具合に、/var/www/いかにhtmlというフォルダが作成され、
そのフォルダ以下がドキュメントルートというような扱いが想定されています。
が!
いくつかのドメインをVirtualHostによって私は扱いたかったのでその想定で設定していきます。
/var/www/virtualhost/domain1.com/ /var/www/virtualhost/domain2.com/
フォルダ構造的にはこんな感じ。wwwいかにvirtualhostフォルダをつくりその中にドメインごとのフォルダを配置して管理するような想定です。
■Apacheの設定
[root@luffy~]# vi /etc/httpd/conf/httpd.conf ServerTokens OS ↓ ServerTokens Prod #エラーページなどでOS名を表示しないようにする DocumentRoot "/var/www/html" ↓ #DocumentRoot "/var/www/html" #基本的にVirtualHostでディレクティブを指定した運用にするので、コメントアウト。 <Directory "/var/www/html"> ↓ #<Directory "/var/www/html"> #上と同様 Options Indexes FollowSymLinks ↓ # Options Indexes FollowSymLinks #上と同様 AllowOverride None ↓ # AllowOverride None #上と同様 Order allow,deny Allow from all </Directory> ↓ # Order allow,deny # Allow from all #</Directory> #上と同様 ServerSignature On ↓ #ServerSignature On #エラーページでサーバー情報を表示しないようにする <Directory "/var/www/icons"> Options Indexes MultiViews ↓ Options MultiViews ← iconsディレクトリのファイル一覧を表示しないようにする AllowOverride None Order allow,deny Allow from all </Directory> AddDefaultCharset UTF-8 ↓ #AddDefaultCharset UTF-8 #文字化け対応でコメントアウト [root@ruffy ~]# rm -f /etc/httpd/conf.d/welcome.conf ← テストページ削除 [root@ruffy ~]# rm -f /var/www/error/noindex.html ← テストページ削除
■Virtualhostの設定
[root@ruffy ~]# vi /etc/httpd/conf.d/virtualhost.conf NameVirtualhost *:80 # バーチャルホスト未定義のホスト名でアクセスがあった場合、アクセスを拒否 <VirtualHost *:80> ServerName any <Location /> Order deny,allow Deny from all </Location> </VirtualHost> # domain1.com用の設定 <VirtualHost *:80> ServerName domain1.com DocumentRoot /var/www/virtualhost/domain1.com/html ErrorLog logs/domain1.com/error_log CustomLog logs/domain1.com/access_log combined env=!no_log <directory /> Options -MultiViews AllowOverride All Order allow,deny Allow from all </directory> </VirtualHost> # domain2.com用の設定 <VirtualHost *:80> ServerName domain2.com DocumentRoot /var/www/virtualhost/domain2.com/public ErrorLog logs/domain2.com/error_log CustomLog logs/domain2.com/access_log combined env=!no_log <Directory "/"> Options -MultiViews AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
■Apacheの起動
[root@ruffy ~]# service httpd start [root@ruffy ~]# chkconfig httpd on
■PHPのインストール
[root@ruffy ~]# yum -y install php php-mbstring php-gd php-mcrypt php-xml