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====
 
TinyMCE is a WYSIWYG text-editor for HTML emails. I hate it. It had a long history of being insecure, buggy, slow, and hard to use. So I disable it:
 
TinyMCE is a WYSIWYG text-editor for HTML emails. I hate it. It had a long history of being insecure, buggy, slow, and hard to use. So I disable it:
   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 592: Line 592:  
#Start creating accounts with the new domain id
 
#Start creating accounts with the new domain id
   −
= Auxiliary Scripts =
+
=Auxiliary Scripts=
   −
=== Create email account ===
+
===Create email account===
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
#!/bin/bash
 
#!/bin/bash
Line 619: Line 619:  
</syntaxhighlight>
 
</syntaxhighlight>
   −
=== Create email alias ===
+
===Create email alias===
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
#!/bin/bash
 
#!/bin/bash

Navigation menu