print web page without showing print dialogbox

March 14th, 2011

Here’s what you need to do to enable Firefox immediately print without showing the print preferences dialog box.

  1. Type about:config at Firefox’s location bar and hit Enter.
  2. Right click at anywhere on the page and select New > Boolean
  3. Enter the preference name as print.always_print_silent and click OK.

For IE

function printit(){
if (window.print) {
window.print() ;
} else {
var WebBrowser = ‘<OBJECT ID=”WebBrowser1″ WIDTH=0 HEIGHT=0 CLASSID=”CLSID:8856F961-340A-11D0-A96B-00C04FD705A2″></OBJECT>’;
document.body.insertAdjacentHTML(‘beforeEnd’, WebBrowser);
WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box    WebBrowser1.outerHTML = “”;
}
}

 

Joomla Component Install – Unable to Find Install Package

February 10th, 2011

Symptoms:

Joomla 1.5 fresh install was working fine and was able to install and uninstall mods, extensions templates, etc. just fine. After a few days of set up,  modifying my templates and adjusting my Global Settings, I was not able to upload any modules, extensions, templates, etc. and continuously received the ‘Unable to Find Install Package’. This was not a legacy issue.

The Solution:

During my setup, I had enabled my FTP but later turned it off in my Global Settings. However, what I discovered was that my FTP was not actually ‘turning off’. When I would deactivate it, and save my settings, the next time that I logged into my Global Settings, it would be back on. To resolve this, I went directly into my configuration.php file and manually adjusted the FTP settings.

var $ftp_enable = ’0′;
var $ftp_host = ”;
var $ftp_port = ”;
var $ftp_user = ”;
var $ftp_pass = ”;
var $ftp_root = ”;

So, in short — try adjusting your FTP settings directly in your configuration.php file.

I hope this helps someone else!

Details by

Miss Vicky

 

Magento Admin Flash 10 uploaded fix

January 21st, 2011

copy following files  from 1.2.1 or 1.3.*  version and issue will be solved

app/code/core/Mage/Adminhtml/Block/Media/Uploader.php
app/design/adminhtml/default/default/template/media/uploader.phtml
js/mage/adminhtml/flexuploader.js
js/mage/adminhtml/product.js
skin/adminhtml/default/default/media/uploader.swf
**** Backup existing files before overwriting with latest files so that if required you can revert  changes

 

How to reset Typo3 administrative password?

December 6th, 2010

simple and quick option for programmer is to reset directly from database. Execute following query and it will reset your password
update be_users set password=md5(‘your new password’) where username = ‘admin’;

This will change your administrative password to your new password’.

Keep in mind that it is important for your installation security to change the password again once you are logged in the administrative area.

 

How to Setup a DNS Server in Ubuntu

October 10th, 2010

Source: http://ulyssesonline.com/2007/11/07/how-to-setup-a-dns-server-in-ubuntu/

Overview
Would you like to setup a DNS Server in Ubuntu? How about setting up a private internal domain name at home? Well, you’ve come to the right place. There are number of tutorials on the internet showing you how to setup a DNS Server with Ubuntu using Bind 9. So, why another how-to document? That’s a good question. I’ve decided I needed to write a simple tutorial that anyone with a little bit of Linux knowledge would be able to follow. In the process, I hope readers are also able to learn how DNS works. Ok, let’s jump right to it!

What is DNS?

First of all, let’s cover the basics. What is DNS? DNS stands for Domain Name Server. It’s a service that runs on a server that translates humanly recognizable domain names such as www.yahoo.com or www.google.com into its assigned IP addresses. If the DNS server does not recognize the domain name being requested, it will forward the domain name request to another DNS server and so on until the name is resolved.

A typical DNS request is when someone is accessing a website. Let’s use the www.yahoo.com domain as an example. When a user clicks a Yahoo link or types the Yahoo URL on the address bar of the browser, the DNS server processes the domain request. If it doesn’t find www.yahoo.com on its DNS table, it will forward the request to another DNS server with a higher authority and so on until it finds a server with the URL entry. The IP address information is then sent back to the user’s browser. If the domain name is not found, a “server not found” message is displayed on the browser.

Assumptions

Enough with the DNS background. Let’s now start configuring our own DNS server. Let’s assume that we have the following: we want to create a private internal domain name called mydomain.com, our private internal network is 192.168.0.x and our router and gateway is set at 192.168.0.1. Let’s assume all devices are going to be configured with static IP addresses. Normally, most computer systems nowadays are configured to automatically obtain IP addresses from the DHCP server/router. In this example, we will use static IP addresses to show how DNS works. Finally, we have 3 computers connected to our network:

  • Ubuntu Server, the DNS server – 192.168.0.9
  • Ubuntu Desktop – 192.168.0.10
  • PC – 192.168.0.11

Instructions

1. To install the DNS server, we need to install Bind 9.

sudo apt-get install bind9

2. Let’s configure Bind. We need to touch 5 files.

We will edit 3 files.

  • /etc/bind/named.conf.local
  • /etc/bind/named.conf.options
  • /etc/resolv.conf

We will create 2 files.

  • /etc/bind/zones/mydomain.com.db
  • /etc/bind/zones/rev.0.168.192.in-addr.arpa

A. First step. Lets add our domain zone – mydomain.com.

sudo vi /etc/bind/named.conf.local
# Our domain zone
zone "mydomain.com" {
   type master;
   file "/etc/bind/zones/mydomain.com.db";
};

# For reverse DNS
zone "0.168.192.in-addr.arpa" {
   type master;
   file "/etc/bind/zones/rev.0.168.192.in-addr.arpa";
};

Save file. Exit.

We just created a new domain. Please note: later we will create two files named mydomain.com.db and rev.0.168.192.in-addr.arpa files. Also, notice the reverse IP address sequence in the reverse DNS section.

B. Let’s add the DNS servers from your ISP. In my case, I’m using Comcast DNS servers. You can place the primary and secondary DNS servers here separated by semicolons.

sudo vi /etc/bind/named.conf.options
forwarders {
   68.87.76.178;
};

Save file. Exit.

C. Now, let’s modify the resolv.conf file found in /etc and place the IP address of our DNS server which is set to 192.168.0.9.

$ sudo vi /etc/resolv.conf
search mydomain.com.
nameserver 192.168.0.9

D. Now, let’s define the zones.

