Call us Toll-Free:
1-800-218-1525
Live ChatEmail us

Amazon AWS & EC2 are down... This is why you need redundancy

Adrian Singer, March 15, 2012    --    Posted under Get Online
Amazon AWS and EC2, are DOWN affecting an estimated 500,000 sites.

Twitter is buzzing with sysadmins, checkout pages are not coming up and millions of dollars lost.



Here at SPI, we believe in redundancy.

Our client sites are hosted with Rackspace, NTT Verio, Softlayer and iWeb... all at the same time, on a master-master setup.

They're all great hosting providers, but as our friends at Pingdom frequently report, if things can go wrong they will.

Replicating client sites across multiple data-centers with multiple non-related hosting providers, is the only way to deliver true 100% uptime across the board.

If your site needs to be up and running at all times, contact us today. We'd love to help.

How to: Install PHP w/ FPM + Memcached + GD + MySQL on FreeBSD 8

Adrian Singer, November 30, 2011    --    Posted under Programming
Enjoy our step-by-step guide to configuring PHP 5 with FPM, NGinx Web server, Memcached and MySQL 5.1, on FreeBSD 8:

1. Install FreeBSD 7 compatibility and standard packages


cd
/usr/ports/misc/compat7x
make all
make install

pkg_add
-r libevent
pkg_add
-r libtool
pkg_add
-r m4
pkg_add
-r pcre
pkg_add
-r pdftk
pkg_add
-r rsync
pkg_add
-r vim
pkg_add
-r wget

2. Install ProFTPD


cd
/usr/ports/ftp/proftpd
make all
make install

3. Install NGinx

Make sure you click to enable 'HTTP_GZIP_STATIC_MODULE', 'HTTP_SSL_MODULE' and 'HTTP_ZIP_MODULE'


cd
/usr/ports/www/nginx
make all
make install

echo "nginx_enable=YES" >> /etc/rc.conf
echo "<?php phpinfo(); ?>" >> /usr/local/www/nginx/phpinfo.php

You can always run make config to redo the configuration options

4. Install CURL+LibXML


cd
/usr/ports/ftp/curl
make all
make install

cd
/usr/ports/textproc/libxml
make all
make install

5. Install MySQL client and server


cd
/usr/ports/databases/mysql51-server
make all
make install

cd
/usr/ports/databases/mysql51-client
make all
make install

cd
/usr/tmp
fetch
"http://api6.softwareprojects.com/files/auto/my.cnf"
mv my.cnf /etc/my.cnf

mkdir
/usr/local/mysql
mkdir
/usr/local/mysql/data
chmod 777
/usr/local/mysql
chown
-R mysql:mysql /usr/local/mysql

/usr/local/bin/mysql_install_db
chmod
-R 777 /usr/local/mysql
chown
-R mysql:mysql /usr/local/mysql

6. Install GD


cd
/usr/ports/graphics/ruby-libpng
make all
make install

7. Install PHP 5


cd
/usr/ports/security/libmcrypt
make all
make install

cd
/usr/ports/devel/php5-pcntl
make all
make install

cd
/usr/tmp
fetch
"http://api6.softwareprojects.com/files/auto/php-5.2.8.tar.gz"
tar xvfz php-5.2.8.tar.gz

fetch
"http://api6.softwareprojects.com/files/auto/php-5.2.8-fpm-0.5.10.diff.gz"
gzip -cd php-5.2.8-fpm-0.5.10.diff.gz | patch -d php-5.2.8 -p1

fetch
"http://api6.softwareprojects.com/files/auto/suhosin-patch-5.2.8-0.9.6.3.patch.gz"
gzip -cd suhosin-patch-5.2.8-0.9.6.3.patch.gz | patch -d php-5.2.8 -p1

cd php
-5.2.8
./configure --with-config-file-path=/usr/local/lib/ --enable-pcntl --enable-fastcgi --enable-fpm --enable-calendar --enable-ftp --enable-mbstring --with-mysql --with-curl --with-mcrypt --with-gd --with-iconv --with-jpeg-dir=/usr/lib --with-mysql=/usr/local/mysql --enable-memcache --with-openssl --enable-soap --enable-sockets --with-zlib --enable-zip --enable-bcmath --with-ttf --enable-gd-native-ttf --with-freetype-dir=/usr/local/lib/ --enable-pdo --with-pdo_mysql --enable-suhosin
make all install

fetch
"http://api6.softwareprojects.com/files/auto/php-fpm.conf"
mv php-fpm.conf /usr/local/etc/php-fpm.conf

fetch
"http://api6.softwareprojects.com/files/auto/nginx.conf"
mv nginx.conf /usr/local/etc/nginx/nginx.conf

8. Install Memcached


cd
/usr/ports/databases/memcached
make all
make install

9. Install HAProxy


cd
/usr/ports/net/haproxy
make all
make install

10. Start MySQL and NGinx


/usr/local/bin/mysqld_safe &
/
usr/local/sbin/php-fpm start
/usr/local/etc/rc.d/nginx start

--

Verify MySQL is working properly:

Attempt connecting to MySQL:

/usr/local/bin/mysql -uroot

Verify NGinx is working properly:

