Меню

Ошибка юнита httpd service

This is due to non-existance of «/var/www/html» directory. run mkdir «/var/www/html» , hope it will solved.

I have installed a fresh copy of Centos 7. Then I restarted Apache but the Apache failed to start. I have 3 days stucked in this issue. Even the support can not figure out the error.

sudo service httpd start


Failed to start apache :
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.


httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Mon 2016-05-09 16:08:02 BST; 59s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 5710 (code=exited, status=1/FAILURE)

May 09 16:08:02 mike079.startdedicated.de systemd[1]: Starting The Apache HTTP Server...
May 09 16:08:02 mike079.startdedicated.de httpd[5710]: (98)Address already in use: AH00072: make_sock: could not bind to address 85.25.12.20:80
May 09 16:08:02 startdedicated.de httpd[5710]: no listening sockets available, shutting down
May 09 16:08:02 startdedicated.de httpd[5710]: AH00015: Unable to open logs
May 09 16:08:02 startdedicated.de systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
May 09 16:08:02.startdedicated.de kill[5712]: kill: cannot find process ""
May 09 16:08:02 .startdedicated.de systemd[1]: httpd.service: control process exited, code=exited status=1
May 09 16:08:02startdedicated.de systemd[1]: Failed to start The Apache HTTP Server.
May 09 16:08:02 startdedicated.de systemd[1]: Unit httpd.service entered failed state.
May 09 16:08:02 mike: httpd.service failed.

Duranta Patra's user avatar

asked May 9, 2016 at 15:19

Didi's user avatar

1

I got the same error because of a simple typo in vhost.conf.
Remember to make sure you don’t have any errors in the config files.

apachectl configtest

answered Nov 19, 2019 at 20:07

Stack Underflow's user avatar

Stack UnderflowStack Underflow

2,2392 gold badges25 silver badges46 bronze badges

2

From your output:

no listening sockets available, shutting down

what basically means, that any port in which one apache is going to be listening is already being used by another application.

netstat -punta | grep LISTEN

Will give you a list of all the ports being used and the information needed to recognize which process is so you can kill stop or do whatever you want to do with it.

After doing a nmap of your ip I can see that

80/tcp    open     http

so I guess you sorted it out.

answered May 10, 2016 at 7:18

sysfiend's user avatar

sysfiendsysfiend

5936 silver badges19 bronze badges

3

In my case I got the error simply because I had changed the Listen 80 to listen 443 in the file

/etc/httpd/conf/httpd.conf 

Since I had installed mod_ssl using the yum commands

yum -y install mod_ssl  

there was a duplicate listen 443 directive in the file ssl.conf created during mod_ssl installation.

You can verify this if you have duplicate listen 80 or 443 by running the below command in linux centos (My linux)

