How to Install Python 2.7.13 on CentOS/RHEL 7/6 and Fedora

Today, I was trying to install an application on my CentOS 6.5 system which required Python >= 2.7, but there are Python 2.6 installed, which we can’t remove as other applications depend on it. This tutorial will help you to install Python 2.7 without removing older versions.

Step 1 – Install GCC

Firstly make sure that you have gcc package installed on your system. Use following command to install gcc if you don’t have it installed.

# yum install gcc

Step 2 – Download Python 2.7

Download Python using following command from python official site. You can also download latest version in place of specified below.

# cd /usr/src
# wget

Step 3 – Extract Archive and Compile

Use below set of commands to extract Python source code and compile it on your system using altinstall.

# tar xzf Python-2.7.13.tgz
# cd Python-2.7.13
# ./configure
# make altinstall

make altinstall is used to prevent replacing the default python binary file /usr/bin/python.

Step 4 – Check the Python Version

Check the latest version installed of python using below command

# python2.7 -V

Python 2.7.13

Step 5 – Install PIP

Finally, install the PIP for the installed Python version.

$ curl "" -o ""
$ python2.7

How To Earn $100 A Day With Google AdSense

Earning $100, $200 or even $300 per day with Google AdSense can be done from a home office. Many website owners are doing it. The only thing you need is planning, work, determination, and passion about your topic or niche.

Term Definitions

Before diving into the exact process, here’s some terminology for better understanding of Google AdSense.

AdSense: AdSense is when you place Google Ads on your website, and when a visitor from your website clicks on an ads, Google pays you 68% of what the advertiser pays them. It’s free to sign up.

CTR: Your ad Click-Through Rate is the number of ad clicks divided by the number of individual ad impressions. Suppose you are showing 3 AdSense ads on every page of your website, 1 page view is equal to 3 ad impressions.

CTR = Clicks / Ad Impressions X 100

Suppose, you get 5 clicks out of 500 ad impressions, your CTR would be 1% (5/500X100).

CPC: Cost Per Click is the revenue you earn each time a visitor clicks on your ad. CPC is determined by the advertisers. In some competitive niches like finance, marketing, online products etc. advertisers may be willing to pay more per click than others.

CPM: CPM means “Cost Per 1000 Impressions.”

Sometimes advertisers opt for CPM ads instead of CPC and set their price for 1000 ad impressions. And they pay each time their ads appear on any website.

What It Takes To Make $100 A Day With AdSense

When your CTR is 1% and your average CPC is $0.25. it’s quite achievable to make $100 dollars a day, and lots of people are doing it. Let’s assume that a Page View = An Ad Impression.

  • To make $100 everyday you need 40,000 Page Views/day Or, 400 Clicks a day @ 1% CTR and $0.25 CPC. For 40,000 Page Views you have to produce 500 awesome articles on your website. These pages must attract at least 80 or more page views everyday.These articles can be as little as 300 words. Always include a YouTuble video on every article page you create. Many people writing a book, can simply write their book on their website and make money simply by writing it. You can also get your visitors to contribute their story ideas. This gets you free content and engages your followers.
  • Apart from CPC, you will also earn from your CPM ad impressions. Irrespective of any niche, the average CPM earning is $1 to $1.5 per 1,000 impressions. You can make $40 to $60 per day from 40,000 page views.
  • You can also sell your Ad space directly or via, and generate $6,000 Per Month on an average from 40,000 page views. Check out how webmasters are making $6,000 to $8,000 Per Month from BuySellAds with forty thousand page views per day. So your daily earning will be $200 (6000/30=200).
  • A niche website with high quality articles works well with affiliate marketing. You can might be able to earn $40 to $80/day from affiliate selling with correct implementation and execution.

Now your total earning per day is $100 + $40 + $200 +$40 = $380 from CPC, CPM, Direct Ad Sell, Affiliate Marketing for 40,000 page views per day. I’ve taken the lowest possible earnings from all the 4 sources.

$380 per day means $11,400 per month (380X30= 11,400) Or, $136,800 per year (11,400X12=136,800).

Removing A Large Number Of Calendar Items In Outlook

If you need to remove a large number of calendar items in Outlook to free up space or improve performance, you can do it by opening your Calendar in List view or by archiving your calendar.  Archiving could be used if you may need access to the old calendar items in the future.

