Apache, masalah Gagal memulai LSB: server web Apache2

11

Saya menggunakan Ubuntu 16.02. Ketika saya mencoba sudo service apache2 restart, dikatakan:

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

Kemudian saya ketik journalctl -xe:, dan minta:

- 
- Unit apache2.service sudah mulai dijalankan.
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 1: / etc / apache2 / envvars: envvars: tidak ditemukan
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 49: / etc / apache2 / envvars: envvars: tidak ditemukan
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 1: / etc / apache2 / envvars: envvars: tidak ditemukan
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: /etc/init.d/apache2: 49: / etc / apache2 / envvars: envvars: tidak ditemukan
11 Januari 02:30:46 aleksandr-VirtualBox apache2 [8177]: * Memulai apache2 server web Apache httpd
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: *
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: * Konfigurasi apache2 gagal.
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: Output dari tes konfigurasi adalah:
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 1: / etc / apache2 / envvars: envvars: tidak ditemukan
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 49: / etc / apache2 / envvars: envvars: tidak ditemukan
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: (2) Tidak ada file atau direktori: AH02291: Tidak dapat mengakses direktori '/ etc / apache2 / logs /' untuk log kesalahan utama
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: AH00014: Pemeriksaan konfigurasi gagal
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: Aksi 'configtest' gagal.
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: Log kesalahan Apache mungkin memiliki informasi lebih lanjut.
11 Jan 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Proses kontrol keluar, kode = keluar status = 1
11 Jan 02:30:46 aleksandr-VirtualBox sudo [8171]: pam_unix (sudo: session): sesi ditutup untuk root pengguna
11 Jan 02:30:46 aleksandr-VirtualBox systemd [1]: Gagal memulai LSB: server web Apache2.
- Subjek: Unit apache2.service telah gagal
- Didefinisikan-oleh: systemd
- Dukungan: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
- 
- Unit apache2.service telah gagal.
- 
- Hasilnya gagal.
11 Jan 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Unit dimasukkan ke kondisi gagal.
11 Jan 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Gagal dengan hasil 'exit-code'.
11 Jan 02:33:09 aleksandr-VirtualBox dhclient [792]: DHCPREQUEST of 192.168.56.101 pada enp0s8 hingga 192.168.56.100 port 67 (xid = 0x204f076f)
11 Jan 02:33:09 aleksandr-VirtualBox dhclient [792]: DHCPACK of 192.168.56.101 dari 192.168.56.100
11 Jan 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4253] alamat 192.168.56.101
11 Jan 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4260] plen 24 (255.255.255.0)
11 Jan 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4266] pengidentifikasi server 192.168.56.100
11 Jan 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4273] waktu sewa 1200
11 Jan 02:33:09 aleksandr-VirtualBox NetworkManager [619]: [1484073189.4279] dhcp4 (enp0s8): state diubah bound -> terikat
11 Jan 02:33:09 aleksandr-VirtualBox dbus [590]: [system] Mengaktifkan melalui systemd: nama layanan = 'org.freedesktop.nm_dispatcher' unit = 'dbus-org.freedesktop.nm-dispatcher.service'
Jan 11 02:33:09 aleksandr-VirtualBox systemd [1]: Memulai Network Manager Script Dispatcher Service ...
- Subjek: Unit NetworkManager-dispatcher.service sudah mulai start-up
- Didefinisikan-oleh: systemd
-- Dukung: 
- 
- Unit NetworkManager-dispatcher.service telah mulai dijalankan.
11 Jan 02:33:09 aleksandr-VirtualBox dhclient [792]: terikat ke 192.168.56.101 - pembaruan dalam 559 detik.
11 Jan 02:33:09 aleksandr-VirtualBox dbus [590]: [system] Berhasil mengaktifkan layanan 'org.freedesktop.nm_dispatcher'
11 Jan 02:33:09 aleksandr-VirtualBox systemd [1]: Memulai Network Manager Script Dispatcher Service.
- Subjek: Unit NetworkManager-dispatcher.service telah selesai start-up
- Didefinisikan-oleh: systemd
-- Dukung: 
- 
- Unit NetworkManager-dispatcher.service telah selesai memulai.
- 
- Hasil start-up dilakukan.
11 Jan 02:33:09 aleksandr-VirtualBox nm-dispatcher [8205]: req: 1 'dhcp4-change' [enp0s8]: permintaan baru (1 skrip)
11 Jan 02:33:09 aleksandr-VirtualBox nm-dispatcher [8205]: req: 1 'dhcp4-change' [enp0s8]: mulai menjalankan skrip yang dipesan ...

