Nginx – Customizing 404 page

You can setup a custom error page for every location block in your nginx.conf, or a global error page for the site as a whole. To redirect to a simple 404 not found page for a specific location: A site wide 404 page: You can append standard error codes together…

Using IPv6 with Custom and Secondary DNS

source: http://www.dyndns.com/support/kb/ipv6_with_custom_secdns.html

As part of Dyn Inc.’s IPv6 implementation plan, DynDNS.com has recently made a new IPv6 nameserver available for Custom DNS and Secondary DNS customers. Whether you’re looking to get a jump on the transition to IPv6 or you’re simply curious, we’ve created this short tutorial to help you make use of the new nameserver.

Disclaimer

Before we begin, please note that the information in this article is purely for testing and educational purposes. DynDNS.com does not currently guarantee the availability of its IPv6 test servers, so please exercise caution when adding them to the delegation of a domain. Additionally, this article does not provide instructions for configuring IPv6 in your environment, and assumes that you have already done so.

Router Advertisement Daemon (radvd)

source: http://www.linuxtopia.org/online_books/network_administration_guides/Linux+IPv6-HOWTO/hints-daemons-radvd.html

Router Advertisement Daemon (radvd)

The router advertisement daemon is very useful on a LAN, if clients should be auto-configured. The daemon itself should run on the Linux default IPv6 gateway router (it’s not required that this is also the default IPv4 gateway, so pay attention who on your LAN is sending router advertisements).

You can specify some information and flags which should be contained in the advertisement. Common used are:

  • Prefix (needed)
  • Lifetime of the prefix
  • Frequency of sending advertisements (optional)

After a proper configuration, the daemon sends advertisements through specified interfaces and clients are hopefully receive them and auto-magically configure addresses with received prefix and the default route.

Configuring radvd

Simple configuration

Radvd’s config file is normally /etc/radvd.conf. An simple example looks like following:

interface eth0 {
        AdvSendAdvert on;
        MinRtrAdvInterval 3;
        MaxRtrAdvInterval 10;
        prefix 2001:0db8:0100:f101::/64 {
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr on;
        };
};

This results on client side in

# ip -6 addr show eth0
3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 100
    inet6 2001:0db8:100:f101:2e0:12ff:fe34:1234/64 scope global dynamic
       valid_lft 2591992sec preferred_lft 604792sec
    inet6 fe80::2e0:12ff:fe34:1234/10 scope link

Because no lifetime was defined, a very high value was used.

IPv6 without tunnel broker on linux

source: http://www.atoomnet.net/ipv62002.php 2 easy steps to make IPv6 work without a tunnel broker. The technique used to make this work is called 6to4. You use a computer of somebody else to put your IPv6 traffic on the very big IPv6 network. Okay, lets make things work: Step 1 type this on…

Disabling IPv6 for Linux distributions

source: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1013234 Details In many Linux distributions if IPv6 is enabled, VMware Tools cannot be configured with vmware-config-tools.pl after installation. In this case, VMware Tools is unable to set the network device correctly for the virtual machine, and displays a message similar to the following: [text] Unloading pcnet32 module unregister_netdevice: waiting…

Nginx IPV6

Download nginx rpm SOURCE

http://centos.alt.ru/pub/nginx/0.8/RHEL/SRPMS/nginx-0.8.46-1.el5.src.rpm

Install rpm source

# rpm -Uvh nginx-0.8.46-1.el5.src.rpm

Chnage to rpm spec directory

# cd /path/to/rpm/spec/dir

Edit nginx.spec and add –with-ipv6 at configure section. IE:

./configure \
    --user=%{nginx_user} \
    --group=%{nginx_group} \
    --prefix=%{nginx_datadir} \
    --sbin-path=%{_sbindir}/%{name} \
    --conf-path=%{nginx_confdir}/%{name}.conf \
    --error-log-path=%{nginx_logdir}/error.log \
    --http-log-path=%{nginx_logdir}/access.log \
    --http-client-body-temp-path=%{nginx_home_tmp}/client_body \
    --http-proxy-temp-path=%{nginx_home_tmp}/proxy \
    --http-fastcgi-temp-path=%{nginx_home_tmp}/fastcgi \
    --pid-path=%{_localstatedir}/run/%{name}.pid \
    --lock-path=%{_localstatedir}/lock/subsys/%{name} \
    --with-http_secure_link_module \
    --with-http_random_index_module \
    --with-http_ssl_module \
    --with-http_realip_module \
    --with-http_addition_module \
    --with-http_sub_module \
    --with-http_dav_module \
    --with-http_flv_module \
    --with-http_gzip_static_module \
    --with-http_stub_status_module \
    --with-http_perl_module \
    --with-ipv6 \
    --with-mail \
    --with-mail_ssl_module \
    --with-cc-opt="%{optflags} $(pcre-config --cflags)" \
    --add-module=%{_builddir}/nginx-%{version}/nginx-upstream-fair \
    --add-module=%{_builddir}/nginx-%{version}/nginx-upload-progress-module \
    --add-module=%{_builddir}/nginx-%{version}/mod_zip-1.1.5 \
    --add-module=%{_builddir}/nginx-%{version}/nginx_upload_module-2.0.12 \
    --add-module=%{_builddir}/nginx-%{version}/nginx_mod_h264_streaming-2.2.7

