It is pretty simple to setup your domain to redirect to your Google+ profile. For example, I have https://techish.net/+ which redirects to my Google+ profile. This is handy instead of having to link to your Google+ profile manually or using a third-party service. Keeps everything in your control. =)
Apache
If you are using Apache, modify your .htaccess file and include the following lines.
<IfModule mod_rewrite.c>
RewriteEngine On
Redirect /+ https://plus.google.com/your_google_plus_profile_id/
</IfModule>
Nginx
If you are using Nginx, modify your nginx.conf file and put the following line within your location {} stanza.
I switched from Apache to Nginx a few months ago and have been learning many things. One recent task I encountered was how to enable directory listing of a directory when an index file was not present.
This is what I typically see by default when trying to view a path that does not contain an index file in Nginx webserver.
Auto indexing can be enabled in http, server or location context. I specifically wanted to allow auto indexing on only a particular subdirectory of my website.
I opened up Nginx’s configuration for the site I’m using which was found in /etc/nginx/sites-enabled/techish.net.conf
Under the http context, I created a location context and told it to use auto indexing if it did not find an index file.
autoindex on – turns auto indexing on autoindex_exact_size off – I want file sizes rounded (KB, MB, GB, etc.). The default is off which uses Bytes. autoindex_localtime on – Enables the file times to be shown locally. By default this is disabled and uses GMT.
A quick reload of Nginx and then I browse to https://techish.net/pub/test and directory browsing is working. No more 403 Forbidden errors.
This is my setup of LEMP with Cacti 0.8.7i.
LEMP stands for Linux nginx (prounounced Engine x) MySQL and PHP. Most notably, LEMP is just replacing Apache (LAMP) with nginx.
My base linux distribution is Debian 6 AMD64.
Software Required:
Debian 6 AMD64 (6.0.3) Business Card: http://cdimage.debian.org/debian-cd/6.0.3/amd64/iso-cd/debian-6.0.3-amd64-businesscard.iso
PHP 5.3
Nginx 1.0.11
MySQL 5
I boot my system from the ISO and go through the basic install. On the software installation screen, I chose only SSH Server and Standard System Utilities as noted in the screenshot below. Software
After install finishes up and a fresh reboot, I log in as root and add the following to my apt repository at the bottom:
# vim.tiny/etc/apt/sources.list
deb http://nginx.org/packages/debian/ squeeze nginx
deb-src http://nginx.org/packages/debian/ squeeze nginx
Add the key for nginx.org:
root@cacti-087i:~# wget http://nginx.org/packages/keys/nginx_signing.key
--2012-01-16 11:45:38-- http://nginx.org/packages/keys/nginx_signing.key
Resolving nginx.org... 206.251.255.63
Connecting to nginx.org|206.251.255.63|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1561 (1.5K) [text/plain]
Saving to: nginx_signing.key
100%[======================================>] 1,561 --.-K/s in 0s
2012-01-16 11:45:38 (156 MB/s) - nginx_signing.key
root@cacti-087i:~# cat nginx_signing.key | apt-key add -
OK
Then run apt-get update
Now we’ll be downloading the latest version 1.0.11-1. You can verify this went as expected with apt-cache show nginx and look at the package’s version.
Install nginx
apt-get install nginx
Verify it is installed and running by visiting http://127.0.0.1/ or whatever the IP address of your server is configured as. You should see a “Welcome to nginx!” page displayed.
Install MySQL Server
root@cacti-087i:/var/www# apt-get install mysql-server
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libdbd-mysql-perl libdbi-perl libhtml-template-perl libnet-daemon-perl
libplrpc-perl mysql-client-5.1 mysql-server-5.1 mysql-server-core-5.1
Suggested packages:
libipc-sharedcache-perl libterm-readkey-perl tinyca
The following NEW packages will be installed:
libdbd-mysql-perl libdbi-perl libhtml-template-perl libnet-daemon-perl
libplrpc-perl mysql-client-5.1 mysql-server mysql-server-5.1
mysql-server-core-5.1
0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
Need to get 22.0 MB of archives.
After this operation, 56.3 MB of additional disk space will be used.
Do you want to continue [Y/n]?
Note: You will need to provide a root password for MySQL during installation.
Install PHP CGI
The version I’m installing as of this writing is from the stable repository for Squeeze (Version: 5.3.3-7+squeeze3).
root@cacti-087i:~# apt-get install php5-cgi
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libonig2 libqdbm14 php5-common php5-suhosin
Suggested packages:
php-pear
The following NEW packages will be installed:
libonig2 libqdbm14 php5-cgi php5-common php5-suhosin
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 6,827 kB of archives.
After this operation, 17.7 MB of additional disk space will be used.
Do you want to continue [Y/n]?
Install PHP5 MySQL module
root@cacti-087i:/var/www# apt-get install php5-mysql
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libmysqlclient16 mysql-common
The following NEW packages will be installed:
libmysqlclient16 mysql-common php5-mysql
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,132 kB of archives.
After this operation, 5,050 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Now I need to setup spawn fast cgi since this will be the PHP backend for nginx.
Install spawn-fcgi
root@cacti-087i:~# apt-get install spawn-fcgi
Install Daemontools service manager
I will use daemontools as my service manager for fastcgi process.
Modify nginx’s default configuration file in /etc/ngxin/conf.d/default.conf
Change the following to reflect where your web content will be stored. I use /var/www and had to make the directory first.
root@cacti-087i:~# mkdir /var/www
Modify /etc/nginx/conf.d/default.conf:
server {
listen 80;
server_name localhost;
root /var/www;
include /etc/nginx/fastcgi_php;
location / {
index index.php;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php last;
}
}
}
Create /etc/nginx/fastcgi_php file now with the following:
location ~ .php$ {
include /etc/nginx/fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
if (-f $request_filename) {
fastcgi_pass 127.0.0.1:9000;
}
}
Once these files are saved, restart nginx.
root@cacti-0871i:~# /etc/init.d/nginx/restart
I created a test file in /var/www/ named index.php:
root@cacti-087i:~# apt-get install php5-snmp php5-ldap php5-xmlrpc
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
fancontrol libperl5.10 libsensors4 libsnmp-base libsnmp15 lm-sensors
Suggested packages:
snmp-mibs-downloader sensord read-edid i2c-tools
The following NEW packages will be installed:
fancontrol libperl5.10 libsensors4 libsnmp-base libsnmp15 lm-sensors
php5-ldap php5-snmp php5-xmlrpc
0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded.
Need to get 3,612 kB of archives.
After this operation, 7,008 kB of additional disk space will be used.
Do you want to continue [Y/n]?
This site is now powered by IIS7 on Windows Server 2008 R2.
I’ll run some benchmarks between Linux/Apache and Windows/IIS7 performance if I feel like it sometime next week. For now, everything is running smooth. 😉