Full-service Internet Marketing & Web Development
Recent Posts

Recommended Reads
|
Speaking At Affilicon (Israel) June 1-2Mike Peters, May 15 -- Filed under SoftwareProjects Products |
I've been invited to speak at Affilicon, the largest International Affiliate Marketing Conference, on the topic of helping affiliates grow their online business by using outsourcing.

It's an honor for SPI to be acknowledged as an industry leader in helping businesses sell-more-online and I'm sure this will be a great conference.
Affilicon is an International event running in China, Mumbai, Israel, Scandinavia and London.
My presentation will include specific examples showing how we've helped some of the world's greatest online marketers, generate $100m in new sales over 15 days.
I'm looking to share my experience, motivate and leave you with a few take-away tools & tips you can put to use right away.
-
1,500 attendees & over 70 Exhibitors are already confirmed for the upcoming event.
I'm looking forward to meet-up with old friends and engage in a week of non-stop networking. Will be sure to post a video of my presentation as soon as one becomes available.
It's an honor for SPI to be acknowledged as an industry leader in helping businesses sell-more-online and I'm sure this will be a great conference.
Affilicon is an International event running in China, Mumbai, Israel, Scandinavia and London.
My presentation will include specific examples showing how we've helped some of the world's greatest online marketers, generate $100m in new sales over 15 days.
I'm looking to share my experience, motivate and leave you with a few take-away tools & tips you can put to use right away.
-
1,500 attendees & over 70 Exhibitors are already confirmed for the upcoming event.
I'm looking forward to meet-up with old friends and engage in a week of non-stop networking. Will be sure to post a video of my presentation as soon as one becomes available.
|
New: Real-time Path To ConversionAdrian Singer, May 14 -- Filed under Analytics |
SPI is proud to announce the official release of a much anticipated feature - Live Real-time Path To Conversion
It's a powerful new way to look at your online business, that was never available before.
See exactly how customers and prospects are interacting with your website in real time, understand where conversions are coming from and track end-user activities across all channels.
How does it work?
We've always offered the ability to view real time dashboards, giving you a 360 degree view of your online business.
When you login to your SPI account, you are immediately presented with a dashboard showing Order stats, Website traffic, Lead signup rates, Affiliate performance and more:

The new Path To Conversion feature takes this one step further, by tagging all visitors to your website and allowing you to view what these users are doing in real time.
This works whether your users have their cookies on or not.
Screenshots
Unlike other solutions, SPI Path To Conversion covers all channels (Email Marketing, PPC, Shopping Cart, Media and Offline campaigns)
= PPC Path to conversion:

= Email Marketing Path to conversion:

= Shopping Cart Live feed:

Cost
Free
Where to get it
Contact your SPI Account Manager for instructions on how to enable this feature in your account.
It's a powerful new way to look at your online business, that was never available before.
See exactly how customers and prospects are interacting with your website in real time, understand where conversions are coming from and track end-user activities across all channels.
How does it work?
We've always offered the ability to view real time dashboards, giving you a 360 degree view of your online business.
When you login to your SPI account, you are immediately presented with a dashboard showing Order stats, Website traffic, Lead signup rates, Affiliate performance and more:

The new Path To Conversion feature takes this one step further, by tagging all visitors to your website and allowing you to view what these users are doing in real time.
This works whether your users have their cookies on or not.
Screenshots
Unlike other solutions, SPI Path To Conversion covers all channels (Email Marketing, PPC, Shopping Cart, Media and Offline campaigns)
= PPC Path to conversion:

= Email Marketing Path to conversion:

= Shopping Cart Live feed:

Cost
Free
Where to get it
Contact your SPI Account Manager for instructions on how to enable this feature in your account.
|
Meet SPI at Internet Retailer 2009 (Boston) June 15Mike Peters, May 13 -- Filed under SoftwareProjects Products |
Internet Retailer 2009 is the world's largest e-tailing conference, featuring 5,000 attendees. Attendees include web-only merchants, e-retail vendors, retail chains, catalog firms and online portals.

SoftwareProjects is sending a small team of rain-makers to meet and network with our respected clients and partners.
We will be giving demos of the SPI platform out of our executive suite and handing out free software-development hour-block coupons.

