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ïŒã«ãã€ã³ãããããšããã倱æããããšãæå³ããŸãã ããã¯ãŸãã§ é§è»å Žã«è»ãåããããšãããããã§ã«å¥ã®è»ããã®ã¹ããŒã¹ãå ããŠãããããªç¶æ³ ã«äŒŒãŠããŸãã
äž»ãªåå ã¯æ¬¡ã®ãšããã§ãïŒ
-
ããŒãç«¶åïŒæãäžè¬çãªåå ã§ããApache ã䜿çšããããšããŠããããŒããæ¢ã«å¥ã®ããã»ã¹ã䜿çšããŠããå Žåã«çºçããŸããããšãã°ãNginx ãå¥ã®ãŠã§ããµãŒããŒã€ã³ã¹ã¿ã³ã¹ãåãããŒãã§åäœããŠããããŸãã¯åã® Apache ããã»ã¹ãç°åžžçµäºããŠããŒããå æãããŸãŸã«ãªã£ãŠããå¯èœæ§ããããŸãã
-
Apache èšå®ãã¹ïŒ
ports.confãããŒãã£ã«ãã¹ãïŒVirtualâ¯HostïŒèšå®ãã¡ã€ã«ã§ããŒãã®èšå®ã誀ã£ãŠããå Žåã«ãšã©ãŒãåºãããšããããŸãã -
ãã¡ã€ã¢ãŠã©ãŒã«èšå®ïŒOS ãã¯ã©ãŠãç°å¢ïŒ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ïŒããã»ã¹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ãšãã£ãæ£åŒãªã³ãã³ãã䜿ã£ãŠãµãŒãã¹ãæ£åžžã«çµäºãããããšãéèŠã§ãã -
宿çãªãµãŒããŒã¢ãã¿ãªã³ã°ïŒã¢ãã¿ãªã³ã°ããŒã«ã䜿ã£ãŠãµãŒããŒã®ãªãœãŒã¹äœ¿çšéãåäœäžã®ããã»ã¹ã宿çã«ç¢ºèªããã°ãäºæããªãåé¡ãæ©æã«çºèŠã§ããŸãã