서버를 일시적으로 사용할 수 없습니다(503 오류). httpd를 찾을 수 없습니다. httpd를 설치하는 방법이 필요합니다.

서버를 일시적으로 사용할 수 없습니다(503 오류). httpd를 찾을 수 없습니다. httpd를 설치하는 방법이 필요합니다.

공유 IP를 사용하여 여러 웹 사이트가 있는 로컬 웹 서버를 실행하고 있습니다. 최근에 Ubuntu 22.04.1 LTS로 업그레이드했는데 이제 내 사이트 중 하나만 정상적으로 작동하는 것을 발견했습니다. 업그레이드 당시에는 이 문제가 존재하지 않았다고 확신할 수는 없지만, 작동하고 있던 것은 그리 오래되지 않았습니다.

etc/hosts

192.168.1.29    secondbase  
192.168.1.29    mattiefernworrix.lan  
192.168.1.29    mfwsandbox  
192.168.1.29    pinkpoodle  
192.168.1.29    mfwx

secondbase서버 이름입니다.

mattiefernworrix.lan은 목록의 첫 번째 항목으로 잘 작동합니다. 나머지 3개(mfwsandbox, pinkpoodle 및 mfwx)는 그렇지 않습니다. 사실, 그것은 완전히 사실이 아닙니다. 정적 HTML 페이지를 요청하면 예상대로 나타납니다. .php 파일을 요청하면 503 메시지와 함께 실패합니다. PHP 파일은 모두 mysql db에서 데이터를 가져옵니다.

내가 판단할 수 있는 한, httpd는 실행되고 있지 않습니다.

jking@secondbase:/sbin$ systemctl status httpd
Unit httpd.service could not be found.

그래서 httpd를 설치하려고 시도했지만 실패했습니다.

sudo apt-get update  
sudo apt-get install httpd  

Reading package lists... Done  
Building dependency tree... Done  
Reading state information... Done  
Package httpd is a virtual package provided by:  
  nginx-light 1.18.0-6ubuntu14.1  
  nginx-full 1.18.0-6ubuntu14.1  
  nginx-extras 1.18.0-6ubuntu14.1  
  nginx-core 1.18.0-6ubuntu14.1  
  apache2 2.4.52-1ubuntu4.1  
  yaws 2.1.1+dfsg-1  
  webfs 1.21+ds1-12  
  tntnet 2.2.1-4build2  
  mini-httpd 1.30-2build1  
  micro-httpd 20140814-2.1  
  lighttpd 1.4.63-1ubuntu3  
You should explicitly select one to install.

E: Package 'httpd' has no installation candidate

마지막으로 apache2 패키지를 설치하려고 했습니다.

jking@secondbase:/sbin$ sudo apt-get install apache2

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
apache2 is already the newest version (2.4.52-1ubuntu4.1).
0 upgraded, 0 newly installed, 0 to remove and 13 not upgraded.

여기서 어디로 가야할지 잘 모르겠습니다. apache2를 제거한 다음 다시 설치하시겠습니까?

어떤 도움이라도 대단히 감사하겠습니다.


답변해 주셔서 감사합니다.

로그 파일 메시지의 예(결합):

192.168.1.29 - - [27/Aug/2022:16:36:22 -0700] "GET /index2.html HTTP/1.1" 200 318 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0"  
192.168.1.29 - - [27/Aug/2022:16:36:31 -0700] "GET /index.html HTTP/1.1" 200 318 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0"

192.168.1.29 - - [27/Aug/2022:16:37:24 -0700] "GET /search_msqli.php HTTP/1.1" 503 565 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0"  
[Sat Aug 27 16:37:24.856332 2022] [proxy:error] [pid 1101] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php7.4-fpm.sock (*) failed  
[Sat Aug 27 16:37:24.856459 2022] [proxy_fcgi:error] [pid 1101] [client 192.168.1.29:37158] AH01079: failed to make connection to backend: httpd-UDS