sudo mkdir /etc/bind/zones
sudo vi /etc/bind/zones/mydomain.com.db
$TTL 3D
@ IN SOA ns.mydomain.com. admin.mydomain.com. (
   2007062001
   28800
   3600
   604800
   38400
);
mydomain.com.  IN      NS         ns.mydomain.com.
ubuntudesktop  IN      A          192.168.0.10
www            IN      CNAME      ubuntudesktop
pc             IN      A          192.168.0.11
gw             IN      A          192.168.0.1
                       TXT        "Network Gateway"

The TTL or time to live is set for 3 days
The ns.mydomain.com nameserver is defined
ubuntudesktop, pc and gateway are entered as an A record
An alias of www is assigned to ubuntudesktop using CNAME

E. Let’s create a “rev.0.168.192.in-addr.arpa” file for reverse lookup.

sudo vi /etc/bind/zones/rev.0.168.192.in-addr.arpa
$TTL 3D
@       IN      SOA     ns.mydomain.com. admin.mydomain.com. (
                2007062001
                28800
                604800
                604800
                86400
)
        IN      NS      ns.mydomain.com.
1       IN      PTR     gw.mydomain.com.
10      IN      PTR     ubuntudesktop.mydomain.com.
11      IN      PTR     pc.mydomain.com.

3. Let’s restart Bind to activate our latest changes.

sudo /etc/init.d/bind9 restart

4. Finally, let’s test our new domain and DNS entries.

Dig

$ dig mydomain.com

Nslookup

nslookup gw

-------------------------------------------------------------

DNS Zones Overview

A DNS zone is the contiguous portion of the DNS domain name space over which a DNS server has authority, or is authoritative. A zone is a portion of a namespace . it is not a domain. A domain is a branch of the DNS namespace. A DNS zone can contain one or more contiguous domains. A DNS server can be authoritative for multiple DNS zones. A noncontiguous namespace cannot be a DNS zone. A zone contains the resource records for all of the names within the particular zone. Zone files are used if DNS data is not integrated with Active Directory. The zone files contain the DNS database resource records which define the zone. If DNS and Active Directory are integrated, then DNS data is stored in Active Directory. The different types of zones used in Windows Server 2003 DNS are listed below:
  • Primary zone
  • Secondary zone
  • Active Directory-integrated zone
  • Reverse lookup zone
  • Stub zone
A primary zone is the only zone type that can be edited or updated because the data in the zone is the original source of the data for all domains in the zone. Updates made to the primary zone are made by the DNS server that is authoritative for the specific primary zone. You can also back up data from a primary zone to a secondary zone. A secondary zone is a read-only copy of the zone that was copied from the master server during zone transfer. In fact, a secondary zone can only be updated through zone transfer. An Active Directory-integrated zone is a zone that stores its data in Active Directory. DNS zone files are not needed. This type of zone is an authoritative primary zone. Zone data of an Active Directory-integrated zone is replicated during the Active Directory replication process. Active Directory-integrated zones also enjoy the security features of Active Directory. A reverse lookup zone is an authoritative DNS zone. These zones are mainly used to resolve Glossary Link IP addresses to resource names on the network. A reverse lookup zone can be either of the following zones:
  • Primary zone
  • Secondary zone
  • Active Directory-integrated zone
A stub zone is a new Windows Server 2003 feature. Stub zones only contain those resource records necessary to identify the authoritative DNS servers for the master zone. Stub zones therefore contain only a copy of a zone, and are used to resolve recursive queries and iterative queries:
  • Iterative queries: The DNS server provides the best answer it can. This can be:
    • The resolved name
    • A referral to a different DNS server
  • Recursive queries: The DNS server has to reply with the requested information, or with an error. The DNS server cannot provide a referral to a different DNS server
Stub zones contain the following information:
  • Start of Authority (SOA) resource records of the zone.
  • Resource records that list the authoritative DNS servers of the zone
  • Glue address (A) resource records that are necessary for contacting the authoritative servers of the zone.
Zone delegation occurs when you assign authority over portions of the DNS namespace to subdomains of the DNS namespace. You should delegate a zone under the following circumstances:
  • You want to delegate administration of a DNS domain to a department or branch of your organization.
  • You want to improve performance and fault tolerance of your DNS environment . you can distribute DNS database management and maintenance between several DNS servers.

Understanding DNS Zone Transfer

A zone transfer can be defined as the process that occurs to copy the resource records of a zone on the primary DNS server to secondary DNS servers. Zone transfer enables a secondary DNS server to continue handling queries if the primary DNS server fails. A secondary DNS server can also transfer it zone data to other secondary DNS servers, who are beneath it in the DNS hierarchy. In this case, the secondary DNS server is regarded as the master DNS server to the other secondary servers. The zone transfer methods are:
  • Full transfer: When you configure a secondary DNS server for a zone, and start the secondary DNS server, the secondary DNS server requests a full copy of the zone from the primary DNS server. A full transfer is performed of all the zone information. Full zone transfers tend to be resource intensive. This disadvantage of full transfers has Glossary Link led to the development of incremental zone transfers.
  • Incremental zone transfer: With an incremental zone transfer, only those resource records that have since changed in a zone are transferred to the secondary DNS servers. During zone transfer, the DNS databases on the primary DNS server and the secondary DNS server are compared to determine whether there are differences in the DNS data. If the DNS data of the primary and secondary DNS servers are the same, zone transfer does not take place. If the DNS data of the two servers are different, transfer of the delta resource records starts. This occurs when the serial number on the primary DNS server database is higher than that of secondary DNS server.s serial number. For incremental zone transfer to occur, the primary DNS server has to record incremental changes to its DNS database. Incremental zone transfers require less Glossary Link bandwidth than full zone transfers.
  • Active Directory transfers: These zone transfers occur when Active Directory-integrated zones are replicated to the domain controllers in a domain. Replication occurs through Active Directory replication.
  • DNS Notify is a mechanism that enables a primary DNS server to inform secondary DNS servers when its database has been updated. DNS Notify informs the secondary DNS servers when they need to initiate a zone transfer so that the updates of the primary DNS server can be replicated to them. When a secondary DNS server receives the notification from the primary DNS server, it can start an incremental zone transfer or a full zone transfer to pull zone changes from the primary DNS servers.

Understanding DNS Resource Records (RRs)

