Sunday, 11 August 2024

How to install Php in cents os -7.

 Introduction

PHP is a programming language often used to automate server tasks. It is part of the LAMP (Linux, Apache, MySQL, PHP) stack, which is a bundle of software used for running internet servers and services. PHP handles dynamic content, database requests, and processing and displaying data.

This step-by-step guide shows how to install PHP on CentOS 7.


Prerequisites

  • Access to a user account with sudo privileges
  • Access to a terminal window/command-line
  • The yum package manager, included by default
  • A third-party software repository, detailed below

How to Install PHP 7.2 with Apache on CentOS

Step 1: Choose PHP Version to Install

The newest stable release version of PHP is PHP 7.3.1. However, some software repositories default to older versions of the software.

One advantage of using an older release is its high stability and reliability. Newer releases may include more features, but are often more experimental and could cause system instability. If you cannot decide which version is right for you, version 7.2 is a great place to start.

Step 2: Enable Additional Software Repositories

By default, the yum package manager does not include access to the repositories that store the PHP packages. Therefore, you need to enable access to these software packages.

1. First, start by installing the yum-utils package by entering the following command in a terminal window:

sudo yum install yum-utils –y

2. Then, enable the epel-release repository by entering the following:

sudo yum install epel-release –y

3. Finally, add the following software repositories that contain the PHP packages:

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

Step 3: Enable Repository For PHP Version

Next, use the yum-config-manager to point your installer to the repository of the PHP version you want to install:

sudo yum-config-manager ––enable remi–php70

This command configures your system to download and install PHP 7.0.
To install PHP 7.1, change the entry as follows:

sudo yum-config-manager ––enable remi–php71

Likewise, replace the last two characters with 72 to install PHP 7.2.

Step 4: Install PHP and its Dependencies

At this point, you can install PHP. Enter the following command in the terminal:

sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql –y

As you see, the line includes many of the modules and add-ons that help PHP integrate with your local server configuration.

The output will also indicate which dependencies have been installed.

How to install PHP on CentOS

Step 5: PHP Modules

You may have noticed that the installation script included more than just the base PHP package. Many of these are modules that provide basic functionality to PHP. Installing this set helps ensure that your PHP installation meets your expectations for usage.

Like many other Linux applications, you can enhance your system’s PHP functionality using modules.

To search for available modules and generate a list of modules, type in the following command:

sudo yum search php | more
Generate a list of PHP modules.

Step 6: Verify PHP Version

Finally, verify your installation was successful. Check which version of PHP you are running with the command:

php –v
How to check PHP version installed?

Optional: Install PHP 7.3

You can enable Remi’s PHP 7.3 repository the same way you enabled other repositories in Step 3. However, this installation may fail if you have extensions that are not compatible with PHP 7.3.

If this is a first-time installation and you are confident that your system is compatible, you can enable PHP 7.3. Install the release with the following commands:

sudo yum-config-manager ––enable remi–php73
sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql –y