-
If you'd like to get together and learn why more than 3,000 businesses in 14 countries rely on SoftwareProjects when it comes to Email Marketing, PPC, Hosting, Shopping carts, Software Development and Affiliate systems, please email or call us at 800-218-1525
See you in Boston!
SoftwareProjects is sending a small team of rain-makers to meet and network with our respected clients and partners.
We will be giving demos of the SPI platform out of our executive suite and handing out free software-development hour-block coupons.

-
If you'd like to get together and learn why more than 3,000 businesses in 14 countries rely on SoftwareProjects when it comes to Email Marketing, PPC, Hosting, Shopping carts, Software Development and Affiliate systems, please email or call us at 800-218-1525
See you in Boston!
|
10 Must-have BlackBerry applicationsMike Peters, May 13 -- Filed under Basics |
Ok, I admit it. I'm a CrackBerry!
I feel the BlackBerry is the absolute best consumer handheld device and can't imagine my life without one. (Yeah I did try the iPhone. Trust me, it doesn't even come close)
Funny thing is I rarely use the BlackBerry for voice calls. 95% of the time I use it as a portable handheld.
People always ask me "What's the best app for this and that", so I've decided to write it all here. Then I can easily refer people to this post.
Following Adrian's 10 Must-have applications that will improve your work flow, here's a list of my top 10 BlackBerry applications. I use all of these on a daily basis.
== Communication
1. BOLT browser
Much better than the built-in browser, Bolt offers native support for SSL, Javascript, Frames, IFrames and Ajax. Opera Mini is another great bb browser, but I like BOLT better.
2. JiveTalk
Tried just about every instant-messenger for the BlackBerry.
supports GTalk, Yahoo, MSN and ICQ. Great user interface and very stable
3. UberTwitter
Best full-featured twitter client for the BlackBerry
== Search
4. Google Mobile Apps
Adds a slick blue "G" button, that allows you to quickly search Google.com without having to launch a browser. Also comes with a fast GMail interface
== Staying up to date
5. Google Sync
Google Calendar is my primary way of managing all meetings, calls, firm deadlines etc. Google Sync automatically syncs with Google Calendar on the air.
6. Viigo
Hands down the best RSS reader. Fast, efficient and supports offline mode (read stories offline and they will be marked as 'read' when you go back online)
== Software Development
7. MidPSSH
Light-weight SSH client. Free and good enough to handle most tasks. User interface takes a while getting used to
== Travel
8. Garmin Mobile
If you travel as much as I do, shell out $99 and spoil yourself with Garmin Mobile. The best GPS navigation system for the BlackBerry. Beats my car navigator.
9. CryptMagic
When on the go, I always used to forget an important password or two. CryptMagic is a password vault with powerful 128-bit encryption
10. Beyond411
Everything you get when calling 411 and more, totally free. Built-in GPS support for local search, directions and weather.
-
Got any additional recommendations? Let me know!
I feel the BlackBerry is the absolute best consumer handheld device and can't imagine my life without one. (Yeah I did try the iPhone. Trust me, it doesn't even come close)
Funny thing is I rarely use the BlackBerry for voice calls. 95% of the time I use it as a portable handheld.
People always ask me "What's the best app for this and that", so I've decided to write it all here. Then I can easily refer people to this post.
Following Adrian's 10 Must-have applications that will improve your work flow, here's a list of my top 10 BlackBerry applications. I use all of these on a daily basis.
== Communication
1. BOLT browser
Much better than the built-in browser, Bolt offers native support for SSL, Javascript, Frames, IFrames and Ajax. Opera Mini is another great bb browser, but I like BOLT better.
2. JiveTalk
Tried just about every instant-messenger for the BlackBerry.
supports GTalk, Yahoo, MSN and ICQ. Great user interface and very stable
3. UberTwitter
Best full-featured twitter client for the BlackBerry
== Search
4. Google Mobile Apps
Adds a slick blue "G" button, that allows you to quickly search Google.com without having to launch a browser. Also comes with a fast GMail interface
== Staying up to date
5. Google Sync
Google Calendar is my primary way of managing all meetings, calls, firm deadlines etc. Google Sync automatically syncs with Google Calendar on the air.
6. Viigo
Hands down the best RSS reader. Fast, efficient and supports offline mode (read stories offline and they will be marked as 'read' when you go back online)
== Software Development
7. MidPSSH
Light-weight SSH client. Free and good enough to handle most tasks. User interface takes a while getting used to
== Travel
8. Garmin Mobile
If you travel as much as I do, shell out $99 and spoil yourself with Garmin Mobile. The best GPS navigation system for the BlackBerry. Beats my car navigator.
9. CryptMagic
When on the go, I always used to forget an important password or two. CryptMagic is a password vault with powerful 128-bit encryption
10. Beyond411
Everything you get when calling 411 and more, totally free. Built-in GPS support for local search, directions and weather.
-
Got any additional recommendations? Let me know!
|
How to: Install PHP+Memcached+GD on FreeBSD / CentOSDawn Rossi, May 9 -- Filed under Programming |
This weekend I had to provision 6 new servers for a web hosting client. 3 of the servers were FreeBSD and the remaining 3 CentOS machines.
For FreeBSD, we're going with NGinx web server, PHP 4.9, Memcached and GD. For CentOS, Apache2 web server and PHP 5.
This step by step tutorial includes everything you need to create a similar setup.
Nginx with PHP+Memcached+GD on FreeBSD:
1. Install FreeBSD packages and ProFTPD
cd /usr
mkdir tmp
cd tmp
setenv PACKAGESITE ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/Latest/
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
fetch http://softwareprojects.com/files/auto/proftpd-1.3.1.tar.gz
tar xvfz proftpd-1.3.1.tar.gz
cd proftpd-1.3.1
./configure --prefix=/usr/local
make
make install
cd ..
echo "PermitRootLogin yes" >> "/etc/ssh/sshd_config"
echo "RootLogin On" >> "/usr/local/etc/proftpd.conf"
/usr/local/sbin/proftpd
2. Install NGinx
fetch http://softwareprojects.com/files/auto/autoconf-2.61.tar.gz
fetch http://softwareprojects.com/files/auto/nginx-0.7.38.tar.gz
tar xvfz nginx-0.7.38.tar.gz
cd nginx-0.7.38
./configure --with-http_ssl_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module
make
make install
mkdir /usr/local/etc/rc.d
echo "/usr/local/nginx/sbin/nginx" >> /usr/local/etc/rc.d/nginx.sh
chmod 755 /usr/local/etc/rc.d/nginx.sh
/usr/local/etc/rc.d/nginx.sh
cd ..
3. Install CURL+LibXML
fetch http://softwareprojects.com/files/auto/libxml2-2.7.2.tar.gz
fetch http://softwareprojects.com/files/auto/curl-7.19.1.tar.gz
tar xvfz libxml2-2.7.2.tar.gz
cd libxml2-2.7.2
./configure
make
make install
cd ..
tar xvfz curl-7.19.1.tar.gz
cd curl-7.19.1
./configure
make
make install
cd ..
4. Install MySQL Client
fetch http://softwareprojects.com/files/auto/mysql-5.1.31.tar.gz
pw group add mysql
pw user add -n mysql -d /usr/local/mysql -s /usr/sbin/nologin
tar xvfz mysql-5.1.31.tar.gz
cd mysql-5.1.31
./configure --with-innodb --prefix=/usr/local/mysql
make all
make install
cd ..
5. Install GD
fetch http://softwareprojects.com/files/auto/libpng-1.2.29.tar.gz
tar xvfz libpng-1.2.29.tar.gz
cd libpng-1.2.29
./configure
make all
make install
cd ..
fetch http://softwareprojects.com/files/auto/jpegsrc.v6b.tar.gz
tar xvfz jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --enable-shared --enable-static
make
make install
cp -f libjpeg.* /usr/lib/
cd ..
6. Install PHP 4.9 with FPM
fetch http://softwareprojects.com/files/auto/php-4.4.9-fpm-0.5.10.diff.gz
fetch http://softwareprojects.com/files/auto/php-4.4.9.tar.gz
tar xvfz php-4.4.9.tar.gz
gzip -cd php-4.4.9-fpm-0.5.10.diff.gz | patch -d php-4.4.9 -p1
cd php-4.4.9
./configure --enable-fastcgi --enable-fpm --enable-calendar --enable-ftp --enable-mbstring --enable-mysql --with-curl --with-dom --with-gd --with-iconv --with-jpeg-dir=/usr/lib --with-mysql=/usr/local/mysql --with-openssl --with-soap --with-sockets --with-zlib
make all install
cp -f /usr/local/bin/php-cgi /usr/local/bin/php
cd ..
echo "/usr/local/sbin/php-fpm start" >> /usr/local/etc/rc.d/php.sh
chmod 755 /usr/local/etc/rc.d/php.sh
fetch -o /usr/local/etc/php-fpm.conf "http://www.softwareprojects.com/files/auto/php-fpm.conf"
/usr/local/etc/rc.d/php.sh start
7. Install Memcached
fetch http://softwareprojects.com/files/auto/memcached-1.2.6.tar.gz
fetch http://softwareprojects.com/files/auto/memcache-2.2.4.tgz
tar xvfz memcached-1.2.6.tar.gz
cd memcached-1.2.6
./configure --prefix=/usr/local/memcached
make
make install
cd ..
echo "extension=memcache.so" >> "/usr/local/lib/php.ini"
echo "extension=libmcrypt.so" >> "/usr/local/lib/php.ini"
echo "extension=mbstring.so" >> "/usr/local/lib/php.ini"
echo "extension=mcrypt.so" >> "/usr/local/lib/php.ini"
8. Setup Rsync for replication
The 3 servers are designed to mimic each other, for performance and reliability.
More information about using Rsync for web server replication.
One server is designated as the master and the remaining two servers have this line on their cronjob.
Be sure to replace mwHost with the master server to rsync from, mwUser with the master username and mwPass with the master password. Replace myHost with the current machine hostname.
Remove root from /etc/ftpusers before running this script
Run this on all slave servers
# Make sure the certificate doesn't exist
rm -rf /root/.ssh/id_rsa*
# Generate a new certificate
ssh-keygen -N "" -t rsa -f /root/.ssh/id_rsa
echo "open $mwHost" >> ftp.txt
echo "user $mwUser $mwPass" >> ftp.txt
echo "bin" >> ftp.txt
echo "cd /root/.ssh" >> ftp.txt
echo "get authorized_keys" >> ftp.txt
echo "cd /etc/ssh" >> ftp.txt
echo "get ssh_host_dsa_key.pub" >> ftp.txt
echo "bye" >> ftp.txt
ftp -n < ftp.txt
# Remove my own hostname from authorized_keys
cp authorized_keys authorized_keys.org
cat authorized_keys | grep -v $myHost >tmp.$$
mv -f tmp.$$ authorized_keys
# Append my certficate to authorized_keys
cat /root/.ssh/id_rsa.pub >>authorized_keys
# Remove the host from known_hosts
cp -f /root/.ssh/known_hosts known_hosts.org
cat /root/.ssh/known_hosts | grep -v "^$mwHost " >tmp.$$
mv -f tmp.$$ known_hosts
# Add the host to known_hosts
echo "$mwHost `cat ssh_host_dsa_key.pub | cut -d' ' -f1-2`" >>known_hosts
# Upload the NEW authorized_keys on the remote machine
echo "open $mwHost" >>ftp.$$
echo "user $mwUser $mwPass" >>ftp.$$
echo "bin" >>ftp.$$
echo "cd /root/.ssh" >>ftp.$$
echo "del authorized_keys" >>ftp.$$
echo "put authorized_keys" >>ftp.$$
echo "bye" >>ftp.$$
ftp -n < ftp.$$
# Install the NEW known_hosts
mv -f known_hosts /root/.ssh/known_hosts
Add this line to the crontab of all slave servers
Again - replace $mwHost with the ip address of the master server
/usr/local/bin/rsync --exclude temp/ --exclude tmp/ --exclude log/ --progress --stats --archive -z --compress -t $mwHost:/usr/local/nginx/html/ /usr/local/nginx/html/
Apache2 with PHP+Memcached+GD on CentOS:
1. Install Apache
yum install httpd
2. Install CentOS modules and ftp
wget "http://www.softwareprojects.com/files/libevent-1.3e.tar.gz"
tar zxpfv libevent*
cd libevent*
./configure
make install
cd ..
yum install ftp
echo "PermitRootLogin yes" >> "/etc/ssh/sshd_config"
echo "UnixAuthentication yes" >> "/etc/pureftpd.conf"
killall pure-ftpd
/usr/sbin/pure-ftpd &
3. Install CURL+LibXML
-- Same as FreeBSD instructions above (replace fetch with wget)
4. Install MySQL client
yum install mysql
5. Install GD
- Same as FreeBSD instructions above (replace fetch with wget)
6. Install PHP5
wget "http://www.softwareprojects.com/files/libmcrypt-2.5.8.tar.gz"
tar xvzf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
make install
cd ..
wget http://softwareprojects.com/files/auto/php-5.2.9.tar.gz
tar xvfz php-5.2.9.tar.gz
cd php-5.2.9
make clean
rm -f /root/.pearrc
rm -fdr /usr/local/lib/php
rm -fdr /usr/lib/php
./configure --enable-fastcgi --enable-ftp --enable-calendar --enable-mbstring --with-curl --with-gd --with-mcrypt -disable-posix-threads --with-iconv --with-mysql --with-mysqli --with-mysqli=/usr/bin/mysql_config --with-jpeg-dir=/usr/lib --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-openssl --with-zlib
make all
make install
cp -f -p .libs/libphp5.so /usr/local/apache/modules
cp -f /usr/local/bin/php-cgi /usr/local/bin/php
cd ..
/etc/init.d/httpd restart
7. Install Memcached
wget http://www.monkey.org/~provos/libevent-1.3e.tar.gz
tar zxvf libevent-1.3e.tar.gz
cd libevent-1.3e
./configure
make
make install
cd ..
wget http://danga.com:80/memcached/dist/memcached-1.2.5.tar.gz
tar zxvf memcached-1.2.5.tar.gz
cd memcached-1.2.5
./configure
make
make install
cd ..
LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH
killall memcached
ln -s /usr/local/lib/libevent-1.3e.so.1 /usr/lib/libevent-1.3e.so.1
memcached -u nobody -d -m 2048 -l 127.0.0.1 -p 11211
cd ..
wget http://pecl.php.net/get/memcache-2.1.2.tgz
tar xvfz memcache-2.1.2.tgz
cd memcache-2.1.2
phpize && ./configure --enable-memcache && make
make install
echo "extension=memcache.so" >> "/usr/local/lib/php.ini"
echo "extension=libmcrypt.so" >> "/usr/local/lib/php.ini"
echo "extension=mbstring.so" >> "/usr/local/lib/php.ini"
echo "extension=mcrypt.so" >> "/usr/local/lib/php.ini"
/etc/init.d/httpd restart
8. Setup Rsync for replication
-- Same as FreeBSD instructions above, but use /usr/sbin/rsync instead of /usr/local/bin/rsync
View 1 Comment(s)
For FreeBSD, we're going with NGinx web server, PHP 4.9, Memcached and GD. For CentOS, Apache2 web server and PHP 5.
This step by step tutorial includes everything you need to create a similar setup.
Nginx with PHP+Memcached+GD on FreeBSD:
1. Install FreeBSD packages and ProFTPD
cd /usr
mkdir tmp
cd tmp
setenv PACKAGESITE ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-6-stable/Latest/
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
fetch http://softwareprojects.com/files/auto/proftpd-1.3.1.tar.gz
tar xvfz proftpd-1.3.1.tar.gz
cd proftpd-1.3.1
./configure --prefix=/usr/local
make
make install
cd ..
echo "PermitRootLogin yes" >> "/etc/ssh/sshd_config"
echo "RootLogin On" >> "/usr/local/etc/proftpd.conf"
/usr/local/sbin/proftpd
2. Install NGinx
fetch http://softwareprojects.com/files/auto/autoconf-2.61.tar.gz
fetch http://softwareprojects.com/files/auto/nginx-0.7.38.tar.gz
tar xvfz nginx-0.7.38.tar.gz
cd nginx-0.7.38
./configure --with-http_ssl_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module
make
make install
mkdir /usr/local/etc/rc.d
echo "/usr/local/nginx/sbin/nginx" >> /usr/local/etc/rc.d/nginx.sh
chmod 755 /usr/local/etc/rc.d/nginx.sh
/usr/local/etc/rc.d/nginx.sh
cd ..
3. Install CURL+LibXML
fetch http://softwareprojects.com/files/auto/libxml2-2.7.2.tar.gz
fetch http://softwareprojects.com/files/auto/curl-7.19.1.tar.gz
tar xvfz libxml2-2.7.2.tar.gz
cd libxml2-2.7.2
./configure
make
make install
cd ..
tar xvfz curl-7.19.1.tar.gz
cd curl-7.19.1
./configure
make
make install
cd ..
4. Install MySQL Client
fetch http://softwareprojects.com/files/auto/mysql-5.1.31.tar.gz
pw group add mysql
pw user add -n mysql -d /usr/local/mysql -s /usr/sbin/nologin
tar xvfz mysql-5.1.31.tar.gz
cd mysql-5.1.31
./configure --with-innodb --prefix=/usr/local/mysql
make all
make install
cd ..
5. Install GD
fetch http://softwareprojects.com/files/auto/libpng-1.2.29.tar.gz
tar xvfz libpng-1.2.29.tar.gz
cd libpng-1.2.29
./configure
make all
make install
cd ..
fetch http://softwareprojects.com/files/auto/jpegsrc.v6b.tar.gz
tar xvfz jpegsrc.v6b.tar.gz
cd jpeg-6b
./configure --enable-shared --enable-static
make
make install
cp -f libjpeg.* /usr/lib/
cd ..
6. Install PHP 4.9 with FPM
fetch http://softwareprojects.com/files/auto/php-4.4.9-fpm-0.5.10.diff.gz
fetch http://softwareprojects.com/files/auto/php-4.4.9.tar.gz
tar xvfz php-4.4.9.tar.gz
gzip -cd php-4.4.9-fpm-0.5.10.diff.gz | patch -d php-4.4.9 -p1
cd php-4.4.9
./configure --enable-fastcgi --enable-fpm --enable-calendar --enable-ftp --enable-mbstring --enable-mysql --with-curl --with-dom --with-gd --with-iconv --with-jpeg-dir=/usr/lib --with-mysql=/usr/local/mysql --with-openssl --with-soap --with-sockets --with-zlib
make all install
cp -f /usr/local/bin/php-cgi /usr/local/bin/php
cd ..
echo "/usr/local/sbin/php-fpm start" >> /usr/local/etc/rc.d/php.sh
chmod 755 /usr/local/etc/rc.d/php.sh
fetch -o /usr/local/etc/php-fpm.conf "http://www.softwareprojects.com/files/auto/php-fpm.conf"
/usr/local/etc/rc.d/php.sh start
7. Install Memcached
fetch http://softwareprojects.com/files/auto/memcached-1.2.6.tar.gz
fetch http://softwareprojects.com/files/auto/memcache-2.2.4.tgz
tar xvfz memcached-1.2.6.tar.gz
cd memcached-1.2.6
./configure --prefix=/usr/local/memcached
make
make install
cd ..
echo "extension=memcache.so" >> "/usr/local/lib/php.ini"
echo "extension=libmcrypt.so" >> "/usr/local/lib/php.ini"
echo "extension=mbstring.so" >> "/usr/local/lib/php.ini"
echo "extension=mcrypt.so" >> "/usr/local/lib/php.ini"
8. Setup Rsync for replication
The 3 servers are designed to mimic each other, for performance and reliability.
More information about using Rsync for web server replication.
One server is designated as the master and the remaining two servers have this line on their cronjob.
Be sure to replace mwHost with the master server to rsync from, mwUser with the master username and mwPass with the master password. Replace myHost with the current machine hostname.
Remove root from /etc/ftpusers before running this script
Run this on all slave servers
# Make sure the certificate doesn't exist
rm -rf /root/.ssh/id_rsa*
# Generate a new certificate
ssh-keygen -N "" -t rsa -f /root/.ssh/id_rsa
echo "open $mwHost" >> ftp.txt
echo "user $mwUser $mwPass" >> ftp.txt
echo "bin" >> ftp.txt
echo "cd /root/.ssh" >> ftp.txt
echo "get authorized_keys" >> ftp.txt
echo "cd /etc/ssh" >> ftp.txt
echo "get ssh_host_dsa_key.pub" >> ftp.txt
echo "bye" >> ftp.txt
ftp -n < ftp.txt
# Remove my own hostname from authorized_keys
cp authorized_keys authorized_keys.org
cat authorized_keys | grep -v $myHost >tmp.$$
mv -f tmp.$$ authorized_keys
# Append my certficate to authorized_keys
cat /root/.ssh/id_rsa.pub >>authorized_keys
# Remove the host from known_hosts
cp -f /root/.ssh/known_hosts known_hosts.org
cat /root/.ssh/known_hosts | grep -v "^$mwHost " >tmp.$$
mv -f tmp.$$ known_hosts
# Add the host to known_hosts
echo "$mwHost `cat ssh_host_dsa_key.pub | cut -d' ' -f1-2`" >>known_hosts
# Upload the NEW authorized_keys on the remote machine
echo "open $mwHost" >>ftp.$$
echo "user $mwUser $mwPass" >>ftp.$$
echo "bin" >>ftp.$$
echo "cd /root/.ssh" >>ftp.$$
echo "del authorized_keys" >>ftp.$$
echo "put authorized_keys" >>ftp.$$
echo "bye" >>ftp.$$
ftp -n < ftp.$$
# Install the NEW known_hosts
mv -f known_hosts /root/.ssh/known_hosts
Add this line to the crontab of all slave servers
Again - replace $mwHost with the ip address of the master server
/usr/local/bin/rsync --exclude temp/ --exclude tmp/ --exclude log/ --progress --stats --archive -z --compress -t $mwHost:/usr/local/nginx/html/ /usr/local/nginx/html/
Apache2 with PHP+Memcached+GD on CentOS:
1. Install Apache
yum install httpd
2. Install CentOS modules and ftp
wget "http://www.softwareprojects.com/files/libevent-1.3e.tar.gz"
tar zxpfv libevent*
cd libevent*
./configure
make install
cd ..
yum install ftp
echo "PermitRootLogin yes" >> "/etc/ssh/sshd_config"
echo "UnixAuthentication yes" >> "/etc/pureftpd.conf"
killall pure-ftpd
/usr/sbin/pure-ftpd &
3. Install CURL+LibXML
-- Same as FreeBSD instructions above (replace fetch with wget)
4. Install MySQL client
yum install mysql
5. Install GD
- Same as FreeBSD instructions above (replace fetch with wget)
6. Install PHP5
wget "http://www.softwareprojects.com/files/libmcrypt-2.5.8.tar.gz"
tar xvzf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
make install
cd ..
wget http://softwareprojects.com/files/auto/php-5.2.9.tar.gz
tar xvfz php-5.2.9.tar.gz
cd php-5.2.9
make clean
rm -f /root/.pearrc
rm -fdr /usr/local/lib/php
rm -fdr /usr/lib/php
./configure --enable-fastcgi --enable-ftp --enable-calendar --enable-mbstring --with-curl --with-gd --with-mcrypt -disable-posix-threads --with-iconv --with-mysql --with-mysqli --with-mysqli=/usr/bin/mysql_config --with-jpeg-dir=/usr/lib --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-openssl --with-zlib
make all
make install
cp -f -p .libs/libphp5.so /usr/local/apache/modules
cp -f /usr/local/bin/php-cgi /usr/local/bin/php
cd ..
/etc/init.d/httpd restart
7. Install Memcached
wget http://www.monkey.org/~provos/libevent-1.3e.tar.gz
tar zxvf libevent-1.3e.tar.gz
cd libevent-1.3e
./configure
make
make install
cd ..
wget http://danga.com:80/memcached/dist/memcached-1.2.5.tar.gz
tar zxvf memcached-1.2.5.tar.gz
cd memcached-1.2.5
./configure
make
make install
cd ..
LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH
killall memcached
ln -s /usr/local/lib/libevent-1.3e.so.1 /usr/lib/libevent-1.3e.so.1
memcached -u nobody -d -m 2048 -l 127.0.0.1 -p 11211
cd ..
wget http://pecl.php.net/get/memcache-2.1.2.tgz
tar xvfz memcache-2.1.2.tgz
cd memcache-2.1.2
phpize && ./configure --enable-memcache && make
make install
echo "extension=memcache.so" >> "/usr/local/lib/php.ini"
echo "extension=libmcrypt.so" >> "/usr/local/lib/php.ini"
echo "extension=mbstring.so" >> "/usr/local/lib/php.ini"
echo "extension=mcrypt.so" >> "/usr/local/lib/php.ini"
/etc/init.d/httpd restart
8. Setup Rsync for replication
-- Same as FreeBSD instructions above, but use /usr/sbin/rsync instead of /usr/local/bin/rsync
View 1 Comment(s)
|
Calling all Code Ninjas. We're Hiring!Mike Peters, May 5 -- Filed under SoftwareProjects Products |
SoftwareProjects is looking to hire 10 engineers over the next 30 days.
If you're passionate about technology, love challenges and looking to work with the best in the industry, send us your resume.
See our Craigslist ad below:
-
Software Projects, a New York based full-service Internet Marketing firm & Web development firm with 300 professionals on staff, is looking for PHP, MySQL and C superstars!
This is NOT a startup gig. We're not going to throw worthless stock options at you in exchange for your soul.
We'd like to pay top dollars for your time & skills.
== Requirements:
* Minimum 5 years PHP/C experience
* Fluent with FreeBSD/Linux/RedHat
* Excellent problem solving skills
* Multi-tasker, Team player
== About the position:
We're looking for the absolute best PHP, MySQL and C developers, to join our team of professionals, working on a platform of 81 Internet Marketing services (http://www.softwareprojects.com/reso...form-1192.html)
You will be working from your home office for the first six months. After that time, you will have the option of relocating to one of our offices or continuing to work from home.
== Next steps:
Are you a PHP/MySQL/C superstar?
Honestly, do you consider yourself a code ninja?
If so -
WE WANT YOU! Drop everything and send us a cover-letter, resume or a brief bio Right Now.
Didn't update your resume in the last 2 years? No big deal. Resumes don't mean much anyway, it's all about your experience and skills! Send us a quick covert-letter and we'll follow-up.
Compensation: Starts at $40/hour.
Telecommuting is ok.
Principals only. Recruiters, please don't contact this job poster.
Please, no phone calls about this job!
If you're passionate about technology, love challenges and looking to work with the best in the industry, send us your resume.
See our Craigslist ad below:
-
Software Projects, a New York based full-service Internet Marketing firm & Web development firm with 300 professionals on staff, is looking for PHP, MySQL and C superstars!
This is NOT a startup gig. We're not going to throw worthless stock options at you in exchange for your soul.
We'd like to pay top dollars for your time & skills.
== Requirements:
* Minimum 5 years PHP/C experience
* Fluent with FreeBSD/Linux/RedHat
* Excellent problem solving skills
* Multi-tasker, Team player
== About the position:
We're looking for the absolute best PHP, MySQL and C developers, to join our team of professionals, working on a platform of 81 Internet Marketing services (http://www.softwareprojects.com/reso...form-1192.html)
You will be working from your home office for the first six months. After that time, you will have the option of relocating to one of our offices or continuing to work from home.
== Next steps:
Are you a PHP/MySQL/C superstar?
Honestly, do you consider yourself a code ninja?
If so -
WE WANT YOU! Drop everything and send us a cover-letter, resume or a brief bio Right Now.
Didn't update your resume in the last 2 years? No big deal. Resumes don't mean much anyway, it's all about your experience and skills! Send us a quick covert-letter and we'll follow-up.
Compensation: Starts at $40/hour.
Telecommuting is ok.
Principals only. Recruiters, please don't contact this job poster.
Please, no phone calls about this job!
| « Previous Posts | » Next Posts |