The DNS database contains resource records (entries) that are used to resolve name Glossary Link resolution queries sent to the DNS server. Each DNS server contains the resource records (RRs) it needs to respond to name resolution queries for the portion of the DNS namespace for which it is authoritative. There are different types of resource records. A few of the commonly used resource records (RR) and their associated functions are described in the Table.
Resource Records Type Name Function
A Host record Contains the Glossary Link IP address of a specific host, and maps the FQDN to this 32-bit Glossary Link IPv4 addresses.
AAAA IPv6 address record Ties a FQDN to an IPv6 128-bit address.
AFSDB Andrews files system Associates a DNS domain name to a server subtype: an Glossary Link AFS version 3 volume or an authenticated name server using DCE/NCA
ATMA Asynchronous Transfer Mode address Associates a DNS domain name to the Glossary Link ATM address of the atm_address field.
CNAME Canonical Name / Alias name Ties an alias to its associated domain name.
HINFO Host info record Indicates the Glossary Link CPU and OS type for a particular host.
ISDN ISDN info record Ties a FQDN to an associated ISDN telephone number
KEY Public key resource record Contains the public key for zones that can use DNS Security Extensions (DNSSEC).
MB Mailbox name record Maps the domain mail server name to the mail server.s host name
MG Mail group record Ties th domain mailing group to mailbox resource records
MINFO Mailbox info record Associates a mailbox for an individual that maintains it.
MR Mailbox renamed record Maps an older mailbox name to its new mailbox name.
MX Mail exchange record Provides routing for messages to mail servers and Glossary Link backup servers.
NS Name server record Provides a list of the authoritative servers for a domain. Also provides the authoritative DNS server for delegated subdomains.
NXT Next resource record Indicates those resource record types that exist for a name. Specifies the resource record in the zone.
OPT Option resource record A pseudo-resource record which provides extended DNS functionality.
PTR Pointer resource record Points to a different resource record, and is used for reverse lookups to point to A type resource records.
RT Route through record Provides routing information for hosts that do not have a WAN address.
SIG Signature resource record Stores the digital signature for an RR set.
SOA Start of Authority resource record This resource record contains zone information for determining the name of the primary DNS server for the zone. The SOA record stores other zone property information, such as version information.
SRV Service locator record Used by Active directory to locate domain controllers, Glossary Link LDAP servers, and global catalog servers.
TXT Text record Maps a DNS name to descriptive text.
X25 X.25 info record Maps a DNS address to the public switched data network (PSDN) address number.
While there are various resource records that contain different information or data, there are a few required fields that each particular resource record has to contain:
  • Owner; the DNS domain that contains the resource record
  • TTL (Time to Live); indicates the time duration that DNS servers can Glossary Link cache resource record information, prior to discarding the information. This is however an optional resource records field.
  • Class; is another optional resource records field. Class types were used in earlier implementations of the DNS naming system, and are no longer used these days.
  • Type; indicates the type of information contained by the resource record.
  • Record-Specific Data; a variable length field that further defines the function of the resource. The format of the field is determined by Class and Type.
Delegation records and glue records can also be added to a zone. These records are used to delegate a subdomain into a separate zone.
  • Delegation records: These are Name Space (NS) resource records in a parent zone. The delegation record specifies the parent zone as being authoritative for the delegated zones.
  • Glue records: These are A type resource records for the DNS server who is authoritative for delegated zone.
The more important resource records are discussed now. This includes the following:
  • Start of Authority (SOA), Name Server (NS), Host (A), Alias (CNAME), Mail exchanger (MX), Pointer (PTR), Service location (SRV)

Start of Authority (SOA) Resource Record

This is the first record in the DNS database file. The SOA record includes information on the zone property information, such as of the primary DNS server for the zone, and version information. The fields located within the SOA record are listed below:
  • Source host; the host for who the DNS database file is maintained
  • Contact e-mail; e-mail address for the individual who is responsible for the database file.
  • Serial number; the version number of the database.
  • Refresh time; the time that a secondary DNS server waits, while determining whether database updates have been made, that have to be replicated via zone transfer.
  • Retry time; the time for which a secondary DNS server waits before attempting a failed zone transfer again.
  • Expiration time; the time for which a secondary DNS server will continue to attempt to download zone information. Old zone information is discarded when this limit is reached.
  • Time to live; the time that the particular DNS server can cache resource records from the DNS database file.

Name Server (NS) Resource Record

The Name Server (NS) resource record provides a list of the authoritative DNS servers for a domain, as well authoritative DNS server for any delegated subdomains. Each zone must have one (or more) NS resource records at the zone Glossary Link root. The NS resource record indicates the primary and secondary DNS servers for the zone defined in the SOA resource record. This in turn enables other DNS servers to look up names in the domain.

Host (A) Resource Record

The host (A) resource record contains the IP address of a specific host, and maps the FQDN to this 32-bit IPv4 addresses. Host (A) resource records basically associates the domain names of computers (FQDNs) or hosts names to their associated IP addresses. Because a host (A) resource record statically associates a host name to a specific IP address, you can manually add these records to zones if you have machines who have statically assigned IP addresses. The methods which are used to add host (A) resource records to zones are:
  • Manually add these records, using the DNS management console.
  • You can use the Dnscmd tool at the command line to add host (A) resource records.
  • TCP/IP client computers running Windows 2000, Windows XP or Windows Server 2003 use the Glossary Link DHCP Client service to both register their names, and update their host (A) resource records.

Alias (CNAME) Resource Record

Alias (CNAME) resource records ties an alias name to its associated domain name. Alias (CNAME) resource records are referred to as canonical names. By using canonical names, you can hide network information from the clients who connect to your network. Alias (CNAME) resource records should be used when you have to rename a host that is defined in a host (A) resource record in the identical zone.

Mail exchanger (MX) Resource Record

The mail exchanger (MX) resource record provides routing for messages to mail servers and backup servers. The mail MX resource record provides information on which mail servers processes e-mail for the particular domain name. E-mail applications therefore mostly utilize MX resource records. A mail exchanger (MX) resource record has the following parameters:
  • Priority
  • Mail server
The mail exchanger (MX) resource record enables your DNS server to work with e-mail addresses where no specific mail server is defined. A DNS domain can have multiple MX records. MX resource records can therefore also be used to provide failover to different mail servers when the primary server specified is unavailable. In this case, a server preference value is added to indicate the priority of a server in the list. Lower server preference values specify higher preference.

Pointer (PTR) Resource Record

