Digitalchild.Info

Images, Thoughts and Sounds

  • Home
  • Contact

Archives for August 2013

Samba 3.6 idmap

August 13, 2013 by Jamie Leave a Comment

I have a couple of file servers in my network running Samba 3.6 as member servers. Something that you would want to get going at some point is syncing the UID/GID across the machines so that if you want to move the data around the uids/gids are the same. The way to make this work is with the idmap configurations. I hadn’t done this and in my stupidity had created a second file server that couldn’t move files to and from the first. IDIOT!

In Samba 3.6  idmap was completely re-written as it was a bit broken before then and its actually quite simple to have your machines all talking the same uid/gid. This is to use the idmap_rid system. From the samba docs.

The idmap_rid facility is a new tool that, unlike native winbind, creates a predictable mapping of MS Windows SIDs to UNIX UIDs and GIDs

If you have already setup your file server without using idmap_rid you can change how it works by adding the following lines to your global section of your samba conf file. Replacing the lines and or removing lines as required.


workgroup = MYDOMAIN
password server = pdc.mydomain.com
encrypt passwords = Yes
realm = MYDOMAIN.COM
security = ads
allow trusted domains = false
idmap config * : backend = tdb
idmap config * : range = 10001-20000
idmap config MYDOMAIN : backend = rid
idmap config MYDOMAIN : range = 5000-10000
idmap config MYDOMAIN : base_rid = 0

I’m not sure if this step is needed but I removed the member server from the domain. Then I restarted samba and winbind, rejoined the member server and I was still getting the old Ids. I realised that winbind was caching the old Id’s and no matter what I did I couldn’t work out how to update them. After searching around for quite a while I found this blog post from Alex Cline. The commands are very straight forward.

 net cache flush 

It’s really that simple. I found posts all over the place talking about killing the samba data directory in /var/lib/samba and that all sounded a little crazy. I’m glad its as simple as that. To test that this worked, just run the following command to see the new id from winbind.

 id -u username 

This should output your new rid generated id.

Rinse and repeat for any other servers you might have.

Filed Under: Geek Tagged With: centos, file server, idmap, rid, samba

VMWare vCenter Converter Standalone – key can’t be retrieved. (return code 2) [SOLVED]

August 8, 2013 by Jamie 3 Comments

When trying to convert a running Linux machine with the stand alone converter I came across this error:


FAILED: A general system error occurred:
Network error. Host 10.0.0.1 key can't be retrieved. (return code 2)

I checked around the internet and came across this post.

The guy worked out that he had a bunch of stuff in his hosts.allow and hosts.deny and added the other  correct subnets and it worked.

I checked my files and there was nothing in them. So I added the following to hosts.allow:


sudo echo "ALL:ALL" >> /etc/hosts.allow
service network restart

Restarted the network for good measure and I’ve now got it working, so far.

Update: As noted by ArKam in the comments below. This could also happen when the hosts FQDN can’t be resolved. The best idea is to clone the host using the IP address instead of a host name. Thanks for the tip!

Filed Under: Geek Tagged With: error, linux, solution, vmware

Thoughts on WooThemes Pricing Changes

August 8, 2013 by Jamie Leave a Comment

I use Wordpress as my CMS of choice for all my client sites for a number of reasons. This includes the theming capabilities and extensibility though plugins. Sometimes when building a client site I will use a commercial theme as a basis and one place I get my themes from is WooThemes. They offer some nice themes and a few cool plugins but their biggest product is WooCommerce. It’s a great FREE e-commerce solution and they offer many paid extensions for all kinds of things such as payment gateways, shipping, accounting systems and more.

WooThemes have just announced a new pricing model for all their themes, plugins and woocommerce extensions. They are very transparent with what they are wanting and its simple, money. They need more money to give better support and work on new products. All businesses should want this, if you don’t, you suck at business. Their justification for the price rise seems to be a little broken though.

I must note that WooThemes have responded to the comments and criticism about the retroactive application to these new models to existing customers. They have given existing customers as of 1 August the option to stay on the lifetime system or update to their new model.

Their Justification