192.168.1.29 - - [27/Aug/2022:17:05:04 -0700] "GET /search_msqli.php HTTP/1.1" 503 565 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0"  
[Sat Aug 27 17:05:04.820227 2022] [proxy:error] [pid 4836] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php7.4-fpm.sock (*) failed  
[Sat Aug 27 17:05:04.820254 2022] [proxy_fcgi:error] [pid 4836] [client 192.168.1.29:37160] AH01079: failed to make connection to backend: httpd-UDS

192.168.1.29 - - [27/Aug/2022:17:08:50 -0700] "GET /payments_msqli.php HTTP/1.1" 503 565 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:104.0) Gecko/20100101 Firefox/104.0"  
[Sat Aug 27 17:08:50.349738 2022] [proxy:error] [pid 1100] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php7.4-fpm.sock (*) failed  
[Sat Aug 27 17:08:50.349776 2022] [proxy_fcgi:error] [pid 1100] [client 192.168.1.29:37172] AH01079: failed to make connection to backend: httpd-UDS

이전글 찾았는데

phpmyadmin "503 서비스를 사용할 수 없습니다": Unbuntu 20.04, MySQL 8.0

그것을 알아 냈습니다. 다른 사람이 이 문제를 겪을 경우를 대비해 하위 도메인 VirtualHost에 다음 블록을 추가해야 했고, phpmyadmin이 하위 도메인에 다시 표시되기 시작합니다.

<FilesMatch ".php$">
SetHandler "proxy:unix:/var/run/php/php7.4->fpm.username.sock|fcgi://localhost/"
< /FilesMatch>

찾아봤는데 디렉토리가 없네요 /var/run/php/.

jking@secondbase:~$ php -v  
PHP 8.1.2 (cli) (built: Jul 21 2022 12:10:37) (NTS)

추가 문제 증상

안녕하세요, 제가 말한 것이 유일하게 작동하는 웹사이트에는 html 파일만 있고 php 파일은 없다는 것을 깨달았습니다. info.php 파일을 추가하고 503 응답을 받았습니다. 따라서 제공되는 모든 사이트는 PHP 파일을 처리할 수 없고 503 오류 메시지로 응답할 수 없습니다.

libapache2-mod-php를 확인하세요.

22.04로 업그레이드하는 것 외에는 아무것도 하지 않았습니다. 기존 설치(패키지)였기 때문에 필요한 것은 뭐든지 업데이트할 것이라고 가정했습니다. 내가 그런 가정을 한 것이 틀렸는가? 이것은 업그레이드 이전에 모두 작동했습니다. 나는 또한 그 이후로 apt-get update를 여러 번 실행했습니다.

확인해보면:

jking@secondbase:~$ dpkg -s libapache2-mod-php  
Package: libapache2-mod-php  
Status: install ok installed  
Priority: optional  
Section: php  
Installed-Size: 18  
Maintainer: Ubuntu Developers <[email protected]>  
Architecture: all  
Source: php-defaults (92ubuntu1)  
Version: 2:8.1+92ubuntu1  
Depends: libapache2-mod-php8.  
Description: server-side, HTML-embedded scripting language (Apache 2 module) (default)

 This package provides the PHP module for the Apache 2 webserver.

 PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML.

 This package is a dependency package, which depends on latest stable
 PHP version (currently 8.1).

Original-Maintainer: Debian PHP Maintainers <[email protected]>

버전 불일치?

따라서 오류 메시지는 php 7.4를 나타내고 /run/php/php7.4-fpm.sock (*) faileddpkg는 php 8.1을 나타냅니다 Version: 2:8.1+92ubuntu1. 업데이트해야 할 것이 있나요? 아니면 제거/제거해야 하는 것이 있습니까?

남자

패키지를 최신 상태로 유지

jking@secondbase:/var/log/apache2$ dpkg-query -l libapache2-mod-php8.1
||/ Name                  Version          Architecture Description
+++-=====================-================-============-=======================>  
ii  libapache2-mod-php8.1 8.1.2-1ubuntu2.3 amd64        server-side, HTML-embed>


jking@secondbase:/var/log/apache2$ dpkg-query -l libapache2-mod-php  
||/ Name               Version         Architecture Description  
+++-==================-===============-============-===========================>  
ii  libapache2-mod-php 2:8.1+92ubuntu1 all          server-side, HTML-embedded >  


jking@secondbase:/var/log/apache2$ dpkg-query -l libapache2-mod-php7.4
||/ Name                  Version      Architecture Description
+++-=====================-============-============-===========================>
un  libapache2-mod-php7.4 <none>       <none>       (no description available)


jking@secondbase:/var/log/apache2$ dpkg-query -l libapache2-mod-php8.0
||/ Name                  Version      Architecture Description
+++-=====================-============-============-===========================>
un  libapache2-mod-php8.0 <none>       <none>       (no description available)

불행하게도 뚜렷한 차이는 없었습니다. error.log 파일에서 여전히 PHP7.4에 대해 불평하고 있습니다.

[Sun Aug 28 23:23:44.600963 2022] [proxy:error] [pid 6221] (2)No such file or directory: AH02454: FCGI: attempt to connect to Unix domain socket /run/php/php7.4-fpm.sock (*) failed

[Sun Aug 28 23:23:44.601007 2022] [proxy_fcgi:error] [pid 6221] [client 192.168.1.29:56866] AH01079: failed to make connection to backend: httpd-UDS

아직 디렉토리가 없습니다 /run/php.

패키지 상태

jking@secondbase:~$ sudo  apt list --installed | grep php

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

libapache2-mod-php8.1/jammy-updates,now 8.1.2-1ubuntu2.3 amd64 [installed]  
libapache2-mod-php/jammy,jammy,now 2:8.1+92ubuntu1 all [installed]  
php-common/jammy,jammy,now 2:92ubuntu1 all [installed]  
php8.1-cli/jammy-updates,now 8.1.2-1ubuntu2.3 amd64 [installed,automatic]  
php8.1-common/jammy-updates,now 8.1.2-1ubuntu2.3 amd64 [installed,automatic]  
php8.1-opcache/jammy-updates,now 8.1.2-1ubuntu2.3 amd64 [installed,automatic]  
php8.1-readline/jammy-updates,now 8.1.2-1ubuntu2.3 amd64 [installed,automatic]

jking@secondbase:~$ sudo apt upgrade  
Reading package lists... Done  
Building dependency tree... Done  
Reading state information... Done  
Calculating upgrade... Done  
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

jking@secondbase:~$ sudo apt update  
Hit:1 http://us.archive.ubuntu.com/ubuntu jammy InRelease  
Get:2 http://us.archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]                        
Hit:3 https://dl.google.com/linux/chrome/deb stable InRelease                 
Get:4 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]     
Get:5 http://us.archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB]  
Fetched 324 kB in 1s (337 kB/s)     
Reading package lists... Done  
Building dependency tree... Done  
Reading state information... Done  
All packages are up to date.

jking@secondbase:~$ sudo apt update --fix-missing  
Hit:1 http://us.archive.ubuntu.com/ubuntu jammy InRelease  
Hit:2 https://dl.google.com/linux/chrome/deb stable InRelease                
Get:3 http://us.archive.ubuntu.com/ubuntu jammy-updates InRelease [114 kB]   
Get:4 http://security.ubuntu.com/ubuntu jammy-security InRelease [110 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu jammy-backports InRelease [99.8 kB]  
Fetched 324 kB in 1s (319 kB/s)                                     
Reading package lists... Done  
Building dependency tree... Done  
Reading state information... Done  
All packages are up to date.

jking@secondbase:~$ sudo apt install -f  
Reading package lists... Done  
Building dependency tree... Done  
Reading state information... Done  
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.  

여기서 어디로 가야할지 잘 모르겠습니다. 아마도 아파치를 제거하고 다시 설치하겠습니다.

노력에 감사드립니다. 감사합니다.

남자

답변1

이 시도

sudo a2enmod php8.1
sudo systemctl restart apache2

관련 정보