How to disable Yum Repository.

 As the Centos-7 license has expired officially there are no mirror lists available so here is a solution given below if you are getting the error while downloading something in centos-7 in yum.( http://mirrorlist.centos.org )


CentOS 7 Cannot find a valid baseurl for repo: base/7/x86_64 


Error
====

[root@localhost /]# yum install wget
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"

 One of the configured repositories failed (Unknown),
 and yum doesn't have enough cached data to continue. At this point the only
 safe thing yum can do is fail. There are a few ways to work "fix" this:
     1. Contact the upstream for the repository and get them to fix the problem.
     2. Reconfigure the baseurl/etc. for the repository, to point to a working
        upstream. This is most often useful if you are using a newer
        distribution release than is supported by the repository (and the
        packages for the previous distribution release still work).
     3. Run the command with the repository temporarily disabled
            yum --disablerepo=<repoid> ...
     4. Disable the repository permanently, so yum won't use it by default. Yum
        will then just ignore the repository until you permanently enable it
        again or use --enablerepo for temporary usage:
            yum-config-manager --disable <repoid>
        or
            subscription-manager repos --disable=<repoid>
     5. Configure the failing repository to be skipped, if it is unavailable.
        Note that yum will try to contact the repo. when it runs most commands,
        so will have to try and fail each time (and thus. yum will be be much
        slower). If it is a very temporary problem though, this is often a nice
        compromise:
            yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true
Cannot find a valid baseurl for repo: base/7/x86_64
[root@localhost /]#


As of today(11th August 2024), http://mirrorlist.centos.org is not up anymore.

if you still want to use the  CentOs 7 then you need  to go to .repo files in the directory /etc/yum.repos.d and  comment out all the mirrorlist lines and uncomment all the baseurl lines.

So for  CentOs version 8 and below you will also need to change from mirror.centos to vault.centos in the baseurl lines as they are deprecated.

Old Config.
======================

[root@localhost /]# vi /etc/yum.repos.d/CentOS-Base.repo
#
# If the mirrorlist= does not work for you, as a fall back you can try the
# remarked out baseurl= line instead.
#
#
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

New Config.(Uncomment all Base URL REpo & comment all mirror lists.) and also you have to change need to change from mirror.centos to vault.centos in the baseurl lines as they are deprecated.

=====================================


[root@localhost /]# vi /etc/yum.repos.d/CentOS-Base.repo
# remarked out baseurl= line instead.
#
#

[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=http://vault.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
baseurl=http://vault.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
baseurl=http://vault.centos.org/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
baseurl=http://vault.centos.org/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7





Now the repos has been edited and now you need to clean the yum and try to install the packages whatever you want.

[root@localhost /]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base extras updates
Cleaning up list of fastest mirrors

[root@localhost /]# yum install wget
Loaded plugins: fastestmirror
Determining fastest mirrors
base                                                                                                                         | 3.6 kB  00:00:00
extras                                                                                                                       | 2.9 kB  00:00:00
updates                                                                                                                      | 2.9 kB  00:00:00
(1/4): extras/7/x86_64/primary_db                                                                                            | 253 kB  00:00:00
(2/4): base/7/x86_64/group_gz                                                                                                | 153 kB  00:00:00
(3/4): base/7/x86_64/primary_db                                                                                              | 6.1 MB  00:00:01
(4/4): updates/7/x86_64/primary_db                                                                                           |  27 MB  00:00:02
Resolving Dependencies
--> Running transaction check
---> Package wget.x86_64 0:1.14-18.el7_6.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================
 Package                         Arch                              Version                                    Repository                       Size
====================================================================================================================================================
Installing:
 wget                            x86_64                            1.14-18.el7_6.1                            base                            547 k

Transaction Summary
====================================================================================================================================================
Install  1 Package

Total download size: 547 k
Installed size: 2.0 M
Is this ok [y/d/N]: y



Auto Start Network Interface of cent os after reboot.

 When you are giving IP address in a cent os , By default that IP gets removed when the machine reboots. So you have to configure the on boot Yes to make it permanent .


  1. Create a file named [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp8s0 as follows:

  2. DEVICE=eth0
  3. BOOTPROTO=none
  4. ONBOOT=yes
  5. PREFIX=24
  6. IPADDR=192.168.2.203
  7. PREFIX=24
  8. GATEWAY=192.168.2.1
  9. DNS1=8.8.8.8
  10. DNS2=4.2.2.2
  11. Restart network service: systemctl restart network

Monday, 5 August 2024

Mikrotik Multiple port trunk with bridge .

 Find the diagram given below.

########################################################

/interface bridge
add name=bridge1 protocol-mode=none vlan-filtering=yes

########################################################

/interface vlan
add interface=bridge1 name=10 vlan-id=10
add interface=bridge1 name=192 vlan-id=192

########################################################

/interface bridge port
add bridge=bridge1 interface=ether3
add bridge=bridge1 interface=ether6

########################################################

/interface bridge vlan
add bridge=bridge1 tagged=bridge1,ether3,ether6 vlan-ids=192,10

########################################################

/ip address
add address=11.1.1.1/24 interface=192 network=11.1.1.0
add address=10.1.1.1/24 interface=10 network=10.1.1.0

########################################################





Centos Download Links...!

 As you know Centos-7 is no longer available on the official Centos.org site for downloading and also the license and the official updates of the Centos 7 is expired on 30 June 2024.



To download the centos-7, you can use the below links.

https://vault.centos.org/

https://vault.centos.org/7.9.2009/isos/x86_64/

https://vault.centos.org/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso