Roundcube: Instalasi di Ubuntu: Difference between revisions

From OnnoCenterWiki
Jump to navigationJump to search
Onnowpurbo (talk | contribs)
Created page with "Sumber: https://www.linode.com/docs/email/clients/install-roundcube-on-ubuntu/ What is Roundcube?Permalink Roundcube is a web-based IMAP email client that offers a user in..."
 
Onnowpurbo (talk | contribs)
No edit summary
 
(36 intermediate revisions by the same user not shown)
Line 1: Line 1:
Sumber: https://www.linode.com/docs/email/clients/install-roundcube-on-ubuntu/
sumber:
* https://www.howtoforge.com/tutorial/ubuntu-roundcube-latest/
* https://www.tekfansworld.com/how-to-set-up-an-email-server-with-postfix-dovecot-and-roundcube-on-ubuntu-18-04.html


==Instalasi Apps Pendukung==


Edit repo /etc/apt/sources.list


What is Roundcube?Permalink
deb http://archive.ubuntu.com/ubuntu bionic main universe multiverse
deb http://archive.ubuntu.com/ubuntu bionic-security main universe multiverse
deb http://archive.ubuntu.com/ubuntu bionic-updates main universe multiverse


Roundcube is a web-based IMAP email client that offers a user interface similar to Google’s Gmail. It is a server-side application written in PHP designed to access an email server or service. Email users interact with Roundcube using a web browser.
Lakukan
Before You BeginPermalink


    Familiarize yourself with our Getting Started guide and complete the steps for setting your Linode’s hostname and timezone.
sudo su
locale-gen id_ID.UTF-8
apt update
apt -y install apache2 mariadb-server php7.2 php7.2-gd \
php-mysql php7.2-curl php7.2-zip php7.2-ldap php7.2-mbstring \
php-imagick php7.2-intl php7.2-xml unzip wget curl \
php-pear php-net-imap php-net-smtp php-net-idna2 php-mail-mime php-net-ldap3 \
dovecot-core dovecot-imapd postfix
chown -Rf www-data: /var/www/


    Complete the sections of our Securing Your Server to create a standard user account, harden SSH access and remove unnecessary network services.
Waktu instalasi postfix set


    This guide is designed to work with our Installing Postfix, Dovecot, and MySQL tutorial, but you can use a different mail server.
hostname
Internet Relay Host


    Configure an A HOST or CNAME DNS record (a subdomain) to point at your Linode. For this guide, the subdomain webmail will be used. Refer to our Introduction to DNS Records guide if you need help creating this record.


    Update your server’s software packages:
Set Timezone


    sudo apt-get update && sudo apt-get upgrade
sudo vi /etc/php/7.2/apache2/php.ini


    Note
date.timezone = Asia/Jakarta
    This guide is written for a non-root user. Commands that require elevated privileges are prefixed with sudo. If you’re not familiar with the sudo command, you can check our Users and Groups guide.


Linux, Apache, MySQL and PHP (LAMP) StackPermalink
Start


This section will cover installing Apache, MySQL, PHP and SSL on your Linode from scratch. If you already have a functioning LAMP stack, skip ahead to the section for Creating an Apache Virtual Host with SSL.
sudo a2enmod rewrite
Install LAMP Stack PackagesPermalink
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mysqld


    Install the lamp-server^ metapackage, which installs Apache, MySQL, and PHP as dependencies:
==Download Roundcube==


    sudo apt-get install lamp-server^
Download, buka, copy & install


    During the installation process, you will be asked to choose a password for the root MySQL user.
cd /usr/local/src
wget https://github.com/roundcube/roundcubemail/releases/download/1.4.1/roundcubemail-1.4.1.tar.gz
tar -xvzf roundcubemail-1.4.1.tar.gz
mv roundcubemail-1.4.1 /var/www/html/roundcube
sudo chown -R www-data:www-data /var/www/html/roundcube
sudo chmod -R 775 /var/www/html/roundcube


    Secure your new MySQL installation:
