HOWTO: Uninstall CPANEL over SSH
UPDATE 12/04/2012: I am so glad I don't even have to THINK about this stuff.. just received this email from cpanel. One less thing I have to do today as a server admin. Payoff!
Important: cPanel & WHM 11.30 Security Release cPanel has released new builds for all public update tiers. These updates provide targeted changes to address security concerns with the cPanel & WHM product. These builds are currently available to all customers via the standard update system. cPanel has rated this update as having important security impact. Information on security ratings is available at http://go.cpanel.net/securitylevels. If your deployed cPanel & WHM servers are configured to automatically update when new releases are available, then no action is required. Your systems will update automatically. If you have disabled automatic updates, then you are highly encouraged to update your cPanel & WHM installs at your earliest convenience. Releases Version 11.30.7.4 of cPanel & WHM addresses all known vulnerabilities. The latest public releases of cPanel & WHM for all update tiers are published at http://httpupdate.cpanel.net. Security Issue Information The resolved security issues were identified by various members of the development and quality assurance teams at cPanel. There is no reason to believe that these vulnerabilities are known to the public. As such, cPanel will only release limited information regarding the vulnerabilities. Once sufficient time has passed to allow cPanel & WHM systems to automatically update their installed software to the new versions, cPanel will release additional information regarding the nature of the security issue. This Targeted Security Release addresses five vulnerabilities. Additional information is scheduled to be released December 6, 2012, via email.
WARNING! This is for advanced users of the shell, this is NOT a howto or tutorial. The thing is, I googled how to uninstall cpanel and for once in my life I came up empty.. And certainly the cpanel official sites themselves don't provide any instructions other than to say "Dont uninstall it, reinstall your entire operating system without it.".. they sure don't seem confident that they know exactly what their code is doing. Cpanel is great for most people, perfect for many situations, so don't get me wrong.. this is just for fun.
Why Uninstall?
Why? Because I have always built my servers, php installations, perl installs, ruby, iptables, everything from source. I read the INSTALL/README docs, I read the man pages, and I read the info pages as well. I google for configuration advice, I google for tips, and I don't need a web-based perl script messing my stuff up!
The main problems I had with cpanel, which really is a great bit of software for millions of website developers, is that it was incredibly sneaky! I used it for about 6 months and spent that entire time trying to figure out what the heck it was doing. A couple issues that I really disliked, it takes over your bind install, it takes over your apache install, it takes over your php install. And although it does let you configure some things (very few) for custom configurations and the like, I just don't need any of that. By removing the darn thing I am saving GIGS of space on my server, tons of bandwidth, and most importantly to me I am saving CPU and processing time along with RAM and IO speed.
Anything Else
Please.. I could go on for DAYS! Another reason I have wanted to be rid of cpanel is that I like my servers to be as lean and mean as possible. This means I like as few files and processes as possible. There are many benefits to this, like it's much easier for my integrity checking software and rootkit/antivirus software to run and drastically reduces the false positives. And there is that glaring security issue of constantly having cpanel run it's own software to create the WHM/Cpanel web interface, which is accessible online. I haven't researched cpanel security at all, it's possible that it never has security problems that are published, but for me, why take the chance?
Warning - Caution!
The following is just a quick reference of some of the commands I used to uninstall cpanel. This is for advanced users of the shell. If you aren't that advanced and you run a single one of these commands without fully understanding it, you will probably kill your server, probably lose everything on it permanently, probably not have a website or email for weeks.. So backup all your data FIRST. Also, if you aren't 100% sure you won't run into problems, you should contact your hosts technical support - but be prepared for some MAJOR negativity.. cpanel makes things very easy for hosts, and the last thing tech support wants is to fix a server broken by someone who doesn't know what they are doing.
Last Warning!
Unless you understand what theses commands do and the purpose they serve, do not try any of this. These are not the exact commands I used verbatim, they are also not in order. I only put them up here because I was so amazed that google didn't have any uninstall cpanel intructions. Hopefully it's not a conspiracy that will get my site taken down.. ;)
That said and out of the way, it really only took me about 10 minutes to uninstall cpanel completely. But keep in mind I have been closely monitoring and debugging cpanel for 6 months, so I knew what I was doing. And finally, I do apologize for not having better instructions.. but hey, if you don't get this then you have no business trying to figure out how to uninstall cpanel! It's great software and shouldn't be removed unless you are fully capable of managing email/dns/www/ftp and any/all other servers and services on your machine by hand.
Do This First
I have a few drafts I'm working on at the moment with specifics, but for now you will have to figure it out with google. Basically you want to make sure you don't totally knock your machine offline without being able to reconnect. What I do is compile a static version of openssh and a few other security-type shell tools, and configure this binary sshd to run by using inittab, which is the file run by init (pid 1) and makes sure if it dies it is restarted. Here is my /etc/inittab to run the static sshd binary:
hh:12345:respawn:/failover/os/sbin/aassh -D -q -u0 -f /failover/os/etc/aassh
Another trick is to keep a detached screen logged in to root. That way if you mess up your sudoers or securetty or pam or whatever, you can just reattach and fix it.
Finally, you may want to setup your syslog to start earlier than usual, and set up more than normal verbosity. ( I take it to the max ). Then you should setup a 2nd server or machine somewhere to act as a syslog server. Lastly, configure your web server syslog to copy all messages to the remote syslog you set up. I use a reverse ssh tunnel to encrypt the syslog packets, but when I do something serious like reboot after uninstalling cpanel, I prepare for it by adding additional networking routes on my machine to make sure I will get some logs even if sshd cant start or even if my network addresses aren't brought up correctly.
If that sounds easy to you, please continue. If you are saying: Wha??? Continue in read-only mode.
Also, you can't just uninstall cpanel, I have replaced a lot of cpanel already, like building my own bind, apache, php, syslog and making sure they work and aren't being tampered with by cpanel. Basically cpanel runs everything on your server in most cases, so you should prepare by creating your own static software to replace cpanel, and make sure it works.
Find files Accessing /var/cpanel
More than likely these will need to be killed.
lsof +w -Rg -nP +c15 -x f +D /var/cpanel lsof +w -Rg -nP +c15 -x f +D /usr/local/cpanel
Killing cpanel
Just an example, your machine may have a lot more than these, I have been slowly taking control of my machine back from cpanel for 6 months, so it was easier for me.
for P in tailwatchd queueprocd cpanellogd exim; do pkill -9 $P; done
Commands and Shortcuts
alias NF='nice find $PWD -mount -depth ! -type d' alias NFF='nice find $PWD -mount -depth ! -type d | xargs -IF87 file F87' alias NA='nice find $PWD -mount -depth' alias NAF='nice find $PWD -mount -depth | xargs -IF87 file F87'
Watch out for crontab
An example of the sneakiness (from my POV, from most it's called builtin robustness) that cpanel does is automagically adding crontab entries that make it behave similarly to a self-propagating virus. If you don't disable the cronjobs and kill the right processes within a short period of time, be prepared for a magic resurrection.
Here's my awesome crontab information function, you will need to check every file, it lists the default crons on my box, and every users crontab, but it can't account for other cron software like at and other crons.
function askapache_crontab() { local GG i; for i in `getent passwd|cut -d ":" -f1`; do GG=$(sudo crontab -u $i -l 2>$N6 | tr -s 'n?00' | sed '/^#/d'); [[ ${#GG} -gt 3 ]] && sleep 1 && echo -e "$i nn${GG}" done; sleep 4; ls -aLls1ch --color=always /etc/cron.{hourly,daily,weekly,monthly,d} | sed '/^total/d; / drwxr-xr-x/d'; }
grep -ir /var/spool cpan
#6 3 * * * /scripts/upcp #0 1 * * * /scripts/cpbackup #0 2 * * * /scripts/mailman_chown_archives #35 * * * * /usr/bin/test -x /usr/local/cpanel/bin/tail-check && /usr/local/cpanel/bin/tail-check #11,26,41,56 * * * * /usr/local/cpanel/whostmgr/bin/dnsqueue > /dev/null 2>&1 #30 */4 * * * /usr/bin/test -x /scripts/update_db_cache && /scripts/update_db_cache #45 */8 * * * /usr/bin/test -x /usr/local/cpanel/bin/optimizefs && /usr/local/cpanel/bin/optimizefs #*/5 * * * * /usr/local/cpanel/bin/dcpumon >/dev/null 2>&1 #25 1 * * * /usr/local/cpanel/whostmgr/docroot/cgi/cpaddons_report.pl --notify
Delete Crontabs
sudo crontab -u mailman -r
Find INIT scripts with cpanel
This is the main startup script: /usr/local/cpanel/etc/init/startup
I had no idea ruby-on-rails was being controlled by cpanel.. sneaky bugger. You can tell by all of these advanced unix commands just how difficult it would be to uninstall cpanel, its totally like the Alien!
(1:3744)# find . ! -type d -print0|xargs -0 -I'F87' grep -Hi "cpan|tailwat|chkser" F87 ./fastmail:# Author: cPanel, Inc../httpd: HTTPD=/usr/local/cpanel/bin/chroothttpd ./cpanel:# cpanel8 Start Cpanel Services ./cpanel:# Author: cPanel, Inc. ./cpanel:# description: This is the cpanel webserver and chat. ./cpanel:# processname: cpaneld ./cpanel:# pidfile: /var/run/cpanel.pid ./cpanel:[ -f /usr/local/cpanel/etc/init/startup ] || exit 0 ./cpanel: if [ -f "/var/cpanel/smtpgidonlytweak" ]; then ./cpanel: echo -n "Starting cPanel services: " ./cpanel: daemon /usr/local/cpanel/etc/init/startcpsrvd ./cpanel: echo -n "Starting cPanel brute force detector services: " ./cpanel: daemon /usr/local/cpanel/etc/init/startcphulkd ./cpanel: echo -n "Starting cPanel dav services: " ./cpanel: daemon /usr/local/cpanel/etc/init/startcpdavd ./cpanel: daemon /usr/local/cpanel/etc/init/startcppop ./cpanel: echo -n "Starting cPanel Chat services: " ./cpanel: daemon /usr/local/cpanel/entropychat/entropychat ./cpanel: daemon /usr/local/cpanel/bin/startmelange ./cpanel: /usr/local/cpanel/bin/startinterchange ./cpanel: echo -n "Starting cPanel ssl services: " ./cpanel: daemon /usr/local/cpanel/startstunnel ./cpanel: echo -n "Starting cPanel Queue services: " ./cpanel: daemon /usr/local/cpanel/etc/init/startqueueprocd ./cpanel: echo -n "Starting tailwatchd: " ./cpanel: daemon /usr/local/cpanel/libexec/tailwatchd --start ./cpanel: echo -n "Starting cPanel Log services: " ./cpanel: daemon /usr/local/cpanel/cpanellogd ./cpanel: action "Starting mailman services: " /usr/local/cpanel/etc/init/startmailman ./cpanel: action "Stopping tailwatchd: " /usr/local/cpanel/libexec/tailwatchd --stop ./cpanel: action "Stopping cPanel services: " /usr/local/cpanel/etc/init/stopcpsrvd ./cpanel: action "Stopping cPanel dav services: " /usr/local/cpanel/etc/init/stopcpdavd ./cpanel: action "Stopping cPanel queue services: " /usr/local/cpanel/etc/init/stopqueueprocd ./cpanel: action "Stopping cPanel brute force detector services: " /usr/local/cpanel/etc/init/stopcphulkd ./cpanel: action "Stopping pop3 services: " /usr/local/cpanel/etc/init/stopcppop ./cpanel: echo -n "Stopping cPanel log services: " ./cpanel: killproc cpanellogd ./cpanel: echo -n "Stopping cPanel Chat services: " ./cpanel: action "Stopping cPanel ssl services: " /usr/local/cpanel/etc/init/stopstunnel ./cpanel: action "Stopping mailman services: " /usr/local/cpanel/etc/init/stopmailman ./cpanel: if [ -e "/usr/local/cpanel/3rdparty/mailman/bin/mailmanctl" ]; then ./exim:if [ -e "/etc/chkserv.d" ]; then ./exim: for file in `ls /etc/chkserv.d` ./exim: if [ ! -e "/usr/local/cpanel/libexec/tailwatchd" ]; then ./exim: if [ -x "/usr/local/cpanel/etc/init/startspamd" ]; then ./exim: /usr/local/cpanel/etc/init/startspamd ./exim: if [ ! -e "/usr/local/cpanel/libexec/tailwatchd" ]; then ./ror: /usr/local/cpanel/bin/rormgr --startboot ./ror: /usr/local/cpanel/bin/rormgr --stopall ./ror: /usr/local/cpanel/bin/rormgr --stopall ./ror: /usr/local/cpanel/bin/rormgr --startboot ./ror: /usr/local/cpanel/bin/rormgr --statusall ./securetmp:# Author: cPanel, Inc.
Turn off cpanel services
You should remove the below delete command and start by just disabling the inits by turning them off. Then reboot. Then delete. If your machine won't reboot, I told you so, Cpanel told you so, and likely your host told you so.
for S in cpanel ror securetmp fastmail exim; do R=$(command chkconfig --level 123456 $S off ||echo); R=$(command chkconfig --del $S ||echo); done
HTTPD
If you are running chrooted httpd then you'll need to make sure you don't delete your entire webserver on accident. Here's a relevant part from the /etc/init.d/httpd script.
# the path to your httpd binary, including options if necessary if [ -e "/etc/chroothttpd" ]; then HTTPD=/usr/local/cpanel/bin/chroothttpd else HTTPD=/usr/local/apache/bin/httpd fi
Finding files owned by cpanel
Some super cool bash commands in this post.. let's start with one to find all the files and folders on your machine owned by cpanel. Check your /etc/passwd file for your machines specific usernames and groups. This command saves all the filenames to ~/cpanel-files-backup.txt, which is used by tar next to create a backup of all of them.
{ find / -mount -depth -maxdepth 150 ( -group cpanel -o -group cpanel-phpmyadmin -o -group cpanel-phppgadmin -o -group cpanelphpmyadmin -o -group cpanelphppgadmin -o -group cpanelhorde -o -group cpanelroundcube ) -print; find / -mount -depth -maxdepth 150 ( -user cpanel -o -user cpanel-phpmyadmin -o -user cpanel-phppgadmin -o -user cpanelphpmyadmin -o -user cpanelphppgadmin -o -user cpanelhorde -o -user cpanelroundcube ) -print; } > ~/cpanel-files-backup.txt
Here's another way to search directories.
grep --color=always -Hir cpanel /var
Create the Backup
Note that you must have the latest version of tar for this exact command, also you should backup /var/cpanel and /usr/local/cpanel and /etc and heck the whole machine why dontcha!
tar -T ~/cpanel-files-backup.txt -cvz --checkpoint=1000 --checkpoint-action="ttyout=rHit %s checkpoint #%u" -f /cpanel-files-backup.tgz --totals
Remove Files
Once you do this your upstream without a paddle, you better make sure you know what you're doing with this. This removes all those files.
cat ~/cpanel-files-backup.txt | xargs -I'F87' rm -vfr F87
Additionally you will want to remove /usr/local/cpanel and /var/cpanel - What I always do when running as root is alias my rm command to instead simply move the files to a .trash folder. That way if something goes bork you have a better chance at fixing it.
Find Group-Owned Files
find / -mount -depth -maxdepth 150 ( -group cpanel -o -group cpanel-phpmyadmin -o -group cpanel-phppgadmin -o -group cpanelphpmyadmin -o -group cpanelphppgadmin -o -group mailman -o -group cpanelhorde -o -group cpanelroundcube ) -fprintf /root/cpanel-group-files.log '%#8k %#5m %11M %#10u:%-10g %-5U:%-5G %p %f %Y %Fn'
Find User-Owned Files
find / -mount -depth -maxdepth 150 ( -user cpanel -o -user cpanel-phpmyadmin -o -user cpanel-phppgadmin -o -user cpanelphpmyadmin -o -user cpanelphppgadmin -o -user mailman -o -user cpanelhorde -o -user cpanelroundcube ) -fprintf /root/cpanel-users-files.log '%#8k %#5m %11M %#10u:%-10g %-5U:%-5G %p %f %Y %Fn'
4 0755 drwxr-xr-x cpanel:cpanel 32002:32004 /var/cpanel/userhomes/cpanel cpanel d reiserfs 4 0700 drwx------ cpanel-phpmyadmin:cpanel-phpmyadmin 32005:32007 /var/cpanel/userhomes/cpanel-phpmyadmin/tmp tmp d reiserfs 4 0644 -rw-r--r-- cpanel-phpmyadmin:cpanel-phpmyadmin 32005:32007 /var/cpanel/userhomes/cpanel-phpmyadmin/.cpanel/caches/featurelists/default.cache default.cache f reiserfs 4 0700 drwx------ cpanel-phpmyadmin:cpanel-phpmyadmin 32005:32007 /var/cpanel/userhomes/cpanel-phpmyadmin/.cpanel/caches/featurelists featurelists d reiserfs 4 0700 drwx------ cpanel-phpmyadmin:cpanel-phpmyadmin 32005:32007 /var/cpanel/userhomes/cpanel-phpmyadmin/.cpanel/caches caches d reiserfs 4 0700 drwx------ cpanel-phpmyadmin:cpanel-phpmyadmin 32005:32007 /var/cpanel/userhomes/cpanel-phpmyadmin/.cpanel .cpanel d reiserfs 4 0750 drwxr-x--- cpanel-phpmyadmin:cpanel-phpmyadmin 32005:32007 /var/cpanel/userhomes/cpanel-phpmyadmin/mail mail d reiserfs 4 0711 drwx--x--x cpanel-phpmyadmin:cpanel-phpmyadmin 32005:32007 /var/cpanel/userhomes/cpanel-phpmyadmin cpanel-phpmyadmin d reiserfs 4 0700 drwx------ cpanelphppgadmin:cpanelphppgadmin 32009:32011 /var/cpanel/userhomes/cpanelphppgadmin/sessions sessions d reiserfs 4 0644 -rw-r--r-- cpanelphppgadmin:cpanelphppgadmin 32009:32011 /var/cpanel/userhomes/cpanelphppgadmin/.cpanel/caches/featurelists/default.cache default.cache f reiserfs 4 0700 drwx------ cpanelphppgadmin:cpanelphppgadmin 32009:32011 /var/cpanel/userhomes/cpanelphppgadmin/.cpanel/caches/featurelists featurelists d reiserfs 4 0700 drwx------ cpanelphppgadmin:cpanelphppgadmin 32009:32011 /var/cpanel/userhomes/cpanelphppgadmin/.cpanel/caches caches d reiserfs 4 0700 drwx------ cpanelphppgadmin:cpanelphppgadmin 32009:32011 /var/cpanel/userhomes/cpanelphppgadmin/.cpanel .cpanel d reiserfs 4 0750 drwxr-x--- cpanelphppgadmin:cpanelphppgadmin 32009:32011 /var/cpanel/userhomes/cpanelphppgadmin/mail mail d reiserfs 4 0711 drwx--x--x cpanelphppgadmin:cpanelphppgadmin 32009:32011 /var/cpanel/userhomes/cpanelphppgadmin cpanelphppgadmin d reiserfs 4 0750 drwxr-x--- cpanelroundcube:cpanelroundcube 514 :514 /var/cpanel/userhomes/cpanelroundcube/mail mail d reiserfs 4 0700 drwx------ cpanelroundcube:cpanelroundcube 514 :514 /var/cpanel/userhomes/cpanelroundcube/sessions sessions d reiserfs 4 0711 drwx--x--x cpanelroundcube:cpanelroundcube 514 :514 /var/cpanel/userhomes/cpanelroundcube cpanelroundcube d reiserfs 4 0644 -rw-r--r-- cpanel:cpanel 32002:32004 /var/cpanel/.cpanel/caches/featurelists/default.cache default.cache f reiserfs 4 0700 drwx------ cpanel:cpanel 32002:32004 /var/cpanel/.cpanel/caches/featurelists featurelists d reiserfs 4 0700 drwx------ cpanel:cpanel 32002:32004 /var/cpanel/.cpanel/caches caches d reiserfs 4 0700 drwx------ cpanel:cpanel 32002:32004 /var/cpanel/.cpanel .cpanel d reiserfs 4 0700 drwx------ cpanelroundcube:cpanelroundcube 514 :514 /var/cpanel/roundcube/tmp tmp d reiserfs 4 0700 drwx------ cpanelroundcube:cpanelroundcube 514 :514 /var/cpanel/roundcube/log log d reiserfs
Find Permissions
cat ~/cpanel-group-files.log ~/cpanel-users-files.log |tr -s '?00 t'|cut -d' ' -f3|sort -u
Find files tailwatchd
(1:3732)# $NICE find ${1:-`pwd`} -mount -name '*tailwatch*' /usr/local/cpanel/libexec/tailwatchd /usr/local/cpanel/libexec/tailwatch /usr/local/cpanel/libexec/tailwatch/tailwatchd /usr/local/cpanel/etc/init/scripts/freebsd/tailwatchd.sh /usr/local/cpanel/etc/init/scripts/trustix/tailwatchd /usr/local/cpanel/etc/init/scripts/centos/tailwatchd /usr/local/cpanel/etc/init/scripts/suse/tailwatchd /usr/local/cpanel/etc/init/scripts/caos/tailwatchd /usr/local/cpanel/etc/init/scripts/whitebox/tailwatchd /usr/local/cpanel/etc/init/scripts/mandrake/tailwatchd /usr/local/cpanel/etc/init/scripts/debian/tailwatchd /usr/local/cpanel/etc/init/scripts/redhat/tailwatchd /usr/local/cpanel/etc/init/scripts/fedora/tailwatchd /usr/local/cpanel/etc/init/stoptailwatchd /usr/local/cpanel/etc/init/starttailwatchd /usr/local/cpanel/bin/tailwatchd /usr/local/cpanel/logs/tailwatchd_log /var/log/cpanel/tailwatchd_log /var/cpanel/log_rotation/cp_tailwatchd_log.cpanellogd /var/cpanel/tailwatch.positions /var/run/tailwatchd.pid /etc/chkserv.d/tailwatchd /scripts/restartsrv_tailwatchd
Delete cpanel Users/Groups
for U in cpanel-phpmyadmin cpanel-phppgadmin cpanelphpmyadmin cpanelphppgadmin cpanelhorde cpanelroundcube machbuild; do userdel -fr $U; groupdel $U; done
Check for broken symlinks
find / -mount -depth -type l -print0 |xargs -0 -P0 -I'F87' file -s 'F87' | sed -n '/: broken symbolic link to/p'
Especially check /etc
$ find /etc -mount -depth -type l -print0 |xargs -0 -P0 -I'F87' file -s 'F87' | sed -n '/: broken symbolic link to/p' /etc/ftpd-rsa.pem broken symbolic link to `/var/cpanel/ssl/ftp/ftpd-rsa.pem' /etc/rc.d/rc1.d/K10chkservd broken symbolic link to `../init.d/chkservd' /etc/rc.d/rc1.d/K30antirelayd broken symbolic link to `../init.d/antirelayd' /etc/rc.d/rc1.d/K80dcc broken symbolic link to `../init.d/dcc' /etc/rc.d/rc3.d/K80dcc broken symbolic link to `../init.d/dcc' /etc/rc.d/rc3.d/S80chkservd broken symbolic link to `../init.d/chkservd' /etc/rc.d/rc3.d/S80antirelayd broken symbolic link to `../init.d/antirelayd' /etc/rc.d/rc6.d/K10chkservd broken symbolic link to `../init.d/chkservd' /etc/rc.d/rc6.d/K30antirelayd broken symbolic link to `../init.d/antirelayd' /etc/rc.d/rc6.d/K80dcc broken symbolic link to `../init.d/dcc' /etc/rc.d/rc5.d/K80dcc broken symbolic link to `../init.d/dcc' /etc/rc.d/rc5.d/S80chkservd broken symbolic link to `../init.d/chkservd' /etc/rc.d/rc5.d/S80antirelayd broken symbolic link to `../init.d/antirelayd' /etc/rc.d/rc2.d/K80dcc broken symbolic link to `../init.d/dcc' /etc/rc.d/rc2.d/S80chkservd broken symbolic link to `../init.d/chkservd' /etc/rc.d/rc2.d/S80antirelayd broken symbolic link to `../init.d/antirelayd' /etc/rc.d/rc4.d/K80dcc broken symbolic link to `../init.d/dcc' /etc/rc.d/rc4.d/S80chkservd broken symbolic link to `../init.d/chkservd' /etc/rc.d/rc4.d/S80antirelayd broken symbolic link to `../init.d/antirelayd' /etc/rc.d/rc0.d/K10chkservd broken symbolic link to `../init.d/chkservd' /etc/rc.d/rc0.d/K30antirelayd broken symbolic link to `../init.d/antirelayd' /etc/rc.d/rc0.d/K80dcc broken symbolic link to `../init.d/dcc' /etc/authlib/authProg broken symbolic link to `/usr/local/cpanel/bin/courier-auth'
And delete if you are sure
find /etc -mount -depth -type l -print0 |xargs -0 -P0 -I'F87' file -s 'F87' | sed -n '/: broken symbolic link to/p' |cut -d' ' -f1|xargs -I'F87' rm -rvf 'F87'
Reinstall CSF
The only thing I actually used that came with cpanel is the CSF/LFD Firewall package, which is a fantastic piece of software. I had to reinstall this, and to get it working without cpanel add the following line to the csf.conf
GENERIC = "1"
Thats It
Now once you've cleaned up everything, you should try everything conceivable to get an error before rebooting. Like you should start and stop every service in /etc/init.d/, you should use telinit to check various runlevels (which keeps your sshd connection still live). Go all out, should take at least a full hour.
Another thing I like to do is rebuild alot of my source-built software again in case anything got messed up. I upgrade perl from cpanels 5.8.8 to 5.10, which is pretty thorough, and you know, reinstall anything else I think I might need. One of the benefits of compiling your own software is all I have to do is cd to the source directory and type make -B && ( { make test || make check || make checks || make tests; } || echo ) && sudo make install
and that's it. The tests/checks are optional of course.
If anyone actually ever reads this and does it, please share your advice here.. everybody knows we need it! Good Luck
« Unicode Character ReferenceLinux Debugging using a Bootloader with Kernel Parameters »
Comments