The pointer (PTR) resource record points to a different resource record, and is used for reverse lookups to point to A resource records. Reverse lookups resolve IP addresses to host names or FQDNs. You can add PTR resource records to zones through the following methods:
  • Manually add these records, using the DNS management console.
  • You can use the Dnscmd tool at the command line to add PTR resource records.

Service (SRV) Resource Records

Service (SRV) resource records are typically used by Active directory to locate domain controllers, LDAP servers, and global catalog servers. The SRV records define the location of specific services in a domain. They associate the location of a service such as a domain controller or global catalog server; with details on how the particular service can be contacted. The fields of the service (SRV) resource record are explained below:
  • Service name
  • The Glossary Link protocol used
  • The domain name associated with the SRV records.
  • The port number for the particular service
  • The Time to Live value
  • The class
  • The priority and weight.
  • The target specifying the FQDN of the particular host supporting the service

The Zone Database Files

If you are not using Active Directory-integrated zones, the specific zone database files that are used for zone data are:
  • Domain Name file: When new A type resource records are added to the domain, they are stored in this file. When a zone is created, the Domain Name file contains the following:
    • A SOA resource record for the domain
    • A NS resource record that indicates the name of the DNS server that was created.
  • Reverse Lookup file: This database file contains information on a reverse lookup zone.
  • Cache file: This file contains a listing of the names and addresses of root name servers that are needed for resolving names which are external to the authoritative domains.
  • Boot file: This file controls the startup behavior of the DNS server. The boot file supports the commands listed below:
    • Directory command; this command defines the location of the other files specified in the Boot file.
    • Primary command; defines the domain for which this particular DNS server has authority.
    • Secondary; specifies a domain as being a secondary domain.
    • Cache command; this command defines the list of root hints used for contacting DNS servers for the root domain

Planning DNS Zone Implementations

When you divide the up the DNS namespace, DNS zones are created. Breaking up the namespace into zones enables DNS to more efficiently manage available bandwidth usage, which in turn improves DNS performance. When determining how to break up the DNS zones, a few considerations you should include are listed below:
  • DNS traffic patterns: You can use the System Glossary Link Monitor tool to examine DNS performance counters, and to obtain DNS server statistics.
  • Network link speed: The types of network links that exist between your DNS servers should be determined when you plan the zones for your environment.
  • Whether full DNS servers or caching-only DNS servers are being used also affects how you break up DNS zones
The main zone types used in Windows Server 2003 DNS environments are primary zones and Active Directory-integrated zones. The question on whether to implement primary zones or Active Directory-integrated zones; would be determined by the DNS design requirements of your environment. Both primary zones and secondary zones are standard DNS zones that use zone files. The main difference between primary zones and secondary zones is that primary zones can be updated. Secondary zones contain read-only copies of zone data. A secondary DNS zone can only be updated through DNS zone transfer. Secondary DNS zones are usually implemented to provide fault tolerance for your DNS server environment. An Active Directory-integrated zone can be defined as an improved version of a primary DNS zone because it can use multi-master replication and the security features of Active Directory. The zone data of Active Directory-integrated zones are stored in Active Directory. Active Directory-integrated zones are authoritative primary zones. A few advantages that Active Directory-integrated zone implementations have oer standard primary zone implementations are:
  • Active Directory replication is faster, which means that the time needed to transfer zone data between zones is far less.
  • The Active Directory replication topology is used for Active Directory replication, and for Active Directory-integrated zone replication. There is no longer a need for DNS replication when DNS and Active Directory are integrated.
  • Active Directory-integrated zones can enjoy the security features of Active Directory.
  • The need to manage your Active Directory domains and DNS namespaces as separate entities is eliminated. This in turn reduces administrative overhead.
  • When DNS and Active Directory are integrated; the Active Directory-integrated zones are replicated, and stored on any new domain controllers automatically. Synchronization takes place automatically when new domain controllers are deployed.
The mechanism that DNS utilizes to forward a query that one DNS server cannot resolve, to another DNS server is called DNS forwarding. DNS forwarders are the DNS servers used to forward DNS queries for different DNS namespace to those DNS servers who can answer the query. A DNS server is configured as a DNS forwarder when you configure the other DNS servers to direct any unresolved queries to a specific DNS server. Creating DNS forwarders can improve name resolution efficiency. Windows Server 2003 DNS introduces a new feature, called conditional forwarding. With conditional forwarding, you create conditional forwarders within your environment that will forward DNS queries based on the specific domain names being requested in the query. This differs from DNS forwarders where the standard DNS resolution path to the root was used to resolve the query. A conditional forwarder can only forward queries for domains that are defined in the particular conditional forwarders list. The query is passed to the default DNS forwarder if there are no entries in the forwarders list for the specific domain queried. When conditional forwarders are configured, the process to resolve domain names is illustrated below:
  1. A client sends a query to the DNS server for name resolution.
  2. The DNS server checks its DNS database file to determine whether it can resolve the query with its zone data.
  3. The DNS server also checks its DNS server cache to resolve the request.
  4. If the DNS server is not configured to use forwarding, the server uses recursion to attempt to resolve the query.
  5. If the DNS server is configured to forward the query for a specific domain name to a DNS forwarder, the DNS server then forwards the query to the IP address of its configured DNS forwarder.
A few considerations for configuring forwarders for your DNS environment are:
  • You should only implement the DNS forwarders that are necessary for your environment. You should refrain from creating loads of forwarders for your internal DNS servers.
  • You should avoid chaining your DNS servers together in a forwarding configuration.
  • To avoid the DNS forwarder turning into a bottleneck, do not configure one external DNS forwarder for all your internal DNS servers.

How to create a new zone

  1. Click Start, Administrative Tools, and then click DNS to open the DNS console.
  2. Expand the Forward Lookup Zones folder
  3. Select the Forward Lookup Zones folder.
  4. From the Action menu, select New Zone.
  5. The New Zone Wizard initiates.
  6. On the initial page of the Wizard, click Next.
  7. On the Zone Type page, ensure that the Primary Zone. Creates A Copy Of A Zone That Can Be Updated Directly On This Server option is selected. This option is by default selected.
  8. Uncheck the Store The Zone In Active Directory (Available Only If DNS Server Is A Domain Controller) checkbox. Click Next.
  9. On the Zone Name page, enter the correct name for the zone in he Zone Name textbox. Click Next.
  10. On the Zone File page, ensure that the default option, Create A New File With This File Name is selected. Click Next.
  11. On the Dynamic Update page, ensure that the Do Not Allow Dynamic Updates. Dynamic Updates Of Resource Records Are Not Accepted By This Zone. You Must Update These Records Manually option is selected. Click Next.
  12. The Completing The New Zone Wizard page is displayed next.
  13. Click Finish to create the new zone.

