Changes

Jump to navigation Jump to search
m
Line 100: Line 100:  
/etc/apache2/sites-available/webmail.conf
 
/etc/apache2/sites-available/webmail.conf
 
  <nowiki><VirtualHost *:80>
 
  <nowiki><VirtualHost *:80>
                        ServerAdmin rafael@herrerosolis.com
+
                        ServerAdmin rafael@herrerosolis.com
                        Redirect permanent / https://webmail.herrerosolis.com/
+
                        Redirect permanent / https://webmail.herrerosolis.com/
                    #    DocumentRoot /var/www/rafael
+
                    #    DocumentRoot /var/www/rafael
                        ServerName webmail.herrerosolis.com
+
                        ServerName webmail.herrerosolis.com
                        ServerAlias webmail.herrerosolis.com
+
                        ServerAlias webmail.herrerosolis.com
                        ErrorLog /var/log/apache2/webmail/error.log
+
                        ErrorLog /var/log/apache2/webmail/error.log
                   
+
                   
                        # Posible values include: debug, info, notice, warn, error, crit.
+
                        # Posible values include: debug, info, notice, warn, error, crit.
                        # alert, emerg.
+
                        # alert, emerg.
                   
+
                   
                        CustomLog /var/log/apache2/webmail/access.log combined
+
                        CustomLog /var/log/apache2/webmail/access.log combined
                    </virtualHost>
+
                    </virtualHost>
                   
+
                   
                    <VirtualHost *:443>
+
                    <VirtualHost *:443>
                        ServerAdmin rafael@herrerosolis.com
+
                        ServerAdmin rafael@herrerosolis.com
                        DocumentRoot /var/lib/roundcube
+
                        DocumentRoot /var/lib/roundcube
                        ServerName webmail.herrerosolis.com
+
                        ServerName webmail.herrerosolis.com
                        ServerAlias webmail.herrerosolis.com
+
                        ServerAlias webmail.herrerosolis.com
                   
+
                   
                        ErrorLog /var/log/apache2/webmail/error.log
+
                        ErrorLog /var/log/apache2/webmail/error.log
                   
+
                   
                        # Posible values include: debug, info, notice, warn, error, crit.
+
                        # Posible values include: debug, info, notice, warn, error, crit.
                        # alert, emerg.
+
                        # alert, emerg.
                        CustomLog /var/log/apache2/webmail/access.log combined
+
                        CustomLog /var/log/apache2/webmail/access.log combined
                        SSLEngine on
+
                        SSLEngine on
                        SSLCertificateFile /etc/ssl/certs/herrerosolis.crt
+
                        SSLCertificateFile /etc/ssl/certs/herrerosolis.crt
                        SSLCertificateKeyFile /etc/ssl/private/herrerosolis.key
+
                        SSLCertificateKeyFile /etc/ssl/private/herrerosolis.key
                    </virtualHost>
+
                    </virtualHost>
                    </nowiki>
+
                    </nowiki>
    
===OPTIONAL: Remove TinyMCE===
 
===OPTIONAL: Remove TinyMCE===
Line 136: Line 136:     
  <nowiki>Comment out these lines:
 
  <nowiki>Comment out these lines:
                    #<Directory "/usr/share/tinymce/www/">
+
                    #<Directory "/usr/share/tinymce/www/">
                    #      Options Indexes MultiViews FollowSymLinks
+
                    #      Options Indexes MultiViews FollowSymLinks
                    #      AllowOverride None
+
                    #      AllowOverride None
                    #      Order allow,deny
+
                    #      Order allow,deny
                    #      allow from all
+
                    #      allow from all
                    #</Directory>
+
                    #</Directory>
                    </nowiki>
+
                    </nowiki>
    
===Create Databases===
 
