If you create an NFS share after joining FreeNAS to a domain, you'll have a root_squash mapping problem and be unable to chmod files from the NFS client. To fix, set mapped user to 'root', mapped group to 'domain admins' instead of 'wheel'

crit?: 5

To export all events from 'The Events Calendar' wordpress calendar plugin, add this to functions.php:

add_action( 'pre_get_posts', 'full_ical_export' );
function full_ical_export( WP_Query $query ) {
if ( ! isset( $_GET['ical'] ) || ! isset( $_GET['full-export'] ) ) return;
if ( ! isset( $query->tribe_is_event_query ) || ! $query->tribe_is_event_query ) return;
$query->set( 'eventDisplay', 'custom' );
$query->set( 'start_date', '1000-01-01' );
$query->set( 'end_date', '3000-01-01' );
$query->set( 'posts_per_page', '-1' );
}

Then visit this URL in a browser to spit out a fully populated .ics file:

http://yoursitehere.com/events/?ical=1&full-export

crit?: 4

Using vTiger, if you change the port Apache uses for SSL from 443 to a non-standard port such as 999, it will error out with 'Illegal Request' based on an incorrect referrer.

To modify the validation vTiger uses, edit line 209 of includes/http/Request.php to add a check for SERVER_PORT.

Before:
protected function validateReferer() {
$user= vglobal('current_user');
// Referer check if present
if (isset($_SERVER['HTTP_REFERER'])) && $user) {//Check for user post authentication.
global $site_URL;
if ((stripos($_SERVER['HTTP_REFERER'], $site_URL) !== 0) && ($this->get('module') != 'Install')) {
throw new Exception('Illegal request');
}
}
return true;
}

After:
protected function validateReferer() {
$user= vglobal('current_user');
// Referer check if present - add port check
if (isset($_SERVER['HTTP_REFERER']) && isset($_SERVER['SERVER_PORT']) && $user) {//Check for user post authentication.
global $site_URL;
if ((stripos($_SERVER['HTTP_REFERER'], $site_URL) !== 0) && (stripos($_SERVER['SERVER_PORT'], '999') !==0) && ($this->get('module') != 'Install')) {
throw new Exception('Illegal request');
}
}
return true;
}

crit?: 0

If you're going to upgrade your existing ZFS pool drives from 512/512e sector size (ashift=9) to newer AF/4k drives (ashift=12) you'd be better off creating a new pool with ashift=12 and using zfs send recv to populate the new pool with your data.

If you are researching prior to creating any pool, force ashift=12 during pool creation, even if you're using 512/e drives by using zpool create -o ashift=12 yourtank /dev/drive1 /dev/drive2 ...etc This will 'future-proof' your ZFS pool.

You may receive a similar error in FreeNAS:
"nas manage.py: [middleware.exceptions:38] [MiddlewareError: Disk replacement failed: "cannot replace (driveID) with gptid/(gptID): devices have different sector alignment, "

To check your current ashift value, use:
zdb -C | grep ashift

ashift: 9 = 2^9 = 512bytes (bad)
ashift: 12 = 2^12 = 4096bytes (good)

If you absolutely can't do that, these two sysctls allow you to use 4k drives as if they're 512/e. There is a significant performance hit if you do this.

Sysctls:
Set these sysctls via ssh or using the Sysctl UI underneath 'System' in the FreeNAS web interface.
vfs.zfs.vdev.larger_ashift_disable=1
vfs.zfs.vdev.larger_ashift_minimal=0

Then you should be able to offline/replace/resilver a 4k drive into your 512/e pool. Personally my throughput greatly increased despite ashift=9, but I moved my ZFS pool from 6x2TB 5400RPM to 6x2TB 7200RPM. Again, the right way to do this is to use ashift=12 with 4k drives.

crit?: 0

Disregard the bullshit 'goto menu' line in the official Fog wiki for advanced pxe boot. Use 'boot' instead.

:foobar
initrd http://${fog-ip}/ISO/foobar.ISO
chain memdisk iso raw ||
goto MENU

change to

:foobar
initrd http://${fog-ip}/ISO/foobar.ISO
kernel http://${fog-ip}/fog/service/ipxe/memdisk iso raw ||
boot

I wasted hours on that.

crit?: 0

If you're connecting a CLI Synergy client to a GUI Synergy server, the password to feed synergyc isn't the password you defined on the server. It is an MD5 hash of that password. See here.

crit?: 0

If create and activate a new wordpress child theme, you may notice your ul/li menu div and class go haywire. You'll need to go to appearance>menus and then tick 'primary navigation' for whichever menu is your primary navigation. So stupid.

crit?: 0

When creating a zabbix_agentd.conf for windows/linux hosts rollout, instead of manually specifying the Hostname=Foo line, comment that line and uncomment HostnameItem=system.hostname

Then you can proceed to defining discovery of zabbix agents, and actions to add the hosts to their respective groups and templates.

So much easier.

crit?: 0