How to create subdomains

  1. Click Start, Administrative Tools, and then click DNS to open the DNS console.
  2. In the console tree, select the appropriate zone.
  3. From the Action menu, select New Domain.
  4. The DNS Domain dialog box opens.
  5. Enter the name for new subdomain.
  6. Click OK to create the new subdomain.

How to create a reverse lookup zone

  1. Click Start, Administrative Tools, and the select DNS to open the DNS console.
  2. Select the appropriate DNS server in the console tree.
  3. Right-click the DNS server, and then select New Zone from the shortcut menu.
  4. The New Zone Wizard starts.
  5. Click Next on the first page of the New Zone Wizard.
  6. On the Zone Type page, ensure that the Primary Zone option is selected. Click Next.
  7. On the following page, select the Reverse lookup zone option. Click Next.
  8. Enter the IP network in the Network ID box, for the domain name that you are creating this new reverse lookup zone for. Click Next.
  9. Accept the default zone file name. Click Next.
  10. On the Dynamic Update page, select the Allow both nonsecure and secure dynamic updates option, and then click Next.
  11. .The Completing The New Zone Wizard page is displayed next.
  12. Click Finish to create the new reverse lookup zone.

How to create a stub zone

  1. Click Start, Administrative Tools, and then click DNS to open the DNS console.
  2. Expand the Forward Lookup Zones folder
  3. Select the Forward Lookup Zones folder.
  4. From the Action menu, select New Zone.
  5. The New Zone Wizard initiates.
  6. On the initial page of the Wizard, click Next.
  7. On the Zone Type page, select the Stub Zone option.
  8. Uncheck the Store The Zone In Active Directory (Available Only If DNS Server Is A Domain Controller) checkbox. Click Next.
  9. On the Zone Name page, enter the name for the new stub zone in the Zone Name textbox, and then click Next.
  10. Accept the default setting on the Zone file page. Click Next.
  11. On the Master DNS Servers page, enter the IP address of the master server in the Address text box. Click Next.
  12. On the Completing The New Zone Wizard page, click Finish.

How to add resource records to zones

  1. Click Start, Administrative Tools, and then click DNS to open the DNS console.
  2. In the console tree, select the zone that you want to add resource records to.
  3. From the Action menu, select the resource record type that you want to add to the zone. The options are:
    • New Host (A)
    • New Alias (CNAME)
    • New Mail Exchanger (MX)
    • Other New Records
  4. Select the New Host (A) option.
  5. The New Host dialog box opens.
  6. In the Name (Use Parent Domain Name If Blank) textbox, enter the name of the new host.
  7. When you specify the name of the new host, the resulting FQDN is displayed in the Fully qualified domain name (FQDN) textbox.
  8. In the IP Address box, enter the address for the new host.
  9. If you want to create an associated pointer (PTR) record, enable the checkbox.
  10. Click the Add Host button.
  11. The new host (A) resource record is added to the particular zone.
  12. A message box is displayed, verifying that the new host (A) resource record was successfully created for the zone.
  13. Click OK.
  14. Click Done to close the New Host dialog box./li>

How to create a zone delegation

  1. Click Start, Administrative Tools, and then select DNS to open the DNS console.
  2. Right-click your subdomain in the console tree, and then select New Delegation from the shortcut menu.
  3. The New Delegation Wizard initiates.
  4. Click Next on the first page of the New Delegation Wizard.
  5. When the Delegated Domain Name page opens, provide a delegated domain name, and then click Next.
  6. On the Name Servers page, click the Add button to provide the names and the IP addresses of your DNS servers that should host the delegation
  7. On the Name Servers page, click Next.
  8. Click Finish.

How to enable dynamic updates for a zone

  1. Click Start, Administrative Tools, and the select DNS to open the DNS console.
  2. Right-click the zone you want to work with in the console tree, and then select Properties from the shortcut menu.
  3. When the Zone Properties dialog box opens, on the General tab, select Yes in the Allow Dynamic Updates list box.
  4. Click OK.

How to configure a zone to use WINS for name resolution

You can configure your forward lookup zone to use WINS for name resolution in instances where the queried name is not found in the DNS namespace.
  1. Click Start, Administrative Tools, and the select DNS to open the DNS console.
  2. In the console tree, proceed to expand your DNS server Glossary Link node, and then expand the Forward Lookup Zones folder.
  3. Locate and right-click the zone which you want to configure and then select Properties from the shortcut menu.
  4. When the Zone Properties dialog box opens, click the WINS tab.
  5. Enable the Use WINS Forward Lookup checkbox.
  6. Type the WINS server IP address. Click Add, and then click OK.
  7. On the General tab, select Yes in the Allow Dynamic Updates list box.
  8. Click OK.

 

Magento – Default Stock Availability set to ‘in Stock’

September 21st, 2010
You need to add an attribute to the database:
insert into core_config_data
values ( null, 'default', 0, 'cataloginventory/item_options/is_in_stock', 1 );
Refresh the cache and you’ll see it works.
by
Conor Wyse
to set default quantity
insert into core_config_data
values ( null, 'default', 0, 'cataloginventory/item_options/qty', 10 );
you can change 10 to your choice

 

random post on home page of wordpress

September 21st, 2010

use following code

query_posts(array(‘orderby’ => ‘rand’));
if (have_posts()) : while (have_posts()) : the_post();

 

query_posts function in wordpress

September 21st, 2010

reference: http://codex.wordpress.org/Function_Reference/query_posts

Description

query_posts() can be used to control which posts show up in The Loop. It accepts a variety of parameters in the same format as used in your URL (e.g. p=4 to show only post of ID number 4).

Why go through all the trouble of changing the query that was meticulously created from your given URL? You can customize the presentation of your blog entries by combining it with page logic (like the Conditional Tags) — all without changing any of the URLs.

Common uses might be to:

  • Display only a single post on your homepage (a single Page can be done via Settings -> Reading).
  • Show all posts from a particular time period.
  • Show the latest post (only) on the front page.
  • Change how posts are ordered.
  • Show posts from only one category.
  • Exclude one or more categories.

