FTP is protocol which I haven’t used for many years. I configured FTP servers like vsftpd or ProFTPD in the past, but this time I decided to look at the SFTPGo.
The main reason why I wanted to run own FTP server on my laptop is to transfer photos from my camera Sony A7 IV wirelessly (no cables / SD card swapping).
SFTPGo
Let’s look at the way how you can run the FTP server on MacOS:
Install SFTPGo:
1
brew install sftpgo
Create test
user and set admin account:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
sftpgo resetprovider --force --config-dir /usr/local/var/sftpgo
cat > /tmp/sftpgo-initprovider-data.json << EOF
{
"users": [
{
"id": 1,
"status": 1,
"username": "test",
"password": "test123",
"home_dir": "${HOME}/Pictures/ftp",
"uid": 501,
"gid": 20,
"permissions": {
"/": [
"*"
]
}
}
],
"folders": [],
"admins": [
{
"id": 1,
"status": 1,
"username": "admin",
"password": "admin123",
"permissions": [
"*"
]
}
]
}
EOF
sftpgo initprovider --config-dir /usr/local/var/sftpgo --loaddata-from /tmp/sftpgo-initprovider-data.json
Configure SFTPGo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
cat > /usr/local/etc/sftpgo/sftpgo.json << EOF
{
"ftpd": {
"bindings": [
{
"port": 21
}
]
},
"httpd": {
"bindings": [
{
"port": 7999
}
]
},
"sftpd": {
"bindings": [
{
"port": 0
}
]
}
}
EOF
sudo brew services restart sftpgo
Restart the SFTPGo:
1
sudo brew services restart sftpgo
You can check the WebAdmin interface to see the details about created user: http://127.0.0.1:8080/web/admin/users
Sony Camera FTP + WiFi settings
Now you need to configure the Sony camera (Sony A7 IV) and connect it to the WiFi + Configure FTP Transfer.
Configure Wi-Fi connection to you Access Point / wireless router (or you can create Personal Hotspot on your iPhone like I did):
flowchart LR A1[Network] --> A2(Wi-Fi) --> A3(Access Point Set.) --> A4(...your WiFi AP...)
Make sure your Mac is connected to the same WiFi as your Sony camera
Find your local IP address on the Mac by running the
ifconfig
command in the terminal:1 2 3 4
❯ ifconfig en0 ... inet 172.20.10.4 netmask ... ...
Configure FTP:
flowchart LR A1[Network] --> A2(Transfer/Remote) --> A3(FTP Transfer Func) --> A4(Server Setting) --> A5(Server 1) A5 --> B1(Display Name) --> B2(SFTPGo) A5 --> C1(Destination Settings) --> C2(Hostname) --> C3(172.20.10.4) C1 --> D1(Port) --> D2(21) A5 --> E1(User Info Setting) --> E2(User) --> E3(test) E1 --> F1(Password) --> F2(test123)
Enable FTP:
flowchart LR A1[Network] --> A2(Transfer/Remote) --> A3(FTP Transfer Func) --> A4(FTP Function) --> A5(On) B1[Network] --> B2(Transfer/Remote) --> B3(FTP Transfer Func) --> B4(FTP Power Save) --> B5(On)
Initiate FTP transfer (copy photos from your camera to your Mac):
flowchart LR A1[Network] --> A2(Transfer/Remote) --> A3(FTP Transfer Func) --> A4(FTP Transfer) --> A5(OK)
The camera configuration including WiFi configuration, FTP, and photo transfer can be found here:
Enjoy … 😉