Removing Calendar Entries in the List View

  1. Open your Calendar.
  2. Click the View tab.
  3. Click Change View.
  4. Choose List.

Note: The calendar items will be sorted by Start date.  They will be sorted by single events and recurring events.   You can sort the calendar items by any of the headings listed:  SUBJECT, LOCATION, START, END, RECURRENCE PATTERN, CATEGORIES.

  1. To delete a range of Calendar entries, click on the first entry to be deleted. Hold down the Shift key and click on the last entry in a given range to be deleted. For example, you could delete all entries older than January 1, 2013.
  2. Press Delete.
  3. Repeat Steps 3 and 4 as needed to delete additional Calendar entries.
  4. Click the View tab.
  5. Click Change View
  6. Choose Calendar.

Reset the List View to Default

  1. Click the View tab.
  2.  Click Reset View.
  3. Click Yes.

Deploy Skype Room V2 in Office 365

I recently had trouble deploying Skype Room V2 Office 365 solely to 7 meeting rooms that are using the Logitech V-U0038. The problem was we were getting errors such as Version Mismatch, Incompatible, Sign in errors, etc. I tried Microsoft Office 365 Support although no one was able to assist.

I could login to Skype fine on other computers but why not this one? I completed the Powershell steps? but nothing happened? or is working? We’ll the answer is the SIP Address in Skype Management may be different then your exchange address. Specifically referring to Office 365.

  1.  Go to
  2. Click Admin Centers
  3. Open Skype for Business and Exchange
  4. Find that user in Skype for Business and Exchange
  5. In the properties of the user in Exchange “Email Addresses” make sure SIP is the same as the email in Skype for business
  6. Once these two match up then you should be good.

Keep in mind you may not see the SIP Address if the user is not licensed properly. Let’s get started.

To enable Skype for Business, you must have the following:

  • Skype for Business Online (Plan 2) or higher in your Office 365 plan. The plan needs to support conferencing capability.
  • If you need Enterprise Voice (PSTN telephony) using telephony service providers for Skype Room Systems v2 you need Skype for Business Online (Plan 3).
  • Your tenant users must have Exchange mailboxes.
  • Your Skype Room Systems v2 account does require a Skype for Business Online (Plan 2) or Skype for Business Online (Plan 3) license, but it does not require an Exchange Online license.

Add a device account

  1. Start a remote Windows PowerShell session on a PC and connect to Exchange. Be sure you have the right permissions set to run the associated cmdlets. The following are some examples of cmdlets that can be used and modified in your environment.
    Set-ExecutionPolicy Unrestricted
    $org = ‘’
    $cred = Get-Credential [email protected]$org
    $sess = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri -Credential $cred -Authentication Basic -AllowRedirection
    Import-PSSession $sess

After establishing a session, you’ll either create a new mailbox and enable it as a RoomMailboxAccount, or change the settings for an existing room mailbox. This will allow the account to authenticate to Skype Room Systems v2.

If you are changing an existing resource mailbox:

Set-Mailbox -Identity ‘[email protected]’ -EnableRoomMailboxAccount $true -RoomMailboxPassword (ConvertTo-SecureString -String Password -AsPlainText -Force)

If you’re creating a new resource mailbox:

New-Mailbox -MicrosoftOnlineServicesID [email protected] -Alias PROJECTRIGEL01 -Name “Project-Rigel-01” -Room -EnableRoomMailboxAccount $true -RoomMailboxPassword (ConvertTo-SecureString -String <password> -AsPlainText -Force)

Various Exchange properties must be set on the device account to improve the meeting experience. You can see which properties need to be set in the Exchange properties section.

$acctUpn = ‘[email protected]
Set-CalendarProcessing -Identity $acctUpn -AutomateProcessing AutoAccept -AddOrganizerToSubject $false -AllowConflicts $false -DeleteComments $false -DeleteSubject $false -RemovePrivateProperty $false
Set-CalendarProcessing -Identity $acctUpn -AddAdditionalResponse $true -AdditionalResponse “This is a Skype Meeting room!”

You will need to connect to Azure Active Directory to apply some account settings. To connect to Azure AD, run the following cmdlet:

Connect-MsolService -Credential $cred