grep  '443' /etc/httpd/conf.d/*

below is sample output

/etc/httpd/conf.d/ssl.conf:Listen 443 https
/etc/httpd/conf.d/ssl.conf:<VirtualHost _default_:443>
/etc/httpd/conf.d/ssl.conf:#ServerName www.example.com:443

Simply reverting the listen 443 in httd.conf to listen 80 fixed my issue.

Robert's user avatar

Robert

5,26743 gold badges65 silver badges115 bronze badges

answered Oct 2, 2018 at 10:41

Vincent Mwagiru's user avatar

2

on command line type journalctl -xe and the results will be

SELinux is preventing /usr/sbin/httpd from name_bind access on the tcp_socket port 83 or 80

This means that the SELinux is running on your machine and you need to disable it. then edit the configuration file by type the following

nano /etc/selinux/config

Then find the line SELINUX=enforce and change to SELINUX=disabled

Then type the following and run the command to start httpd

setenforce 0

Lastly start a server

systemctl start httpd

answered Aug 20, 2019 at 10:17

Hamis Hamis's user avatar

Allow Apache Through the Firewall

Allow the default HTTP and HTTPS port, ports 80 and 443, through firewalld:

sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --permanent --add-port=443/tcp

And reload the firewall:

sudo firewall-cmd --reload

answered Jan 23, 2020 at 10:17

RR Support's user avatar

Some other service may be using port 80: try to stop the other services: HTTPD, SSL, NGINX, PHP, with the command sudo systemctl stop and then use the command sudo systemctl start httpd

answered Apr 4, 2020 at 1:28

Astron's user avatar

1

For me the issue was the following:

[Sat Sep 10 00:43:20.999998 2022] [auth_digest:error] [pid 123456] (2)No such file or directory: AH01762: Failed to create shared memory segment on file /run/httpd/authdigest_shm.128124
[Sat Sep 10 00:43:20.999999 2022] [auth_digest:error] [pid 123456] (2)No such file or directory: AH01760: failed to initialize shm - all nonce-count checking and one-time noncesdisabled

I have just tailed the error logs to get those two line above:

*ADMINSHELL* :/var/opt/custom_path/logs/httpd # tail error_log

So the problem was that this folder was missing: /run/httpd/

Solution:

mkdir /run/httpd
chown root:httpd /run/httpd
chmod 0710 /run/httpd

After this is done. You will be able to restart the service:

systemctl restart httpd.service

Double check:

systemctl status httpd.service

answered Sep 9, 2022 at 23:28

Bettina's user avatar

BettinaBettina

3331 gold badge2 silver badges9 bronze badges

The error could be anywhere, configs, libraries or the binaries. Error in the control process is a general error thrown by the system when its not able to start/restart the service. In my case one of libraries linked to the exe in the .service file has a problem. Fixing that library solved the problem.

answered Oct 5, 2021 at 20:52

Nazeer Shaik's user avatar

1

try this cmd to know the missing config or error in the file configuration
$ apachectl configtest

answered Apr 27, 2022 at 11:02

achraf elbihi's user avatar

I had almost the same error, and I found the error on vhost.conf file, which is located on /etc/httpd/conf.d/vhost.conf.

If you were configuring the virtual host, I suggest you look at the following file and find if you have any errors there.

/etc/httpd/conf.d/vhost.conf

answered Jun 23, 2022 at 21:34

Monir Khan's user avatar

Monir KhanMonir Khan

191 silver badge7 bronze badges

For me also the same error happens after adding dummy SSL

in /etc/httpd/conf.d/ssl.conf file it’s created a line like,

SLCertificateFile /etc/pki/tls/certs/localhost.crt

I changed it from SLCertificateFile to SSLCertificateFile

SSLCertificateFile /etc/pki/tls/certs/localhost.crt

And after apache restart it started working fine.

answered Jan 14 at 18:52

vimuth's user avatar

vimuthvimuth

4,60123 gold badges72 silver badges112 bronze badges

<VirtualHost *:80>
    ServerName www.YOURDOMAIN.COM
    ServerAlias YOURDOMAIN.COM
    DocumentRoot /var/www/YOURDOMAIN.COM/public_html
    ErrorLog /var/www/YOURDOMAIN.COM/error.log
    CustomLog /var/www/YOURDOMAIN.COM/requests.log combined

    DocumentRoot /var/www/YOURDOMAIN.COM/public_html
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/YOURDOMAIN.COM/public_html>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

</VirtualHost>

answered Nov 20, 2018 at 9:37

vijesh c's user avatar

1

Многие из нас привыкли публиковать базу или веб сервис 1С нажатием нескольких кнопок.

Но не все из многих знают, что для этого необходимо запустить(от имени администратора!) конфигуратор 1С:Предприятие именно на той машине, где установлен веб сервер(а именно компонента веб-расширения 1С:Предприятия).

В случае, если веб-сервер и компонента веб-расширения 1С:Предприятия установлены на машину с ОС Linux  без графической оболочки,  то публикация через привычное окно конфигуратора становится невозможной.

Аналогичная ситуация возникает, когда на этой машине отсутствует клиент 1С:Предприятия и, следовательно, становится невозможным запуск конфигуратора.

О том, как осуществить публикацию базы можно почитать тут: Публикация 1С на Веб сервере Linux.

Отметим, что при ручной настройке публикации можно допустить различные ошибки. Описания которых и приведены в этой статье.

Итак, что делать, если не получается опубликовать веб-сервис 1С?

Список возможных ошибок:

1. Job for httpd.service failed because the control process exited with error code.

2. Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»

3. Ошибка «Invalid command ‘ManagedApplicationDescriptor’»

4. Не запускается 1С: Предприятие при подключении через веб сервер Linux. «Selinux policy enabled.»

5. Ошибка HTTP 404 Not found

6. Ошибка Service not found при обращении к веб-сервису 1С:Предприятия

Job for httpd.service failed because the control process exited with error code.

Полный текст ошибки:

Job for httpd.service failed because the control process exited with error code. See «systemctl status httpd.service» and «journalctl -xe» for details.

Описание ошибки:

После выполнения всех настроек файлов публикации базы или сервиса 1С:Предприятия. При попытке запустить веб-сервер — выдается ошибка и веб-сервер не запускается.

Данное сообщение говорит о том, что процесс был завершен  с ошибкой, более подробную информацию о которой можно получить в журнале. Как это сделать — описано далее.

Решение:

Необходимо проанализировать более подробное описание ошибки. Его можно получить следующим образом.

В результате выполнения команды будет выдано более подробное сообщение об ошибке.

Разбор, которых приведен в статье далее.

Ошибка веб-сервера Apache при публикации 1С «Syntax error on line…»

Полный текст ошибки:

сен 16 11:41:54 1s-on-web-1 httpd[6596]: AH00526: Syntax error on line 6 of /etc/httpd/e1c/base.conf:

сен 16 11:41:54 1s-on-web-1 httpd[6596]: Invalid command ‘forceHandler’, perhaps misspelled or defined by a module not included in the server configuration

Описание ошибки:

Ошибка связана с ошибками или «опечатками» в файле настроек base.conf. Иными словами, в данном файле есть некорректные строки, которые новичку бывает сходу не так просто найти.

Решение:

Исправить ошибку в строке сообщения. В данном случае допущена опечатка в имени команды.

vim /etc/httpd/e1c/base.conf

Пример ошибочной строки. Команды forceHandler  — на самом деле не существует :

Alias «/base» «/var/www/e1c/base/»

<Directory «/var/www/e1c/base/»>

   AllowOverride All

   Options None

   Require all granted

   forceHandler 1c-application

   ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd»

</Directory>

Исправим файл. Укажем корректное наименвоание команды — SetHandler:

Alias «/base» «/var/www/e1c/base/»

<Directory «/var/www/e1c/base/»>

   AllowOverride All

   Options None

   Require all granted

   SetHandler 1c-application

   ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd»

</Directory>

Ошибка «Invalid command ‘ManagedApplicationDescriptor’»

Полный текст ошибки:

Начат процесс запуска юнита httpd.service.

сен 16 12:18:11 1s-on-web-1 httpd[9857]: AH00526: Syntax error on line 7 of /etc/httpd/e1c/base.conf:

сен 16 12:18:11 1s-on-web-1 httpd[9857]: Invalid command ‘ManagedApplicationDescriptor’, perhaps misspelled or defined by a module not included in the server configuration

сен 16 12:18:11 1s-on-web-1 systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE

сен 16 12:18:11 1s-on-web-1 systemd[1]: Failed to start The Apache HTTP Server.

— Subject: Ошибка юнита httpd.service

Описание ошибки:

Ошибка связана с тем, что в файле httpd.conf отсутствует ссылка на модуль веб-расширения 1С:Предприятия, которая должна указываться в «LoadModule _1cws_module».

В этом можно убедиться выполнив команду.

cat /etc/httpd/conf/httpd.conf | grep wsap

Если результат пустой, то строка вида «/opt/1C/v8.3/x86_64/wsap24.so», отсутвтует  —  модуль не прописан.

Решение:

Отредактировать конфигурационный файл httpd.conf

vim /etc/httpd/conf/httpd.conf

Добавить строку:

LoadModule _1cws_module «/opt/1C/v8.3/x86_64/wsap24.so»

Не запускается 1С: Предприятие при подключении через веб сервер, Linux. «Selinux policy enabled.»

Полный текст ошибки:

cat /var/log/httpd/error_log

Описание проблемы:

При попытке запустить клиента 1С:Предприятие через веб-сервер (строка подключения вида: «ws=»http://1s-on-server/bast»;») —  сеанс не запускается.

Но при этом, таже самая база — запускается успешно при прямом подключении к серверу 1С:Предприятия (строка подключения вида Srvr=»1s-on-server»;Ref=»base»;).

Решение:

1. Убедиться, что selinux, действительно, работает.

Если видим Enforcing, значит переходим к следующему пункту.

2. Отключить selinux:

3. Проверить, что настройка выполнена.

Permissive – включен, но ничего не запрещает.

Enforcing – включен, работает, и запрещает.

Ошибка HTTP 404 Not found

<strong>Пример полного текста ошибки:</strong>

404 Error in Request. HTTP Status: 404 Not found

<img class=«wp-image-809» src=«https://1s-on.ru/wp-content/uploads/2020/12/post-802-image-3.jpeg» />

HTTP 404 Not found

The webpage cannot be found

Описание:

После публикации базы на сервере, при попытке перейти по веб-ссылке базы из браузера– выдается ошибка.

Проще говоря, браузер сообщает, что не нашел такой папки публикации на сервере.

Решение:

Ошибка часто связана с неправильным вводом имени базы/папки публикации.

Необходимо проверить имена папок с конфигурационными файлами базы, а также имена базы и папок в самих конфигурационных файлах.

Проверить имена публикации базы(выделено):

1. Конфигурационный файл *.conf:

vim /etc/httpd/e1c/base.conf

следующего содержания:

Alias «/base» «/var/www/e1c/base/»

<Directory «/var/www/e1c/base/»>

AllowOverride All

Options None

Require all granted

SetHandler 1c-application

ManagedApplicationDescriptor «/var/www/e1c/base/default.vrd»

</Directory>

2. Конфигурационный файл публикации базы *.vrd

vim /var/www/e1c/base/default.vrd

следующего содержания:

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

<?xml version=»1.0″ encoding=»UTF-8″?>

<point xmlns=»http://v8.1c.ru/8.2/virtual-resource-system»

xmlns:xs=»http://www.w3.org/2001/XMLSchema»

xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»

base=»/base»

ib=»Srvr=1s-on-1c-1; Ref=base»>

<ws>

<point name=»ws_1s_on_1″

alias=»ws_1s_on_1.1cws»

enable=»true»/>

<point name=»ws_1s_on_2″

alias=»ws_1s_on_2.1cws»

enable=»true»/>

</ws>

</point>

point name – имя сервиса в конфигураторе;

alias – это имя ссылки, по которой будем обращаться к веб-сервису.

Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса: 1s-on-1c-1/base/ws/ws_1s_on_1.1cws

Ошибка Service not found при обращении к веб-сервису 1С:Предприятия

Пример полного текста ошибки:

Описание:

При обращении к веб-сервису, после авторизации(если таковая требуется) – возникает ошибка, что сервис не найден. То есть публикация самой базы отвечает, но веб-сервиса нет или он не отвечает.

Ошибка часто связана с ошибками в именах самого веб-сервиса или его ссылки.

Решение:

Проверить имена веб-сервисов и ссылок на них.

    1. Конфигурационный файл публикации базы *.vrd

vim /var/www/e1c/base/default.vrd

следующего содержания:

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

<?xml version=»1.0″ encoding=»UTF-8″?>

<point xmlns=»http://v8.1c.ru/8.2/virtual-resource-system»

xmlns:xs=»http://www.w3.org/2001/XMLSchema»

xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»

base=»/base»

ib=»Srvr=1s-on-1c-1; Ref=base»>

<ws>

<point name=»ws_1s_on_1″

alias=»ws_1s_on_1.1cws»

enable=»true»/>

<point name=»ws_1s_on_2″

alias=»ws_1s_on_2.1cws»

enable=»true»/>

</ws>

</point>

point name – имя сервиса в конфигураторе;

alias – это имя ссылки, по которой будем обращаться к веб-сервису. Именно это имя необходимо вводить в браузер при проверке работы веб-сервиса.

В нашем случае веб-сервиса ws_1s_on_3.1cws нет в файле.

I use the systemctl to restart the httpd, but failed:

[root@controller ~]# systemctl restart httpd.service
Job for httpd.service failed because the control process exited with error code. See "systemctl status httpd.service" and "journalctl -xe" for details.

And I status it, get the below information:

   [root@controller ~]# systemctl status httpd.service
   httpd.service - The Apache HTTP Server
       Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
       Active: failed (Result: exit-code) since Wed 2017-07-12 15:48:35 CST; 11s ago
         Docs: man:httpd(8)
               man:apachectl(8)
      Process: 10093 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=1/FAILURE)
      Process: 10091 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
     Main PID: 10091 (code=exited, status=1/FAILURE)

    Jul 12 15:48:35 controller httpd[10091]: (13)Permission denied: AH00072: make_sock: could not bind to address [::]:5000
    Jul 12 15:48:35 controller httpd[10091]: (13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:5000
    Jul 12 15:48:35 controller httpd[10091]: no listening sockets available, shutting down
    Jul 12 15:48:35 controller httpd[10091]: AH00015: Unable to open logs
    Jul 12 15:48:35 controller systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
    Jul 12 15:48:35 controller kill[10093]: kill: cannot find process ""
    Jul 12 15:48:35 controller systemd[1]: httpd.service: control process exited, code=exited status=1
    Jul 12 15:48:35 controller systemd[1]: Failed to start The Apache HTTP Server.
    Jul 12 15:48:35 controller systemd[1]: Unit httpd.service entered failed state.
    Jul 12 15:48:35 controller systemd[1]: httpd.service failed.

I use the journalctl -xe:

root@controller httpd]# journalctl -xe
Jul 12 16:06:43 controller systemd[1]: Unit httpd.service entered failed state.
Jul 12 16:06:43 controller systemd[1]: httpd.service failed.
Jul 12 16:06:43 controller polkitd[1056]: Unregistered Authentication Agent for unix-process:10390:2078277 (system bus name :1.159, object path /org/freedesktop/PolicyKit1/Authent
Jul 12 16:06:53 controller polkitd[1056]: Registered Authentication Agent for unix-process:10405:2079366 (system bus name :1.160 [/usr/bin/pkttyagent --notify-fd 5 --fallback], ob
Jul 12 16:06:53 controller systemd[1]: Reloading.
Jul 12 16:06:53 controller systemd[1]: [/usr/lib/systemd/system/memcached.service:43] Unknown lvalue 'MemoryDenyWriteExecute' in section 'Service'
Jul 12 16:06:53 controller systemd[1]: Configuration file /usr/lib/systemd/system/auditd.service is marked world-inaccessible. This has no effect as configuration data is accessib
Jul 12 16:06:54 controller systemd[1]: Configuration file /usr/lib/systemd/system/wpa_supplicant.service is marked executable. Please remove executable permission bits. Proceeding
Jul 12 16:06:54 controller polkitd[1056]: Unregistered Authentication Agent for unix-process:10405:2079366 (system bus name :1.160, object path /org/freedesktop/PolicyKit1/Authent
Jul 12 16:06:55 controller polkitd[1056]: Registered Authentication Agent for unix-process:10421:2079560 (system bus name :1.161 [/usr/bin/pkttyagent --notify-fd 5 --fallback], ob
Jul 12 16:06:55 controller systemd[1]: Starting The Apache HTTP Server...
-- Subject: Unit httpd.service has begun start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit httpd.service has begun starting up.
Jul 12 16:06:55 controller httpd[10426]: (13)Permission denied: AH00072: make_sock: could not bind to address [::]:5000
Jul 12 16:06:55 controller httpd[10426]: (13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:5000
Jul 12 16:06:55 controller httpd[10426]: no listening sockets available, shutting down
Jul 12 16:06:55 controller httpd[10426]: AH00015: Unable to open logs
Jul 12 16:06:55 controller systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Jul 12 16:06:55 controller kill[10428]: kill: cannot find process ""
Jul 12 16:06:55 controller systemd[1]: httpd.service: control process exited, code=exited status=1
Jul 12 16:06:55 controller systemd[1]: Failed to start The Apache HTTP Server.
-- Subject: Unit httpd.service has failed
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
-- 
-- Unit httpd.service has failed.
-- 
-- The result is failed.
Jul 12 16:06:55 controller systemd[1]: Unit httpd.service entered failed state.
Jul 12 16:06:55 controller systemd[1]: httpd.service failed.
Jul 12 16:06:55 controller polkitd[1056]: Unregistered Authentication Agent for unix-process:10421:2079560 (system bus name :1.161, object path /org/freedesktop/PolicyKit1/Authent
lines 1377-1410/1410 (END)

And in the /var/log/httpd/ directory, there is no logs here.


EDIT-1

And I find the 5000 port, get the below information:

[root@controller selinux]# netstat | grep 5000
[root@controller selinux]#

EDIT-2

In the /var/www/ directory:

[root@controller www]# ls
cgi-bin  html

both the cgi-bin and html is empty.


EDIT-3

the httpd.conf file contents under the /etc/httpd/conf/:

ServerRoot "/etc/httpd"

Listen 80

Include conf.modules.d/*.conf

User apache
Group apache

ServerAdmin root@localhost


ServerName controller

<Directory />
    AllowOverride none
    Require all denied
</Directory>


DocumentRoot "/var/www/html"


<Directory "/var/www">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

# Further relax access to the default document root:
<Directory "/var/www/html">

    Options Indexes FollowSymLinks

    AllowOverride None

    Require all granted
</Directory>

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>


<Files ".ht*">
    Require all denied
</Files>

ErrorLog "logs/error_log"

LogLevel warn

<IfModule log_config_module>

    LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
    LogFormat "%h %l %u %t "%r" %>s %b" common

    <IfModule logio_module>
      LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio
    </IfModule>

    CustomLog "logs/access_log" combined
</IfModule>

<IfModule alias_module>

    ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

</IfModule>


<Directory "/var/www/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

<IfModule mime_module>

    TypesConfig /etc/mime.types

    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz

    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>

AddDefaultCharset UTF-8

<IfModule mime_magic_module>

    MIMEMagicFile conf/magic
</IfModule>


EnableSendfile on

IncludeOptional conf.d/*.conf

EDIT-4

The /var/log/httpd limits is below:

[root@controller system]# ll -d /var/log/httpd
drwx------. 2 root root 6 Nov 20  2015 /var/log/httpd

EDIT-5

I check the port 5000:

[root@controller httpd]# ps -aux | grep 5000
rabbitmq   8710  0.9  0.9 2348444 78620 ?       Ssl  14:39   1:25 /usr/lib64/erlang/erts-7.3.1.2/bin/beam.smp -W w -A 64 -P 1048576 -t 5000000 -stbt db -K true -- -root /usr/lib64/erlang -progname erl -- -home /var/lib/rabbitmq -- -pa /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin -noshell -noinput -s rabbit boot -sname rabbit@controller -boot start_sasl -config /etc/rabbitmq/rabbitmq -kernel inet_default_connect_options [{nodelay,true}] -sasl errlog_type error -sasl sasl_error_logger false -rabbit error_logger {file,"/var/log/rabbitmq/rabbit@controller.log"} -rabbit sasl_error_logger {file,"/var/log/rabbitmq/rabbit@controller-sasl.log"} -rabbit enabled_plugins_file "/etc/rabbitmq/enabled_plugins" -rabbit plugins_dir "/usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/plugins" -rabbit plugins_expand_dir "/var/lib/rabbitmq/mnesia/rabbit@controller-plugins-expand" -os_mon start_cpu_sup false -os_mon start_disksup false -os_mon start_memsup false -mnesia dir "/var/lib/rabbitmq/mnesia/rabbit@controller" -kernel inet_dist_listen_min 25672 -kernel inet_dist_listen_max 25672
root      11787  0.0  0.0 112644   952 pts/1    S+   17:13   0:00 grep --color=auto 5000

EDIT-6

I use the semanage to add the port 5000:

[root@controller httpd]# semanage port -a -t http_port_t -p tcp 5000
ValueError: Port tcp/5000 already defined

EDIT-7

In the directory /usr/lib/systemd/system/, there is httpd.service here:

[root@controller system]# pwd
/usr/lib/systemd/system
[root@controller system]# ls | grep http
httpd.service

8 сентября, 2020 11:28 дп
3 939 views
| Комментариев нет

Centos, Debian, LAMP Stack, Ubuntu

Эта серия мануалов поможет вам предотвратить или устранить самые распространенные ошибки, которые возникают при работе с веб-сервером Apache.

Каждый последующий мануал в этой серии включает описание распространенных ошибок Apache, связанных с конфигурацией, сетью, файловой системой или привилегиями. Мы начнем с обзора команд и логов, которые вы можете использовать для устранения неполадок Apache. В последующих руководствах мы подробно рассмотрим конкретные ошибки.

Есть три основные команды и несколько общих логов, которые вы можете использовать, чтобы начать устранение ошибок Apache. По сути здесь вы найдете стандартную стратегию поиска ошибок и их причин: обычно эти команды используются в указанном здесь порядке, после чего можно изучить логи на предмет конкретных диагностических данных.

Команды, которые необходимы для устранения неполадок Apache в большинстве дистрибутивов Linux:

  • systemctl – используется для управления сервисами Linux и взаимодействия с ними через менеджер сервисов systemd.
  • journalctl – используется для запроса и просмотра логов, созданных systemd.
  • apachectl – при устранении неполадок эта команда используется для проверки конфигурации Apache.

Далее мы подробно опишем эти команды, способы их использования и расположение логов Apache, в которых можно найти дополнительную информацию об ошибках.

Примечание: В системах Debian и Ubuntu сервис и процесс Apache называется apache2, а в CentOS, Fedora и других системах RedHat – httpd. Имя сервиса и процесса – это единственное отличие команд запуска, остановки и проверки состояния Apache в разных системах. Логи journalctl также должны работать одинаково в любой системе Linux, которая использует systemd для управления Apache. При работе с этим мануалом вы должны использовать правильное имя сервиса в зависимости от вашего дистрибутива Linux.

Команды systemctl для Apache

Чтобы устранить распространенные ошибки Apache с помощью менеджера сервисов systemd, первым делом вам необходимо проверить состояние процессов Apache в вашей системе. Следующие команды systemctl помогут вам узнать больше о состоянии процессов Apache.

В Ubuntu и Debian используйте:

sudo systemctl status apache2.service -l --no-pager

Флаг -l отображает полный вывод без сокращения. Флаг –no-pager направляет вывод непосредственно на ваш терминал. Вы должны получить такой результат:

apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Mon 2020-07-13 14:43:35 UTC; 1 day 4h ago
Process: 929 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 1346 (apache2)
Tasks: 55 (limit: 4702)
CGroup: /system.slice/apache2.service
├─1346 /usr/sbin/apache2 -k start
. . .

Чтобы изучить процесс веб-сервера в CentOS и Fedora, используйте:

sudo systemctl status httpd.service -l --no-pager

Вы получите такой результат:

httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Tue 2020-07-14 19:46:52 UTC; 3s ago
Docs: man:httpd.service(8)
Main PID: 21217 (httpd)
Status: "Started, listening on: port 80"
Tasks: 213 (limit: 2881)
Memory: 16.6M
CGroup: /system.slice/httpd.service
├─21217 /usr/sbin/httpd -DFOREGROUND
. . .
Jul 14 19:46:52 localhost.localdomain httpd[21217]: Server configured, listening on: port 80

Независимо от дистрибутива вы должны обратить внимание на строку Active в выводе. Если ваш сервер Apache не отображается как active (running), хотя он должен работать, возможно, произошла ошибка и прервала его работу. Как правило, при возникновении ошибок в выводе будет строка failed:

Active: failed (Result: exit-code) since Tue 2020-07-14 20:01:29 UTC; 1s ago

Если проблема заключается в процессе или конфигурации Apache, вы можете устранить ее с помощью команды journalctl.

Команды journalctl для Apache

Чтобы проверить логи systemd для Apache, вы можете использовать команду journalctl. Логи systemd для Apache обычно содержат данные о проблемах с запуском или управлением процессом Apache.

Эти логи отделены от логов запросов и ошибок Apache. Команда journalctl отображает логи systemd, которые описывают сам сервис Apache (от его запуска до завершения работы, включая все ошибки процесса, которые могут возникнуть на этом пути).

В системах Ubuntu и Debian для проверки логов используйте следующую команду:

sudo journalctl -u apache2.service --since today --no-pager

Флаг –since today ограничивает вывод команды записями лога, начиная с 00:00:00 текущего дня. Использование этой опции поможет ограничить объем записей лога, которые вам необходимо изучить для выявления ошибок. Вы должны получить следующий результат:

Jul 14 20:12:14 ubuntu2004 systemd[1]: Starting The Apache HTTP Server...
Jul 14 20:12:14 ubuntu2004 systemd[1]: Started The Apache HTTP Server.

Если вы используете систему на базе CentOS или Fedora, введите эту версию команды:

sudo journalctl -u httpd.service --since today --no-pager

Вы получите такой результат:

Jul 14 20:13:09 centos8 systemd[1]: Starting The Apache HTTP Server...
. . .
Jul 14 20:13:10 centos8 httpd[21591]: Server configured, listening on: port 80

В случае ошибки в выводе будет строка, приведенная ниже (имя хоста будет отличаться в зависимости от дистрибутива Linux):

Jul 14 20:13:37 yourhostname systemd[1]: Failed to start The Apache HTTP Server.

Если в ваших логах Apache есть подобные ошибки, то следующее, что нужно сделать для устранения возможных проблем – это исследовать конфигурации Apache с помощью инструмента командной строки apachectl.

Устранение неполадок с помощью apachectl

Большинство дистрибутивов Linux включают утилиту apachectl в установку Apache по умолчанию. apachectl – бесценный инструмент, помогающий обнаруживать и диагностировать проблемы конфигурации Apache.

Проверьте конфигурацию Apache с помощью команды apachectl configtest. Инструмент проанализирует ваши файлы Apache и обнаружит все ошибки или недостающие настройки перед попыткой запуска сервера.

Команда одинакова для дистрибутивов Ubuntu, Debian, CentOS и Fedora:

sudo apachectl configtest

Если конфигурация Apache не содержит ошибок, вы получите такой результат:

Syntax OK

В зависимости от вашего дистрибутива Linux в выводе могут быть и другие строки, но самая важная строка – это та, в которой говорится, что с синтаксисом все ок.

Если в вашей конфигурации Apache есть ошибка (например, директива ссылается на деактивированный модуль) или опечатка, apachectl обнаружит ее и попытается уведомить вас о проблеме.

Например, попытка использовать в директиве отключенный модуль Apache приведет к появлению следующих сообщений apachectl:

AH00526: Syntax error on line 232 of /etc/apache2/apache2.conf:
Invalid command 'SSLEngine', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.

В этом примере модуль ssl не включен, поэтому при проверке конфигурации директива SSLEngine выдает ошибку. Последняя строка также указывает, что в логе ошибок Apache может содержаться дополнительная информация, и это следующее место для поиска подробной отладочной информации.

Логи Apache

Логи Apache – очень полезный ресурс для устранения неполадок. Как правило, каждая ошибка, возникающая в браузере или другом HTTP-клиенте, создает соответствующую запись в логах Apache. Иногда Apache также выводит в свои логи ошибки, связанные с конфигурацией, встроенными модулями и другой отладочной информацией.

Чтобы проверить ошибки при устранении неполадок Apache на сервере Fedora, CentOS или RedHat, изучите файл /var/log/httpd/error_log.

Если вы устраняете неполадки в системе Debian или Ubuntu, проверьте /var/log/apache2/error.log с помощью инструмента tail или less. Например, чтобы просмотреть последние две строки лога ошибок с помощью tail, выполните следующую команду:

sudo tail -n 2 /var/log/apache2/error.log

Замените количество строк, которые вы хотите изучить. Укажите количество строк вместо числа 2 в команде.

В системе CentOS или Fedora файл журнала для проверки – /var/log/httpd/error_log.

Ниже мы приводим пример пример ошибки (ее текст не зависит от дистрибутива Linux):

[Wed Jul 15 01:34:12.093005 2020] [proxy:error] [pid 13949:tid 140150453516032] (13)Permission denied: AH00957: HTTP: attempt to connect to 127.0.0.1:9090 (127.0.0.1) failed
[Wed Jul 15 01:34:12.093078 2020] [proxy_http:error] [pid 13949:tid 140150453516032] [client 127.0.0.1:42480] AH01114: HTTP: failed to make connection to backend: 127.0.0.1

Эти две строки представляют собой отдельные сообщения об ошибках. Обе они ссылаются на модуль, вызвавший ошибку (proxy в первой строке, proxy_http во второй), и содержат код ошибки, индивидуальный для модуля. Первый, AH00957, указывает на то, что сервер Apache пытался подключиться к бэкенд-серверу (в данном случае к 127.0.0.1 по порту 9090) с помощью модуля proxy, но не смог этого сделать.

Вторая ошибка исходит из первой: AH01114 – это ошибка модуля proxy_http, которая также указывает на то, что Apache не смог подключиться к бэкенд-серверу для выполнения HTTP-запроса.

Эти строки мы привели просто для примера. Если вы диагностируете ошибки на своем сервере Apache, скорее всего, вы найдете совсем другие строки с ошибками в ваших логах. Независимо от дистрибутива Linux, строки ошибок в логах всегда содержат соответствующий модуль Apache и код ошибки, а также текстовое описание ошибки.

Как только вы поймете, что могло вызвать вызывать проблему на вашем сервере Apache, вы можете продолжить исследование и устранение неполадок. Код ошибки и текстовое описание особенно полезны, поскольку дают конкретные указания, которые можно использовать для сужения диапазона возможных причин возникновения ошибки.

Заключение

Устранение ошибок Apache может включать как диагностику ошибок сервиса, так и обнаружение неверно настроенных параметров модулей. В этом вводном руководстве по диагностике Apache мы посмотрели, как использовать ряд утилит, чтобы сузить круг возможных причин появления ошибок. Обычно эти утилиты нужно использовать в том же порядке, в каком они описаны тут (но вы всегда можете пропустить некоторые действия или начать сразу с изучения логов, если у вас есть общее представление о том, в чем может быть проблема).

Однако чаще всего полезно следовать общей схеме устранения неполадок и использовать эти инструменты в описанном порядке. Начните с systemctl, чтобы проверить состояние сервера Apache. Если вам нужна дополнительная информация, изучите логи systemd для Apache с помощью команды journalctl. Если после проверки journalctl проблема все еще не ясна, проверьте конфигурации Apache с помощью команды apachectl configtest. Для более глубокого изучения неполадок проверьте логи Apache, обычно они указывают на конкретную ошибку (предоставляя полезные для диагностики данные и коды ошибок).

Tags: Apache, apachectl, journalctl, systemctl

I’ve setup an Amazon EC2 instance running CentOS7. I logged into the machine using Putty (SSH) and ran the «sudo yum update» command. It installed the updates successfully. I then had to install wget. I then downloaded the XAMPP installer from the following location:

https://www.apachefriends.org/xampp-files/5.5.38/xampp-linux-x64-5.5.38-1-installer.run

I then ran the ./ command to install this .run file. The install appeared to be successful.

Now I’m trying to start the apache service and the mysql service using the «sudo service httpd start» command and it’s giving me the following error:

[centos@ip-x-x-x-x ~]$ Redirecting to /bin/systemctl start httpd.service
Failed to start httpd.service: Unit httpd.service failed to load: No such file or directory.

Any ideas why I’m running into this error? Also, I noticed that if I open the /opt/lampp/apache2/httpd.conf file with VI these are the only lines that are listed:

Alias /bitnami/ "/opt/lampp/apache2/htdocs/"
Alias /bitnami "/opt/lampp/apache2/htdocs"

<Directory "/opt/lampp/apache2/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
~
~

Shouldn’t there be more lines in this file? Did I install it incorrectly?

I’ve setup an Amazon EC2 instance running CentOS7. I logged into the machine using Putty (SSH) and ran the «sudo yum update» command. It installed the updates successfully. I then had to install wget. I then downloaded the XAMPP installer from the following location:

https://www.apachefriends.org/xampp-files/5.5.38/xampp-linux-x64-5.5.38-1-installer.run

I then ran the ./ command to install this .run file. The install appeared to be successful.

Now I’m trying to start the apache service and the mysql service using the «sudo service httpd start» command and it’s giving me the following error:

[centos@ip-x-x-x-x ~]$ Redirecting to /bin/systemctl start httpd.service
Failed to start httpd.service: Unit httpd.service failed to load: No such file or directory.

Any ideas why I’m running into this error? Also, I noticed that if I open the /opt/lampp/apache2/httpd.conf file with VI these are the only lines that are listed:

Alias /bitnami/ "/opt/lampp/apache2/htdocs/"
Alias /bitnami "/opt/lampp/apache2/htdocs"

<Directory "/opt/lampp/apache2/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
~
~

Shouldn’t there be more lines in this file? Did I install it incorrectly?

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибки bosch vero cup 100
  • Ошибки abs bmw e34