Apache AH00072 ์๋ฌ ์๋ฒฝํ ํด๊ฒฐ ๋ฐฉ๋ฒ
์๋ฒ๋ฅผ ๊ด๋ฆฌํ๋ค ๋ณด๋ฉด ์๊ธฐ์น ์์ ์๋ฌ ๋ฉ์์ง์ ๋ง์ฃผ์น ๋๊ฐ ๋ง์ฃ . ๊ทธ์ค์์๋ Apache ์น ์๋ฒ๋ฅผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์๋ ์์คํ
๊ด๋ฆฌ์๋ผ๋ฉด AH00072: make_sock: could not bind to address๋ผ๋ ์๋ฌ๋ฅผ ํ ๋ฒ์ฏค์ ๋ณด์
จ์ ๊ฒ๋๋ค. ์ด ์๋ฌ๋ Apache๊ฐ ์์๋์ง ๋ชปํ๊ฒ ๋ง๋ ์ฃผ๋ฒ ์ค ํ๋๋ก, ์น์ฌ์ดํธ๊ฐ ๋ค์ด๋๋ ์ง์ ์ ์ธ ์์ธ์ด ๋ฉ๋๋ค.
ํ์ง๋ง ๊ฑฑ์ ๋ง์ธ์! ์ด ์๋ฌ๋ ๋ณดํต ๋ช ๊ฐ์ง ๊ฐ๋จํ ํ์ธ๊ณผ ์กฐ์น๋ก ํด๊ฒฐํ ์ ์์ต๋๋ค. ์ด ๊ธ์์๋ AH00072 ์๋ฌ๊ฐ ์ ๋ฐ์ํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์๋์ง ์ฐจ๊ทผ์ฐจ๊ทผ ์์๋ณด๊ฒ ์ต๋๋ค. ์ด ๊ธ์ ๋๊น์ง ์ฝ์ผ์๋ฉด, ๋ค์์ ๊ฐ์ ์๋ฌ๋ฅผ ๋ง๋๋ ๋นํฉํ์ง ์๊ณ ์นจ์ฐฉํ๊ฒ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ ๊ฑฐ์์.
AH00072 ์๋ฌ์ ํํ ์์ธ๋ค
AH00072: make_sock: could not bind to address ์๋ฌ ๋ฉ์์ง๋ Apache๊ฐ ์ง์ ๋ ํฌํธ(์ฃผ๋ก 80 ๋๋ 443)์ ์ฐ๊ฒฐ(bind)ํ๋ ค ํ์ง๋ง ์คํจํ๋ค๋ ์๋ฏธ์
๋๋ค. ๋ง์น ์ฃผ์ฐจ์ฅ์ ์ฐจ๋ฅผ ์ธ์ฐ๋ ค๋๋ฐ ์ด๋ฏธ ๋ค๋ฅธ ์ฐจ๊ฐ ์๋ฆฌ๋ฅผ ์ฐจ์งํ๊ณ ์๋ ์ํฉ๊ณผ ๋น์ทํ์ฃ .
์ฃผ์ ์์ธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ํฌํธ ์ถฉ๋: ๊ฐ์ฅ ํํ ์์ธ์ ๋๋ค. Apache๊ฐ ์ฌ์ฉํ๋ ค๋ ํฌํธ๋ฅผ ์ด๋ฏธ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ๊ณ ์์ ๋ ๋ฐ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, Nginx๋ ๋ค๋ฅธ ์น ์๋ฒ ์ธ์คํด์ค๊ฐ ๊ฐ์ ํฌํธ์์ ์คํ ์ค์ด๊ฑฐ๋, ์ด์ Apache ํ๋ก์ธ์ค๊ฐ ๋น์ ์์ ์ผ๋ก ์ข ๋ฃ๋์ด ํฌํธ๋ฅผ ๊ณ์ ์ ์ ํ๊ณ ์์ ์ ์์ต๋๋ค.
- Apache ์ค์ ์ค๋ฅ:
ports.conf๋ ๊ฐ์ ํธ์คํธ(Virtual Host) ์ค์ ํ์ผ์์ ํฌํธ ์ค์ ์ด ์๋ชป๋์์ ๊ฒฝ์ฐ ์๋ฌ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. - ๋ฐฉํ๋ฒฝ ์ค์ : ์ด์์ฒด์ ๋ ํด๋ผ์ฐ๋ ํ๊ฒฝ(AWS, GCP ๋ฑ)์ ๋ฐฉํ๋ฒฝ ๋๋ ๋ณด์ ๊ทธ๋ฃน์ด Apache๊ฐ ์ฌ์ฉํ๋ ค๋ ํฌํธ๋ก์ ์ ๊ทผ์ ์ฐจ๋จํ๊ณ ์์ ์ ์์ต๋๋ค.
- ๊ถํ ๋ฌธ์ (SELinux): ํนํ CentOS๋ RHEL ๊ฐ์ ์์คํ ์์ SELinux ๋ณด์ ์ ์ฑ ์ด Apache๊ฐ ํน์ ํฌํธ์ ๋ฐ์ธ๋ฉํ๋ ๊ฒ์ ๋ง์ ๋ "Permission denied"์ ํจ๊ป AH00072 ์๋ฌ๊ฐ ๋ํ๋ ์ ์์ต๋๋ค.
๋ฌธ์ ํด๊ฒฐ์ ์ํ ์ค๋น
๋ณธ๊ฒฉ์ ์ธ ํด๊ฒฐ์ ์์, ๋ค์ ์ฌํญ๋ค์ด ์ค๋น๋์๋์ง ํ์ธํด์ฃผ์ธ์.
- ํฐ๋ฏธ๋ ์ ๊ทผ ๊ถํ: ์๋ฒ์ SSH ๋ฑ์ผ๋ก ์ ์ํ์ฌ ๋ช ๋ น์ด๋ฅผ ์คํํ ์ ์์ด์ผ ํฉ๋๋ค.
- ๋ฃจํธ(root) ๋๋ sudo ๊ถํ: ์์คํ ์ค์ ์ ๋ณ๊ฒฝํ๊ฑฐ๋ ๋ค๋ฅธ ์ฌ์ฉ์์ ํ๋ก์ธ์ค๋ฅผ ํ์ธ/์ข ๋ฃํ๋ ค๋ฉด ๊ด๋ฆฌ์ ๊ถํ์ด ํ์ํฉ๋๋ค.
์, ์ด์ ์ค๋น๊ฐ ๋์๋ค๋ฉด ๋ณธ๊ฒฉ์ ์ผ๋ก ์๋ฌ๋ฅผ ํด๊ฒฐํด ๋ด ์๋ค!
ํด๊ฒฐ ๋ฐฉ๋ฒ: ๋จ๊ณ๋ณ ๊ฐ์ด๋
1. ํฌํธ๋ฅผ ์ ์ ์ค์ธ ํ๋ก์ธ์ค ์ฐพ๊ณ ์ข ๋ฃํ๊ธฐ
๊ฐ์ฅ ๋จผ์ ํ ์ผ์ ์ด๋ค ํ๋ก์ธ์ค๊ฐ ๋ฌธ์ ๋ฅผ ์ผ์ผํค๋์ง ํ์ธํ๋ ๊ฒ์
๋๋ค. netstat ๋๋ ss ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ํน์ ํฌํธ๋ฅผ ์ฌ์ฉ ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ์ฝ๊ฒ ์ฐพ์ ์ ์์ต๋๋ค.
netstat ์ฌ์ฉ (์ผ๋ฐ์ )
80๋ฒ ํฌํธ๋ฅผ ์๋ก ๋ค์ด๋ณด๊ฒ ์ต๋๋ค. ํฐ๋ฏธ๋์ ๋ค์ ๋ช
๋ น์ด๋ฅผ ์
๋ ฅํ์ธ์.
sudo netstat -nap | grep :80
ss ์ฌ์ฉ (์ต์ ๋ฆฌ๋
์ค ์์คํ
)
ss๋ netstat๋ณด๋ค ๋ ๋น ๋ฅด๊ณ ๋ง์ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค.
sudo ss -lptn 'sport = :80'
๋ช
๋ น์ด๋ฅผ ์คํํ๋ฉด 80๋ฒ ํฌํธ๋ฅผ ์ฌ์ฉ ์ค์ธ ํ๋ก์ธ์ค์ ์ด๋ฆ(์: httpd, nginx)๊ณผ PID(Process ID)๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ๋ง์ฝ Apache๊ฐ ์๋ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ํฌํธ๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค๋ฉด, ํด๋น ์๋น์ค๋ฅผ ์ค์งํ๊ฑฐ๋ ์ค์ ์ ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
๋ง์ฝ ๋น์ ์์ ์ผ๋ก ์ข
๋ฃ๋์ง ์์ Apache ํ๋ก์ธ์ค๊ฐ ํฌํธ๋ฅผ ์ ์ ํ๊ณ ์๋ค๋ฉด, kill ๋ช
๋ น์ด๋ก ํด๋น ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ ์ข
๋ฃํ ์ ์์ต๋๋ค.
sudo kill -9 [PID ๋ฒํธ]
์๋ฅผ ๋ค์ด, PID๊ฐ 1234๋ผ๋ฉด sudo kill -9 1234๋ฅผ ์คํํ๋ฉด ๋ฉ๋๋ค. ํ๋ก์ธ์ค๋ฅผ ์ข
๋ฃํ ํ, Apache๋ฅผ ๋ค์ ์์ํด๋ณด์ธ์.
sudo systemctl start apache2
# ๋๋
sudo service apache2 start
2. Apache ์ค์ ํ์ผ ์์ ํ๊ธฐ
๋ง์ฝ ๋ค๋ฅธ ์ค์ํ ์๋น์ค๊ฐ ํด๋น ํฌํธ๋ฅผ ์ฌ์ฉํ๊ณ ์์ด ์ข ๋ฃํ ์ ์๋ค๋ฉด, Apache๊ฐ ๋ค๋ฅธ ํฌํธ๋ฅผ ์ฌ์ฉํ๋๋ก ์ค์ ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
๋จผ์ , Apache์ ๋ฉ์ธ ํฌํธ ์ค์ ํ์ผ์ธ ports.conf๋ฅผ ์ฐพ์์ผ ํฉ๋๋ค. ๋ณดํต /etc/apache2/ ๋๋ ํฐ๋ฆฌ ์์ ์์ต๋๋ค.
# ํ์ผ ์์น ์ฐพ๊ธฐ (ํ์ ์)
find / -name ports.conf
# ํ์ผ ์์ ํ๊ธฐ (vim ๋๋ ๋ค๋ฅธ ํธ์ง๊ธฐ ์ฌ์ฉ)
sudo vim /etc/apache2/ports.conf
ํ์ผ์ ์ด๋ฉด Listen 80๊ณผ ๊ฐ์ด ํฌํธ ๋ฒํธ๊ฐ ์ง์ ๋ ์ค์ ๋ณผ ์ ์์ต๋๋ค. ์ด ๋ฒํธ๋ฅผ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ค๋ฅธ ํฌํธ(์: 8080)๋ก ๋ณ๊ฒฝํด์ฃผ์ธ์.
# Before
Listen 80
# After
Listen 8080
๊ฐ์ ํธ์คํธ๋ฅผ ์ฌ์ฉ ์ค์ด๋ผ๋ฉด, ํด๋น ๊ฐ์ ํธ์คํธ ์ค์ ํ์ผ (/etc/apache2/sites-available/your-site.conf ๋ฑ)์์๋ ํฌํธ ๋ฒํธ๋ฅผ ์ผ์น์์ผ์ผ ํฉ๋๋ค.
# Before
<VirtualHost *:80>
...
</VirtualHost>
# After
<VirtualHost *:8080>
...
</VirtualHost>
์ค์ ๋ณ๊ฒฝ ํ์๋ Apache๋ฅผ ์ฌ์์ํ์ฌ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํฉ๋๋ค.
3. ๋ฐฉํ๋ฒฝ ์ค์ ํ์ธํ๊ธฐ
์ฌ์ค, ์ ์๋ฃจ์ ์ผ๋ก๋ ํด๊ฒฐ์ด ๊ฐ๋ฅํ ๊ฒ์ ๋๋ค. ๋ฐฉํ๋ฒฝ์ ๋ง์ง๋ง ๋จ๊ณ์์ ํ์ธํด๋ณด์๋๊ฒ ์ข์ต๋๋ค. Apache๊ฐ ์ฌ์ฉํ ํฌํธ๋ฅผ ๋ณ๊ฒฝํ๋ค๋ฉด, ๋ฐฉํ๋ฒฝ์์๋ ํด๋น ํฌํธ๋ฅผ ์ด์ด์ฃผ์ด์ผ ์ธ๋ถ์์ ์ ์ํ ์ ์์ต๋๋ค.
UFW (Ubuntu)
8080 ํฌํธ๋ฅผ ์๋ก ๋ค๊ฒ ์ต๋๋ค.
sudo ufw allow 8080/tcp
sudo ufw reload
firewalld (CentOS/RHEL)
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
AWS, GCP ๋ฑ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ์ฌ์ฉ ์ค์ด๋ผ๋ฉด, ํด๋น ํ๋ซํผ์ โ๋ณด์ ๊ทธ๋ฃนโ ๋๋ โ๋ฐฉํ๋ฒฝ ๊ท์นโ ์ค์ ์์ ์ธ๋ฐ์ด๋ ๊ท์น์ผ๋ก ๋ณ๊ฒฝํ ํฌํธ๋ฅผ ํ์ฉํด์ผ ํฉ๋๋ค.
์ฌ๋ฐ ๋ฐฉ์ง๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ๋ ์ค์ํ์ง๋ง, ์์ผ๋ก ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ง ์๋๋ก ์๋ฐฉํ๋ ๊ฒ์ด ๋ ์ข์ต๋๋ค.
- ์๋ฒ ๋ด ์๋น์ค ํฌํธ ๋ชฉ๋กํ: ์๋ฒ์์ ์คํ ์ค์ธ ์ฃผ์ ์๋น์ค์ ๊ฐ ์๋น์ค๊ฐ ์ฌ์ฉํ๋ ํฌํธ๋ฅผ ๋ฌธ์๋ก ์ ๋ฆฌํด๋๋ฉด ํฌํธ ์ถฉ๋์ ๋ฏธ์ฐ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
- Apache ์ ์ ์ข
๋ฃ ์ต๊ดํ: ์๋ฒ๋ฅผ ์ฌ์์ํ๊ฑฐ๋ Apache ์ค์ ์ ๋ณ๊ฒฝํ ๋๋
systemctl stop apache2๋service apache2 stop๊ณผ ๊ฐ์ ์ ์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด ์ ์์ ์ผ๋ก ์๋น์ค๋ฅผ ์ข ๋ฃํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. - ์ ๊ธฐ์ ์ธ ์๋ฒ ๋ชจ๋ํฐ๋ง: ๋ชจ๋ํฐ๋ง ๋๊ตฌ๋ฅผ ์ฌ์ฉํด ์๋ฒ์ ๋ฆฌ์์ค ์ฌ์ฉ๋๊ณผ ์คํ ์ค์ธ ํ๋ก์ธ์ค๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ํ์ธํ๋ฉด ์๊ธฐ์น ์์ ๋ฌธ์ ๋ฅผ ์กฐ๊ธฐ์ ๋ฐ๊ฒฌํ ์ ์์ต๋๋ค.