000webhost

Web hosting
Showing posts with label configuration. Show all posts
Showing posts with label configuration. Show all posts

Friday, November 25, 2011

Server Auto-Configuration

If you've ever been involved with Linux Server Administration than you'll be more than aware of the many and varied automation/configuration options out there such as 'Chef', 'Babushka', and 'Puppet'. I've recently been working on similar technologies but to better comprehend and implement them I've had to review how the current systems work and their capabilities.

'Puppet' seems to operate in a client/server architecture using so called 'manifests' which are basically a set of instructions pertaining as to what actions you would like to complete. For instance, the remote installation of a package, the creation of a file, the setting of a certain set of permissions and so on. The 'manifests' themselves are then compiled (checked for syntax and other errors) and then applied to relevant 'nodes' within your network. Due to its relative maturity it is often available in most of the popular distribution repositories.


'Chef' has obviously been more Debian orientated. It took a while before I actually found a set of RPMs for my system. Prior to that though, I tried creating RPMs using the GIT repository with a set of autobuild 'Ruby' scripts. However, due to the state of the respositories of the time the build seemed to be broken. I used this as a learning opportunity with regards to RPM packaging (I used to create DPKG packages years ago for another project and have done some minimal RPM packaging. DPKG are basically 'ar' and RPM are basically 'cpio' archive files respectively if you're curious (much like the ZIP and other archival format)). I didn't do any research prior to testing my theories prior to test my problem solving abilities. Basically, symlinks aren't a viable means of dealing with naming issues in packaging.  Copying files/directories (though this would violate best practice) and changing of version strings in the SPEC file are the more 'valid' option. As indicated in the SPEC file itself RPM is very 'Makefile' like in the way that it is structured. In fact, if you've ever written a 'Makefile' you'll be very much at home. Use 'rpmlint' in order to check for possible problems, 'rpmdev-extract' to extract a SPEC file from an existing SRPM, and 'rpmbuild' with relevant options in order to build an installable RPM.


Obviously, I found a relevant repository later on but it was very interesting getting a better idea of the process of creating RPMs. Check out 'alien' and 'checkinstall' if you have time which, by the way is an easy manual Perl install if you can't find the required package for your distribution. There is a web based interface that seems fairly sparse, a Command Line Interface (CLI), as well as what seems to be an extensive set of online 'recipes' to allow for all sorts of remote configuration, with support for Perl as well as support for automated provisioning of servers. Note that this extra functionality seems to come at the cost of some simplicity. There are a myriad of tools that are used, certificate systems that need to be setup, and unlike 'Puppet' you will definitely need to read through at least the Quick Start documentation in order to use it. Even then, the instructions make extra assumptions... Also, as with any other large, complex Open Source project its in constant state development and may have 'issues' from time to time.


'Babushka' seems to be a work in progress and feels like a stripped down version of a more complete configuration management system. Even the documentation is incomplete at this stage. However, it deals with most of the more important issues such as remote installation of packages, dependencies, and remote configuration.


If none of these options appeal than its fairly easy to build a custom configuration/automation system using Python's 'paraminko', Perl's 'Net::SSH', and Ruby's 'Net::SSH' libraries.


http://www.openvas.org

- as usual thanks to all of the individuals and groups who purchase and use my goods and services
http://sites.google.com/site/dtbnguyen/
http://dtbnguyen.blogspot.com.au/

Wednesday, November 9, 2011

IPTables Review, UFW, and More

With all manner of configuration (CLI as well as GUI based) tools available to us now with regards to firewall configuration sometimes its hard to justify learning or knowing raw IPTables rules. Recently, I had to do some revision for a project that I've been working on (it involves automated generation of firewall rules). Some of the materials that I used included the following.

http://firehol.sourceforge.net/fwtest.html?

Thankfully, we now have command line as well as GUI based alternatives for firewall configuration now.
ufw
https://en.wikipedia.org/wiki/Uncomplicated_Firewall

- as usual thanks to all of the individuals and groups who purchase and use my goods and services
http://sites.google.com/site/dtbnguyen/
http://dtbnguyen.blogspot.com.au/

Wednesday, July 20, 2011

Apache Web Server Configuration

Its become almost essential for any IT professional to be able to setup a web server nowadays. While the advent of so called personal web server solution stacks (such as XAMPP) have aided testing/development its still necessary to understand a number of concepts in order to configure it.


First, a web server is just a means of delivering of static/non-static content to an end user via computer networking.

Second, content is going to be delivered form a single actual directory which is 'pointed to' via DNS records on the Internet to a physical/virtual host.

Third, through the advent of Virtual Hosts many web servers are often able to serve more than website at a time (based on IP and/or name).


Fourth, the basic web server is often able to only host basic content or needs to be reconfigured in order to provide additional functionality. For example, you may require additional modules such as MySQL or a 'Handler' in order to provide for this.


Fifth, not all web servers are created equal. Like most other products and services, a web server can be designed with certain parameters in mind such as speed, security, or even certain technology frameworks. These additions can be particularly important in deciding which server you may end up choosing depending on the circumstance/s. For example, so called application servers which can have fairly specific capabilities that are not often available in conventional web servers.

http://www.vogella.de/articles/ApacheTomcat/article.html

- as usual thanks to all of the individuals and groups who purchase and use my goods and services
http://sites.google.com/site/dtbnguyen/
http://dtbnguyen.blogspot.com.au/

Becoming a Priest/Monk, Random Stuff, and More

- once upon a long time ago I thought about becoming a priest/monk. Today we'll explore what a religious life means. Some people want ...