



Long abandoned obviously. I've migrated this to a new host and changed the gallery system. Maybe my kids will find it some day. Kids if you're reading this, I love you.
crit?: 0Follow the Zabbix install instructions here
The Zabbix agent probably won't work and complain about missing libraries.
To fix, open a shell session on FreeNAS and create two symlinks:
1. ln -s /lib/libkvm.so.7 /lib/libkvm.so.5
2. ln -s /usr/local/lib/libiconv.so.2 /usr/local/lib/libiconv.so.3
Then you should be able to start the Zabbix Agent
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?: 0To 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?: 0Using 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;
}
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?: 0Disregard 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