不灭的焱

革命尚未成功,同志仍须努力下载JDK17

作者:php-note.com  发布于:2022-08-24 11:17  分类:Linux软件安装/优化  编辑

系统环境

  1. 系统:Linux CentOS 7.9
  2. 安装宝塔面板并安装 Nginx1.18、MySql5.7、PHP7.4
  3. 必要 PHP 扩展:imap、intl、zip、xml、mcrypt、mailparse
  4. 必要 PHP 函数:putenvimap_open

注意:数据库一定要 MySQL >= 5.7版本

1、安装宝塔

参考官网安装教程:https://www.bt.cn/new/download.html

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

2、宝塔安装PHP7.4 (【宝塔Linux】php7.4 安装 zip 扩展

PHP7.4的安装路径为:/www/server/php/74

新建快捷方式:

ln -sf /www/server/php/74/bin/php /usr/local/bin/php
ln -sf /www/server/php/74/bin/phpize /usr/local/bin/phpize
ln -sf /www/server/php/74/bin/php-config /usr/local/bin/php-config
ln -sf /www/server/php/74/bin/composer /usr/local/bin/composer

3、配置PHP7.4

  1. 必要 PHP 扩展:imap、intl、zip、xml、mcrypt、mailparse、fileinfo
  2. 必要 PHP 函数:putenvimap_open

4、安装PHP扩展:zip

(1) 安装libzip

先删除旧版本
yum remove zip
#下载编译安装
wget https://nih.at/libzip/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz
cd libzip-1.2.0
./configure
make && make install

安装完成后,查看是否存在/usr/local/lib/pkgconfig目录,如果存在,执行如下命令来设置PKG_CONFIG_PATH:

export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"

(2) 安装ZipArchive

cd /www/server/php/74/src/ext/zip
/www/server/php/74/bin/phpize
./configure --with-php-config=/www/server/php/74/bin/php-config
make && make install
echo "extension = zip.so" >> /www/server/php/74/etc/php.ini
echo "extension = zip.so" >> /www/server/php/74/etc/php-cli.ini  # 注意:现在的PHP命令行模式,有自己单独的配置文件

(3) 重启php

5、配置PHP参数

upload_max_filesize     300M
post_max_size           350M
memory_limit            400M
max_execution_time      600
max_input_time          600

6、安装依赖包

cd /www/wwwroot/mautic.xxx.com
composer install

7、在宝塔后台,提交新建“空”数据库

 

安装步骤

1、配置站点

在宝塔后台添加站点、数据库、域名,然后添加 Nginx伪静态规则:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

2、然后下载 Mautic 安装包,上传到网站根目录解压。

下载地址:https://www.mautic.org/download

3、添加计划任务

/usr/bin/php /www/wwwroot/mautic.xxx.com/bin/console mautic:segments:update
/usr/bin/php /www/wwwroot/mautic.xxx.com/bin/console mautic:campaigns:update
/usr/bin/php /www/wwwroot/mautic.xxx.com/bin/console mautic:campaigns:trigger
/usr/bin/php /www/wwwroot/mautic.xxx.com/bin/console mautic:emails:send
/usr/bin/php /www/wwwroot/mautic.xxx.com/bin/console mautic:email:fetch
/usr/bin/php /www/wwwroot/mautic.xxx.com/bin/console mautic:social:monitoring
/usr/bin/php /www/wwwroot/mautic.xxx.com/bin/console mautic:webhooks:process

根据上面官方给出的 N 条计划任务,我们可以手动在宝塔面板后台手动添加计划任务 Shell 脚本(* * * * 表示每分钟执行 1 次)可以看下面我给出的宝塔计划任务截图。

4、Mautic 安装完成以后,需要登录 Mautic 后台更新 GeoIP 数据库,下面给出一个官方的教程地址,自行根据官方教程去注册获取 IP 数据库的授权秘钥。

官方教程地址:https://docs.mautic.org/en/setup/maxmind-license

下面给出一个 Mautic 后台更新 GeoIP 数据库成功的截图:

注意:把账号和密码用“:”分隔 填入即可,如:官方给的账号信息

Account ID
518888
License key
X5N0BHuYSsW6DPa1

5、跟踪代码不能使用

在布署了Mautic的跟踪代码的时候,加载404报错,或不能发送数据,这些也都是因为伪静态没设置好。

添加如下代码:

location ~ /mtc.js {
	default_type "application/javascript";
	try_files $uri /index.php$is_args$args;
}


location ~ /mtracking.gif {
	default_type "application/javascript";
	try_files $uri /index.php$is_args$args;
}

location ~ /mtc/event {
	default_type "application/javascript";
	try_files $uri /index.php$is_args$args;
}

 

 

参考:

  1. 如何安装Mautic? 搭建一套免费的自动营销系统-Mautic开源自动营销系统实践(1)
  2. Mautic使用手册1: centos7 http部署 + 编译php 整合+ mautic 部署
  3. 使用Mautic的几个坑
  4. 宝塔面板 LNMP 环境下 Mautic 3.X 最新版开源 EDM 邮件行销系统安装教程
  5. 宝塔面板php7.3&7.4版本不支持ZipArchive手工安装扩展方法

 


另外一份Nginx配置

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;


# 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 ,有些统计功能是.gif后置,需求去掉这个拦截
 #location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml|js)$ {
 location ~* \.(webp|svg|woff|woff2|ttf|css|ico|xml)$ {
	access_log        off;
	log_not_found     off;
	expires           360d;
}

 

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

 


Win10下,安装Composer报错

运行:

composer install

时,报错:

SymfonyComponentDebugExceptionFatalThrowableError : Return value of SymfonyComponentProcessProcess::close() must be of the type integer, null returned

解决方案:

1、修改PHP配置文件php.ini,找到 disable_functions 字段,删除 proc_get_statusproc_openreallink 函数。

2、设置 sys_temp_dir 选项,如:

sys_temp_dir = "d:\software\BtSoft\temp_sys\"

 

 

参考:

  1. laravel 任务调度,运行命令报错
  2. 安装Composer for PHP时出现fopen错误(Windows 7)