Dan ketika itu systemctl status apache2.servicereaqest:

* apache2.service - LSB: server web Apache2
   Dimuat: dimuat (/etc/init.d/apache2; buruk; preset vendor: diaktifkan)
  Drop-In: /lib/systemd/system/apache2.service.d
           `-apache2-systemd.conf
   Aktif: gagal (Hasil: keluar-kode) sejak Rabu 2017-01-11 02:30:46 +08; 33 menit yang lalu
     Documents: man: systemd-sysv-generator (8)
  Proses: 8023 ExecStop = / etc / init.d / apache2 berhenti (kode = keluar, status = 0 / SUKSES)
  Proses: 2236 ExecReload = / etc / init.d / apache2 reload (kode = keluar, status = 0 / SUKSES)
  Proses: 8177 ExecStart = / etc / init.d / apache2 mulai (kode = keluar, status = 1 / GAGAL)

11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 1: / etc / apache2 / envvars: envvars: tidak ditemukan
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: / usr / sbin / apache2ctl: 49: / etc / apache2 / envvars: envvars: tidak ditemukan
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: (2) Tidak ada file atau direktori: AH02291: Tidak dapat mengakses direktori '/ etc / apache2 / logs /' untuk log kesalahan utama
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: AH00014: Pemeriksaan konfigurasi gagal
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: Aksi 'configtest' gagal.
11 Jan 02:30:46 aleksandr-VirtualBox apache2 [8177]: Log kesalahan Apache mungkin memiliki informasi lebih lanjut.
11 Jan 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Proses kontrol keluar, kode = keluar status = 1
11 Jan 02:30:46 aleksandr-VirtualBox systemd [1]: Gagal memulai LSB: server web Apache2.
11 Jan 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Unit dimasukkan ke kondisi gagal.
11 Jan 02:30:46 aleksandr-VirtualBox systemd [1]: apache2.service: Gagal dengan hasil 'exit-code'.

Apa yang salah? Di mana interupsi? Tolong bantu!

A.Verber
sumber

Jawaban:

8

Ada dua kesalahan:


1. Untuk beberapa alasan Anda /etc/apache2/envvarshilang:

  • dari journalctl -xe:

    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 1: /etc/apache2/envvars: envvars: not found
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 49: /etc/apache2/envvars: envvars: not found
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 1: /etc/apache2/envvars: envvars: not found
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /etc/init.d/apache2: 49: /etc/apache2/envvars: envvars: not found
    ...        
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 1: /etc/apache2/envvars: envvars: not found
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 49: /etc/apache2/envvars: envvars: not found
    
  • dari systemctl status apache2.service:

    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 1: /etc/apache2/envvars: envvars: not found
    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: /usr/sbin/apache2ctl: 49: /etc/apache2/envvars: envvars: not found
    

Dalam sistem saya file ini memiliki izin selanjutnya:

$ ls -l /etc/apache2/envvars

-rw-r--r--   1 root root  1782 мар 19  2016 envvars

Dan isinya ( $ cat /etc/apache2/envvars) adalah:

# envvars - default environment variables for apache2ctl

# this won't be correct after changing uid
unset HOME

# for supporting multiple apache2 instances
if [ "${APACHE_CONFDIR##/etc/apache2-}" != "${APACHE_CONFDIR}" ] ; then
        SUFFIX="-${APACHE_CONFDIR##/etc/apache2-}"
else
        SUFFIX=
fi

# Since there is no sane way to get the parsed apache2 config in scripts, some
# settings are defined via environment variables and then used in apache2ctl,
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
# temporary state file location. This might be changed to /run in Wheezy+1
export APACHE_PID_FILE=/var/run/apache2/apache2$SUFFIX.pid
export APACHE_RUN_DIR=/var/run/apache2$SUFFIX
export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX
# Only /var/log/apache2 is handled by /etc/logrotate.d/apache2.
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX

## The locale used by some modules like mod_dav
export LANG=C
## Uncomment the following line to use the system default locale instead:
#. /etc/default/locale

export LANG

## The command to get the status for 'apache2ctl status'.
## Some packages providing 'www-browser' need '--dump' instead of '-dump'.
#export APACHE_LYNX='www-browser -dump'

## If you need a higher file descriptor limit, uncomment and adjust the
## following line (default is 8192):
#APACHE_ULIMIT_MAX_FILES='ulimit -n 65536'

## If you would like to pass arguments to the web server, add them below
## to the APACHE_ARGUMENTS environment.
#export APACHE_ARGUMENTS=''

## Enable the debug mode for maintainer scripts.
## This will produce a verbose output on package installations of web server mod                                               ules and web application
## installations which interact with Apache
#export APACHE2_MAINTSCRIPT_DEBUG=1

Anda dapat membuatnya secara manual sudo nano /etc/apache2/envvars:, rekatkan konten di atas di dalam, simpan ctrl+ odan keluar ctrl+ x.


2. Di sistem Anda, folder /etc/apache2/logsjuga hilang:

  • dari journalctl -xe:

    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: (2)No such file or directory: AH02291: Cannot access directory '/etc/apache2/logs/' for main error log
    
  • dari systemctl status apache2.service:

    Jan 11 02:30:46 aleksandr-VirtualBox apache2[8177]: (2)No such file or directory: AH02291: Cannot access directory '/etc/apache2/logs/' for main error log
    

Ini bukan folder log default, ini didefinisikan dalam konfigurasi khusus Anda, dan harus dibuat:

$ sudo mkdir /etc/apache2/logs
pa4080
sumber
Saya melakukan seperti yang Anda tulis. Sayangnya, masih ada kesalahan :( Jadi akan terus mencari
A.Verber
@ A.Verber Apakah masih ada kesalahan yang sama atau ada yang berubah?
pa4080
1
@ A.Verber Saya telah melihat kembali pertanyaan Anda. Apakah di sistem Anda direktori /etc/apache2/logs/ada? Karena ini adalah pesan kesalahan kedua. Anda bisa mencoba sudo mkdir /etc/apache2/logs.
pa4080
1
Iya! Setelah membuat dir log, kesalahan hilang! Terima kasih
A.Verber
5

Saya menghapus file .conf di situs-tersedia dan tidak menghapus file tautan di situs-diaktifkan.

Sekarang saya menghapus semua file di situs-enabled

restart apache2 server (sudo service apache2 restart)

bekerja untukku

Semoga ini bisa membantu seseorang :)

Soundarya
sumber
membantuku! thx ..
Saya pernah bergulat dengan beruang.
5

Saya memiliki masalah yang sama. Saya mendapat kesalahan yang sama dengan sudo service apache2 restartdan berlari sudo systemctl status apache2.servicedan garis merah ituFailed to start LSB: Apache2 web server.

Larutan

jalankan perintah di bawah ini:

sudo apache2ctl configtest

Itu akan memeriksa kesalahan (saya kira kesalahan Sintaks) dan kemudian Anda dapat men-debug kesalahan.

Vahid
sumber
Solusi Anda membantu saya untuk menyelesaikan masalah apache2 saya, terima kasih.
S1awek
4

Coba perintah ini:

sudo a2dismod mpm_event
sudo a2enmod mpm_prefork

Kemudian restart layanan apache2.

arnauld
sumber
sudo a2dismod mpm_event sudo a2enmod mpm_prefork
arnauld
0

Dalam kasus saya, saya melakukan ini:

uninstall dan hapus Apache2

sudo service apache2 stop

sudo apt-get purge apache2

sudo apt-get autoremove

whereis apache2

sudo rm -rf /etc/apache2

instal ulang apache2

sudo apt-get install apache2

sudo apache2ctl configtest

Ini berjalan untuk saya

Messou
sumber