Script used to correct permission of files after suphp

#!/bin/bash

# For some stupid reason, cPanel screws up the directory permissions.
chmod 755 /opt/suphp
find /opt/suphp -type d -exec chmod 755 {} \;

# Ensure that the permissions are sane and won’t cause a 500 error.
for user in `/bin/ls /var/cpanel/users`; do

chown -R ${user}:${user} /home/${user}/public_html
chmod 755 /home/${user}/public_html
find /home/${user}/public_html -name “*.php” -exec chmod 644 {} \;
find /home/${user}/public_html -type d -exec chmod 755 {} \;

# Comment out Joomla-installed PHP overrides that are not compatible with suPHP.
find /home/${user}/public_html -name ‘.htaccess’ -exec sed -i -e ‘s/php_value/#php_value/’ {} \;
find /home/${user}/public_html -name ‘.htaccess’ -exec sed -i -e ‘s/php_flag/#php_flag/’ {} \;
done

# Delete former session variables due to suPHP no longer having permission to them.
rm -rf /tmp/sess_*

Script used to find vulnerable php files

#!/bin/bash

shellpattern=’r0nin|m0rtix|upl0ad|r57|c99|shellbot|phpshell|void\.ru|phpremoteview|directmail|bash_history|vulnscan|spymeta|raslan58′

for user in `/bin/ls /var/cpanel/users`
do
find /home/$user/public_html \( -name ‘*.php’ -o -name ‘*.cgi’ -o -name ‘*.inc’ \) -exec \
egrep -il “$shellpattern” {} \;
done

Stats not working in Plesk

Create the following cron:

————————————————————————————————

9,24,39,54  * * * * /usr/local/psa/admin/sbin/backupmng >/dev/null 2>&1
10 1 * * * /usr/local/psa/admin/sbin/statistics >/dev/null 2>&1
10 1 * * * /usr/local/psa/admin/sbin/statistics –calculate-one –domain-name=xxx.com

————————————————————————————————

and run the script for checking :

/usr/local/psa/admin/sbin/statistics –calculate-one –domain-name=xxx.com

where xxx.com is your domainname.com

Red5 installation

cd /root

vi red5install

copy paste the below script

echo " "
echo "Hello ,Please choose  the RED5 version : (1,2,3 or 4)"
echo " "
echo "1.  RED5 0.7.0"
echo "2.  RED5 0.6.3"
echo "3.  RED5 0.5  "
echo "                     Press Any other key to install 1. RED5 0.7.0"
read ver
cd /usr/src
echo ""
echo ""
echo "Downloading and installing   jpackage utils rpm......."
echo ""
echo ""
wget -c --tries=inf http://mirrors.dotsrc.org/jpackage/1.7/generic/free/RPMS/jpackage-utils-1.7.5-1jpp.noarch.rpm
rpm -Uvh jpackage-utils-1.7.5-1jpp.noarch.rpm
echo ""
echo ""
echo "Downloading and installing   JDK 1.6 update 5 ..........."
echo ""
echo ""
wget -c --tries=inf http://69.72.132.53/jdk-6u5-linux-i586.rpm
rpm -Uvh jdk-6u5-linux-i586.rpm
echo ""
echo ""
echo "Downloading and installing   Apache Ant 1.7  ..........."
echo ""
echo ""
wget -c --tries=inf http://archive.apache.org/dist/ant/binaries/apache-ant-1.7.0-bin.tar.gz
tar -xzvf apache-ant-1.7.0-bin.tar.gz
mv apache-ant-1.7.0 /usr/local/ant
echo ""
echo ""
echo "Exporting Paths and Variables for Ant  ..........."
echo ""
echo ""
echo 'export PATH=$PATH:/usr/local/ant/bin'>>/etc/profile
echo 'export ANT_HOME=/usr/local/ant'>>/etc/profile
export PATH=$PATH:/usr/local/ant/bin
export ANT_HOME=/usr/local/ant
echo ""
echo ""
echo "Downloading and installing   RED 5  ..........."
echo ""
echo ""
case $ver in
2)
wget -c --tries=inf http://dl.fancycode.com/red5/0.6.3/src/red5-0.6.3.tar.gz
tar -xzvf red5-0.6.3.tar.gz
mv red5-0.6.3 /usr/local/red;;
3)
wget -c --tries=inf http://dl.fancycode.com/red5/red5-0.5.tar.gz
tar -xzvf red5-0.5.tar.gz
mv red5-0.5 /usr/local/red;;
1|*)
wget -c --tries=inf http://red5.nl/installer/red5-0.7.0.tar.gz
mkdir red5
mv red5-0.7.0.tar.gz red5/
cd red5
tar -xzvf red5-0.7.0.tar.gz
rm -rf red5-0.7.0.tar.gz
cd ..
mv red5 /usr/local/red;;
esac
wget -c --tries=inf http://linuxstuffs.net/red5
mv red5 /etc/init.d/
chmod 755 /etc/init.d/red5
cd /usr/local/red
chmod 755 red5.sh
ant -v
./red5.sh

chmod 755 red5install

./red5install

Its done !!!

—————————————————————————————————–

if  http://linuxstuffs.net/red5 doesn’t work, please use the following method.

cd /etc/init.d/
touch red5
chmod 755 red5
vi red5

----------------------------------------------------------

RED5_DIR=/opt/red5
test -x $RED5_DIR/red5.sh || exit 5

case "$1" in
    start)
        echo -n "Starting Red5 Service"
        echo -n " "
        cd $RED5_DIR
        su -s /bin/bash -c "$RED5_DIR/red5.sh &" red5
        sleep 2
        ;;
    stop)
        echo -n "Shutting down red5"
        echo -n " "
        su -s /bin/bash -c "killall -q -u red5 java" red5
        sleep 2
        ;;
    restart)
        $0 stop
        $0 start
        ;;
esac
----------------------------------------------------------

Then you can simply start, stop, and restart red5 from that script by typing:

/etc/init.d/red5 start

/etc/init.d/red5 stop
/etc/init.d/red5 restart

Recompile Perl in Cpanel servers

To check what is the perl version on your system, use:

perl -v

This is perl, v5.8.7 built for i686-linux

If you need to upgrade your perl installation without breaking your CPanel, please follow this method.

wget http://layer1.cpanel.net/perl588installer.tar.gz
tar xfz perl587installer.tar.gz
cd perl587installer
./install

After this is done, run:

/scripts/upcp

You can also run the following to ensure that all the necessary modules were reinstalled:

/usr/local/cpanel/bin/checkperlmodules

Once you have completed the upgrade, you can check again the perl version (perl -v) to ensure that this was properly installed.

Redirect Loop in Cpanel servers

It seems the issue is in the .htaccess file creation:

it looks like this:

Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^.*?$ "http\:\/\/domain\.com\/subdir" [R=301,L]

instead of this:

Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^/?$ "http\:\/\/domain\.com\/subdir" [R=301,L]