Selinux blocca wordpress in CentOS 6.3

Ho installato wordpress 3.5 su CentOS 6.3 utilizzando il command:

yum install wordpress 

e ha iniziato httpd. Ora posso vedere il seguente errore nel log apache:

  • devo installare fail2ban su CentOS
  • Strano problema: Connessione Reset per Peer
  • Il modo migliore per gestire il software di terze parti / personalizzato con Puppet?
  • Installazione basato su Kickstart di RHEL 6.4 da USB
  • Aggiornamento di OpenSSH all'ultima versione stabile tramite yum
  • MySQL 5.1 vs MySQL 5.5 (5.1 due volte più veloce)
  • PHP Errore irreversibile: require_once (): apertura non valida richiesta '/usr/share/wordpress/wp-includes/class-simplepie.php' (include_path = '.: / Usr / share / pear: / usr / share / php') in /usr/share/wordpress/wp-includes/class-feed.php sulla linea 4, referer: http://www.mycompany.com/wp-admin/

    Immagino che sia a causa di SELinux:

     ls -Z /usr/share/wordpress/wp-includes/class-simplepie.php lrwxrwxrwx. root root system_u:object_r:usr_t:s0 class-simplepie.php -> /usr/share/php/php-simplepie ls -Z /usr/share/php/php-simplepie -rw-r--r--. root root unborderd_u:object_r:user_home_t:s0 autoloader.php drwxr-xr-x. root root unborderd_u:object_r:user_home_t:s0 SimplePie -rw-r--r--. root root unborderd_u:object_r:user_home_t:s0 SimplePie.php 

    Mi chiedo se c'è un modo per farlo funzionare senza distriggersre SELinux?

  • jbd2 / dm-0-8 che consuma tutti gli I / O
  • Compilare la versione del kernel> = 2.6.34 su CentOS 5: il set RAID "ddf1_foo" non è stato triggersto?
  • Centos firewall che blocca le connessioni in entrata
  • Testare la connettività della port UDP
  • Limitare l'utente dal salvataggio sul desktop, i documenti, la mia musica, i miei video, le mie immagini, ecc. Tramite GPO
  • Come si fa a eseguire il backup di 40 server Centos5.5?
  • 4 Solutions collect form web for “Selinux blocca wordpress in CentOS 6.3”

    Sembra che i file dispongano dei contatti di protezione SELinux non validi. Quando installo il pacchetto php-simplepie (sembra provenire da EPEL) e ispezionare questi file, tutti hanno il tipo usr_t , piuttosto che user_home_t .

    Prova a fissare le etichette di sicurezza:

     restorecon -r -v /usr/share/php/php-simplepie 

    Se si desidera verificare che SElinux distriggers SE linux con setenforce 0 o controlla il audit.log. Penso che sia in / var / log / audit / audit / log, ma non sono sicuro al 100%. Una volta che sai per certo che è SELinu puoi tornare SElinux.

    Se è SElinux allora la cosa da fare è utilizzare il semanage impostare la politica di selinux in modo che tutti i dir where il tuo contenuto PHP è httpd_sys_rw_content_t

     semanage fcontext -a -t httpd_sys_rw_content_t </path/to/php/dir> 

    Quindi applicare questa politica utilizzando il restorecon il dir (s) ei loro file / dir:

     restorecon -R </path/to/php/dir> 

    Se il semanage/restorecon non è installato, installare il pacchetto policycoreutils-python .

    BTW se si desidera visualizzare i contesti di file predefiniti nella policy che è ansible eseguire con:

     semanage fcontext -l 

    Tuttavia non può essere SELinux. Credo che fuori dalla scatola apache sulla maggior parte dei redhat distros non seguirà i collegamenti simbolici (anche se ti ho detto che hai trovato un errore che ha detto qualcosa su non follwoing symlinks quando questo era il caso), quindi potrebbe essere necessario aggiungere:

     Options FollowSymLinks 

    Per apache config e riavviare apache.

    Naturalmente potrebbe essere sia il selinux che non seguire i symlinks.

    Ecco un piccolo script di shell che ho creato per i nostri sviluppatori. In questo modo each volta che lanciano WordPress non devono ricordare tutto ciò che fare. La tua struttura di file è quasi certamente un po 'diversa, quindi sarà necessario modificare un po'. Non esitate a suggerire miglioramenti. SELinux non è la mia specializzazione, ma lo sto imparando.

     #!/bin/sh # License: Public Domain # satisfies SELinux context requirements for a WordPress site # To operate properly on CentOS, etc. #Figure out what directory to apply this to and strip any trailing / if [ -d $1 ]; then site=${1%/} else site=`pwd` fi #Check to make sure the setting of $site is sane and fail if not if [ ! -d $site/httpdocs/wp-content ]; then echo "ERROR: This does not appear to be an appropriate directory." echo ${site} echo "Please specify directory for the site like /var/www/html/myssite as the only argument" exit 1 fi #For visual appeal mostly content=$site/httpdocs/wp-content #Setup the contexts chcon -R -v -t public_content_rw_t $content/plugins/ $content/themes/ $content/uploads/ $site/logs/ semanage fcontext -a -t httpd_sys_rw_content_t $site/httpdocs/ semanage fcontext -a -t httpd_sys_rw_content_t $site/httpsdocs/ semanage fcontext -a -t httpd_sys_rw_content_t $site/logs/ #Apply the contexts restorecon -R $site/logs/ restorecon -R $site/httpdocs/ restorecon -R $site/httpsdocs/ 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.