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

リモート操作のために **ssh** をすでに活用していると思いますが、現状ではApacheを起動したとしても「It works!」という文字が出てくるだけです。　　
![It works.png](https://qiita-image-store.s3.amazonaws.com/0/241572/f148896e-9d08-371b-0ff4-0119bea401c1.png)

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

```python:ターミナル１
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上の指定されたディレクトリに対して権限がないと言われました
```  
　　
ではもう１つターミナルを開き、FreeBSDにSSHでリモートログインし、先ほどのディレクトリの権限を変更しましょう。
　　

```javascript:ターミナル２（FreeBSD）
$ su
# cd /usr/local/www/apache24
転送先のディレクトリに移動

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

# chmod 777 data
これで完了です
再びターミナル１に戻ります
```  

  
```python:ターミナル１
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をいじります。

```java: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](https://qiita-image-store.s3.amazonaws.com/0/241572/59e54f62-ce8f-567f-e3a3-0577f2a8a82e.png)
  
ちゃんと変更が確認できました。