分类 电脑 下的文章

centos7 安装 magento 2.4

a. 安装环境

  1. rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm # 安装epel源
  2. rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-7.rpm # 安装remi的php74源
  3. yum install php74-php-bcmath php74-php-ctype php74-php-curl php74-php-dom php74-php-gd php74-php-hash php74-php-iconv php74-php-intl php74-php-mbstring php74-php-openssl php74-php-pdo_mysql php74-php-simplexml php74-php-soap php74-php-xsl php74-php-zip php74-php-sockets php74-php-fpm php74-php # 安装php74及相关模块
  4. yum install httpd mod_ssl # 安装apache
  5. rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm # 安装mysql57源
  6. yum install mysql-community-server # 安装mysql57
  7. systemctl start mysqld # 启动mysql
  8. systemctl enable mysqld # 令mysql随机启动
  9. grep 'temporary password' /var/log/mysqld.log # 查看mysql安装后临时密码
  10. mysql -uroot -p # 连接到mysql控制台
  11. 在mysql控制台,更改root用户密码。创建新mysql用户、数据库,分配好权限,最后导入演示的数据库文件

    create database mage;
    create user 'mage'@'localhost' identified by 'userpasswd';
    grant all privileges on mage.* to 'mage'@'localhost' with grant option;
    use mage;
    source rubix.sql;
  12. 将完整的网站文件解压后放到/home/apache/web
  13. ln -s /opt/remi/php74/root/bin/php /usr/local/bin/php # 创建php的执行软链接
  14. systemctl enable php74-php-fpm # 令php-fpm随机启动
  15. systemctl start php74-php-fpm # 启动php-fpm
  16. mkdir /etc/httpd/ssl # 创建目录ssl,且将域名证书文件放在这里
  17. vi /etc/httpd/conf.d/my.conf # 创建新站点配置文件内容

     DocumentRoot "/home/apache/web"
     ServerName www.anqun.org
     ServerAlias anqun.org
    
     <Directory /home/apache/web>
      AllowOverride all
    Require all granted
     </Directory>
    </VirtualHost>
    
    <VirtualHost *:443>
     ServerName www.anqun.org
     ServerAlias anqun.org
     DocumentRoot "/home/apache/web"
    
     ErrorLog /home/apache/log/error.log
    
     SSLEngine on
     SSLCertificateFile /etc/httpd/ssl/web.cer
     SSLCertificateKeyFile /etc/httpd/ssl/web.key
    
     <Directory /home/apache/web>
      AllowOverride all
    Require all granted
     </Directory>
    </VirtualHost>
    
  18. systemctl start httpd # 启动apache
  19. systemctl enable httpd # 令apache随机启动
  20. chown apache:apache -R /home/apache/web # 更改站点文件目前权限为apache所有
  21. yum -y install java-1.8.0-openjdk # 安装openjdk
  22. wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.11.2-x86_64.rpm # 下载elasticserch 安装包。如果国内下载很慢,请尝试用香港机下载
  23. rpm --install elasticsearch-7.11.2-x86_64.rpm # 安装 elasticserch
  24. systemctl enable elasticsearch.service # 令elasticsearch随机启动
  25. systemctl start elasticsearch.service # 启动elasticsearch
  26. vi /etc/passwd # 更改apache用户的默认目录和shell,让它可以执行magento的维护命令

b. 安装magento

  1. su apache # 从root切换到apache用户
  2. cd /home/apache/web # 切换到程序目录
  3. vi app/etc/env.php # 更改配置文件里的数据库连接信息
  4. 更改magento网址

    php bin/magento setup:store-config:set --base-url="http://www.anqun.org/"
    php bin/magento setup:store-config:set --base-url-secure="https://www.anqun.org/"
  5. 修改php.ini配置文件中的memory_limit值,如将默认的128M,修改为1280M,预防php执行内存超限
  6. 执行以下命令来更新站点

    php bin/magento indexer:reindex
    php bin/magento setup:upgrade
    php bin/magento setup:static-content:deploy -f
    php bin/magento cache:flush
  7. 在浏览器里访问站点管理后台,http://www.anqun.org/admin

参考:

为iredadmin添加密码保护 - Basic Authentication

现象:将nginx的Basic Authentication配置内容,添加到/etc/nginx/templates/iredadmin.tmpl页头或页尾,不起作用。

尝试:调整位置,可以Basic Authentication的配置内容添加到/etc/nginx/templates/iredadmin.tmpl文件中的python配置里。

如:

# Python scripts
location ~ ^/admin(.*) {                        # <- Changed
    rewrite ^/admin(/.*)$ $1 break;             # <- Changed

    include /etc/nginx/templates/hsts.tmpl;

    include uwsgi_params;
    uwsgi_pass unix:/run/uwsgi/iredadmin.socket;
    uwsgi_param UWSGI_CHDIR /var/www/iredadmin;
    uwsgi_param UWSGI_SCRIPT iredadmin;
    uwsgi_param SCRIPT_NAME /admin;             # <- Changed

    auth_basic           "Administrator’s Area";
    auth_basic_user_file /etc/apache2/.htpasswd; 

    # Access control
    #allow 127.0.0.1;
    #allow 192.168.1.10;
    #allow 192.168.1.0/24;
    #deny all;
}

参考:

Failed to write core file (error 14) - freebsd - libcrypto.so.7

现象:freebsd系统不能ssh,提示 failed to write core file for process sshd error 14。

尝试:手动尝试启动sshd,也是错误。运行如pkg,tar的命令,也是一样的错误提示。询问得知,出现问题前,曾尝试解压、安装一个软件。查看该软件的内容,有lib目录,估计错误将软件的lib文件覆盖了freebsd的系统关键文件了。再查看freebsd的/lib目录中,libcrypto.so.7的文件日期较新。最后在freebsd官方下载相应系统版本的base.txz文件,解压后将libcrypto.so.7放回到freebsd的lib目录中,sshd就能正常启动了。

参考:https://forums.freebsd.org/threads/shared-object-libcrypto-so-7-not-found.50488/

在宝塔环境中安装sqlsrv-5.6.1

centos7,宝塔7.4.8,nginx,php7.1

  1. 下载编译好,适合centos7的现成文件:https://github.com/Microsoft/msphpsql/releases
  2. 将下载好的文件解压,得到如 php_sqlsrv_71_nts.so 和 php_pdo_sqlsrv_71_nts.so 文件
  3. 在宝塔面板中,点击“文件”转到php7.1的扩展路径:/www/server/php/71/lib/php/extensions/no-debug-non-zts-20160303
  4. 将 php_sqlsrv_71_nts.so 和 php_pdo_sqlsrv_71_nts.so 两个文件上传到 /www/server/php/71/lib/php/extensions/no-debug-non-zts-20160303 目录
  5. 再在宝塔面板的“软件商店”里,找到php7.1,点击“设置”、“配置文件”,在配置文件内容的最末,添加以下两行来加载新添加的扩展:

    extension=php_sqlsrv_71_nts.so
    extension=php_pdo_sqlsrv_71_nts.so
  6. 然后在“php7.1管理”页的“服务”里点击“重载服务”,以让设置生效
  7. 如果php加载sqlsrv扩展时提示:libodbc.so.2: cannot open shared object file: No such file or directory in Unknown on line 0 请执行 yum -y install unixODBC 来安装unixODBC
  8. 如果php页面提示需要使用微软的ODBC驱动,可以下载和安装msodbcsql17,如 https://packages.microsoft.com/rhel/7/prod/msodbcsql17-17.6.1.1-1.x86_64.rpm

参考:

尝试用binlog还原mysql数据库数据

问题:无mysql数据库完整备份,但binlog齐全。想还原到指定时间的数据状态。

尝试:

  1. 先用mysqldump备份当前的数据,和将binlog文件复制到另外的路径
  2. 用mysqlbinlog查看各binlog的内容,估计出数据库是在什么时候创建的,存在哪(几)个binlog文件
  3. 从binlog中导出指定数据库到指定时间的所有查询,如

    mysqlbinlog --database=anqun --stop-datetime="2021-01-15 14:52:00" mysql-bin.000001 > anqun.sql
    mysqlbinlog --database=anqun --stop-datetime="2021-01-15 14:52:00" mysql-bin.000002 >> anqun.sql
    ...
  4. 然后在测试机里,将anqun.sql导入到mysql数据库里,验证数据。如果导入时提示 Duplicate entry '' for key 'PRIMARY' 之类的错误sql语句,可以用mysql带-f的参数跳过(忽略)

参考: