Results 1 to 2 of 2

Thread: /etc/virtual/domains file is empty. How to rebuild it?

  1. #1

    Default /etc/virtual/domains file is empty. How to rebuild it?

    Create a script with the following contents by running:

    cd /etc/virtual
    vi fix_domains.sh
    press i to go into "insert" mode, then paste the following code:


    #!/bin/sh

    echo `hostname`;

    for u in `ls /usr/local/directadmin/data/users`; do
    {
    for d in `cat /usr/local/directadmin/data/users/$u/domains.list`; do
    {
    echo "$d"

    for p in `cat /usr/local/directadmin/data/users/$u/domains/$d.pointers 2>/dev/null | cut -d= -f1 2>/dev/null`; do
    {
    echo "$p"
    }
    done;
    }
    done;
    }
    done;
    Press Esc then :wq to save and exit. Once at the prompt, type:

    chmod 755 fix_domains.sh
    ./fix_domains.sh > domains
    chmod 644 domains
    chown mail:mail domains

  2. #2
    Join Date
    Dec 2005
    Location
    Nashik
    Posts
    68

    Default How to completely rebuild your /etc/virtual directory

    Hello,

    Following are the steps to rebuild the /etc/virtual directory completely:

    1) salvage any info you may have that's still good.. grab any /etc/virtual/domain.com/passwd files that you want because you will lose any data currently in the /etc/virtual directory (email passwords, aliases, quotas, mailing lists etc)

    2) Delete it:
    rm -rf /etc/virtual
    3) Create it:
    mkdir /etc/virtual
    chmod 755 /etc/virtual
    chown mail:mail /etc/virtual
    4) Create the following script

    #!/bin/sh
    mkdir /etc/virtual/`hostname`
    chown mail:mail /etc/virtual/`hostname`
    chmod 711 /etc/virtual/`hostname`
    echo `hostname` >> /etc/virtual/domains

    for u in `ls /usr/local/directadmin/data/users`; do
    {
    for d in `cat /usr/local/directadmin/data/users/$u/domains.list`; do
    {
    echo "$d: $u" >> /etc/virtual/domainowners
    echo "$d" >> /etc/virtual/domains

    DMN=/etc/virtual/$d

    mkdir $DMN
    chmod 711 $DMN
    chown mail:mail $DMN

    echo "$u: $u" > $DMN/aliases
    echo "" > $DMN/autoresponder.conf
    echo "" > $DMN/filter
    echo "" > $DMN/filter.conf
    echo "" > $DMN/passwd
    echo "" > $DMN/quota
    echo "" > $DMN/vacation.conf
    chown mail:mail $DMN/*

    mkdir $DMN/majordomo
    chmod 751 $DMN/majordomo
    chown majordomo:daemon $DMN/majordomo

    mkdir $DMN/reply
    chmod 700 $DMN/reply
    chown mail:mail $DMN/reply

    for p in `cat /usr/local/directadmin/data/users/$u/domains/$d.pointers 2>/dev/null`; do
    {
    echo "$p: $u" >> /etc/virtual/domainowners
    echo "$p" >> /etc/virtual/domains
    ln -s $d /etc/virtual/$p
    }
    done;
    }
    done;
    }
    done;

    chown mail:mail /etc/virtual/domains
    chown mail:mail /etc/virtual/domainowners
    chmod 644 /etc/virtual/domainowners
    chmod 644 /etc/virtual/domains
    Save this code to a script somewhere on your system, eg /root/fix.sh.
    Chmod the script to 755, then run it:chmod 755 /root/fix.sh
    /root/fix.sh
    5) Create misc. other files
    cd /etc/virtual
    touch blacklist_domains whitelist_from use_rbl_domains bad_sender_hosts blacklist_senders whitelist_domains whitelist_hosts whitelist_senders
    echo 0 > limit
    mkdir usage
    chown mail:mail blacklist_domains whitelist_from use_rbl_domains bad_sender_hosts blacklist_senders whitelist_domains whitelist_hosts whitelist_senders limit usage
    6) rebuild majordomo:
    cd /usr/local/directadmin/scripts
    ./majordomo.sh
    That's All .

    Best Regards,
    Milind M. Koyande

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •