申込→公開5.VirtualHost設定

さくらVPSCentOS 6 公開

 状態:-  閲覧数:2,083  投稿日:2013-03-13  更新日:2018-01-11
前回の続き

mkdir -p /var/www/sakuravps.tk/public_html
chown -R ★★:★★ /var/www/sakuravps.tk
vim /etc/httpd/conf.d/sakuravps.tk.conf
vim /etc/httpd/conf/httpd.conf
--- (編集開始) ---
NameVirtualHost *:80
--- (編集終了) ---


<VirtualHost *:80>
 ServerName sakuravps.tk
 DocumentRoot "/var/www/sakuravps.tk/public_html"
 DirectoryIndex index.html index.php
 ErrorLog /var/log/httpd/sakuravps.tk_error_log
 CustomLog /var/log/httpd/sakuravps.tk_access_log combined
 AddDefaultCharset UTF-8
 <Directory "/var/www/sakuravps.tk/public_html">
   AllowOverride All
 </Directory>
</VirtualHost>


service httpd configtest
service httpd restart
vim /var/www/sakuravps.tk/public_html/index.html
hostsの編集
ブラウザで確認


VirtualHost設定 … 1つ目(失敗事例)

 閲覧数:457 投稿日:2013-03-13 更新日:2013-03-13 

VirtualHost設定



権限変更
sudo -s



ディレクトリ作成
・-p 複数ディレクトリを一気に作成したい際につけるオプション
mkdir -p /var/www/sakuravps.tk/public.html/



ユーザに所有権を持たせる
・「dotinstall」ユーザに所有権を持たせる(変更する)
・「public.html」と打っているが、正しくは「public_html」
・気付かず続行してしまったため、この後はまる
chown -R dotinstall:dotinstall /var/www/sakuravps.tk/public.html/



設定ファイル作成
・「/etc/httpd/conf.d」以下の「.conf」は、Webサーバが立ち上がった際、必ず読み込まれる
vim /etc/httpd/conf.d/sakuravps.tk.conf

・iでインサートモードへ変更し、下記を貼り付け
<VirtualHost *:80>
 ServerName sakuravps.tk
 DocumentRoot "/var/www/sakuravps.tk/public_html"
 DirectoryIndex index.html index.php
 ErrorLog /var/log/httpd/sakuravps.tk_error_log
 CustomLog /var/log/httpd/sakuravps.tk_access_log combined
 AddDefaultCharset UTF-8
 <Directory "/var/www/sakuravps.tk/public_html">
   AllowOverride All
 </Directory>
</VirtualHost>

・「Esc」で「インサートモード」抜ける
・「:wq」で保存


バーチャルホスト自体を有効にする設定
vim /etc/httpd/conf/httpd.conf

・/NameVirtuで検索
・「x」で先頭コメント削除
#NameVirtualHost *:80
NameVirtualHost *:80

・「:wq」で保存


設定がうまくいっているかテスト
[root@★★ dotinstall]# service httpd configtest
Warning: DocumentRoot [/var/www/sakuravps.tk/public_html] does not exist
Syntax OK

※今、改めて確認したら、DocumentRoot がありませんよ、という警告が表示されている
※「Syntax OK」しか見ていなかったので、全然気が付かなかったよ
※つまり、「設定がうまくいっているかテスト」は、文法が合っているだけではダメだってこと!


Webサーバ再起動
[root@★★ dotinstall]# service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中: Warning: DocumentRoot [/var/www/sakuravps.tk/public_html] does not exist
                                                          [  OK  ]
[root@★★ dotinstall]#

・ここでも警告が表示されている
・全然気が付かなかったよ
・PHPとは違い、ターミナルから発せられるWarningは、もしかしたら結構重要なメッセージなのかもしれない
※「Warning」スルー習慣が身についているので…


ファイル作成
・dotinstallでやりたいので、一旦ルートから抜ける
[root@★★ dotinstall]# exit
exit
[dotinstall@★★ ~]$

・ファイル作成(転送ツールを使わず)
vim /var/www/sakuravps.tk/public_html/index.html

