Οδηγός αυτόματης εγκατάστασης cPanel για VPS/dedicated server

Το cPanel είναι παγκοσμίως το κορυφαίο control panel στην βιομηχανία του web hosting. Όλες οι λειτουργίες κι εργασίες είναι προσβάσιμες από ένα web interface κι επιπλέον παρέχει πολλαπλά επίπεδα πρόσβασης για administrators, resellers και τελικούς χρήστες άμεσα έτοιμα προς χρήση. Σε αυτό το άρθρο θα περιγράψουμε πώς μπορεί κάποιος να εγκαταστήσει cPanel σε έναν VPS ή Dedicated Server με CentOS. Στην συνέχεια θα αναφερθούμε σε κάποια συνήθη βήματα ασφαλείας και τέλος θα δούμε κάποια συχνά προβλήματα που μπορεί να προκύψουν κατά την εγκατάσταση.

Αποποίηση ευθύνης/Κοινή λογική: Παρακαλούμε σημειώστε ότι πολλά μέρη αυτού του οδηγού εγκατάστασης cPanel προέρχονται αυτούσια από scripts που χρησιμοποιούμε εσωτερικά και δεν μπορούμε να υποσχεθούμε ότι θα δουλεύουν και στην δική σας περίπτωση. Πάντα συμβουλεύεστε τις τελευταίες οδηγίες εγκατάστασης του cPanel κλπ

Προετοιμασία CentOS για cPanel

Πρώτα απ' όλα: Πρέπει να ρυθμίσουμε το λειτουργικό σύστημα (CentOS) για την εγκατάσταση του cPanel σύμφωνα με τις απαιτήσεις της cPanel, συνήθως το μόνο πράγμα που χρειάζεται να γίνει σε μια νέα minimal εγκατάσταση CentOS (6.4 έκδοση την στιγμή που γραφόταν το άρθρο) είναι η αφαίρεση του Postfix (E-mail server), απενεργοποίηση του SELINUX και απενεργοποίηση iptables. Έπειτα προχωράμε στα απαραίτητα updates του λειτουργικού κι επανεκινούμε τον server.

yum groupremove "E-mail server" -y
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
chkconfig iptables off
service iptables stop
yum install -y screen
screen
yum update -y && reboot

Εγκατάσταση cPanel

Εφόσον ξανασυνδεθούμε στον server είμαστε έτοιμοι να προχωρήσουμε με την εγκατάσταση του cPanel. Κάτι που είναι αρκετά απλό μέσω του installer, αλλά παίρνει σεβαστό ποσό χρόνου. Γενικός κανόνας των εγκαταστάσεων είναι το να μην διακόπτονται, οπότε θα κάνουμε χρήση της εντολής screen που εγκαταστήσαμε προηγουμένως και πάλι.

screen
cd /home
wget -N http://httpupdate.cpanel.net/latest
sh latest

Ασφάλεια cPanel

Οπότε είμαστε έτοιμοι; Λοιπόν, υπάρχουν μερικά βήματα σχετικά με την ασφάλεια στο cPanel που θα μας έκαναν να αισθανθούμε πιο άνετα αφού ακολουθηθούν. Αυτά είναι εγκατάσταση του CSF Firewall and I.D.S. plugin, απενεργοποίηση κάποιων PHP functions, κυρίως αυτά που προτείνονται από το CSF.

Installing CSF - ConfigServer Security & Firewall

Και σε αυτήν την περίπτωση η εγκατάσταση είναι αρκετά απλή.

cd /root
rm -fv csf.tgz
wget http://www.configserver.com/free/csf.tgz
tar -xzf csf.tgz
cd csf
sh install.sh

CSF Configuration

Μόλις εγκατασταθεί μπορούμε να προχωρήσουμε σε εξέταση των προτάσεων ασφαλείας που υπάρχουν στην διαδρομή: WHM -> Plugins -> ConfigServer Security&Firewall -> Check Server Security. Σε αυτό το παράδειγμα θα ρυθμίσουμε μαζικά και γρήγορα μερικά από τα προτεινόμενα security tasks για το cPanel. Παρακαλούμε συμβουλευτείτε το πολύ αναλυτικό README του CSF για τις παρακάτω αλλαγές.

echo 'local-infile=0' >> /etc/my.cnf
sed -i 's/TESTING = "1"/TESTING = "0"/g' /etc/csf/csf.conf
sed -i 's/TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2077,2078,2082,2083,2086,2087,2095,2096"/TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2077,2078,2082,2083,2086,2087,2095,2096,10022"/g' /etc/csf/csf.conf
sed -i 's/TCP_OUT = "20,21,22,25,37,43,53,80,110,113,443,587,873,2086,2087,2089,2703"/TCP_OUT = "20,21,22,25,37,43,53,80,110,113,443,587,873,2086,2087,2089,2703,10022"/g' /etc/csf/csf.conf
sed -i 's/IPV6 = "0"/IPV6 = "1"/g' /etc/csf/csf.conf
sed -i 's/SYSLOG_CHECK = "0"/SYSLOG_CHECK = "300"/g' /etc/csf/csf.conf
sed -i 's/FASTSTART = "0"/FASTSTART = "1"/g' /etc/csf/csf.conf
sed -i 's/SMTP_BLOCK = "0"/SMTP_BLOCK = "1"/g' /etc/csf/csf.conf
sed -i 's/LF_SCRIPT_ALERT = "0"/LF_SCRIPT_ALERT = "1"/g' /etc/csf/csf.conf
sed -i 's/PT_ALL_USERS = "0"/PT_ALL_USERS = "1"/g' /etc/csf/csf.conf
sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
sed -i 's/#Port 22/Port 10022/g' /etc/ssh/sshd_config
sed -i 's/enable_dl = On/enable_dl = Off/g' /usr/local/lib/php.ini
sed -i 's/disable_functions =/disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open, allow_url_fopen/g' /usr/local/lib/php.ini
service sshd restart
service mysql restart
service portreserve stop
chkconfig portreserve off
csf -r
service lfd restart

Αντιμετώπιση προβλημάτων

Δεν υπάρχουν και πολλά πράματα που μπορούν να πάνε στραβά ώστε να σταματήσει η εγκατάσταση του cPanel με κάποιο error. Ωστόσο το πιο συνηθισμένο και απλό είναι: "cpanel Fatal! Perl must be installed before proceeding!" στην περίπτωση που δεν είναι εγκατεστημένη η perl. Οπότε αρκεί απλά ένα: yum install perl και είμαστε έτοιμοι να ξανατρέξουμε την εγκατάσταση.

Πάνω κάτω αυτό ήταν όλο, περαιτέρω ρύθμιση του cPanel γίνεται από το WHM panel και/ή εξαρτάται ανάλογα με το περιβάλλον (για παράδειγμα EasyApache build profile). Μπορείτε επίσης να εξετάσετε την χρήση κάποιων έξτρα εργαλείων όπως: MySQLTuner

Δείτε επίσης: