Code Test

myURL = "https://someurl.com/dir/page.html"
URLparts = myURL.rpartition('/')
print(URLparts[0])
print(myURL.rpartition("/")[0])
print(URLparts)

Common Powershell Commands

get-service

Get-Help
Get-Help -Name Get-*
Get-Command –Name *IP*
Set-ExecutionPolicy
Get-ExecutionPolicy
Get-Service
ConvertTo-HTML
Export-CSV
Get-Service | Export-CSV c:\service.csv
Select-Object
Get-Service | Select-Object Name, Status | Export-CSV c:\service.csv
Get-EventLog
Get-Process
Stop-Process
gwmi Win32_USBControllerDevice
Get-Process | Where-Object {$_.Name –eq “iexplore”}

Top 10 Cmdlets to Start Using Immediately
Get-Command retrieves a list of all available cmdlets.
Get-Help displays help information about cmdlets and concepts.
Get-WMIObject retrieves management information by using WMI.
Get-EventLog retrieves Windows event logs.
Get-Process retrieves a single or list of active processes.
Get-Service retrieves a Windows service.
Get-Content reads in text files, treating each line as a child object.
Add-Content appends content to a text file.
Copy-Item copies files, folders, and other objects.
Get-Acl retrieves access control lists (ACLs).

(more…)

Turn on PHP error reporting

To display error messages caused by your PHP script you can include these lines of code:

ini_set('display_errors',1); 
 error_reporting(E_ALL);

Another way to do it is to edit your php.ini file and include this option:

error_reporting = E_ALL

To turn error reporting off for a single document, include this line:

error_reporting(0);
Posted in: PHP

Time and Date w. Linux

View Time
To view the current date and time, the following command will be enough

date

Set Time
To change time means to set a new time. To set time in Ubuntu (or any Linux), just run the following command
sudo date newdatetimestring where newdatetimestring has to follow the format nnddhhmmyyyy.ss which is described below:

  • nn is a two digit month, between 01 to 12
  • dd is a two digit day, between 01 and 31, with the regular rules for days according to month and year applying
  • hh is two digit hour, using the 24-hour period so it is between 00 and 23
  • mm is two digit minute, between 00 and 59
  • yyyy is the year; it can be two digit or four digit: your choice. I prefer to use four digit years whenever I can for better clarity and less confusion
  • ss is two digit seconds. Notice the period ‘.’ before the ss.

Let’s say you want to set your computer’s new time to December 6, 2007, 22:43:55, then you would use:

sudo date 120622432007.55

MySQL Date Math

SELECT DATE_SUB(CURDATE(), INTERVAL 30 DAY);
SELECT DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
SELECT DATE_SUB(CURDATE(), INTERVAL 3 MONTH)
SELECT DATE_SUB(CURDATE(), INTERVAL 6 MONTH)
SELECT DATE_SUB(CURDATE(), INTERVAL 12 MONTH)
SELECT DATE_SUB(CURDATE(), INTERVAL 18 MONTH)

SELECT DATE_SUB(CURDATE(), INTERVAL 24 MONTH)
SELECT DATE_SUB(CURDATE(), INTERVAL 10 YEAR)
SELECT DATE_SUB(CURDATE(), INTERVAL 100 YEAR)

1997-11-01

SELECT COUNT( `WB1` ) FROM `PB` WHERE `WB1` =  15 and `DDate` >= DATE_SUB(CURDATE(), INTERVAL 10 MONTH)



CURDATE()
  • Returns the current date as a value in 'YYYY-MM-DD' or YYYYMMDD format, depending on whether the function is used in a string or numeric context.
    mysql> SELECT CURDATE();
            -> '2008-06-13'
    mysql> SELECT CURDATE() + 0;
            -> 20080613

How To Create a SSL Certificate on Apache for Ubuntu 14.04

https://www.digitalocean.com/community/articles/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-14-04

How To Create a SSL Certificate on Apache for Ubuntu 14.04
ntroduction

TLS, or transport layer security, and its predecessor SSL, secure sockets layer, are secure protocols created in order to place normal traffic in a protected, encrypted wrapper.

These protocols allow traffic to be sent safely between remote parties without the possibility of the traffic being intercepted and read by someone in the middle. They are also instrumental in validating the identity of domains and servers throughout the internet by establishing a server as trusted and genuine by a certificate authority.