Important note

The query_posts function is intended to be used to modify the main page Loop only. It is not intended as a means to create secondary Loops on the page. If you want to create separate Loops outside of the main one, you should use get_posts() instead. Use of query_posts on Loops other than the main one can result in your main Loop becoming incorrect and possibly displaying things that you were not expecting.

The query_posts function overrides and replaces the main query for the page. To save your sanity, do not use it for any other purpose.

Usage

<?php

//The Query
query_posts('posts_per_page=5');

//The Loop
if ( have_posts() ) : while ( have_posts() ) : the_post();
 ..
endwhile; else:
 ..
endif;

//Reset Query
wp_reset_query();

?>

Usage Note

Place a call to query_posts() in one of your Template files before The Loop begins. The wp_query object will generate a new SQL query using your parameters. When you do this, WordPress ignores the other parameters it receives via the URL (such as page number or category). If you want to preserve that information, you can use the $query_string global variable in the call to query_posts().

For example, to set the display order of the posts without affecting the rest of the query string, you could place the following before The Loop:

global $query_string;
query_posts($query_string . "&order=ASC");

When using query_posts in this way, the quoted portion of the argument must begin with an ampersand (&).

Parameters

This is not an exhaustive list yet. It is meant to show some of the more common things possible with setting your own queries.

Category Parameters

Show posts only belonging to certain categories.

  • cat – must use cat ids
  • category_name
  • category__and – must use cat ids
  • category__in – must use cat ids
  • category__not_in – must use cat ids

Show One Category by ID

Display posts from only one category ID (and any children of that category):

query_posts('cat=4');

Show One Category by Name

Display posts from only one category by name:

query_posts('category_name=Staff Home');

Show Several Categories by ID

Display posts from several specific category IDs:

query_posts('cat=2,6,17,38');

Exclude Posts Belonging to Only One Category

Show all posts except those from a category by prefixing its ID with a ‘-’ (minus) sign.

query_posts('cat=-3');

This excludes any post that belongs to category 3.

Multiple Category Handling

Display posts that are in multiple categories. This shows posts that are in both categories 2 and 6:

query_posts(array('category__and' => array(2,6)));

To display posts from either category 2 OR 6, you could use cat as mentioned above, or by using category__in (note this does not show posts from any children of these categories):

query_posts(array('category__in' => array(2,6)));

You can also exclude multiple categories this way:

query_posts(array('category__not_in' => array(2,6)));

Tag Parameters

Show posts associated with certain tags.

  • tag
  • tag_id – must use tag ids
  • tag__and – must use tag ids
  • tag__in – must use tag ids
  • tag__not_in – must use tag ids
  • tag_slug__and
  • tag_slug__in

Fetch posts for one tag

query_posts('tag=cooking');

This must use the tag slugs. E.g. query_posts(‘tag=dinner-recipe’); for the tag “dinner recipe”

Fetch posts that have either of these tags

query_posts('tag=bread,baking');

Fetch posts that have all three of these tags:

query_posts('tag=bread+baking+recipe');

Multiple Tag Handling

Display posts that are tagged with both tag id 37 and tag id 47:

query_posts(array('tag__and' => array(37,47)));

To display posts from either tag id 37 or 47, you could use tag as mentioned above, or explicitly specify by using tag__in:

query_posts(array('tag__in' => array(37,47)));

Display posts that do not have any of the two tag ids 37 and 47:

query_posts(array('tag__not_in' => array(37,47)));

The tag_slug__in and tag_slug__and behave much the same, except match against the tag’s slug.

Also see Ryan’s discussion of Tag intersections and unions.

Author Parameters

You can also restrict the posts by author.

  • author=3
  • author=-3 – exclude author id 3 posts
  • author_name=Harriet

Note: author_name operates on the user_nicename field, whilst author operates on the author id field.

Display all Pages for author=1, in title order, with no sticky posts tacked to the top:

query_posts('caller_get_posts=1&author=1&post_type=page&post_status=publish&orderby=title&order=ASC');

Post & Page Parameters

Retrieve a single post or page.

  • 'p' => 27 – use the post ID to show that post
  • 'name' => 'about-my-life' – query for a particular post that has this Post Slug
  • 'page_id' => 7 – query for just Page ID 7
  • 'pagename' => 'about' – note that this is not the page’s title, but the page’s path
  • 'posts_per_page' => 1 – use 'posts_per_page' => 3 to show 3 posts. Use 'posts_per_page' => -1 to show all posts
  • 'showposts' => 1 – use 'showposts' => 3 to show 3 posts. Use 'showposts' => -1 to show all posts. Deprecated in favor of posts_per_page
  • 'post__in' => array(5,12,2,14,7) – inclusion, lets you specify the post IDs to retrieve
  • 'post__not_in' => array(6,2,8) – exclusion, lets you specify the post IDs NOT to retrieve
  • 'post_type' => 'page' – returns Pages; defaults to value of post; can be any, attachment, page, post, or revision. any retrieves any type except revisions. Also can designate custom post types (e.g. movies).
  • 'post_status' => 'publish' – returns publish works. Also could use pending, draft, future, private, trash. For inherit see get_children. Status of trash added with Version 2.9.
  • 'post_parent' => 93 – return just the child Pages of Page 93.

To return both posts and custom post type movie

query_posts( array( 'post_type' => array('post', 'movie') ) );

Sticky Post Parameters

Sticky posts first became available with WordPress Version 2.7. Posts that are set as Sticky will be displayed before other posts in a query, unless excluded with the caller_get_posts=1 parameter.

  • array('post__in'=>get_option('sticky_posts')) – returns array of all sticky posts
  • caller_get_posts=1 – To exclude sticky posts being included at the beginning of posts returned, but the sticky post will still be returned in the natural order of that list of posts returned.

To return just the first sticky post:

$sticky=get_option('sticky_posts') ;
query_posts('p=' . $sticky[0]);

or

$args = array(
	'posts_per_page' => 1,
	'post__in'  => get_option('sticky_posts'),
	'caller_get_posts' => 1
);
query_posts($args);

Note: the second method returns only the more recent sticky post; if there are not sticky posts, it returns the last post published.

To return just the first sticky post or nothing:

$sticky = get_option('sticky_posts');
$args = array(
	'posts_per_page' => 1,
	'post__in'  => $sticky,
	'caller_get_posts' => 1
);
query_posts($args);
if($sticky[0]) {
   // insert here your stuff...
}