If you do not want the password to expire, run the Set-MsolUser cmdlet with the PasswordNeverExpires option as follows:

Set-MsolUser -UserPrincipalName $acctUpn -PasswordNeverExpires $true

You can also set a phone number for the room as follows:

Set-MsolUser -UniversalPrincipalName <upn> -PhoneNumber <phone number>

The device account needs to have a valid Office 365 license, or Exchange and Skype for Business will not work. If you have the license, you need to assign a usage location to your device account—this determines what license SKUs are available for your account. You can use Get-MsolAccountSku to retrieve a list of available SKUs for your Office 365 tenant as follows:


Next, you can add a license using the Set-MsolUserLicense cmdlet. In this case, $strLicense is the SKU code that you see (for example, contoso:STANDARDPACK).

Set-MsolUser -UserPrincipalName $acctUpn -UsageLocation "US"
Set-MsolUserLicense -UserPrincipalName $acctUpn -AddLicenses $strLicense

Next, you need to enable the device account with Skype for Business. Be sure your environment meets the requirements defined in Skype Room Systems v2 requirements.

Start a remote Windows PowerShell session as follows (be sure to install Lync Online Connector, Installation directions can be found at

  1. Import-Module LyncOnlineConnector $cssess=New-CsOnlineSession -Credential $cred Import-PSSession $cssess -AllowClobber Next, enable your Skype Room Systems v2 account for Skype for Business Server by running the following cmdlet:Enable-CsMeetingRoom -Identity $rm -RegistrarPool “” -SipAddressType EmailAddress If you aren’t sure what value to use for the RegistrarPool parameter in your environment, you can get the value from an existing Skype for Business user by using this cmdlet:Get-CsOnlineUser -Identity ‘[email protected]’| fl *registrarpool*

After you’ve completed the preceding steps to enable your Skype Room Systems v2 account in Skype for Business Online, you need to assign a license to Skype Room Systems v2 device. Using the Office 365 administrative portal, assign either a Skype for Business Online (Plan 2) or a Skype for Business Online (Plan 3) license to the device.

Assign a license to your account

  1. Login as a tenant administrator, open the Office 365 Administrative Portal, and click on the Admin app.
  2. Click Users and Groups and then click Add users, reset passwords, and more.
  3. Select the Skype Room Systems v2 account, and then click or tap the pen icon, which means edit.
  4. Click on the Licenses option.
  5. In the Assign licenses section, you need to select Skype for Business Online (Plan 2) or Skype for Business Online (Plan 3), depending on your licensing and what you’ve decided in terms of needing Enterprise Voice. You’ll have to use a Plan 3 license if you want to use Cloud PBX on Skype Room Systems v2. Minimally you will need CloudPBX for voice connectivity. Then configure hybrid voice or PSTN calling based on the PSTN connectivity method.
  6. Click Save to complete the task.

Cisco Umbrella/OpenDNS Domain Controller Configuration

Domain Controllers are crucial for your business to function. One of a Domain Controllers features houses all your employee information for logging onto computers. In a small business environment, clients also like to add DHCP, DNS to their domain controllers *Which is not recommended*.

Domain Controllers house your Databases and Employee information, if this database becomes corrupt or goes down, this will hurt your business by 10 folds as employees cannot get to company resources or even logon a server. “No Logon Servers Available” is a common error when a domain controller environment is failing or the computer has no internet to contact a domain controller. In our case, we have provisioned Cisco Umbrella, OpenDNS to our end users as a web filter to protect against Malicious Websites, DNS Threats and Adult Websites. Today we will be running the Domain Configuration Script on our domain controllers so DNS can function properly on the Domain Controllers.

First, you will need to SPIN up at least two Virtual Appliances for DNS routing. Once you have done this, you are ready to run the script.

  1. Download the Windows Configuration Script from your Umbrella portal at

Once downloaded, Remote Desktop to a Domain Controller and transfer the *.wsf file to your Desktop or a Folder of your choice. In our case when we install anything on a domain controller we create a folder called C:\Installed\ to house this. This helps us keep track of what’s installed and if another technician works on this, they can see it.

2. Run Powershell as Administrator.

To do this, click the Search Icon

Then Type Powershell, Right mouse click and Run As Administrator

Once powershell opens we will want to set the Execution Policy to Unrestricted. To do this, type:

Set-ExecutionPolicy Unrestricted

You will then be prompted of the execution policy change, Are you sure you want to do this?

Type: Y and press Enter

Now let’s run the script.

Type the following command, change the C:\Installed\OpenDNS-WindowsConfigurationScript-20190214.wsf

To your location of the *.wsf File.

C:\Windows\System32\cscript.exe C:\Installed\OpenDNS-WindowsConfigurationScript-20190214.wsf

Copy and Paste this into Powershell and Press Enter.

The Windows Script File should run and ask you if you want to Auto-Configure,

Type Y and Press Enter

Umbrella will then ask you if you want to register the domain controller in the cloud. Type Y and press enter. It will then update the status in the cloud and you are all set!

Thank you!

Create a Certificate on your Root CA for Cisco VCS and VCSE

You will need to generate a CSR before running the commands below. Once you recieve your CSR.txt file, you will want to change the extension from .txt to .csr.

Then copy the *.csr file to your Root Certificate Authority Server in our case we are using Windows Active Directory Certificate Services.

Now let’s generate the X.509 Certificate for Cisco

Remote Desktop Connection (RDP) into your Root CA

Copy the CSR File to your desktop

Run Command Prompt as Admin

Then run the following command,

certreq -attrib “CertificateTemplate:TEMPLATENAME” -submit CSRFILENAME.csr

The bold will need to be changed on how your organization is setup. To find your Template name.

Open Certification Authority in Windows

Once opened you will find, Certificate Templates in your hierarchy.

This is where you want to choose and change the TEMPLATENAME

Once you run the CMD command, you will then choose your Root CA Computer and choose a Save Location for your *.cer. You will then copy the file over to your computer or server where the certificate is needed.

How to Generate a CSR for Microsoft IIS 8

 Open Internet Information Services (IIS) Manager

Click Start, Control Panel, System and Security, Administrative Tools, and then select Internet Information Services (IIS) Manager.

2. Select the server where you want to generate the certificate

In the left Connections menu, select the server name (host) where you want to generate the request.

MS IIS8 Step3

3. Navigate to Server Certificates

In the center menu, click the Server Certificates icon under the Security section near the bottom.

MS IIS8 Step3

4. Select Create a New Certificate

In the right Actions menu, click Create Certificate Request.

MS IIS8 Step4

5. Enter your CSR details

In the Distinguished Name Properties window, enter in the required CSR details and then click Next.

MS IIS8 Step5

Note: To avoid common mistakes when filling out your CSR details, reference our Overview of Certificate Signing Request article.

6. Select a cryptographic service provider and bit length

In the Cryptographic Service Provider Properties window, select Microsoft RSA SChannel Cryptographic Provider and Bit Length of 2048, then click Next.

MS IIS8 Step6

Note: Bit Length: 2048 is the current industry standard. You may choose a larger key size, but only if you have a requirement to do so, as longer key lengths increase latency and may reduce compatibility.

7. Save the CSR

Click Browse to specify the location where you want to save the CSR as a “.txt” file and click Finish.

MS IIS8 Step7

8. Generate the Order

Locate and open the newly created CSR from the specified location you choose in a text editor such as Notepad and copy all the text including:

MS IIS8 Step8

How to Install iOS Apps Directly via Browser (HTML)

If you create a <a href=”HTTP://DIRECTLY TO IPA FILE”></a> it will be a zip archive which is not what we want. We want to click a link apple pops up with an Install this app button.

To do this we must reference itms services in our a href and create an action for download to the manifest.plist file in HTML.

You will need to edit the manifest file to link to the *.ipa file generated by Xcode , once you have updated the manifest links. You will then use the code below to reference the manifest.plist file.

<a href=”itms-services://?action=download-manifest&url=https://yourlink/manifest.plist”>App Download</a>

You will then go to the link of your html file where you placed this <a href=””></a> and click it on your IOS device. You will then be prompted to install the app and if the links are correct in your manifest, it should install properly.

How to demote a Domain Controller (DC) in Windows Server 2012 Active Directory Domain Services (AD DS)

In previous versions of Windows Server to demote a domain controller you would use the DCPROMO.exe utility.  In Windows Sever 2012 the DCPROMO utility has been deprecated.

In Windows Server 2012 we will use Server Manager or PowerShell to demote the DC.  In this blog I will be using the GUI to demote the server manager. So let’s get started.

To demote a DC from AD DS complete the following steps:

Use Server Manager to remove the Active Directory Domain Services Role.

Launch Server Manager, select the Manage drop down menu, select Remove roles and features.

  1. Review the Before You Begin page, Click Next.
  2. On the Select installation type page ensure Role-based or feature-based installation radial button is selected, click Next.
  3. On the Select destination server page Select the desired server from the Server Pool.

Note:  The 2012 Server Manager allows roles and features to be installed remotely.

  1. On the Remove Roles and Features Wizard, click on the Active Directory Domain Services box to remove the check box.
  1. The Remove Roles and Features dialog box Remove features that require Active Directory Domain Service pops up, select Remove Features.
  2. On the Remove Roles and Features Wizard dialog box Validation Results box will appear.  The domain controller must be demoted before continuing.  Click on Demote this domain controller.
  1. On the Active Directory Domain Services Configuration Wizard enter the required credentials to demote this server, click Next.

Note:  To demote replica domain controller you must be at the least a Domain Admin to remove an entire domain from the forest or to demote the last DC of a Forest you must provide Enterprise Admin credentials.

Note:  Only select Force the removal of this domain controller if the DC and not communicate with the remaining DCs.

  1. On the New Administrator Password, enter and confirm the new local administrator account password, click Next.
  1. On the Review Options verify the information is correct and click Demote.

This will begin the demotion process.  To finish the demotion the server will automatically restart.

Note:  When the server restarts it will be a member of the domain that is was previously a domain controller in.

Note:  The Binaries for AD DS are still installed on the server.  If this server is not going to be promoted back to a domain controller in the future rerun the Remove Roles and Features Wizard to remove the AD DS Role from the server.

Verifying the Removal of AD DS

  1. Logon to the server hosting the DNS service for the domain using the Administrator account credentials.
  2. Launch the DNS console and verify the deletion of Service Records for the removed domain controller.

Active Directory Domain Services is now been removed from this server.

How to Transfer FSMO Roles to another Domain Controller

Recently we had replication issues with one of our customers domain controllers. Because of this we had to demote the domain controller and promote it to start replication again. The problem with this if a FSMO role is assigned to the domain controller you must transfer the role first.

Not sure what roles are assigned to a specific server?

Open Command Prompt as Administrator then type netdom query fsmo

Once you find the domain controller that is not replicating properly then find what FSMO roles are assigned to the DC. Next, you will want to transfer the roles away from the Domain Controller. To find the server that is not replicating properly.

Type: repadmin /showrepl

This will then show you the last attempt as successful or a problem has occured.

You can also check Event Viewer Application and System logs for additional replication details if it’s failing. Filter by Critical and Error.
  1. Log on to a Windows 2000 Server-based or Windows Server 2003-based member computer or domain controller that is located in the forest where FSMO roles are being transferred. We recommend that you log on to the domain controller that you are assigning FSMO roles to. The logged-on user should be a member of the Enterprise Administrators group to transfer Schema master or Domain naming master roles, or a member of the Domain Administrators group of the domain where the PDC emulator, RID master and the Infrastructure master roles are being transferred.
  2. Click Start, click Run, type ntdsutil in the Open box, and then click OK.
  3. Type roles, and then press ENTER.

    Note To see a list of available commands at any one of the prompts in the Ntdsutil utility, type ?, and then press ENTER.
  4. Type connections, and then press ENTER.
  5. Type connect to server servername, and then press ENTER, where servername is the name of the domain controller you want to assign the FSMO role to.
  6. At the server connections prompt, type q, and then press ENTER.
  7. Type transfer role, where role is the role that you want to transfer. For a list of roles that you can transfer, type ? at the fsmo maintenance prompt, and then press ENTER, or see the list of roles at the start of this article. For example, to transfer the RID master role, type transfer rid master. The one exception is for the PDC emulator role, whose syntax is transfer pdc, not transfer pdc emulator.
  8. At the fsmo maintenance prompt, type q, and then press ENTER to gain access to the ntdsutil prompt. Type q, and then press ENTER to quit the Ntdsutil utility.

Once the roles have been transferred, use
netdom query fsmo to double check the transferred role.