==Database==


    sudo mysql_secure_installation
Jika di perlukan buat menjadi secure (bisa di skip jika untuk belajar saja)


    Specify your Linode’s time zone in the /etc/php/7.0/apache2/php.ini PHP configuration file. If your server is not using UTC, replace it with your local timezone listed on PHP.net:
mysql_secure_installation


    sudo sed -i -e "s/^;date\.timezone =.*$/date\.timezone = 'UTC'/" /etc/php/7.0/apache2/php.ini
Change the password for root ? N
Remove anonymous users? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y


Create an Apache Virtual Host with SSLPermalink
Konfigurasi database


We will create a new virtual host for Roundcube in this section. This makes a new webroot for Roundcube, separating it from any other webroots on your Linode.
mysql -u root -p123456


    Position your Linode’s shell prompt within the /etc/apache2/sites-available directory:
CREATE DATABASE roundcubemail;
CREATE USER 'roundcube'@'localhost' identified by 'roundcube';;
GRANT ALL on root.* to roundcubemail@localhost;
GRANT ALL on roundcubemail.* to roundcube@localhost identified by 'roundcube';
GRANT ALL on roundcubemail.* to roundcube identified by 'roundcube';
FLUSH PRIVILEGES;
exit;


    cd /etc/apache2/sites-available


    Download a copy of our apache2-roundcube.sample.conf virtual host configuration file. Replace instances of webmail.example.com with the desired domain or subdomain of your installation.
Inisialisasi database


    sudo wget https://linode.com/docs/assets/roundcube/apache2-roundcube.sample.conf
cd /var/www/html/roundcube
mysql -u roundcube -proundcube roundcubemail < SQL/mysql.initial.sql


    Transfer the file’s ownership to root:
atau


    sudo chown root:root apache2-roundcube.sample.conf
  mysql -u roundcube -p roundcubemail < SQL/mysql.initial.sql
Masukan password "roundcube"


    Next, change the file’s access permissions:
==Konfigurasi Postfix==


    sudo chmod 644 apache2-roundcube.sample.conf
* Aktifkan authentication
* Aktifkan TLS port 589


    Determine what type of Secure Socket Layer (SSL) encryption certificate is best for your Roundcube deployment. A self-signed SSL certificate is easy and free, but triggers an error in most modern browsers reporting that the connection is not private. Let’s Encrypt offers browser trusted, free SSL certificates, but does not support Extended Validation (EV) or multi-domain (wildcard) certificates. To gain those features, a commercial SSL certificate must be used.


    Once you have your SSL certificate, edit the following options in apache2-roundcube.sample.conf to match your desired configuration:
==Konfigurasi Apache==
        ServerAdmin: administrative email address for your Linode (e.g. admin@example.com or webmaster@example.com)
        ServerName: full domain name of the virtual host (e.g. webmail.example.com)
        ErrorLog (optional): path to the custom error log file (e.g. /var/log/apache2/webmail.example.com/error.log; uncomment by removing #)
        CustomLog (optional): path to the custom access log file (e.g. /var/log/apache2/webmail.example.com/access.log; again, uncomment by removing #)
        SSLCertificateFile: path to the SSL certificate information (.crt) file
        SSLCertificateKeyFile: path to the SSL certificate private key (.key) file


        Caution
Edit file
        Make sure the custom directory and desired .log files exist before specifying them in your virtual host configuration. Failure to do so will prevent Apache from starting. The files should be owned by the www-data user with 644 permissions.


    Rename your configuration file to match its full domain name:
sudo vi /etc/apache2/sites-available/roundcube.conf


    sudo mv apache2-roundcube.sample.conf webmail.example.com.conf
Tambahkan


    Lastly, disable the default Apache virtual host unless you plan to use it.
<VirtualHost *:80>
        ServerName 192.168.0.102                         
        ServerAdmin admin@example.com
        DocumentRoot /var/www/html/
        ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log
        CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined
        <Directory /var/www/html/>
                Options -Indexes
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>


    sudo a2dissite 000-default.conf default-ssl.conf
Save & close file


Create a MySQL Database and UserPermalink


    Log into the MySQL command prompt as the root user:
Aktifkan


    mysql -u root -p
chown -Rf www-data: /var/www/
chmod -Rf 777 /var/www/
sudo a2ensite roundcube
sudo a2enmod rewrite
sudo systemctl restart apache2
/etc/init.d/dovecot restart
/etc/init.d/postfix restart


    Once logged in and the mysql> prompt is shown, create a new MySQL database called roundcubemail:
==Akses Web==


    CREATE DATABASE roundcubemail;
Akses ke


    Create a new MySQL user called roundcube and assign it a strong password:
http://ip-address-server/roundcube/installer
http://192.168.0.102/roundcube/installer


    CREATE USER 'roundcube'@'localhost' IDENTIFIED BY 'example_password';
Pastikan


    Grant the new roundcube user full access to Roundcube’s database roundcubemail:
* Checking PHP version - OK
* Checking PHP extensions - OK
* Checking available databases - paling tidak ada 1 database OK
* Check for required 3rd party libs - OK
* Checking php.ini/.htaccess settings - OK


    GRANT ALL PRIVILEGES ON roundcubemail.* TO 'roundcube'@'localhost';
NEXT PAGE


    Flush the MySQL privilege tables to reload them:
* MySQL - Database type
* roundcube - Database server (omit for sqlite)
* roundcube - Database name (use absolute path and filename for sqlite)
* roundcube - Database user name (needs write permissions)(omit for sqlite)
* password  - Database password (omit for sqlite)


    FLUSH PRIVILEGES;
NEXT PAGE


    Log out of the MySQL command prompt and return to a regular Linux shell prompt:
* Test kirim email dari username@domain ke username@domain
* Test imap username password


    exit
==Referensi==


Final Preparations for RoundcubePermalink
* https://www.howtoforge.com/tutorial/ubuntu-roundcube-latest/
 
* https://www.linode.com/docs/email/clients/install-roundcube-on-ubuntu/
    Install and enable required PHP packages:
 
    sudo apt-get install php-pear php7.0-intl php7.0-mcrypt php7.0-mbstring && sudo phpenmod intl mcrypt mbstring
 
    Enable the Apache modules deflate, expires, headers, rewrite, and ssl:
 
    sudo a2enmod deflate expires headers rewrite ssl
 
    Additionally, install the PHP PEAR packages Auth_SASL, Net_SMTP, Net_IDNA2-0.1.1, Mail_mime, and Mail_mimeDecode:
 
    sudo pear install Auth_SASL2 Net_SMTP Net_IDNA2-0.1.1 Mail_mime Mail_mimeDecode
 
        Note
        PEAR is an acronym for “PHP Extension and Application Repository”. Common PHP code libraries, written officially or by third parties, can be easily installed and referenced using the pear command.
 
    PEAR will print an install ok confirmation message for each package that it successfully installs. In this case, a complete installation will look similar to this:


     
    install ok: channel://pear.php.net/Auth_SASL-1.1.0
    install ok: channel://pear.php.net/Net_IDNA2-0.1.1
    install ok: channel://pear.php.net/Mail_Mime-1.10.2
    install ok: channel://pear.php.net/Net_Socket-1.2.2
    install ok: channel://pear.php.net/Net_SMTP-1.8.0
    install ok: channel://pear.php.net/Mail_mimeDecode-1.5.6


Download and Install RoundcubePermalink
==Pranala Menarik==


    Make sure your Linode’s shell prompt is operating inside your user’s home directory. The ~/Downloads folder is preferable, but ~/ is also acceptable.
* [[RoundCube: Re-enable Installer]]
 
    cd ~/Downloads
 
    Download Roundcube. At the time of this writing, the current stable version is 1.3.3, so it will be used for the rest of this guide.
 
    wget https://github.com/roundcube/roundcubemail/releases/download/1.3.3/roundcubemail-1.3.3-complete.tar.gz
 
    Decompress and copy Roundcube to the /var/www directory. Again, replace any occurrences of 1.3.3 in the filename with a newer version number if necessary:
 
    sudo tar -zxvf roundcubemail-1.3.3-complete.tar.gz -C /var/www
 
    Eliminate the version number from Roundcube’s directory name. This will make updating easier later:
 
    sudo mv /var/www/roundcubemail-1.3.3 /var/www/roundcube
 
    Transfer ownership of the /var/www/roundcube directory to the www-data user. This will allow Roundcube to save its own configuration file, instead of you having to download it and then manually upload it to your Linode:
 
    sudo chown -R www-data:www-data /var/www/roundcube
 
    Lastly, you should enable Roundcube’s automatic cache-cleaning shell script:
 
    echo '0 0 * * * root bash /var/www/roundcube/bin/cleandb.sh >> /dev/null' | sudo tee --append /etc/crontab
 
    This utilizes a cron job to run the cleandb.sh shell script included with Roundcube once per day at midnight. Read our Scheduling Tasks with Cron guide to learn about Cron.
 
Enable Roundcube’s Apache Virtual HostPermalink
 
    Enable the webmail.example.com virtual host you just wrote in the Creating an Apache Virtual Host with SSL section:
 
    sudo a2ensite webmail.example.com.conf
 
    Restart Apache to apply all configuration changes and enable your new virtual host:
 
    sudo service apache2 restart
 
    The output should be * Restarting web server apache2 ... [ OK ]. If an error is given, use the error messages to troubleshoot your configuration. Missing files, incorrect permissions and typos are common causes for Apache not properly restarting.
 
Configure RoundcubePermalink
 
    Navigate to https://webmail.example.com/installer in a web browser. Again, make sure to replace webmail.example.com with your chosen domain name.
 
    Begin configuring Roundcube. The first step of Roundcube’s graphical configuration is an environment check. Click on the NEXT button at the bottom of the page to continue.
 
    Roundcube Webmail Installer
 
        Note
        Since Roundcube supports six different SQL engines, five NOT AVAILABLE warnings will appear under the Checking available databases section. MySQL was installed earlier as part of the LAMP stack, so you can ignore these warnings.
 
    Specify your Roundcube configuration options. The list of options below will get you a proper, working configuration, but you can adjust any unmentioned options as you see fit.
        General configuration > product_name: Name of your email service.
        General configuration > support_url: Where should your users go if they need help? A URL to a web-based contact form or an email address should be used. (e.g. http://example.com/support or mailto:support@example.com)
        General configuration > skin_logo: Replaces the default Roundcube logo with an image of your choice. The image must be located within the /var/www/roundcube directory and be linked relatively (e.g. skins/larry/logo.png). Recommended image resolution is 177px by 49px.
        Database setup > db_dsnw > Database password: Password for the roundcube MySQL user you created earlier.
        IMAP Settings > default_host: Hostname of your IMAP server. Set this to ssl:// plus the domain of your email server (e.g. ssl://webmail.example.com).
        IMAP Settings > username_domain: What domain name should Roundcube assume all users are part of? This allows users to only have to type in their email username (e.g. somebody) instead of their full email address (e.g. somebody@example.com).
        SMTP Settings > smtp_server: Hostname of your SMTP server. Set this to your email server domain, prefixed with ssl://.
        SMTP Settings > smtp_user/smtp_pass: Click and check the Use the current IMAP username and password for SMTP authentication checkbox so that users can send mail without re-typing their user credentials.
        Display settings & user prefs > language: Allows you to select a default RFC1766-compliant locale for Roundcube. For a full listing of the supported language codes, run cat /usr/share/i18n/SUPPORTED on your Linode.
        Display settings & user prefs > draft_autosave: Most users will expect their drafts to be saved almost instantaneously while they type them. While Roundcube does not offer instantaneous draft saving as an option, it can save a user’s draft every minute. Select 1 min from the dropdown menu.
 
    Click on the CREATE CONFIG button toward the bottom of the page to save your new configuration. You should see a confirmation message on the corresponding page saying: The config file was saved successfully into RCMAIL_CONFIG_DIR directory of your Roundcube installation.
 
    Complete the configuration by clicking CONTINUE.
 
    Roundcube configuration saved successfully
 
    Lastly, import Roundcube’s MySQL database structure by clicking on the Initialize database button.
 
    Roundcube MySQL database initialization
 
Remove the Installer DirectoryPermalink
 
    Delete the /var/www/roundcube/installer directory, which contains the web page files just used to configure Roundcube:
 
    sudo rm -rf /var/www/roundcube/installer
 
    While Roundcube automatically disabled the installer functionality within its configuration file, deleting the installer directory adds another layer of protection against intruders.
 
Verify your Roundcube InstallationPermalink
 
    Navigate to https://webmail.example.com and log in using your email account’s username and password. If your configuration is functional, Roundcube will allow you to receive, read and send emails from inside and outside of your domain name.
 
    Roundcube login
 
Keeping Roundcube UpdatedPermalink
 
    Compare the Stable > Complete package version listed on Roundcube’s download page to the version currently installed on your Linode.
 
    If a newer version is available, replace any occurrences of 1.3.3 with the newest version in the command below. This will download Roundcube to your ~/Downloads directory:
 
    cd ~/Downloads && wget https://github.com/roundcube/roundcubemail/releases/download/1.3.3/roundcubemail-1.3.3-complete.tar.gz
 
    Extract and unzip the tarball (.tar.gz file) to ~/Downloads:
 
    tar -zxvf roundcubemail-1.3.3.tar.gz
 
    Begin updating Roundcube by executing the /var/www/roundcube/bin/installto.sh PHP script. If you did not install Roundcube in the /var/www/roundcube directory, replace the trailing directory with that of Roundcube’s on your server:
 
    cd roundcubemail-1.3.3
    sudo php bin/installto.sh /var/www/roundcube
 
    Confirm the update by pressing Y and then ENTER. A successful upgrade will print something similar to this:
 
     
    Upgrading from 1.3.3. Do you want to continue? (y/N)
    y
    Copying files to target location...sending incremental file list
 
    ...
 
    Running update script at target...
    Executing database schema update.
    This instance of Roundcube is up-to-date.
    Have fun!
    All done.
 
    All done means the update was successful; if you see this message, proceed to step six.
 
    Delete the Roundcube directory and gzipped tarball from ~/Downloads:
 
    cd ~/Downloads && rm -rfd roundcubemail-1.3.3 roundcubemail-1.3.3.tar.gz
 
ConclusionPermalink
 
Now that you have installed Roundcube, you have a free, web-based email client similar to Google’s Gmail. Users can access their email by navigating to https://webmail.example.com.
 
From here, you can install plugins to add additional functionality and customize the theme to match your organization’s color scheme.
More Information
 
You may wish to consult the following resources for additional information on this topic. While these are provided in the hope that they will be useful, please note that we cannot vouch for the accuracy or timeliness of externally hosted materials.
 
    Roundcube Homepage
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
==Referensi==
 
* https://www.linode.com/docs/email/clients/install-roundcube-on-ubuntu/

Latest revision as of 06:15, 23 December 2019

sumber:

Instalasi Apps Pendukung

Edit repo /etc/apt/sources.list

deb http://archive.ubuntu.com/ubuntu bionic main universe multiverse
deb http://archive.ubuntu.com/ubuntu bionic-security main universe multiverse
deb http://archive.ubuntu.com/ubuntu bionic-updates main universe multiverse

Lakukan

sudo su
locale-gen id_ID.UTF-8
apt update
apt -y install apache2 mariadb-server php7.2 php7.2-gd \
php-mysql php7.2-curl php7.2-zip php7.2-ldap php7.2-mbstring \
php-imagick php7.2-intl php7.2-xml unzip wget curl \
php-pear php-net-imap php-net-smtp php-net-idna2 php-mail-mime php-net-ldap3 \
dovecot-core dovecot-imapd postfix
chown -Rf www-data: /var/www/

Waktu instalasi postfix set

hostname
Internet Relay Host


Set Timezone

sudo vi /etc/php/7.2/apache2/php.ini
date.timezone = Asia/Jakarta

Start

sudo a2enmod rewrite
sudo systemctl start apache2
sudo systemctl enable apache2
sudo systemctl start mysqld

Download Roundcube

Download, buka, copy & install

cd /usr/local/src
wget https://github.com/roundcube/roundcubemail/releases/download/1.4.1/roundcubemail-1.4.1.tar.gz
tar -xvzf roundcubemail-1.4.1.tar.gz
mv roundcubemail-1.4.1 /var/www/html/roundcube
sudo chown -R www-data:www-data /var/www/html/roundcube
sudo chmod -R 775 /var/www/html/roundcube

Database

Jika di perlukan buat menjadi secure (bisa di skip jika untuk belajar saja)

mysql_secure_installation
Change the password for root ? N
Remove anonymous users? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y

Konfigurasi database

mysql -u root -p123456
CREATE DATABASE roundcubemail;
CREATE USER 'roundcube'@'localhost' identified by 'roundcube';;
GRANT ALL on root.* to roundcubemail@localhost;
GRANT ALL on roundcubemail.* to roundcube@localhost identified by 'roundcube';
GRANT ALL on roundcubemail.* to roundcube identified by 'roundcube';
FLUSH PRIVILEGES;
exit;


Inisialisasi database

cd /var/www/html/roundcube
mysql -u roundcube -proundcube roundcubemail < SQL/mysql.initial.sql

atau

 mysql -u roundcube -p roundcubemail < SQL/mysql.initial.sql

Masukan password "roundcube"

Konfigurasi Postfix

  • Aktifkan authentication
  • Aktifkan TLS port 589


Konfigurasi Apache

Edit file

sudo vi /etc/apache2/sites-available/roundcube.conf

Tambahkan

<VirtualHost *:80>
        ServerName 192.168.0.102                          
        ServerAdmin admin@example.com
        DocumentRoot /var/www/html/ 
        ErrorLog ${APACHE_LOG_DIR}/roundcube_error.log
        CustomLog ${APACHE_LOG_DIR}/roundcube_access.log combined 

        <Directory /var/www/html/>
                Options -Indexes
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>
</VirtualHost>

Save & close file


Aktifkan

chown -Rf www-data: /var/www/
chmod -Rf 777 /var/www/
sudo a2ensite roundcube
sudo a2enmod rewrite
sudo systemctl restart apache2
/etc/init.d/dovecot restart
/etc/init.d/postfix restart

Akses Web

Akses ke

http://ip-address-server/roundcube/installer
http://192.168.0.102/roundcube/installer

Pastikan

  • Checking PHP version - OK
  • Checking PHP extensions - OK
  • Checking available databases - paling tidak ada 1 database OK
  • Check for required 3rd party libs - OK
  • Checking php.ini/.htaccess settings - OK

NEXT PAGE

  • MySQL - Database type
  • roundcube - Database server (omit for sqlite)
  • roundcube - Database name (use absolute path and filename for sqlite)
  • roundcube - Database user name (needs write permissions)(omit for sqlite)
  • password - Database password (omit for sqlite)

NEXT PAGE

  • Test kirim email dari username@domain ke username@domain
  • Test imap username password

Referensi


Pranala Menarik