Point your browser to http://1.2.3.4/ (replacing 1.2.3.4 with the PUBLIC ip address of the server)

Verify PHP is working properly:

Point your browser to http://1.2.3.4/phpinfo.php (replacing 1.2.3.4 with the PUBLIC ip address of the server).

If you see the PHP info screen, all is well

How to register SSL Certificate with GoDaddy

Dawn Rossi, July 8, 2011    --    Posted under Get Online
This is a follow-up to an old post I wrote back in 2008 about registering SSL certificates with VeriSign

While VeriSign is still the elephant in the room, these days, all modern browsers support certificates from GoDaddy, Thawte and many other cheaper alternatives to VeriSign.

Unless you have a very good reason to use VeriSign and shell out $400, I would recommend using GoDaddy. Their standard SSL will only set you back $50 and best of all - it is usually issued within minutes.

Step 1 - Register a domain

This is a no brainer.

Step 2 - Verify Whois information and make it public

Your domain whois information must match the company name and address you'd like to list on the SSL certificate.

Update your whois information if you need to (login to your SoftwareProjects account and click on the domain, or use your existing registrar interface) and make sure your whois information can be publicly accessed by whois.net

If you have private-registration, you MUST turn it off prior to applying for the SSL certificate. You'll be able to turn private-registration back on once the certificate is approved.

Step 3 - Generate private key

Login to your server via Telnet or SSH and run this command:

openssl genrsa -out www.mydomain.com.key 2048

Replace mydomain.com with your target domain name.

You'll be asked to choose a password. Pick any password - it is only used throughout the registration process.

Now enter this command:

openssl req -new -key www.mydomain.com.key -out www.mydomain.com.csr

Again replace mydomain.com with your target domain name.

You'll be asked to provide the country, state, company name and domain name. Make sure you use the EXACT same information as what whois.net shows for your domain.

The common name is your www.mydomain.com.

Step 4 - Buy Certificate

Visit GoDaddy's SSL certificate page here and select the Standard SSL certificate for 1 year.

Skip all the optional add-ons.



You will be asked to paste the www.mydomain.com.csr you prepared earlier.

View 3 Comment(s)

SoftwareProjects to attend AdTech San Francisco

Kate Richards, April 11, 2011    --    Posted under SoftwareProjects Products
AdTech is an international conference for the interactive marketing community, bringing together the movers & shakers of our industry, all under one roof.



SoftwareProjects is sending a small team of rainmakers to meet and network. We'd love to buy you a beer!

When: April 11-13, 2011
Where: Moscone Center, San Francisco

For the first time AdTech and YouTube will be partnering to broadcast highlights of the conference LIVE on the AdTech channel

If you'd like to get together and learn why 3,000 businesses in 14 countries rely on SoftwareProjects when it comes to Shopping Carts, Product Launches, PPC, Email Marketing and Software Development, contact us to setup a meeting.

See you in San Francisco!

1ShoppingCart is Down

Mike Peters, February 11, 2011    --    Posted under Get Online
1ShoppingCart.com, a popular shopping cart provider, has been down for 3 hours and counting...

Since 1ShoppingCart is a centralized system, this means every single merchant using 1shoppingcart is losing leads and sales hand over fist.

Twitter is full with raging customers and no ETA from 1Shoppingcart:



Contact us if you'd like to test drive the SPI shopping cart and experience first-hand, why so many are switching over.

-

This outage is the second major outage for 1ShoppingCart in the last 6 months.

NTP for Accurate Global Time Synchronization

Mike Peters, February 11, 2011    --    Posted under Programming
Running a multi-server architecture?

Keeping your server clocks in-sync is very important, especially when using NoSQL databases like Cassandra.

Cassandra attaches a timestamp to every insert operation. If your server clocks fall out of sync, some updates will be dropped, due to one server taking precedence over others.

Even if your servers are all showing the same time right now, it's important to understand that without continually applying corrections, the different clocks will eventually fall out of sync.

How does Global Time Synchronization work?

Public time servers, update their clocks using hardware based on atom's electrons frequency (aka Atomic Clocks).

Your local machines ping the time server repeatedly, applying corrections so that all clocks are in sync.

NTP

NTP (Network Time Protocol) is an Internet protocol used to synchronize the clocks of computers to a global time reference.

FreeBSD and Linux servers come with an NTPD service that automatically adjusts the local clock based on the selected global time server.

To start NTPD on Linux:
ntpdate pool.ntp.org
service ntpd restart

To start NTPD on FreeBSD:
ntpdate pool.ntp.org
/etc/rc.d/ntpd start

Controlling which time server to use is done by updating /etc/ntp.conf. Example:
server pool.ntp.org prefer
driftfile /var/db/ntpd.drift
logfile /var/log/ntpd.log

To configure NTPD to start on boot automatically on Linux:
chkconfig --level 2345 ntpd on

To configure NTPD to start on boot automatically on FreeBSD:
Add these lines to your /etc/rc.conf file:
ntpd_enable="YES"
ntpdate_enable="YES"
ntpdate_flags="pool.ntp.org"


View 1 Comment(s)
« Previous Posts » Next Posts



About Us  |  Contact us  |  Privacy Policy  |  Terms & Conditions