Full VPS Setup on CentOS
#1
Full VPS Setup on CentOS
This isn't as detailed as my Ubuntu Guide, but will you get you up and running with CentOS and will get you familiar with the OS and how it works.

To start with install CentOS 6/7. Once it's installed use this to login. Replacing "IP" with the server IP.

Code:
ssh -l root "IP"

then enter your password. To change the password run:

Code:
passwd

Next thing to do is install Sentora.

The script is pretty straightforward. Just make sure you pick Phoenix/Arizona/Mountain Standard Time so you don't have issues with daylight saving.

When it asks for "Enter the sub-domain you want to access Sentora panel"

Enter: Sub.YourDomain.com

Ideally the sub should be setup before you run the script, but can be done afterwards. The sub will be the address used to enter Sentora panel.

Code:
bash <(curl -L -Ss http://sentora.org/install)

Once the script finishes do not reboot (but make note of the passwords and save them).

Next run this:

Code:
yum install nano htop php-xcache xcache-admin

This will install XCache that will speed up page load times, htop an interactive process viewer and nano a text editor.

The next part is to edit the php.ini.

Code:
nano /etc/php.ini

Change these values to what you want them. If you are going to use phpMyAdmin to upload a database make sure upload_max_filesize is larger than your database:

Code:
post_max_size = 8M upload_max_filesize = 2M memory_limit = 64M

memory_limit should be about quarter of your total memory. So if your server has 1GB give it 256M, for 512M give it 128M.

F3 will save the file and Ctrl+X will exit nano.

Next we need to edit Apache.

Code:
nano /etc/httpd/conf/httpd.conf

Look for ServerName http://www.example.com:80

And enter your web address. If it has # at the beging of it remove it.

Save the file and reboot Apache.

Code:
service httpd restart

Next modify MySQL so it doesn't use to much memory.

Code:
nano /etc/my.cnf

And add this just underneath [mysqld]

Code:
#MyISAM key_buffer_size = 16M #May need to be higher. Higher number more Memory usage sort_buffer_size = 1M read_buffer_size = 1M read_rnd_buffer_size = 2M myisam_sort_buffer_size = 2M join_buffer_size = 2M max_connections = 60 #If you have issues with simultaneous connections increase this value query_cache_type = 1 query_cache_size = 16M #May need to be higher. query_cache_limit = 8M thread_stack = 128K thread_cache_size = 16M table_definition_cache = 400 table_open_cache = 2000 table_cache = 2000 max_heap_table_size = 16M #May need to be higher tmp_table_size = 16M #Keep equal to max_heap_table_size connect-timeout = 20 low_priority_updates = 1 concurrent_insert = ALWAYS

Then save the file and reboot MySQL.

To better tune MySQL look here: http://www.joe0.com/2013/09/05/how-to-tu...tosredhat/

Code:
service mysqld restart

To update/repair all the MySQL tables run:

Code:
mysqlcheck -o --all-databases --user=root --password=*MySQL Password*

Daily backups is broken in Sentora. Running it makes multiple backups filling up the disc very quickly.
To avoid having any issues with this remove all the backup modules.

Code:
rm -rf /etc/sentora/panel/modules/backup_admin/hooks/*

To manually backup your sites to a zip for easy transfer run:

Code:
zip -r /var/sentora/hostdata/zadmin/backup.zip /var/sentora/hostdata/zadmin/public_html

To setup a Cron job for a weekly backup run:

Code:
nano /etc/cron.weekly/backup

And add this to the file:

Code:
#!/bin/sh rm /var/sentora/hostdata/zadmin/backup.zip zip -r /var/sentora/hostdata/zadmin/backup.zip /var/sentora/hostdata/zadmin/public_html exit

F3 will save the file and Ctrl+X will exit nano.

Next set permissions and make it executable.

Code:
sudo chmod +x /etc/cron.weekly/backup sudo chmod 755 /etc/cron.weekly/backup

You could also add your databases to the weekly backup by adding this to the backup cron:

Code:
mysqldump -u [username] –p[password with no space, so it will start with -p] [database_name] > /folder/to/save/[dump_file.sql]

For cron to work you will need to edit crontab.

To do this run:

Code:
nano /etc/crontab

Code:
SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # run-parts 01 * * * * root run-parts /etc/cron.hourly 15 4 * * * root run-parts /etc/cron.daily 30 8 * * 0 root run-parts /etc/cron.weekly 45 12 1 * * root run-parts /etc/cron.monthly

Crontab – Quick Reference

Code:
sudo chmod +x /etc/crontab sudo chmod 755 /etc/crontab

Code:
service crond restart

Code:
chkconfig crond on

To setup the server to do automatic updates run:

Code:
yum -y install yum-cron

Code:
nano /etc/yum.conf

Add this to the file:

Code:
exclude=kernel* mysql*

This will pervent MySQL and the kernel from updating.

Next add your email to:

Code:
nano /etc/sysconfig/yum-cron

look for MAILTO=

Next start the service:

Code:
chkconfig yum-cron on service yum-cron start

Lastly do some clean up

Code:
yum clean all

Now just reboot the server. Once rebooted log into sentora by entering the server IP into a web browser. You should of copied the login details earlier when the sentora script finished running.

To see if you are getting the speeds your VPS providers advertise run:

Code:
ethtool eth0 | grep -i speed

This will tell you what connection you have.

You can run these command to install Speedtest.net. Doing this isn't an accurate test. There's too many variables in play for it to be accurate. But it will give you a rough idea of what speeds you are getting.

Code:
wget -O speedtest-cli.py https://github.com/sivel/speedtest-cli/raw/master/speedtest_cli.py chmod a+rx speedtest-cli.py sudo mv speedtest-cli.py /usr/local/bin/speedtest sudo chown root:root /usr/local/bin/speedtest speedtest

To upgrade to PHP version 5.5 run:

Code:
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

Code:
yum install yum-plugin-replace yum replace php-common --replace-with=php55w-common

Doing this will break suhosin and XCache.

To repair run:

Suhosin:
Code:
wget https://github.com/stefanesser/suhosin/archive/master.zip unzip master.zip cd suhosin-master phpize ./configure make make install echo 'extension=suhosin.so' > /etc/php.d/suhosin.ini echo 'suhosin.executor.include.whitelist = upload://' > /etc/php.d/suhosin.ini

XCache:
Code:
wget http://xcache.lighttpd.net/pub/Releases/3.1.0/xcache-3.1.0.tar.gz tar xvfz xcache-3.1.0.tar.gz cd xcache-3.1.0 phpize ./configure --enable-xcache make make install

Then add this to php.ini

Code:
nano /etc/php.ini

Code:
[xcache-common] zend_extension = /usr/lib64/php/modules/xcache.so extension=xcache.so [xcache] ; Change xcache.size to tune the size of the opcode cache xcache.size         = 24M xcache.shm_scheme   = "mmap" xcache.count        = 2 xcache.slots        = 8K xcache.ttl          = 0 xcache.gc_interval  = 0 ; Change xcache.var_size to adjust the size of variable cache xcache.var_size     = 8M xcache.var_count    = 1 xcache.var_slots    = 8K xcache.var_ttl      = 0 xcache.var_maxttl   = 0 xcache.var_gc_interval =     300 xcache.test         = Off xcache.readonly_protection = On xcache.mmap_path    = "/tmp/xcache" xcache.coredump_directory =   "" xcache.cacher       = On xcache.stat         = On xcache.optimizer    = Off [xcache.coverager] xcache.coverager    = On xcache.coveragedump_directory = ""

Code:
service httpd restart
Reply
#2
RE: Full VPS Setup on CentOS
CentOS 7 running MariaDB instead of MySQL on CentOS 6.
To my knowledge MariaDB is a drop-in replacement for MySQL, but i know that there are some differences.
So my question is, did you test this on MySQL and MariaDB both?

My Sentora DemoMy GithubAuxio Github
Zentora themeS-Type themeCstyleX theme
flat-color-iconssmall-n-flat-icons

Sentora's development takes way too long, so i'm transitioning to HestiaCP.
Reply
#3
RE: Full VPS Setup on CentOS
(11-08-2015, 04:47 AM)Ron-e Wrote: CentOS 7 running MariaDB instead of MySQL on CentOS 6.
To my knowledge MariaDB is a drop-in replacement for MySQL, but i know that there are some differences.
So my question is, did you test this on MySQL and MariaDB both?

I tested this on CentOS 6.4

But the settings (as I am aware) should be the same for MariaDB as it is for MySQL.
As you said MariaDB is a drop in replacement and it should use all the same settings/config files as MySQL.

MariaDB is similar in away to Sentora. Its a fork but all the commands and settings are the same as the former project.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
Fail2ban for Sentora (Centos 7) bbspike 14 55 ,779 01-14-2020, 07:32 AM
Last Post: Vedran B
[How To] Update from PHP v5.4.16 to v5.6.31 (Includes suhosin patch) [CentOS] betatester3.0 5 22 ,359 03-18-2019, 01:23 AM
Last Post: BigBang
Ubuntu: How to setup TLS on postfix and dovecot Diablo925 28 128 ,542 02-15-2018, 08:46 PM
Last Post: duane

Forum Jump:


Users browsing this thread: 1 Guest(s)