ドキュメントルートにシンボリックリンクln -sをはる Linux AWS

ドキュメントルートにシンボリックリンクln -sをはる Linux AWS
書き込んだので、サービスをリスタートする。
[root@ip-172-31-33-76 config]# service httpd restart
Stopping httpd: [ OK ]
Starting httpd: Syntax error on line 294 of /etc/httpd/conf/httpd.conf:
DocumentRoot must be a directory
[FAILED]
[root@ip-172-31-33-76 config]#
しかし、エラーになる

/etc/httpd/conf/httpd.conf:の294行目がよくないらしい
調べると
DocumentRoot “/var/www/html/todo/public”
ここが、ディレクトリである必要がある。
思い出した。
シンボリックリンクを貼る必要がある。

とりあえず、
/home/jhon/hiyokoに移動する。
そしてSUDO SUになる
次に、
今回はここにtodoのリンクをはる。ディレクトリがすでに/var/www/htmlであることを前提としている。このtodoの実体は/home/jhon/todoになる

あれ?できない。
逆かな。ディレクトリの指定が逆みたい。入れ替えたらうまくいった。

シンボリックリンクの貼り方

ドキュメントルートに、Railsアプリのディレクトリを指定したい。
すでにhttpd.confには記述した。でもRailsアプリのディレクトリである「todo」ディレクトリをドキュメントルートに設定していない。ここにシンボリックリンクを貼ればよいのだ。
現在のカレントディレクトリは
/var/www/htmlになる。そして、このディレクトリにtodoシンボリックリンクを作る。
もとのディレクトリはRailsアプリのディレクトリである/home/jhon/todoディレクトリ。
つまり、
/var/www/html/todoに/home/jhon/todoのリンクを作ることになる。
ln では、貼りたい先のディレクトリ:シンボリックリンク名の順なのかな。

つまり、ls -s リンク先、シンボリックリンク名
ここのディレクトリは/var/www/htmlになる。ここで実行した
SUDO SUになってます。#がついているのでわかる
[root@ip-172-31-33-76 html]# ls -al
total 8
drwxr-xr-x 2 root root 4096 Mar 3 17:15 .
drwxr-xr-x 6 root root 4096 Jan 21 19:34 ..
lrwxrwxrwx 1 root root 17 Jan 23 22:13 hiyoko -> /home/jhon/hiyoko
lrwxrwxrwx 1 root root 15 Mar 3 17:15 todo -> /home/jhon/todo
[root@ip-172-31-33-76 html]#
このtodoはrailsアプリケーションのディレクトリ

こちらの記事もどうぞ