They use the canvas theme as an example and quote that 5000 tickets this year have been submitted for that theme. You buy it in 2009 for $70, getting unlimited support and updates on this theme for 4 years. They then go on to say you charge clients $1000 for this resulting in $48000 in sales to your business. They then claim that you might submit a ticket for each client install resulting in 48 support tickets. (Let me just say if you’ve installed a theme FOURTY-EIGHT times and you still need help, find a new job.) These tickets cost WooThemes about $5 a pop or $240 out-of-pocket for WooThemes. This means for that one sale, four years ago they have made a $170 loss while you made $48,000. It’s not really any of your business how much money I made from the sale of a product you sell that I a can on-sell. You should have highlighted the real costs WooThemes.

A Real Example

They should have used WooCommerce + Extensions as an example of what this new pricing model will cost you upfront and ongoing. Quite a few people have put this as an example in the comments so I’m going to borrow it. Lets say you have a moderately complex website and need 15 extensions for WooCommerce and a theme, that you create a child theme from.

Year One

  • WooCommerce – Free
  • SuperStore WooCommerce Theme – $99
  • WooSubscriptions – $199
  • Table Rate Shipping $199 (Why isn’t this core functionality?)
  • Product CSV Import – $199 (required for any bricks and mortar shop going online)
  • PDF Invoices $79
  • Xero Integration $79
  • Sequential Order numbers $49 (Why isn’t this core functionality?)
  • Print Invoices & Packing lists $49
  • Returns & Warranty Requests – $129
  • Australia Post shipping module – $79
  • KISSMetrics – $79
  • Cart Reports – $79

Total Year One Outlay : $1269 for the first year and that’s before hosting or any customisation or setup.

Ongoing years recurring fees: $634.50 (Lets assume the 50% discount on renewal that they are claiming)

This doesn’t include the SSL Certificates, external fees or hosting fees. So your ongoing costs rise significantly. The packaged online commerce systems like Shopify start to look a lot more attractive when you add it up. I can also see why they decided not to use an example like this.

Fixing A Broken Business Model

You used to be able to buy a theme or plugin/extension and use it on unlimited sites with lifetime support. If you think about it, it isn’t a very smart business model. You sell a theme to someone for $99 4 years ago and you’re still having to support them today? If people want support for that product 4 years down the track, charge them for it. There aren’t many business models I know where this is the case or this works. Getting rid of unlimited sites and lifetime support makes business sense.

The new model which makes a lot more sense is:

  • 1 Site
  • 5 Sites
  • 25 Sites

Unlimited sites is crazy and shouldn’t have been there in the first place. A 25 site license makes it easier to get smaller segments of the markets and if you’re using something from WooThemes on more than 25 sites you should probably pay more to increase that number.

Running Support Costs Money

They claim that they are spending a lot of time on support tickets that cost them about $5 a hit. Add those tickets up and they soon loose the cash they made selling you the theme or plugin/extension. They claim their data shows 90% of their customers prefer to submit a ticket. So your support is costing you a bunch of money? Provide better resources for self-help. If data shows you that people prefer to submit tickets, why? I’ve read all the comments on the post and some things resonated with regards to support

Support Suggestions

  • Make a better knowledge base
  • Better search system
  • More examples
  • More documentation
  • Video tutorials

What about all the people who don’t need support ? 

Software is never completely secure and there is always a possibility that someone will find a way in. Operating systems are a great example of this. You buy the OS and some give you phone support to an extent but all security updates for the operating system are provided for free. This ensures that the computers are up to date and secure. Now sure you need to get paid for maintaining these plugins and security updates, but you should give an option for those that want updates only.

Conclusion

I have no issue with them charging ongoing support and update costs on themes. What I have an issue with is security on my sites if I choose not to update. WordPress needs to stay secure and particularly when it comes to e-commerce. I don’t disagree that they should charge for ongoing updates and support, I’m happy to pay that, if I need it. I should be given the option.

Suggestion for offerings

Updates Only Renewal – You get all the updates and no support – Support tickets $10 each.
Support & Updates Renewal – You get a year of support and product updates