Displaying PDF In Our Website

Displaying PDF In Our Website

Ingredients:

Download both software

# yum -y install swftools
# wget http://flexpaper.googlecode.com/files/FlexPaper_1.3.1_flash.zip

Go to http DocumentRoot, then unzip FlexPaper_1.3.1_flash.zip

# cd /var/www/html/
# unzip /path/to/FlexPaper_1.3.1_flash.zip

There’s example in FlexPaper_1.3.1_flash.zip distribution, We need to create our own swf file from existing pdf

# pdf2swf DNSSEC_in_6_minutes.pdf -o DNSSEC_in_6_minutes.swf -T 9 -f

Lots of NOTICE output there…

NOTICE  Adding /usr/share/swftools/fonts to font directories
Title:        Slide 1
Author:       Alan Clegg
Creator:      Impress
Producer:     OpenOffice.org 2.4
CreationDate: 20080715091448-04'00'
Pages:        79
Linearized:   no
Encrypted:    no
NOTICE  processing PDF page 1 (720x540:0:0) (move:0:0)
NOTICE  file contains jpeg pictures
NOTICE  file contains pbm pictures 
NOTICE  processing PDF page 2 (720x540:0:0) (move:0:0)
NOTICE  processing PDF page 3 (720x540:0:0) (move:0:0)
NOTICE  File contains links
NOTICE  processing PDF page 4 (720x540:0:0) (move:0:0)
NOTICE  processing PDF page 5 (720x540:0:0) (move:0:0)
NOTICE  processing PDF page 6 (720x540:0:0) (move:0:0)
NOTICE  processing PDF page 7 (720x540:0:0) (move:0:0)
NOTICE  processing PDF page 8 (720x540:0:0) (move:0:0)
NOTICE  processing PDF page 9 (720x540:0:0) (move:0:0)
NOTICE  processing PDF page 10 (720x540:0:0) (move:0:0)
NOTICE  processing PDF page 11 (720x540:0:0) (move:0:0)
NOTICE  processing PDF page 12 (720x540:0:0) (move:0:0)
NOTICE  processing PDF page 13 (720x540:0:0) (move:0:0)
NOTICE  processing PDF page 14 (720x540:0:0) (move:0:0)
NOTICE  processing PDF page 15 (720x540:0:0) (move:0:0)
NOTICE  processing PDF page 16 (720x540:0:0) (move:0:0)
--- cut ---
NOTICE  SWF written

Fedora Build xtables-addons1-1.24 RPM Package With Build Options

Continuing previous article about Building xtables-addons1-1.24 RPM Package, Now added feature which allow us to build the package with options
for example:

$ rpmbuild -ta xtables-addons-1.24.tar.bz2 --with ACCOUNT --with ipset --with geoip

With this command, only ACCOUNT,ipset,geoip modules would be built, other xtables-addons modules are not built(discarded)

Availble options:

--with ACCOUNT
--with CHAOS
--with DELUDE
--with DHCPMAC
--with ECHO
--with IPMARK
--with LOGMARK
--with RAWNAT
--with STEAL
--with SYSRQ
--with TARPIT
--with TEE
--with condition
--with fuzzy
--with geoip
--with iface
--with ipp2p
--with ipset
--with ipv4options
--with length2
--with lscan
--with pknock
--with psd
--with quota2

Fedora Build xtables-addons1-1.24 RPM Package

This tutorial was tested on fedora 12 system, it might be worked on onthers redhat base system, I’ve modified rpm spec file as generic as possible. it was shamelessly stolen 😀 from Jan Engelhardt xtables rpm source file.i slightly modified it a bit

Download xtables-addons 1.24 source

$ wget http://downloads.sourceforge.net/project/xtables-addons/Xtables-addons/1.24/xtables-addons-1.24.tar.bz2?use_mirror=nchc

prepare your .rpmmacros environment, rpmbuild directories, if not exist yet

$ mkdir rpmbuild
$ mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS,tmp}

Create .rpmmacros file

$ vi  .rpmmacros
%_topdir                %(echo $HOME)/rpmbuild
%_tmppath               %(echo $HOME)/rpmbuild/tmp

[p>Extract xtables-addons-1.24.tar.bz2, cd to xtables-addons-1.24 directory

$ tar xjf xtables-addons-1.24.tar.bz2
$ cd xtables-addons-1.24

Hosting Your Own Git Repository on fedora 12

This tutorial will covering common feature in git repository

  • commiting via ssh
  • Enable gitweb for web access
  • cloning anonymously using the Git protocol

Install git, git-daemon

# yum -y install git git-daemon gitweb

Create a git user/group

# useradd -U -d /var/cache/git -s /usr/libexec/git-core/git-shell git

Make sure the permissions of the directory are correct

# cd /var/cache
# chown -R git:git git
# chmod 755 git

We’ll be using SSH keys for authenication, so collect the public keys of all the users who need commit access. Then, put the public keys into the right place

# cd /var/cache/git
# mkdir .ssh
# chmod 700 .ssh
# touch .ssh/authorized_keys
# chmod 600 .ssh/authorized_keys
(Put the public keys into authorized_keys, one per line)
# chown -R git:git .ssh/