Tech Support•
on April 11th, 2012•
We had a client that suddenly started having problems sending to a domain that they had previously sent emails to with no problems. Both domains use Postini, so we thought that might be an issue. The error message we were getting on bounced emails was:
Postini #550 Sender Authorization check failed – psmtp ##
It turns out the problem was with my client’s SPF record. There was a typo in the record that was causing the SPF check to fail. Correcting their SPF record fixed the problem.
The interesting thing was that this had worked before which lead us to believe that there may have been some improvements/changes to their Postini checking.
Anyhow, hope this helps someone else.
Tech Support•
on May 26th, 2011•
Several of our clients use Google Apps and we have set up their iPhones to connect via the Exchange setting so that their Mail, Calendars and Contacts all sync. This has been working perfectly, but over the past day they started to get the dreaded error message:
Connection to the server failed.
Nothing had changed on our end, so I immediately thought it must be a Google problem. After some digging around, it turns out that it was indeed a problem with Google. For some reason (maybe the recent Google Apps upgrades), Google Sync was now turned off for their domain.
To turn this back on:
- Logon to your Google Apps administrator control panel
- Click on Settings in the menu bar
- Select Mobile under Services on the left
- Under Google Sync, make sure that that Turn on Google Sync is checked (ours was turned off)
- Click Save Changes at the bottom
That was it. Everything started working again after turning this back on.
If this does not work for you, also check to make sure that Google Sync is enabled under Organizations & Users -> Services in your control panel.
Tech Support•
on October 21st, 2010•
Dell has really been screwing up recently. They have now delivered 6 new PCs that were ordered with Microsoft Office 2010 without the software pre-installed, and without the license keys included in the box either. They rectified the situation relatively quickly by overnighting new license keys, but they failed to include CDs or download links for Microsoft Office.
If you go to the Microsoft Office site to download it, you are only given one option – Click-To-Run. This is their new streaming version of Office, and allows users to try it in a virtual server environment. Now, that is not necessarily what an IT administrator wants. I needed to be able to copy it to the server to install to all desktop PCs, but unfortunately there did not appear to be anyway to do that.
Luckily, after MUCH searching, I found direct download links for the full versions of Microsoft Office 2010. You’ll need a valid license key to install, but these downloads may make your life easier too.
Hope these help.
UPDATE: Thanks to a commenter below, you may download backup copies of 32-bit or 64-bit versions of Microsoft Office 2010 or 2007 as well. You simply need your Product Key and you may then choose to download or order a DVD for a fee.
Tech Support•
on September 15th, 2010•
We like Picasa for the Mac much better than iPhoto, so it was a real problem when the latest version of Picasa would no longer allow us to choose what to do after importing our photos. For some reason, the “After Copying” option in Picasa was grayed out and could not be selected anymore. We have no idea what caused this, but luckily, the fix is relatively easy.
- Close Picasa
- Open Finder
- Double-click [username] -> Library -> Preferences
- Drag the file com.google.picasa.plist to the Trash (or to your Desktop if you’re worried about erasing this file)
- Re-open Picasa
Doing this will cause Picasa to reset some of its settings. Your Albums, Folders, Collections, etc. will all still be there, but there are some minor settings you will have to reset like Picasaweb logins and any add-ons you may have installed. In addition, the “After Copying” option will no longer be grayed out and unavailable.
Tech Support•
on September 15th, 2010•
I just tried upgrading my factory unlocked, but still jailbroken, iPhone 4 from iOS 4.0.1 to iOS 4.1 so that I could use Facetime between my iPhone 4 and the new iPod Touch (yes, iOS 4.1 is a requirement for this).
Unfortunately, the upgrade appeared to keep failing and my iPhone 4 was stuck in recovery mode. Every time I plugged it in, iTunes prompted me to upgrade and wipe out the device settings. I did this 3 or 4 times and got the Error 1004 message each time before realizing that something else must be wrong.
I then remembered that I had used RecBoot with my old 3GS to kick it out of recover mode when downgrading, and tried the “Recboot Exit Only” program. It worked! It restarted my iPhone 4 and it had been upgraded to iOS 4.1 too. All I had to do now was restore from iTunes and I was up and running.
Tech Support•
on July 12th, 2010•
We recently upgraded to WordPress 3.0 and everything seemed to have gone very smoothly with the process. After upgrading all the files, we ran the upgrade script, http://domain.com/wp-admin/upgrade.php. This confirmed that our database had been updated and clicking Continue took us to our home page.
There was only one problem – when we tried to go to the WordPress admin, we continued to get the upgrade script page asking us to upgrade. Clicking this button sent us into a loop. We kept getting this message:
No Upgrade Required
Your WordPress database is already up-to-date!
It was hanging there and not letting us into our admin section.
After much troubleshooting, it turns out the problem was not with our WordPress install at all, but rather with PHP-FPM caching. We restarted the php-fpm process (/etc/init.d/php-fpm restart) and everything started working perfectly. We also restarted the web server for good measure.
Tech Support•
on July 12th, 2010•
Are you having problems installing Microsoft updates KB979906 and KB979909? If you’re getting this error message:
Installation Failure: Windows failed to install the following update with error 0×80070643: Microsoft .NET Framework 1.1 SP1 Security Update for Windows 2000 and Windows XP (KB979906).
Luckily, the fix is easy. The problem turns out to be an issue with VBScript, not the patch itself. If you go to the CMD prompt and run:
regsvr32 scrrun.dll
This will re-register the DLL and now, when you go back to install the patch, it will work perfectly.
Hope that helps…
Tech Support•
on April 30th, 2010•
Today we had a problem on our Blackberry Professional Server where the “Blackberry Controller” service was stopped and would not start. Trying to manually start the service would give us the following error:
The BlackBerry Controller service terminated with service-specific error 5003 (0x138B).
Luckily, the fix was easy. There seemed to be some contention with this service and the “DNS Server” service on the same machine. Stopping the DNS Server service, starting the Blackberry Controller service, and then restarting the DNS Server service seemed to fix the problem.
Tech Support•
on April 30th, 2010•
So, it was bound to happen… We removed the wrong user’s mailbox in Exchange Server 2007 today. Unfortunately, with Server 2007, removing an account, removes the Windows user object and also marks the mailbox in the database for removal. Luckily, there is a relatively quick fix:
- Restore the Active Directory object with the AdRestore utility
- Connect the disconnected mailbox to the restored user account
Step 1
First, we downloaded the AdRestore program from Microsoft onto our primary Active Directory server and then ran the command:
> adrestore -r username
The program searches through recently deleted (tombstoned) objects and allows you to recover them. The username part works as a rudimentary search. If it finds the object, it prompts you to proceed. Once you do, the account is restored. It’s disabled and doesn’t have a password, so you’ll need to set the password and the activate the account. Microsoft has a long drawn-out article on restoring Active Directory accounts, but running this simple tool seemed to work fine for us.
Step 2
In the Exchange Management Console, we went to Recipient Configuration -> Disconnected Mailbox and went to find the deleted mailbox. Oh crap! It wasn’t there! Luckily, it turns out that if the mailbox management process has not yet run, you will not see recently deleted mailboxes. Fortunately, you can force this by going to the Exchange Management Shell and running:
> clean-mailboxdatabase “Mailbox Database“
After running this command, the disconnected mailbox now appeared. You then right-click on it, and select “Connect…” Check “User Mailbox” and click Next. Then, select “Existing User,” browse to find the user, make sure their Alias is correct, and click Next. Clicking Finish reconnects the user’s old mailbox to the restored user account.
The reconnection looked like it finished quickly, but we found that it took about an hour for it to fully connect and allow the user access to her email again. Hope this helped!
nginx•
on April 8th, 2010•
After several hours of trial and error, we finally figured out a configuration that works for running Symfony and WordPress together on the same web site using the nginx web server. This post had a lot of useful information, but none of it worked perfectly for us, so this is what we came up with:
##
## domain.com
##
server {
listen 80;
server_name domain.com;
access_log /home/logs/domain/access.log;
error_log /home/logs/domain/error.log notice;
root /home/www/sfprojects/domain/web;
index index.php;
charset utf-8;
## configuration for the WordPress blog with the WP-SuperCache plugin
## (remove if not using WordPress)
location /blog {
# if the requested file exists, return it immediately
if (-f $request_filename) {
break;
}
set $supercache_file '';
set $supercache_uri $request_uri;
if ($request_method = POST) {
set $supercache_uri '';
}
# Using pretty permalinks, so bypass the cache for any query string
if ($query_string) {
set $supercache_uri '';
}
if ($http_cookie ~* "comment_author_|wordpress|wp-postpass_" ) {
set $supercache_uri '';
}
# if we haven't bypassed the cache, specify our supercache file
if ($supercache_uri ~ ^(.+)$) {
set $supercache_file /blog/wp-content/cache/supercache/$http_host/$1index.html;
}
# only rewrite to the supercache file if it actually exists
if (-f $document_root$supercache_file) {
rewrite ^(.*)$ $supercache_file break;
}
# all other requests go to WordPress
if (!-e $request_filename) {
rewrite ^(.*)$ /blog/index.php?q=$1 last;
break;
}
}
location / {
# If the file exists as a static file serve it directly without
# running all the other rewite tests on it
if (-f $request_filename) {
expires max;
break;
}
if ($request_filename !~ "\.(js|htc|ico|gif|jpg|png|css)$") {
rewrite ^(.*) /index.php last;
}
}
location ~ "^(.+\.php)($|/)" {
set $script $uri;
set $path_info "";
if ($uri ~ "^(.+\.php)($|/)") {
set $script $1;
}
if ($uri ~ "^(.+\.php)(/.+)") {
set $script $1;
set $path_info $2;
}
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /home/www/sfprojects/domain/web$script;
fastcgi_param SCRIPT_NAME $script;
fastcgi_param PATH_INFO $path_info;
}
location /sf/ {
root /home/www/sfprojects/domain/lib/vendor/symfony/data/web/;
}
error_page 404 /404.html;
location = /404.html {
root /usr/local/nginx/html;
internal;
}
}
And this is the content of our fastcgi_params file which we include above:
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param REDIRECT_STATUS 200;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
Hope this proves helpful to someone going through the same problems!