======Useful Apache====== =====Force SSL===== cat <<'END_OF_TEXT' >> /etc/httpd/conf/httpd.conf RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} END_OF_TEXT service httpd restart =====Disable HTTP Trace===== cat <<'END_OF_TEXT' >> /etc/httpd/conf/httpd.conf RewriteEngine On RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F] END_OF_TEXT service httpd restart =====Enable Log Rotation===== To enable log rotation on CentOS 6, run the following cat <<'END_OF_TEXT' >> /etc/logrotate.d/httpd /var/log/httpd/*log { missingok notifempty sharedscripts daily rotate 7 postrotate /sbin/service httpd reload > /var/log/httpd/rotate 2>&1 || true endscript compress } END_OF_TEXT ====Symbolic Links==== By default symbolic links may not work on Apache on CentOS. Assuming the symlink we are considering points to /example, then use the following command. This will add the appropriate SELinux context to the /exampledirectory and all its contents chcon -Rv --type=httpd_sys_content_t /example Replace httpd_sys_content_t with public_content_t if you want it to work with ftp as well. ====XAuth==== When using an xauth, you may get this error ERROR = /usr/bin/xauth: timeout in locking authority file /home/username/.Xauthority The solution is to fix the SELinux permissions chcon unconfined_u:object_r:user_home_dir_t:s0 /home/username ====Allow Perl to Connect To MySQL==== Run this command to allow Perl to connect to Database server while still having SELinux enabled. semanage boolean -m --on httpd_can_network_connect_db