云网牛站
所在位置:首页 > Linux云服务器 > 在Ubuntu 18.04服务器上安装Mautic的方法

在Ubuntu 18.04服务器上安装Mautic的方法

2019-06-02 10:43:37作者:陈铜稿源:云网牛站

本文介绍如何使用Apache或Nginx Web服务器在Ubuntu 18.04上安装和设置Mautic的方法,Mautic是MailChimp等商业电子邮件服务提供商的免费开源替代品,它可以和第三方SMTP中继服务集成,如Gmail、Mandrill、Sendgrid、Amazon SES。服务器架设请参考在Ubuntu 18.04 Server中安装LAMP的方法[Apache、MariaDB、PHP7.2]在Ubuntu 18.04 Server中安装LEMP的方法[Nginx、MariaDB、PHP7.2]

 

一、将Mautic下载到你的Ubuntu 18.04服务器上

如果去下载Mautic,你需要输入你的姓名和电子邮件地址,当然也有更简单的方法,那就请在服务器上执行以下命令下载稳定版本(目前为2.15.1):

wget https://www.mautic.org/download/latest

该文件将保存为最新,使用unzip命令将其解压缩到/var/www/mautic/目录:

sudo apt install unzip

sudo unzip latest -d /var/www/mautic/

然后将Web服务器用户(www-data)作为此目录的所有者:

sudo chown -R www-data:www-data /var/www/mautic/

 

二、为Mautic创建MariaDB数据库和用户

现在我们需要登录MariaDB控制台并为Mautic创建数据库和用户,默认情况下,Ubuntu上的MaraiDB包使用unix_socket来验证用户登录,这基本上意味着你可以使用操作系统的用户名和密码登录MariaDB控制台,因此,可以运行以下命令登录而不提供MariaDB root密码:

sudo mysql -u root

接下来,使用以下命令为Mautic创建一个新数据库,本文将其命名为mautic,可以使用你喜欢的任何名称来存储数据库:

CREATE DATABASE mautic DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

以下命令将创建数据库用户和密码,同时将新数据库的所有权限授予新用户,以便稍后Mautic可以写入数据库,用你首选的数据库名称,用户名和密码替换mautic、mauticuser、password:

GRANT ALL ON mautic.* TO 'mauticuser'@'localhost' IDENTIFIED BY 'password';

刷新权限表并退出MariaDB控制台:

FLUSH PRIVILEGES;

EXIT;

 

三、安装必需和推荐的PHP模块

运行以下命令以安装Mautic所需或推荐的PHP模块:

sudo apt install php-imagick php7.2-common php7.2-gd php7.2-imap php7.2-json php7.2-curl php7.2-zip php7.2-xml php7.2-mbstring php7.2-bz2 php7.2-intl php7.2-gmp

然后重启Apache(如果使用Nginx,则无需重新启动Nginx):

sudo systemctl restart apache2

 

四、为Mautic创建Apache虚拟主机或Nginx配置文件

1、Apache

如果使用Apache Web服务器,请为Mautic创建一个虚拟主机:

sudo nano /etc/apache2/sites-available/mautic.conf

将以下文本放入文件中,将mautic.example.com替换为你的真实域名,不要忘记为其设置DNS A记录:

<VirtualHost *:80>

ServerName mautic.example.com

DocumentRoot /var/www/mautic/

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

<Directory />

Options FollowSymLinks

AllowOverride All

</Directory>

<Directory /var/www/mautic/>

Options FollowSymLinks MultiViews

AllowOverride All

Order allow,deny

allow from all

</Directory>

</VirtualHost>

保存并关闭文件,然后启用此虚拟主机:

sudo a2ensite mautic.conf

重新加载Apache以使更改生效:

sudo systemctl reload apache2

现在,应该可以在http://mautic.example.com/installer上看到Mautic基于Web的安装向导。

2、Nginx

如果使用Nginx Web服务器,请为Mautic创建一个虚拟主机:

sudo nano /etc/nginx/conf.d/mautic.conf

将以下文本放入文件中。将mautic.example.com替换为你的真实域名,不要忘记为其设置DNS A记录:

server {

listen 80;

listen [::]:80;

server_name mautic.example.com;

root /var/www/mautic;

error_log /var/log/nginx/mautic.error;

access_log /var/log/nginx/mautic.access;

index index.php index.html index.htm index.nginx-debian.html;

location / {

# try to serve file directly, fallback to app.php

try_files $uri /index.php$is_args$args;

}

# redirect some entire folders

rewrite ^/(vendor|translations|build)/.* /index.php break;

location ~ \.php$ {

include snippets/fastcgi-php.conf;

fastcgi_pass unix:/run/php/php7.2-fpm.sock;

}

location ~* ^/index.php {

# try_files $uri =404;

fastcgi_split_path_info ^(.+\.php)(/.+)$;

# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini

fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

fastcgi_buffer_size 128k;

fastcgi_buffers 256 16k;

fastcgi_busy_buffers_size 256k;

fastcgi_temp_file_write_size 256k;

}

# Deny everything else in /app folder except Assets folder in bundles

location ~ /app/bundles/.*/Assets/ {

allow all;

access_log off;

}

location ~ /app/ { deny all; }

# Deny everything else in /addons or /plugins folder except Assets folder in bundles

location ~ /(addons|plugins)/.*/Assets/ {

allow all;

access_log off;

}

# location ~ /(addons|plugins)/ { deny all; }

# Deny all php files in themes folder

location ~* ^/themes/(.*)\.php {

deny all;

}

# Don't log favicon

location = /favicon.ico {

log_not_found off;

access_log off;

}

# Don't log robots

location = /robots.txt  {

access_log off;

log_not_found off;

}

# Deny yml, twig, markdown, init file access

location ~* /(.*)\.(?:markdown|md|twig|yaml|yml|ht|htaccess|ini)$ {

deny all;

access_log off;

log_not_found off;

}

# Deny all attempts to access hidden files/folders such as .htaccess, .htpasswd, .DS_Store (Mac), etc...

location ~ /\. {

deny all;

access_log off;

log_not_found off;

}

# Deny all grunt, composer files

location ~* (Gruntfile|package|composer)\.(js|json)$ {

deny all;

access_log off;

log_not_found off;

}

# Deny access to any files with a .php extension in the uploads directory

location ~* /(?:uploads|files)/.*\.php$ {

deny all;

}

# A long browser cache lifetime can speed up repeat visits to your page

location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {

access_log        off;

log_not_found     off;

expires           360d;

}

}

保存并关闭文件,然后测试Nginx配置:

sudo nginx -t

如果测试成功,请重新加载Nginx以使更改生效:

sudo systemctl reload nginx

现在,应该可以在http://mautic.example.com/installer上看到Mautic基于Web的安装向导。

 

五、启用HTTPS参考

参考使用Certbot:在Linux上安装letsencrypt的最简单方法

或者参考网站从HTTP升级成HTTPS完全配置教程

 

六、在Web浏览器中完成Mautic安装

现在,在你的浏览器地址栏中,输入Mautic的域名以访问Web安装向导:

https://mautic.your-domain.com/installer

或者:

https://mautic.your-domain.com/index.php/installer

单击下一步:

在Ubuntu 18.04服务器上安装Mautic的方法

在步骤1中,输入MariaDB/MySQL数据库详细信息:

在Ubuntu 18.04服务器上安装Mautic的方法

在第2步中,创建一个管理员帐户:

在Ubuntu 18.04服务器上安装Mautic的方法

在步骤3中,配置电子邮件设置,请注意,邮件传输中有很多选项,可以使用PHP Mail、sendmail或Gmail,或将Mautic与第三方电子邮件服务(如Mandrill、Sendgrid、Amazon SES)集成,在Mautic配置页面中安装后,可以随时更改这些设置,如果你的邮件服务器上安装了Mautic,那么需要选择Sendmail作为邮件传输,因此Mautic将使用你的邮件服务器发送电子邮件:

在Ubuntu 18.04服务器上安装Mautic的方法

如果Mautic和你的邮件服务器在不同的计算机上运行,​​并且希望Mautic通过你的邮件服务器发送电子邮件,那么需要选择其他SMTP服务器作为邮件传输,输入邮件服务器的主机名,选择587端口并在邮件服务器上输入电子邮件地址的登录帐户:

在Ubuntu 18.04服务器上安装Mautic的方法

完成第3步后,可以登录Mautic控制面板中:

在Ubuntu 18.04服务器上安装Mautic的方法

注意:如果看到500内部服务器错误,请检查Mautic日志,可以在/var/www/mautic/app/logs/目录中找到。

至此,已经在Ubuntu 18.04上安装Mautic并且设置完成。

 

相关主题

安装及使用iRedMail在Ubuntu 18.04上设置全功能邮件服务器的步骤

精选文章
热门文章