To exclude all sticky posts from the query:

query_posts(array("post__not_in" =>get_option("sticky_posts")));

Return ALL posts with the category, but don’t show sticky posts at the top. The ‘sticky posts’ will still show in their natural position (e.g. by date):

query_posts('caller_get_posts=1&posts_per_page=3&cat=6');

Return posts with the category, but exclude sticky posts completely, and adhere to paging rules:

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$sticky=get_option('sticky_posts');
$args=array(
   'cat'=>3,
   'caller_get_posts'=>1,
   'post__not_in' => $sticky,
   'paged'=>$paged,
   );
query_posts($args);
?>

Time Parameters

Retrieve posts belonging to a certain time period.

  • hour= – hour (from 0 to 23)
  • minute= – minute (from 0 to 60)
  • second= – second (0 to 60)
  • day= – day of the month (from 1 to 31)
  • monthnum= – month number (from 1 to 12)
  • year= – 4 digit year (e.g. 2009)
  • w= – week of the year (from 0 to 53) and uses the MySQL WEEK command Mode=1.

Returns posts for just the current date:

$today = getdate();
query_posts('year=' .$today["year"] .'&monthnum=' .$today["mon"] .'&day=' .$today["mday"] );

Returns posts for just the current week:

$week = date('W');
$year = date('Y');
query_posts('year=' . $year .'&w=' .$week );

Returns posts dated December 20:

query_posts( 'monthnum=12&day=20' );

Note: The queries above return posts for a specific date period in history, i.e. “Posts from X year, X month, X day”. They are unable to fetch posts from a timespan relative to the present, so queries like “Posts from the last 30 days” or “Posts from the last year” are not possible with a basic query, and require use of the posts_where filter to be completed. The examples below use the posts_where filter, and should be modifyable for most time-relative queries.

Return posts for posts for March 1 to March 15, 2009:

<?php
//Create a new filtering function that will add our where clause to the query
function filter_where($where = '') {
  //posts for March 1 to March 15, 2009
  $where .= " AND post_date >= '2009-03-01' AND post_date < '2009-03-16'";
  return $where;
}
// Register the filtering function
add_filter('posts_where', 'filter_where');
// Perform the query, the filter will be applied automatically
query_posts($query_string);
?>

Return posts from the last 30 days:

<?php
//Create a new filtering function that will add our where clause to the query
function filter_where($where = '') {
  //posts in the last 30 days
  $where .= " AND post_date > '" . date('Y-m-d', strtotime('-30 days')) . "'";
  return $where;
}
// Register the filtering function
add_filter('posts_where', 'filter_where');
// Perform the query, the filter will be applied automatically
query_posts($query_string);
?>

Return posts 30 to 60 days old

<?php
//Create a new filtering function that will add our where clause to the query
function filter_where($where = '') {
  //posts  30 to 60 days old
  $where .= " AND post_date >= '" . date('Y-m-d', strtotime('-60 days')) . "'" . " AND post_date <= '" . date('Y-m-d', strtotime('-30 days')) . "'";
  return $where;
}
// Register the filtering function
add_filter('posts_where', 'filter_where');
// Perform the query, the filter will be applied automatically
query_posts($query_string);
?>

Pagination Parameters

  • nopaging=true – will disable pagination, displaying all posts
  • posts_per_page=10 – number of posts to show per page
  • paged=2 – show the posts that would normally show up just on page 2 when using the “Older Entries” link. You should set this to get_query_var( 'paged' ) if you want your query to work with pagination.
  • order=ASC – show posts in chronological order, DESC to show in reverse order (the default)

Offset Parameter

You can displace or pass over one or more initial posts which would normally be collected by your query through the use of the offset parameter.

The following will display the 5 posts which follow the most recent (1):

query_posts('posts_per_page=5&offset=1');

Orderby Parameters

Sort retrieved posts by this field.

  • orderby=author
  • orderby=date
  • orderby=title
  • orderby=modified
  • orderby=menu_order used most often for Pages (Order field in the Edit Page ➝ Attributes box) and attachments (the integer fields in the Insert / Upload Media ➝ Gallery dialog), but could be used for any post type with distinct menu_order values (they all default to 0).
  • orderby=parent
  • orderby=ID
  • orderby=rand
  • orderby=meta_value Note: A meta_key=keyname must also be present in the query.
  • orderby=meta_value_num – Order by numeric meta value (available with Version 2.8)
  • orderby=none – No order (available with Version 2.8)
  • orderby=comment_count – (available with Version 2.9)

Order Parameters

Designates the ascending or descending order of the ORDERBY parameter.

  • order=ASC – ascending from lowest to highest values (1, 2, 3; a, b, c)
  • order=DESC – descending from highest to lowest values (3, 2, 1; c, b, a)

Custom Field Parameters

Retrieve posts (or Pages) based on a custom field key or value.

  • meta_key=
  • meta_value=
  • meta_compare= – operator to test the meta_value=, default is ‘=’, with other possible values of ‘!=’, ‘>’, ‘>=’, ‘<’, or ‘<=’

Returns posts with custom fields matching both a key of ‘color’ AND a value of ‘blue’:

query_posts('meta_key=color&meta_value=blue');

Returns posts with a custom field key of ‘color’, regardless of the custom field value:

query_posts('meta_key=color');

Returns posts where the custom field value is ‘color’, regardless of the custom field key:

query_posts('meta_value=color');

Returns any Page where the custom field value is ‘green’, regardless of the custom field key:

query_posts('post_type=page&meta_value=green');

Returns both posts and Pages with a custom field key of ‘color’ where the custom field value IS NOT EQUAL TO ‘blue’:

query_posts('post_type=any&meta_key=color&meta_compare=!=&meta_value=blue');

Returns posts with custom field key of ‘miles’ with a custom field value that is LESS THAN OR EQUAL TO 22. Note the value 99 will be considered greater than 100 as the data is stored as strings, not numbers.

query_posts('meta_key=miles&meta_compare=<=&meta_value=22');

Combining Parameters

You may have noticed from some of the examples above that you combine parameters with an ampersand (&), like so:

query_posts('cat=3&year=2004');

Posts for category 13, for the current month on the main page:

if (is_home()) {
query_posts($query_string . '&cat=13&monthnum=' . date('n',current_time('timestamp')));
}