・Iモード後、下記を貼り付け
<html>
Hello from sakuravps.tk
</html>

・保存しようとしたら、問題発生
E212:書込み用にファイルを開けません


E212:書込み用にファイルを開けません

 閲覧数:3,783 投稿日:2013-03-13 更新日:2014-09-30 

エラー発生


書込み用にファイルを開けません
・経験値が低いため原因を特定できない

原因予想
・権限の問題?
・グループ利用して権限付与しているので、グループ作成し忘れ、もしくは、グループ未所属によるエラー?

調査結果
・ディレクトリ名を間違えて作成していたことが原因


調査履歴


ユーザに所有権を持たせるディレクトリ階層が違ったのではないか?
・一つ上の階層を指定してみる
→関係ない
$ sudo -s
# chown -R ★★:★★ /var/www/sakuravps.tk/public.html/
# chown -R ★★:★★ /var/www/sakuravps.tk


ディレクトリが作成されていないのではないか?
・作成されているかどうか確認してみる
$ ls -a

・確かに存在している ……、違う名前のディレクトリが
・しかし、この時は気が付かなかった
・存在しているかどうか、だけが気になっていて、まさかディレクトリ名を間違えているなどとは、夢にも思わなかったよ

ディレクトリを作成したつもりが、間違えてファイルを作成しているのではないか?
・本当にディレクトリかどうか確認してみる
$ ls -a /var/www/sakuravps.tk/public.html
.  ..
$ ls -a /var/www/sakuravps.tk/public.html/
.  ..

・確かにディレクトリが作成されている
・最後の「/」を取ったり付けたりしてまで確認したけど、間違いない
・ただ、悲しいかな。作成されているのは違う名前のディレクトリ
・この時は、全く気が付かなかった

グループ名確認
# cat /etc/group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon
sys:x:3:bin,adm
adm:x:4:adm,daemon
tty:x:5:
disk:x:6:
lp:x:7:daemon
mem:x:8:
kmem:x:9:
wheel:x:10:★★
mail:x:12:mail,postfix
uucp:x:14:
man:x:15:
games:x:20:
gopher:x:30:
video:x:39:
dip:x:40:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
dbus:x:81:
utmp:x:22:
utempter:x:35:
floppy:x:19:
vcsa:x:69:
cdrom:x:11:
tape:x:33:
dialout:x:18:
ntp:x:38:
saslauth:x:76:
postdrop:x:90:
postfix:x:89:
abrt:x:173:
haldaemon:x:68:haldaemon
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
sshd:x:74:
tcpdump:x:72:
slocate:x:21:
★★:x:500:
apache:x:48:
#

・「★★」グループはあるみたいだけど、初めて利用するコマンドなので、見方が不明

この時考えていたこと
・なんで権限付与できないのだろう?
・ディレクトリ確認しても、権限付与されているように見えるのに…
・まさか作成したディレクトリ名が違っているとは、夢にも思わなかった


間違いに気付く


・この後も、同じコマンド何回も打ったり、良く分からないコマンドをコピペして打ったりしている内、ようやく間違いに気が付く
・「public.html」→「piblic_html」

ディレクトリ削除
# rm /var/www/sakuravps.tk/public.html/
rm: cannot remove `/var/www/sakuravps.tk/public.html/': ディレクトリです

# rm -r /var/www/sakuravps.tk/public.html
rm: remove ディレクトリ `/var/www/sakuravps.tk/public.html'? y


正しい所有権に変更
# chown -R ★★:★★ /var/www/sakuravps.tk/public_html/
# exit



再びファイル作成に挑戦


vim /var/www/sakuravps.tk/public_html/index.html

・今度はうまくいった

ブラウザ確認
・ブラウザでアクセスして、「/var/www/sakuravps.tk/public_html/index.html」の中身が表示されていればOK

VirtualHost設定 … 2つ目

 閲覧数:420 投稿日:2013-03-13 更新日:2017-12-28 

成功事例



権限変更
sudo -s