I’m going to have to seriously reconsider using woocommerce in my projects with the ongoing costs as they. Security is an absolute paramount when it comes to online commerce and you are forcing me to create a subscription based model for my clients as well. Your suggestion that I don’t need to update and can use the plugin in its current form is irresponsible.

Filed Under: Geek, Ramblings Tagged With: e-commerce, pricing models, woocommerce, woothemes

Reclaim Disk Space from InnoDB with MySQL

August 7, 2013 by Jamie Leave a Comment

After writing the article yesterday about removing a slave from a MySQL replication setup. I was digging around the mysql data directory and noticed that the innodb data file hadn’t reduced in size after I dropped the database. There is a reason for this. MySQL will not garbage collect the old data as it’s all one container. You need to change how MySQL handles the storage of database data files and to do that you have to hit the big reset button on your MySQL server.

This is the official way to reclaim space from deleted databases using innodb tables. You can read the full explanation here but I’ll give you a quick run down.

  1. Backup all your existing databases with mysqldump.
  2. Drop all databases except the mysql database
  3. Stop the MySQL server
  4. Change the config file to include the following in the [mysql] section of the config file : innodb_file_per_table
  5. Restart MySQL server
  6. Import all databases again

So yeah, I would be encouraging EVERYONE to add this line to all mysql servers you setup before you load it up with databases. I read that from MySQL 5.6 and onwards this option on by default. With this option enabled each database lives in its own set of files and when the database is dropped the files are garbage collected.

Filed Under: Geek Tagged With: databases, filesystem, mysql, sysadmin

Remove A MySQL Replication Slave

August 6, 2013 by Jamie Leave a Comment

There might be a time that you no longer need a MySQL slave in your replication setup. You can remove a mysql replication slave using the following instructions.

Log in to your mysql slave and make sure that nothing is accessing the slave database.

Run the following commands.


mysql> STOP SLAVE;

mysql> CHANGE MASTER TO MASTER_HOST=' ';

mysql> RESET SLAVE;

Note: There is a space between the apostrophes. 

You will then need to remove the Slave configuration from your mysql configuration file (my.cnf). You will need to comment out or remove any line that has the following:

  • server-
  • master-
  • relay-

vi /etc/my.cnf

Restart mysql to reload the configuration.


service mysqld restart

You can test that the slave is disabled by checking the slave status and it returns an empty set. .


mysql> SHOW SLAVE STATUS \G
Empty set (0.00 sec)

After the slave is completely offline you might want to remove the database that was replicating so you can go ahead and drop the replicated database and ensure the slave is clean.


mysql> DROP DATABASE databasename;

MySQL replication is now completely disabled and the server is clean of any data you might have replicated to it.

Filed Under: Geek Tagged With: database, mysql, replication

  • 1
  • 2
  • Next Page »

Search

About Me

Hi, I'm Jamie aka digitalchild.

Jamie

I build things that work on the Internet and I've been doing this for over 15 years now. Take a look around and comment if you like.

Categories

  • Entertainment
  • Food
  • Games
  • Geek
  • Images
  • Music
  • Ramblings
  • Tip

Tags

angry panda apple australia backup camera centos chia cisco coconut data recovery easy email fitness gluten free healthy incompetence iphone iphone4 kale linux me microsoft mysql organic os x paleo programming quick raspberry pi raspbian recipe ruby salad software collections solution SSL sysadmin time lapse ubuntu vegan vmware vodafone winter wordpress xbox 360

Archives

  • July 2019
  • June 2015
  • May 2015
  • February 2015
  • January 2015
  • August 2014
  • July 2014
  • June 2014
  • May 2014
  • April 2014
  • March 2014
  • February 2014
  • August 2013
  • August 2012
  • April 2012
  • August 2011
  • June 2011
  • May 2011
  • November 2010
  • October 2010
  • August 2010

My Projects

  • Live Coding
  • Off Grid Build
  • WC Vendors

Social Media

  • Instagram
  • Soundcloud
  • Twitter

Copyright © 2019 · Genesis Sample on Genesis Framework · WordPress · Log in