===Create Databases===
Line 152: Line 152:     
  <nowiki>CREATE TABLE mailboxes (
 
  <nowiki>CREATE TABLE mailboxes (
                        id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+
                        id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
                        domain_id INT(10) NOT NULL,
+
                        domain_id INT(10) NOT NULL,
                        local_part VARCHAR(250) NOT NULL,
+
                        local_part VARCHAR(250) NOT NULL,
                        password VARCHAR(100) NULL,
+
                        password VARCHAR(100) NULL,
                        description VARCHAR(250) NULL,
+
                        description VARCHAR(250) NULL,
                        active TINYINT(1) NOT NULL DEFAULT 0,
+
                        active TINYINT(1) NOT NULL DEFAULT 0,
                        created TIMESTAMP NOT NULL DEFAULT NOW(),
+
                        created TIMESTAMP NOT NULL DEFAULT NOW(),
                        modified TIMESTAMP NULL
+
                        modified TIMESTAMP NULL
                    );
+
                    );
                    CREATE TABLE aliases (
+
                    CREATE TABLE aliases (
                        id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+
                        id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
                        domain_id INT(10) NOT NULL,
+
                        domain_id INT(10) NOT NULL,
                        local_part VARCHAR(250) NOT NULL,
+
                        local_part VARCHAR(250) NOT NULL,
                        goto VARCHAR(250) NOT NULL,
+
                        goto VARCHAR(250) NOT NULL,
                        description VARCHAR(250) NULL,
+
                        description VARCHAR(250) NULL,
                        active TINYINT(1) NOT NULL DEFAULT 0,
+
                        active TINYINT(1) NOT NULL DEFAULT 0,
                        created TIMESTAMP NOT NULL DEFAULT NOW(),
+
                        created TIMESTAMP NOT NULL DEFAULT NOW(),
                        modified TIMESTAMP NULL
+
                        modified TIMESTAMP NULL
                    );
+
                    );
                    CREATE TABLE vacations (
+
                    CREATE TABLE vacations (
                        id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+
                        id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
                        mailbox_id INT(10) NOT NULL,
+
                        mailbox_id INT(10) NOT NULL,
                        subject VARCHAR(250) NOT NULL,
+
                        subject VARCHAR(250) NOT NULL,
                        body TEXT NOT NULL,
+
                        body TEXT NOT NULL,
                        description VARCHAR(250) NULL,
+
                        description VARCHAR(250) NULL,
                        active TINYINT(1) NOT NULL DEFAULT 0,
+
                        active TINYINT(1) NOT NULL DEFAULT 0,
                        created TIMESTAMP NOT NULL DEFAULT NOW(),
+
                        created TIMESTAMP NOT NULL DEFAULT NOW(),
                        modified TIMESTAMP NULL
+
                        modified TIMESTAMP NULL
                    );
+
                    );
                   
+
                   
                    CREATE TABLE domains (
+
                    CREATE TABLE domains (
                        id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
+
                        id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
                        fqdn VARCHAR(250) NOT NULL,
+
                        fqdn VARCHAR(250) NOT NULL,
                        type ENUM('local','relay') NOT NULL DEFAULT 'local',
+
                        type ENUM('local','relay') NOT NULL DEFAULT 'local',
                        description VARCHAR(250) NULL,
+
                        description VARCHAR(250) NULL,
                        active TINYINT(1) NOT NULL DEFAULT 0,
+
                        active TINYINT(1) NOT NULL DEFAULT 0,
                        created TIMESTAMP NOT NULL DEFAULT NOW(),
+
                        created TIMESTAMP NOT NULL DEFAULT NOW(),
                        modified TIMESTAMP NULL
+
                        modified TIMESTAMP NULL
                    );
+
                    );
                    </nowiki>
+
                    </nowiki>
    
===Create your first email account and domain===
 
===Create your first email account and domain===
Line 205: Line 205:  
===Create a database-account to access the database===
 
===Create a database-account to access the database===
 
  <nowiki>grant ALL on email_accounts.* to 'email'@'localhost' identified by 'password';
 
  <nowiki>grant ALL on email_accounts.* to 'email'@'localhost' identified by 'password';
                    flush privileges;
