Install LAMP on CentOS 7 with PHP 5.4/7.0/7.1/7.2/7.3/7.4

Preliminary Note

In this tutorial, I use the hostname server1.example.com with the IP p 192.168.0.100. These settings might differ for you, so you have to replace them where appropriate.

I will add the EPEL repo here to install latest phpMyAdmin as follows:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
yum -y install epel-release

To edit files on the shell, I’ll install the nano editor. If you prefer vi for file editing, then skip this step.

yum -y install nano

Installing MySQL / MariaDB

MariaDB is a MySQL fork of the original MySQL developer Monty Widenius. MariaDB is compatible with MySQL and I’ve chosen to use MariaDB here instead of MySQL. Run this command to install MariaDB with yum:

yum -y install mariadb-server mariadb

Then we create the system startup links for MySQL (so that MySQL starts automatically whenever the system boots) and start the MySQL server: Continue reading “Install LAMP on CentOS 7 with PHP 5.4/7.0/7.1/7.2/7.3/7.4” »

Share

Enable mod_rewrite for Apache on CentOS 7

The mod_rewrite module is enabled by default on CentOS 7. If you find it is not enabled on your server, you can enable it by editing 00-base.conf file located in /etc/httpd/conf.modules.d/ directory.

sudo nano /etc/httpd/conf.modules.d/00-base.conf

Add or uncomment the following line:

LoadModule rewrite_module modules/mod_rewrite.so

Save and close the file, then restart the httpd service:

sudo systemctl restart httpd

Enable .htaccess File

Once the mod_rewrite module has been activated, you can set up your URL rewrites by creating an .htaccess file in your default document root directory. A .htaccess file allows us to modify our rewrite rules without accessing server configuration files. For this reason, .htaccess is critical to your web server. Before we begin, we need to allow Apache to read .htaccess files located under the /var/www/html directory. Continue reading “Enable mod_rewrite for Apache on CentOS 7” »

Share

Build a Centos 7 Repo

Install httpd

[root@www ~]# yum -y install httpd
# remove welcome page
[root@www ~]# rm -f /etc/httpd/conf.d/welcome.conf

Configure httpd. Replace server name to your own environment.

[root@www ~]# vi /etc/httpd/conf/httpd.conf
# line 86: change to admin's email address

ServerAdmin root@srv.world
# line 95: change to your server's name

ServerName www.srv.world:80
# line 151: change

AllowOverride All
# line 164: add file name that it can access only with directory's name

DirectoryIndex index.html index.cgi index.php
# add follows to the end

# server's response header

ServerTokens Prod
# keepalive is ON

KeepAlive On

[root@www ~]# systemctl start httpd
[root@www ~]# systemctl enable httpd

Install other required packages.

[root@dlp ~]# yum -y install rsync createrepo

Continue reading “Build a Centos 7 Repo” »

Share

Install h5ai – file indexer on Centos 7

H5ai is a modern file indexer for HTTP web servers with focus on your files. Directories are displayed in a appealing way and browsing them is enhanced by different views, a breadcrumb and a tree overview. Initially h5ai was an acronym for HTML5 Apache Index but now it supports other web servers too.

Step 1 – Installing (Requires PHP 5.5+)

wget https://release.larsjung.de/h5ai/h5ai-0.29.2.zip
unzip h5ai-0.29.2.zip

Copy folder _h5ai to the document root directory of the web server: DOC_ROOT/_h5ai.

DOC_ROOT
 ├─ _h5ai
 ├─ your files
 └─ and folders

Add /_h5ai/public/inde to http conf file Continue reading “Install h5ai – file indexer on Centos 7” »

Share

Install Mydumper Myloader on Centos 7

If you want to execute logical backups using an alternative to mysqldump that works with parallel threads giving faster execution times mydumper is the correct tool.

wget https://github.com/maxbube/mydumper/releases/download/v0.9.5/mydumper-0.9.5-2.el7.x86_64.rpm

In order to use mydumper and myloader you can use the following sample commands:

For dumping/exporting database:

mydumper -u <username> -p <password> -B <database name> -d /path/to/dump