In this guide, we’ll cover how to create a self-signed SSL certificate for Apache on an Ubuntu 14.04 server, which will allow you to encrypt traffic to your server. While this does not provide the benefit of third party validation of your server’s identity, it fulfills the requirements of those simply wanting to transfer information securely.
Prerequisites

Before you begin, you should have some configuration already taken care of.

We will be operating as a non-root user with sudo privileges in this guide. You can set one up by following steps 1-4 in our Ubuntu 14.04 initial server setup guide.

You are also going to need to have Apache installed. If you don’t already have that up and running, you can quickly fix that by typing:
sudo apt-get update
sudo apt-get install apache2
Step One — Activate the SSL Module

SSL support actually comes standard in the Ubuntu 14.04 Apache package. We simply need to enable it to take advantage of SSL on our system.

Enable the module by typing:
sudo a2enmod ssl

After you have enabled SSL, you’ll have to restart the web server for the change to be recognized:
sudo service apache2 restart

With that, our web server is now able to handle SSL if we configure it to do so.
Step Two — Create a Self-Signed SSL Certificate

Let’s start off by creating a subdirectory within Apache’s configuration hierarchy to place the certificate files that we will be making:
sudo mkdir /etc/apache2/ssl

Now that we have a location to place our key and certificate, we can create them both in one step by typing:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt

Let’s go over exactly what this means.
openssl: This is the basic command line tool provided by OpenSSL to create and manage certificates, keys, signing requests, etc.
req: This specifies a subcommand for X.509 certificate signing request (CSR) management. X.509 is a public key infrastructure standard that SSL adheres to for its key and certificate managment. Since we are wanting to create a new X.509 certificate, this is what we want.
-x509: This option specifies that we want to make a self-signed certificate file instead of generating a certificate request.
-nodes: This option tells OpenSSL that we do not wish to secure our key file with a passphrase. Having a password protected key file would get in the way of Apache starting automatically as we would have to enter the password every time the service restarts.
-days 365: This specifies that the certificate we are creating will be valid for one year.
-newkey rsa:2048: This option will create the certificate request and a new private key at the same time. This is necessary since we didn’t create a private key in advance. The rsa:2048 tells OpenSSL to generate an RSA key that is 2048 bits long.
-keyout: This parameter names the output file for the private key file that is being created.
-out: This option names the output file for the certificate that we are generating.

When you hit “ENTER”, you will be asked a number of questions.

The most important item that is requested is the line that reads “Common Name (e.g. server FQDN or YOUR name)”. You should enter the domain name you want to associate with the certificate, or the server’s public IP address if you do not have a domain name.

The questions portion looks something like this:
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New York
Locality Name (eg, city) []:New York City
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Your Company
Organizational Unit Name (eg, section) []:Department of Kittens
Common Name (e.g. server FQDN or YOUR name) []:your_domain.com
Email Address []:your_email@domain.com

The key and certificate will be created and placed in your /etc/apache2/ssl directory.
Step Three — Configure Apache to Use SSL

Now that we have our certificate and key available, we can configure Apache to use these files in a virtual host file. You can learn more about how to set up Apache virtual hosts here.

Instead of basing our configuration file off of the 000-default.conf file in the sites-available subdirectory, we’re going to base this configuration on the default-ssl.conf file that contains some default SSL configuration.

Open the file with root privileges now:
sudo nano /etc/apache2/sites-available/default-ssl.conf

With the comments removed, the file looks something like this:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
<FilesMatch “\.(cgi|shtml|phtml|php)$”>
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch “MSIE [2-6]” \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch “MSIE [17-9]” ssl-unclean-shutdown
</VirtualHost>
</IfModule>

This may look a bit complicated, but luckily, we don’t need to worry about most of the options here.

We want to set the normal things we’d configure for a virtual host (ServerAdmin, ServerName, ServerAlias, DocumentRoot, etc.) as well as change the location where Apache looks for the SSL certificate and key.

In the end, it will look something like this. The entries in red were modified from the original file:
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin admin@example.com
ServerName your_domain.com
ServerAlias www.your_domain.com
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
<FilesMatch “\.(cgi|shtml|phtml|php)$”>
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch “MSIE [2-6]” \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
BrowserMatch “MSIE [17-9]” ssl-unclean-shutdown
</VirtualHost>
</IfModule>

Save and exit the file when you are finished.
Step Four — Activate the SSL Virtual Host

Now that we have configured our SSL-enabled virtual host, we need to enable it.

We can do this by typing:
sudo a2ensite default-ssl.conf

We then need to restart Apache to load our new virtual host file:
sudo service apache2 restart

