Cloud Guru Online

We simplify everything!

Change mail IP

If your primary IP of the server is blacklisted or having poor reputation, the emails send from you can end up in recipients spam folder. Un til you get the IP issue sorted, you can change the Exim’s mail sending IP to another fresh IP preset in the server.

1.Edit /etc/mailips.

If you wish to change the IP for all domains in the server, add
*: new_IP
If you wish to change the IP for only one domain, add : new_IP

2. Enable “Reference /etc/mailips for outgoing SMTP connections” in WHM >> Exim Configuration

3. Enable “Allow users to relay mail if they use an IP address through which someone has validated an IMAP or POP3 login within the last hour (Pop-before-SMTP)” in WHM >> Tweak Settings

4. Modify the domain’s SPF record to include the new IP.

5. Restart Exim

MySQL temp directory full

In such situations, you will have to change the MySQL’s tmpdir.

  1. Create the new temp directory

mkdir /var/lib/mysql/tmp
chmod 1777 /var/lib/mysql/tmp

  1. Make the new folder as the tmpdir by adding the below to server’s /etc/my.cnf

tmpdir = /var/lib/mysql/tmp

  1. Restart mysql

service mysqld restart

MySQL – Convert all tables from MyISAM to InnoDB

1. Convert the engine using the below command and dump the database.

mysql -e "SELECT concat('ALTER TABLE ', TABLE_NAME,' ENGINE=InnoDB;') FROM Information_schema.TABLES WHERE TABLE_SCHEMA = 'successc_wordpress' AND ENGINE = 'MyISAM' AND TABLE_TYPE = 'BASE TABLE'" | tail -n+2 >> alter.sql

2. Restore the dump created above to the original database.

mysql original_database < alter.sql

Prestashop-Restoration issues

Whenever you had to restore a Prestashop website from backup, there are chances that you face the below error in the front end.

Fatal error: Uncaught Error: Class ‘Doctrine\Common\Cache\ArrayCache’ not found in /home/******/public_html/******/src/Adapter/ContainerBuilder.php:199

In such situations,

  • Install a fresh PS on a subfolder (make sure the version is almost close to the one you have now)
  • Rsync the following folders (or get those from
    • cache
    • classes/cache
    • vendor/doctrine/cache
    • vendor/psr/cache
  • Remove the cache files from var/cache/prod and var/cache/dev