ディレクトリ作成
・-p 複数ディレクトリを一気に作成したい際につけるオプション
mkdir -p /var/www/●●.tk/public_html


ユーザに所有権を持たせる
・「dotinstall」ユーザに所有権を持たせる(変更する)
chown -R dotinstall:dotinstall /var/www/●●.tk


設定ファイル作成
・「/etc/httpd/conf.d」以下の「.conf」は、Webサーバが立ち上がった際、必ず読み込まれる
vim /etc/httpd/conf.d/●●.tk.conf

・iでインサートモードへ変更し、下記を貼り付け
<VirtualHost *:80>
 ServerName ●●.tk
 DocumentRoot "/var/www/●●.tk/public_html"
 DirectoryIndex index.html index.php
 ErrorLog /var/log/httpd/●●.tk_error_log
 CustomLog /var/log/httpd/●●.tk_access_log combined
 AddDefaultCharset UTF-8
 <Directory "/var/www/●●.tk/public_html">
   AllowOverride All
 </Directory>
</VirtualHost>

・「Esc」で「インサートモード」抜ける
・「:wq」で保存

バーチャルホスト自体を有効にする設定
・1つ目で実施済なので、省略

Webサーバ再起動
[root@★★ dotinstall]# service httpd configtest
Syntax OK
[root@★★ dotinstall]# service httpd restart
httpd を停止中:                                            [  OK  ]
httpd を起動中:                                            [  OK  ]


ファイル作成
・dotinstallでやりたいので、一旦ルートから抜ける
[root@★★ dotinstall]# exit
exit
[dotinstall@★★ ~]$

・ファイル作成(転送ツールを使わず)
vim /var/www/●●.tk/public_html/index.html

・Iモード後、下記を貼り付け
<html>
Hello from ●●.tk
</html>


ブラウザ確認
・「●●.tk」へアクセスして、「/var/www/●●.tk/public_html/index.html」の中身が表示されていればOK


申込→公開6.PHPインストール&設定


申込→公開4.VirtualHost設定のため、無料独自ドメインを探す



週間人気ページランキング / 9-18 → 9-24
順位 ページタイトル抜粋 アクセス数
1 Nginx設定。エラーログレベル | Nginx(Webサーバ) 17
2 PHP実行ユーザ設定 / CentOS6 / Apache | PHP(プログラミング言語) 14
3 9回目-13.MySQL5.7.21設定 | CentOS 7 2週間無料のお試し期間 9回目(さくらVPS) 12
4 PHPのmb_send_mail関数でメール送信できない | メール処理システム 10
5 ImageMagick と imagick の違い | ImageMagick(ソフトウェアスイート) 9
6 さくらVPS0 8
6 tar: これは tar アーカイブではないようです 8
7 manページ日本語表示 | CentOS 7 (CentOS) 7
7 Reached target Shutdown メッセージが表示されたあと、シャットダウンまたは再起動プロセスがハングアップする | CentOS 7 (CentOS) 7
8 ABRT により 問題が検出されました | CentOS 7 (CentOS) 6
8 PHPファイルでchmodエラー | PHP(プログラミング言語) 6
8 「設定ファイルに、暗号化 (blowfish_secret) 用の非公開パスフレーズの設定を必要とするようになりました。」対応 6
8 Python 3.5 アンインストール / yum remove | Python(プログラミング言語) 6
9 FFmpeg 2.8.15 を yum インストール | ソフトウェアスイート 5
9 echo と cat の違い 5
10 phpMyAdmin 4.4.3(phpMyAdmin) カテゴリー 4
10 6回目-10.Nginxでバーチャルホスト設定確認 | CentOS 7 2週間無料のお試し期間 6回目(さくらVPS) 4
10 「さくらVPS」で、「CentOS6」を「CentOS7」へ変更するためには? | CentOS 7 2週間無料のお試し期間 Link(さくらVPS) 4
10 cronで定期実行しているphpファイルを、コマンドライン経由で即時実行する | cron(Linuxコマンド) 4
10 MySQL 5.5 から 5.6 へのアップグレード | MySQL(データベース) 4
2021/9/25 1:01 更新