This should enable your new virtual host, which will serve encrypted content using the SSL certificate you created.
Step Five — Test your Setup

Now that you have everything prepared, you can test your configuration by visiting your server’s domain name or public IP address after specifying the https:// protocol, like this:
https://server_domain_name_or_IP

You will get a warning that your browser cannot verify the identity of your server because it has not been signed by one of the certificate authorities that it trusts.

This is expected since we have self-signed our certificate. While our certificate will not validate our server for our users because it has had no interaction with a trusted certificate authority, it will still be able to encrypt communication.

Since this is expected, you can hit the “Proceed anyway” button or whatever similar option you have in your browser.

You will now be taken to content in the DocumentRoot that you configured for your SSL virtual host. This time your traffic is encrypted. You can check this by clicking on the lock icon in the menu bar:

You can see in the middle green section that the connection is encrypted.
Conclusion

You should now have SSL enabled on your website. This will help to secure communication between visitors and your site, but it will warn each user that the browser cannot verify the validity of the certificate.

If you are planning on launching a public site and need SSL, you will be better off purchasing an SSL certificate from a trusted certificate authority.

If you want to learn more about how to configure Apache, click here. Check out this link for more ideas on how to secure your Linux server.
By Justin Ellingwood

 

Test the SMTP Service

From http://support.microsoft.com/kb/323350

To test the SMTP service, follow these steps:

  1. On a computer running Windows Server 2003, type Telnet at a command prompt, and then press ENTER.
  2. At the telnet prompt, type set LocalEcho, press ENTER, and then type open <machinename> 25, and then press ENTER.The output resembles the following:
    220 computername.microsoft.com ESMTP Server (Microsoft Exchange Internet Mail Service 5.5.2651.58) ready
    
  3. Type helo me, and then press ENTER.The output resembles the following:
    250 OK
    
  4. Type mail from:email@domain.com, and then press ENTER.The output resembles the following:
    250 OK - mail from <email@domain.com>
    
  5. Type rcpt to:youremail@yourdomain.com, and then press ENTER.The output resembles the following:
    250 OK - Recipient <youremail@yourdomain.com>
    
  6. Type Data, and then press ENTER.The output resembles the following:
    354 Send data.  End with CRLF.CRLF
    
  7. Type Subject:This is a test, and then press ENTER two times.
  8. Type Testing, and then press ENTER.
  9. Press ENTER, type a period (.), and then press ENTER.The output resembles the following:
    250 OK
    
  10. Type quit, and then press ENTER.

    The output resembles the following:

    221 Closing Port / Mail queued for delivery
    

Excel – Protect cell formats

Text from http://excelhints.com/2008/10/21/protect-cell-formats/

Format the Sheet

The first thing you want to do is go ahead and format the sheet they way you want it to look.  Add borders, cell shading, bold, italics, anything.  Once you finish this walkthrough, you won’t have to worry about setting it again.

Unlock the Cells
Excel provides an easy way to unlock your cells for editing.

  1. Select all the cells you want users to be able to edit.
  2. Right click and select Format Cells from the right-click menu.
  3. Click on the last tab, “Protection” and uncheck the “Locked” checkbox (it is checked by default.

You cells are now unlocked and you are ready to protect your sheet.

Protect the Sheet
Protecting the sheet can be done in one easy step.  From the main menu, select Tools–>Protection–>Protect Sheet.  If you want the default settings without a password, just hit OK and your formatting is now protected while still being able to change the cells contents.

You’ll notice however there are many other options available for you to choose.  Check the options you want the user to be able to do (You’ll notice “Format Cells” is unchecked by default).

  • Select locked cells (Default: Checked)
  • Select unlocked Cells (Default: Checked)
  • Format Cells (Default: Unchecked)
  • Format Columns (Default: Unchecked)
  • Format Rows (Default: Unchecked)
  • Insert Columns (Default: Unchecked)
  • Insert Rows (Default: Unchecked)
  • Insert Hyperlinks (Default: Unchecked)
  • Delete Columns (Default: Unchecked)
  • Delete Rows (Default: Unchecked)
  • Sort (Default: Unchecked)
  • Use AutoFilter (Default: Unchecked)
  • Use PivotTable report (Default: Unchecked)
  • Edit Objects (Default: Unchecked)
  • Edit Scenarios (Default: Unchecked)

The only other decision left to make is whether you want password protection on the sheet as well.  If you don’t put a password on the sheet protection, any user can turn it off the exact way you turned it on.