At 2.3 this combination will return posts belong to both Category 1 AND 3, showing just two (2) posts, in descending order by the title:

 query_posts(array('category__and'=>array(1,3),'posts_per_page'=>2,'orderby'=>title,'order'=>DESC));

In 2.3 and 2.5 one would expect the following to return all posts that belong to category 1 and is tagged “apples”

query_posts('cat=1&tag=apples');

A bug prevents this from happening. See Ticket #5433. A workaround is to search for several tags using +

query_posts('cat=1&tag=apples+apples');

This will yield the expected results of the previous query. Note that using ‘cat=1&tag=apples+oranges’ yields expected results.

Examples

Exclude Categories From Your Home Page

Placing this code in your index.php file will cause your home page to display posts from all categories except category ID 3.

<?php
   if (is_home()) {
      query_posts("cat=-3");
   }
?>

You can also add some more categories to the exclude-list (tested with WP 2.1.2):

<?php
   if (is_home()) {
      query_posts("cat=-1,-2,-3");
   }
?>

Retrieve a Particular Post

To retrieve a particular post, you could use the following:

<?php
// retrieve one post with an ID of 5
query_posts('p=5');
?>

If you want to use the Read More functionality with this query, you will need to set the global $more variable to 0.

<?php
// retrieve one post with an ID of 5
query_posts('p=5');

global $more;
// set $more to 0 in order to only get the first part of the post
$more = 0; 

// the Loop
while (have_posts()) : the_post();
  // the content of the post
  the_content('Read the full post »');
endwhile;
?>

Retrieve a Particular Page

To retrieve a particular page, you could use the following:

<?php
query_posts('page_id=7');      //retrieves page 7 only
?>

or

<?php
query_posts('pagename=about'); //retrieves the about page only
?>

For child pages, the slug of the parent and the child is required, separated by a slash. For example:

<?php
query_posts('pagename=parent/child'); // retrieve the child page of a parent
?>

Passing variables to query_posts

You can pass a variable to the query with two methods, depending on your needs. As with other examples, place these above your Loop:

Example 1

In this example, we concatenate the query before running it. First assign the variable, then concatenate and then run it. Here we’re pulling in a category variable from elsewhere.

 <?php
 $categoryvariable=$cat; // assign the variable as current category
 $query= 'cat=' . $categoryvariable. '&orderby=date&order=ASC'; // concatenate the query
 query_posts($query); // run the query
 ?>

Example 2

In this next example, the double quotes tell PHP to treat the enclosed as an expression. For this example, we are getting the current month and the current year, and telling query_posts to bring us the posts for the current month/year, and in this case, listing in ascending order so we get the oldest post at the top of the page.

<?php
$current_month = date('m');
$current_year = date('Y');

query_posts("cat=22&year=$current_year&monthnum=$current_month&order=ASC");
?>
<!-- put your loop here -->

Example 3

This example explains how to generate a complete list of posts, dealing with pagination. We can use the default $query_string telling query_posts to bring us a full posts listing. We can also modify the posts_per_page query argument from -1 to the number of posts you want to show on each page; in this last case, you’ll probably want to use posts_nav_link() to navigate the generated archive.

<?php
query_posts($query_string.'&posts_per_page=-1');
while(have_posts()) { the_post();
<!-- put your loop here -->
}
?>

Example 4

If you don’t need to use the $query_string variable, another method exists that is more clear and readable, in some more complex cases. This method puts the parameters into an array. The same query as in Example 2 above could be done like this:

query_posts(array(
 'cat'      => 22,
 'year'     => $current_year,
 'monthnum' => $current_month,
 'order'    => 'ASC',
));

As you can see, with this approach, every variable can be put on its own line, for easier reading.

Preserving the Original Query (Pagination etc.)

By default running query_posts will completely overwrite all existing query variables on the current page. Pagination, categories dates etc. will be lost and only the variables you pass into query_posts will be used.

If you want to preserve the original query you can merge the original query array into your parameter array:

global $wp_query;
query_posts(
	array_merge(
		array('cat' => 1),
		$wp_query->query
	)
);

Usage Tips

The “Blog pages show at most” parameter in Settings > Reading can influence your results. To overcome this, add the ‘posts_per_page’ parameter. For example:

query_posts('category_name=The Category Name&posts_per_page=-1');  //returns ALL from the category

 

Linux apache – how to enable mod_rewrite

September 15th, 2010

To install
mod_rewrite, run command as below:

sudo a2enmod rewrite

then run command

sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/

then Change the Allowoverride value to all for the document root directory
For example, may be to this part of the configuration:

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>

Finally, just restart the apache

sudo /etc/init.d/apache2 restart

 

Ubuntu 10.4 install php5.2 / downgrade from php5.3 to php5.2

September 15th, 2010

The following .deb files are for PHP 5.2.10, built from the Karmic (9.10) sources against the various libraries that ship with Lucid. To use them with Lucid you will need to remove all existing PHP 5.3 packages (dpkg -r <package names>) and then download and install these PHP 5.2 packages (dpkg -i <package names>). Some of these packages are optional, as a minimum you will need php5-common and libapache2-mod-php5. If you’re using Drupal you’ll likely also want php5-mysql, php5-gd, and php5-curl too.

first you need to install libdb4.7 you can install it by apt-get install lib4.7

then install php5-commong

and then other libraries

libapache2-mod-php5_5.2.10.dfsg.1-2ubuntu6.4_i386.deb
php5_5.2.10.dfsg.1-2ubuntu6.4_all.deb
php5-cgi_5.2.10.dfsg.1-2ubuntu6.4_i386.deb
php5-common_5.2.10.dfsg.1-2ubuntu6.4_i386.deb
php5-curl_5.2.10.dfsg.1-2ubuntu6.4_i386.deb
php5-gd_5.2.10.dfsg.1-2ubuntu6.4_i386.deb
php5-ldap_5.2.10.dfsg.1-2ubuntu6.4_i386.deb
php5-mhash_5.2.10.dfsg.1-2ubuntu6.4_i386.deb
php5-mysql_5.2.10.dfsg.1-2ubuntu6.4_i386.deb
php-pear_5.2.10.dfsg.1-2ubuntu6.4_all.deb

after setting up you need to change extension dir in php.ini and enable mysql extension by writing extension=mysql.so

 

Site map | Blog
Copyright © 2008, COG IT Solutions Pvt. Ltd. All Rights Reserved
XHTML Validated