リモート(FreeBSD)にローカルからファイルを転送する

リモート操作のために ssh をすでに活用していると思いますが、現状ではApacheを起動したとしても「It works!」という文字が出てくるだけです。  
It works.png

  
そこで今回はローカルで作成したhtmlやcssをリモートのFreeBSDに転送したいと思います。
まずはデスクトップ上にファイルを作り、そこに作成したhtmlやcss、画像などを入れておきます。  
  
ターミナルを開きます。

ターミナル1
MacBook:~ user$ cd Desktop
MacBook:Desktop user$
#ディレクトリをデスクトップに移動

MacBook:Desktop user$ scp -r file name@192.168.56.102:/usr/local/www/apache24/data
#-r は複数のものを再帰的に転送するのに有効です
#xxx is not a regular file と言われるようならば scp の後に -r を追記して下さい
#file はDesktopにある転送したいファイル名です
#name@192.168.56.102はSSHの時と同様のやり方その後ろに転送先つまりFreeBSD上のどこに転送したいかのディレクトリを指定します
Password:
The authenticity of host '192.168.56.102 (192.168.56.102)' can't be established.
ECDSA key fingerprint is SHA256:PMFNYJV1rQdwpi3hGalT0oK6ukJD3Y9YXxcoPxfSPwA.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.56.102' (ECDSA) to the list of known hosts.
Password for user@group:
scp: /usr/local/www/apache24/data/file: Permission denied
#FreeBSD上の指定されたディレクトリに対して権限がないと言われました

  
ではもう1つターミナルを開き、FreeBSDにSSHでリモートログインし、先ほどのディレクトリの権限を変更しましょう。
  

ターミナル2(FreeBSD)
$ su
# cd /usr/local/www/apache24
転送先のディレクトリに移動

# ls
cgi-bin data    error   icons
現在このようなディレクトリが存在しているようです
このうちdatapermissionを変更します

# chmod 777 data
これで完了です
再びターミナル1に戻ります
ターミナル1
MacBook:Desktop user$ scp -r file name@192.168.56.102:/usr/local/www/apache24/data
Password for name@group:
.DS_Store                                     100% 8196     3.5MB/s   00:00    
style.css                                     100% 4468     2.1MB/s   00:00    
Thumbs.db                                     100%   46KB  13.0MB/s   00:00    
tool.jpg                                      100%   80KB  14.0MB/s   00:00    
for_html.png                  100%  685KB  24.7MB/s   00:00    
switch.jpg                                    100%   68KB  16.2MB/s   00:00    
second.jpg                                    100%   28KB  10.3MB/s   00:00    
lan.jpg                                       100%   54KB  12.5MB/s   00:00    
security.jpg                                  100%   56KB  12.8MB/s   00:00    
third.jpg                                     100%   33KB  12.2MB/s   00:00    
first.jpg                                     100%   36KB  11.4MB/s   00:00    
bg.jpg                                        100%  542KB  28.2MB/s   00:00    
for_web.html                             100% 4899     2.3MB/s   00:00    
for_web.txt                              100% 4899     2.4MB/s   00:00 

これで完了です

続いてFreeBSDの設定を変えていきます。今までWebで表示していたhtmlは

/usr/local/www/apache24/data/index.html

でした。しかし、先ほどファイルごと転送したため、参照してほしいのは

/usr/local/www/apache24/data/file/xxx.html

というディレクトリです。
では、httpd.confをいじります。

FreeBSD
$ su
# vim /usr/local/etc/apache24/httpd.conf
...
変更前
DocumentRoot "/usr/local/www/apache24/data"

<Directory "/usr/local/www/apache24/data">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>




変更後
DocumentRoot "/usr/local/www/apache24/data/file"

<Directory "/usr/local/www/apache24/data/file">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

<IfModule dir_module>
    DirectoryIndex xxx.html
</IfModule>

これで完了です
vimを終了して下さい

Apacheを再起動させます
# apachectl restart
Performing sanity check on apache24 configuration:
Syntax OK
Stopping apache24.
Waiting for PIDS: 92739.
Performing sanity check on apache24 configuration:
Syntax OK
Starting apache24.

では、エクスプローラーでもう一度読み込みましょう
convivi_html.png

ちゃんと変更が確認できました。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.