For importing database (for percona or master-master replication):

myloader -u <username> -p <password> -B <database name> -d /dump/path --enable-binlog

Continue reading “Install Mydumper Myloader on Centos 7” »

Share

Install MariaDB on CentOS 7

Start by adding the MariaDB YUM repository file MariaDB.repo for RHEL/CentOS and Fedora systems.

# vi /etc/yum.repos.d/MariaDB.repo

Now add the following lines to your respective Linux distribution version as shown.

On CentOS 7
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Step 2: Install MariaDB in CentOS 7
Once MariaDB repository has been added, you can easily install it with just one single command.

# yum install MariaDB-server MariaDB-client -y

Continue reading “Install MariaDB on CentOS 7” »

Share

Install WHMCS on CentOS 7

As you may know, WHMCS is the leading web hosting management and billing software that automates all aspects of your business from billing, provisioning, domain reselling and etc. In this article, we are going to install WHMCS 7.7.1 on CentOS 7.6.

We assume you have a valid WHMCS license and have downloaded its package from WHMCS download area.

Here are our environment OS and software versions:

  • OS: Centos 7.6 on VMware
  • WHMCS: 7.7.1
  • PHP: 7.2
  • Database: Mariadb 10.3
  • Web server: httpd 2.4

Here we start from a fresh minimal CentOS 7.6 installation.

1- Initial CentOS setup
Set correct time and date. here we use “Asia/Dhaka”:

# timedatectl set-timezone America/New_York

Change default root password:

# passwd

Set SELinux to permissive mode by editing /etc/selinux/config:

# vim /etc/selinux/config
SELINUX=permissive

Also to apply it immediately run: Continue reading “Install WHMCS on CentOS 7” »

Share

Install PHP 7 on CentOS 7

Enabling Remi repository

PHP 7.x packages are available in several different repositories. We’ll use the Remi repository which provides newer versions of various software packages including PHP.

The Remi repository depends on the EPEL repository. Run the following commands to enable both EPEL and Remi repositories:

sudo yum install epel-release yum-utils
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Yum may prompt you to import the repository GPG key. Type y and hit Enter.

In the following sections, we will be covering how to install PHP 7.x by enabling the appropriate Remi repository. If you already have PHP 5.4 installed on your system yum will update the PHP packages.

Installing PHP 7.3 on CentOS 7

PHP 7.3 is the latest stable release of PHP. Most modern PHP frameworks and applications including WordPress, Drupal, Joomla, and Laravel are fully supporting PHP 7.3.

Perform the steps below to install PHP 7.3 on CentOS 7.

Start by enabling the PHP 7.3 Remi repository:

sudo yum-config-manager --enable remi-php73

Install PHP 7.3 and some of the most common PHP modules:

sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd

Verify the PHP installation, by typing the following command which will print the PHP version: Continue reading “Install PHP 7 on CentOS 7” »

Share

Install SNMP and Configure the Community String For CentOS

Install SNMP

Install the SNMPD service by running the following command:

yum install net-snmp net-snmp-utils

Once the service is installed, verify that it is set to start at startup by running:

CentOS 6:

chkconfig snmpd on

CentOS 7:

systemctl enable snmpd

Continue reading “Install SNMP and Configure the Community String For CentOS” »

Share

Softether on VPS Using Local Bridge

Problem on SecureNAT

SecureNAT is a fairly simple way to setup Softether. You don’t need a lot of sysadmin skill and network understanding in order to get Softether up and running.

The problem is SecureNAT is a bit SLOW. I will show a comparison at the end of this article.

We can boost the performance using a local bridge.

Softether using local bridge

To start with you need Softether installed and setup. You can follow the guide on Softether on VPS

Just skip the last step “Enable the Virtual NAT”

Local bridge Setup

Network setup

  • VPN Server IP: 192.168.7.1
  • VPN Client IP Range: 192.168.7.50-192.168.7.60
  • Tap Device name: tap_soft

From here we go to the “Local Bridge Setting”

Continue reading “Softether on VPS Using Local Bridge” »

Share