Kar zadeva upravljanje spletnih strežnikov lahko veliko neprijetnih presenečenj. Še posebej, ko se gibljejo iz starejše različice starejšega operacijskega sistema, eden novejših. Vsalabil oba Ubuntu in CentOS.
O CentOS 5, CentOS 7 marsikaj se je spremenilo na bolje. Poudarek je bil predvsem na varnosti in stabilnosti. Za novinca v Linuxu ali za uporabnika, ki ne ve, kaj je novega v smislu strežnikov in storitev, specifičnih za administracijo spletno gostovanjemalo novic vam lahko povzroči glavobole.
Ena najpogostejših napak pri namestitvi LEMP (Linux, NGINX, MySQL, PHP) varnostnih in servisnih dovoljenj nameščen v operacijskem sistemu CentOS 7.
Napaka pri zagonu storitve NGINX, tudi če se zdi, da je vse dobro konfigurirano v smislu PHP-FPM in NGINX.
restart nginx
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
V statusu imamo naslednje podrobnosti, vendar nam ne pomagajo veliko.
systemctl status nginx.service
● nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Fri 2019-03-08 06:57:41 UTC; 17s ago
Process: 4405 ExecReload=/bin/kill -s HUP $MAINPID (code=exited, status=0/SUCCESS)
Process: 4704 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 4766 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=1/FAILURE)
Process: 4764 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 4706 (code=exited, status=0/SUCCESS)
Mar 08 06:57:40 srv.xsystem.dev systemd[1]: Starting The nginx HTTP and reverse proxy server...
Mar 08 06:57:41 srv.xsystem.dev nginx[4766]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Mar 08 06:57:41 srv.xsystem.dev nginx[4766]: nginx: [emerg] open() "/srv/www/web.dev/logs/access.log" failed (13: Permission denied)
Mar 08 06:57:41 srv.xsystem.dev nginx[4766]: nginx: configuration file /etc/nginx/nginx.conf test failed
Mar 08 06:57:41 srv.xsystem.dev systemd[1]: nginx.service: control process exited, code=exited status=1
Mar 08 06:57:41 srv.xsystem.dev systemd[1]: Failed to start The nginx HTTP and reverse proxy server.
Mar 08 06:57:41 srv.xsystem.dev systemd[1]: Unit nginx.service entered failed state.
Mar 08 06:57:41 srv.xsystem.dev systemd[1]: nginx.service failed.
Razumemo pa, da je dostop do storitve "nginx" blokiran CentOS 7.
Reševanje težave "nginx: [emerg] open ()" pot "ni uspela (13: dovoljenje zavrnjeno)"
Izboljšana varnost Linux (SELinux) je modul, ki se najpogosteje aktivira z namestitvijo CentOS 7 ali druge distribucije Linux. Ta modul ponuja več nadzorna orodja in nadzor dostopa na strežniški ravni, ko je dobro varovati varnosti in integritete. Vendar pa lahko omeji privilegije pomembnih storitev in aplikacij, nameščene v sistemu.
Preprosta rešitev zgornje težave je, da jo onemogočite SELinux.
Kako to onemogočimo SELinux na CentOS 7
1. Najprej preverite, ali je ta modul omogočen na sistemu z izvajanjem ukaza “sestatus”.
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31
2. Če je storitev omogočena, zaženite ukazno vrstico: "setenforce 0", nato pojdite in uredite datoteko “/etc/selinux/config”.
Tu nastavite: SELINUX=disabled.
3. Ko shranite zgornjo datoteko, znova zaženite strežnik.
Vse bi moralo delovati gladko.
Nekaj dni sem poskušal rešiti težavo, najlepša hvala za vaš prispevek !!