In ceea ce priveste administrarea serverelor web, pot aparea multe surprize neplacute. Mai ales atunci cand se trece de la o versiune mai veche mai veche a unui sistem de operare, la una mai nou. Vsalabil atat pentru Ubuntu cat si pentru CentOS.
De la CentOS 5, la CentOS 7 s-au schimbat foarte multe lucruri in bine. Accentul s-a pus foarte mult pe securitate si stabilitate. Pentru un linux novice, sau pentru un utilizator care nu este la curent cu ce apare nou in materie de servere si siervicii specifice administrarii de web hosting, mici noutati pot da batai de cap.
Una dintre cele mai frecvente erori intalnite la instalarea LEMP (Linux, NGINX, MySQL, PHP) tine de securitate si de permisiunile serviciilor instalate pe sistemul de operare CentOS 7.
Imposibilitatea de a porni serviciul NGINX chiar daca totul pare configurat bine din punct de vedere al PHP-FPM si 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.
In status avem urmatoarele detalii, dar care nu ne ajuta foarte mult.
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.
Intelegem totusi ca este blocat accesul serviciului “nginx” execute operatiuni pe CentOS 7.
Rezolvarea problemei “nginx: [emerg] open() “path” failed (13: Permission denied)”
Security-Enhanced Linux (SELinux) este un modul care de cele mai multe ori vine activat odata cu instalarea CentOS 7 sau a altor distributii de Linux. Acest modul ofera multiple instrumente de control si acces control la nivel de server, fiind un bun gardian cand vine vorba despre securitate si integritate. Cu toate acestea, poate limita privilegiile unor servicii si aplicatii importante, instalate pe sistem.
Rezolvarea simpla a problemei de mai sus, este dezactivarea SELinux.
Cum dezactivam SELinux pe CentOS 7
1. Intai de toate este bine sa verificati daca acest modul este activat pe sistem, executand comanda “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. Daca serviciul este activat (enabled), executati linia de comanda: “setenforce 0”, apoi mergeti si editati fisierul “/etc/selinux/config”.
Aici setati : SELINUX=disabled.
3. Dupa ce ati salvat fisierul de mai sus, restartati serverul.
Totul ar trebui sa functioneze fara probleme.
Llevaba varios días tratando de solucionar el inconveniente, Muchas gracias por tu aporte!!