+
                    flush privileges;
                    </nowiki>
+
                    </nowiki>
 
http://bradthemad.org/tech/notes/exim_cheatsheet.php
 
http://bradthemad.org/tech/notes/exim_cheatsheet.php
   Line 469: Line 469:  
Add to /etc/roundcube/config.inc.php
 
Add to /etc/roundcube/config.inc.php
 
  <nowiki>$config['imap_conn_options'] = array(
 
  <nowiki>$config['imap_conn_options'] = array(
                      'ssl'        => array(
+
                      'ssl'        => array(
                        'verify_peer'  => false,
+
                          'verify_peer'  => false,
                        'verify_peer_name'  => false,
+
                          'verify_peer_name'  => false,
                        'allow_self_signed' => true,
+
                          'allow_self_signed' => true,
                      ),
+
                        ),
                    );
+
                      );
                    </nowiki>
+
                    </nowiki>
    
====Enable Password Plugin====
 
====Enable Password Plugin====
Line 505: Line 505:  
Then edit your local composer.json file and add the "vendor/plugin" names to the "require" section of the JSON structure. Don't forget to specify the version constraint:
 
Then edit your local composer.json file and add the "vendor/plugin" names to the "require" section of the JSON structure. Don't forget to specify the version constraint:
 
  <nowiki>"require" : {
 
  <nowiki>"require" : {
                        ...,
+
                        ...,
                        "roundcube/rcsample": ">=0.2.0"
+
                        "roundcube/rcsample": ">=0.2.0"
                    }</nowiki>
+
                    }</nowiki>
    
After every change to composer.json run
 
After every change to composer.json run
Line 591: Line 591:  
#Add the new domain to to MySQL email_accounts.domains
 
#Add the new domain to to MySQL email_accounts.domains
 
#Start creating accounts with the new domain id
 
#Start creating accounts with the new domain id
 +
 +
= Auxiliary Scripts =
 +
 +
=== Create email account ===
 +
<syntaxhighlight lang="bash">
 +
#!/bin/bash
 +
PASSWORD1="hola"
 +
PASSWORD2="mundo"
 +
DOMAIN="herrerosolis.com"
 +
echo "******************************* MAIL ACCOUNT INFORMATION *****************************************"
 +
 +
read -p "Username (without@redactate.com): " USERNAME
 +
 +
while [[ "$PASSWORD1" != "$PASSWORD2" ]]; do
 +
    read -s -p "Password: " PASSWORD1
 +
    echo
 +
    read -s -p "Confirm password: " PASSWORD2
 +
    if [ "$PASSWORD1" != "$PASSWORD2" ]; then
 +
        echo "Passwords dont match, try again..."
 +
    fi
 +
done
 +
echo
 +
echo
 +
echo "Input MySQL database password for user mail"
 +
 +
mysql -h 127.0.0.1 -u cartero -p -D email_accounts -e "INSERT INTO mailboxes VALUES(NULL,1,'$USERNAME',MD5('$PASSWORD1'),'Mail account for $USERNAME@${DOMAIN}',1,NOW(),NOW());"
 +
</syntaxhighlight>
 +
 +
=== Create email alias ===
 +
<syntaxhighlight lang="bash">
 +
#!/bin/bash
 +
 +
echo "******************************* MAIL ACCOUNT INFORMATION *****************************************"
 +
 +
read -p "Alias name (without _@redactate.com): " ALIAS
 +
 +
read -p "Destiny account (full email address): " GOTO
 +
 +
echo
 +
echo
 +
echo "Input MySQL database password for user mail"
 +
 +
mysql -h 127.0.0.1 -u cartero -p -D email_accounts -e "INSERT INTO aliases VALUES (null, 2, '$ALIAS', '$GOTO', 'Redirecting $ALIAS@ to $GOTO', 1, NOW(),NOW());"
 +
 +
</syntaxhighlight>

Navigation menu