Squidが起動しない…

プロキシサーバ Squid 、たまに iPhone から MacBook 上のWebサーバに接続する際に使うんですが、どういうタイミングからなのか正常に起動できなくなっていました。

「（プロセス起動してるかな…）」

```
[~]$ ps aux | grep squid
minto             8776   0.0  0.0  4267752    876 s001  S+    4:35PM   0:00.00 grep squid
```

「（あれ、起動してない）」
「（brew経由だったはずなんだけど、起動してなかったっけ…）」

```
[~]$ brew services list | grep squid
squid                      started minto /Users/minto/Library/LaunchAgents/homebrew.mxcl.squid.plist
```

「（あれ、起動してるやんけ）」
「（とりあえず起動し直してみるか）」

```
[~]$ brew services stop squid
Stopping `squid`... (might take a while)
==> Successfully stopped `squid` (label: homebrew.mxcl.squid)
```

```
[~]$ brew services start squid
==> Successfully started `squid` (label: homebrew.mxcl.squid)
```

```
[~]$ ps uax | grep squid
minto             9541   0.0  0.0  4267752    876 s001  S+    4:37PM   0:00.00 grep squid
```

「（？？？）」
「（えーと・・・）」

```
[~]$ squid
-bash: squid: command not found
```

「（あれ？ パス通ってない？ なんで？）」

```
[~]$ brew info squid
squid: stable 3.5.28 (bottled), HEAD
Advanced proxy caching server for HTTP, HTTPS, FTP, and Gopher
http://www.squid-cache.org/
/usr/local/Cellar/squid/3.5.28 (2,071 files, 9.3MB) *
  Poured from bottle on 2019-02-01 at 12:06:09
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/squid.rb
==> Dependencies
Required: openssl ✔
==> Options
--HEAD
	Install HEAD version
==> Caveats
To have launchd start squid now and restart at login:
  brew services start squid
Or, if you don't want/need a background service you can just run:
  squid
==> Analytics
install: 329 (30 days), 1,091 (90 days), 5,280 (365 days)
install_on_request: 310 (30 days), 1,020 (90 days), 4,765 (365 days)
build_error: 0 (30 days)
```

「（…直接コマンド実行してみるか）」

```
[~]$ /usr/local/Cellar/squid/3.5.28/sbin/squid
```
```
[~]$ ps aux | grep squid
minto            10081   0.0  0.0  4267752    884 s001  S+    4:41PM   0:00.00 grep squid
```

「（これもダメなのかよ）」
「（…なんとなくsudo実行してみるか）」

```
[~]$ sudo /usr/local/Cellar/squid/3.5.28/sbin/squid
Password:
WARNING: Cannot write log file: /usr/local/var/logs/cache.log
/usr/local/var/logs/cache.log: Permission denied
         messages will be sent to 'stderr'.
Squid is already running!  Process ID 391
```

「（あれ、 `Squid is already running!` の扱いなのか…？？）」
「（じゃあPIDを覚えちゃってて停止処理でおかしくなった可能性があるのか。）」
「（…PIDファイルどこだ？？？）」

```
[~]$ ll /var/run/squid.pid
ls: /var/run/squid.pid: No such file or directory
```

「（ないか…）」

[squid : pid_filename configuration directive](http://www.squid-cache.org/Doc/config/pid_filename/)

```
[~]$ grep 'pid_filename' /usr/local/etc/squid.conf
```

「（`squid.conf` にも定義されてないのか。環境依存なんだろうか…。デフォルトどこなのかよくわからんな…。）」
「（じゃあもう再定義するか）」

```
[~]$ vi /usr/local/etc/squid.conf

pid_filename /var/run/squid.pid
```

```
[~]$ brew services stop squid
Stopping `squid`... (might take a while)
==> Successfully stopped `squid` (label: homebrew.mxcl.squid)
```

```
[~]$ brew services start squid
==> Successfully started `squid` (label: homebrew.mxcl.squid)
```

```
[~]$ ps aux | grep squid
minto            10274   0.0  0.0  4267752    876 s001  S+    4:59PM   0:00.01 grep squid
minto             9840   0.0  0.1  4305104  14748   ??  S     4:37PM   0:00.13 /usr/local/opt/squid/sbin/squid -N -d 1
```

```
[~]$ ll /var/run/squid.pid
-rw-r--r--  1 root  daemon  6  2  1 16:42 /var/run/squid.pid
```

「（………）」


***SEE YOU SPACE COWBOY…***