【问题标题】:How to install PIM Community Edition如何安装 PIM 社区版
【发布时间】:2022-02-04 06:26:03
【问题描述】:

(这是修改后的指南,对我有用) 如何在 Ubuntu 20.04 LTS 中安装 Akeneo PIM 以进行测试/开发(我的方式)

更改本地主机名称(可选):

sudo nano /etc/hosts
    (add this or modify)
    127.0.0.1   localhost
    127.0.0.1   akeneo-pim.local

安装 apache2 和模块:

sudo apt install apache2 curl aspell php-apcu-bc php-pear php-apcu php7.4-fpm php7.4 libapache2-mod-php7.4 php7.4-cli php7.4-common php7.4-xml php7.4-mysql php7.4-gd php-imagick php7.4-tidy php7.4-xmlrpc php7.4-curl php7.4-mbstring php7.4-zip php7.4-soap php7.4-bcmath php7.4-intl php7.4-xsl php7.4-json zip unzip --install-recommends

(同时修改php.ini)

sudo nano /etc/php/7.4/cli/php.ini
sudo nano /etc/php/7.4/fpm/php.ini
    memory_limit = 2G
    date.timezone = America/New_York
    apc.enable_cli = 1

a2enmod rewrite proxy_fcgi

sudo nano /etc/php/7.4/fpm/pool.d/www.conf    
    user = www-data
    group = www-data
    listen = /run/php/php7.4-fpm.sock
    listen.owner = www-data
    listen.group = www-data
    ## Optional: this can help to optimize if you have little memory in your virtual machine.
    # pm = ondemand
    # pm.max_children = 80
    # pm.process_idle_timeout = 10s
    # pm.max_requests = 200
   
sudo service apache2 restart    
sudo service php7.4-fpm restart

将 Akeneo 站点添加到 Web 服务器:

sudo mv /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/000-default.conf.bak
sudo nano /etc/apache2/sites-available/000-default.conf
    <VirtualHost *:80>
        ServerName akeneo-pim.local

        DocumentRoot /var/www/html/public
        
        <Directory /var/www/html/public>
            AllowOverride None
            Require all granted

            Options -MultiViews
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ index.php [QSA,L]
        </Directory>

        <Directory /var/www/html/public/bundles>
            RewriteEngine Off
        </Directory>

        <FilesMatch \.php$>
            SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/"
        </FilesMatch>

        SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0

        ErrorLog ${APACHE_LOG_DIR}/akeneo-pim_error.log
        LogLevel warn
        CustomLog ${APACHE_LOG_DIR}/akeneo-pim_access.log combined
    </VirtualHost>

    

测试配置中是否一切正常(您可能会收到一些稍后会解决的警告)

   sudo apache2ctl configtest
   sudo service apache2 restart

安装Mysql,创建db/user:

sudo apt install mysql-server mysql-client --install-recommends
    (Install phpmyadmin if you like):
    sudo apt install phpmyadmin --install-recommends 

创建数据库和用户:

sudo mysql -u root -p
    CREATE DATABASE akeneo_pim;
    CREATE USER akeneo_pim@localhost IDENTIFIED WITH mysql_native_password BY 'akeneo-pim';
    GRANT ALL PRIVILEGES ON akeneo_pim.* TO akeneo_pim@localhost;
    FLUSH PRIVILEGES;
    EXIT

Configure root with password (optional):
    GRANT ALL PRIVILEGES ON *.* TO root@localhost;
    FLUSH PRIVILEGES;
    EXIT;
    
Add other users as root (optional):   
    CREATE USER 'youruser'@'localhost' IDENTIFIED BY 'CFKLDLNA'; 
    GRANT ALL PRIVILEGES ON *.* TO youruser@localhost;
    FLUSH PRIVILEGES;
    EXIT;
        

安装 JDK 和 ElasticSearch:

sudo apt install -y openjdk-11-jdk --install-recommends

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list
sudo apt update
sudo apt install elasticsearch

限制内存使用的选项(根据需要进行测试)

    sudo nano /etc/elasticsearch/jvm.options.d/jvm.options
    -Xms2g
    -Xmx2g

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo service elasticsearch start

如果 Elasticsearch 无法在启动时启动,请再给它一点超时等待:

sudo mkdir /etc/systemd/system/elasticsearch.service.d
    echo -e "[Service]\nTimeoutStartSec=250" | sudo tee /etc/systemd/system/elasticsearch.service.d/startup-timeout.conf
    sudo systemctl show elasticsearch | grep ^Timeout

Akeneo 的选项:

sudo sysctl -w vm.max_map_count=262144
sudo nano /etc/sysctl.d/elasticsearch.conf
    vm.max_map_count=262144
sudo service elasticsearch restart

安装 NODE12:

cd ~
curl -sL https://deb.nodesource.com/setup_12.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt install -y nodejs

安装 YARN:

cd ~
wget https://dl.yarnpkg.com/debian/pubkey.gpg 
sudo apt-key add pubkey.gpg 
sudo nano /etc/apt/sources.list.d/yarn.list
    deb https://dl.yarnpkg.com/debian/ stable main
sudo apt update && sudo apt install yarn    

安装作曲家:

cd ~
    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
    php -r "if (hash_file('sha384', 'composer-setup.php') === '906a84df04cea2aa72f40b5f787e49f22d4c2f19492ac310e8cba5b96ac8b64115ac402c8cd292b8a03482574915d1a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
    php composer-setup.php
    php -r "unlink('composer-setup.php');"
    sudo mv composer.phar /usr/local/bin/composer

安装 Akeneo-PIM:

sudo rm /var/www/html/*

(必须是空文件夹)

cd /var/www/html
sudo chown -R $USER:$USER /var/www/html
php -d memory_limit=4G /usr/local/bin/composer create-project --prefer-dist akeneo/pim-community-standard . "5.0.*@stable"

(接受允许插件)

配置 .env 因为你需要匹配你之前输入的内容:

nano /var/www/html/.env.local 
    APP_ENV=prod
    APP_DATABASE_HOST=localhost
    APP_DATABASE_PORT=null
    APP_DATABASE_NAME=akeneo_pim
    APP_DATABASE_USER=akeneo_pim
    APP_DATABASE_PASSWORD=akeneo_pim
    APP_INDEX_HOSTS='localhost:9200'
       

在生产模式下开始安装: (如果需要,请安装:sudo apt make gcc)

cd /var/www/html    
NO_DOCKER=true make prod 
sudo chown -R www-data:www-data /var/www/html
sudo chmod ug+rw /var/www/html/var/cache /var/www/html/var/logs /var/www/html/public
    

创建管理员用户:

cd /var/www/html
sudo -u www-data php bin/console pim:user:create
User/Pass: youruser/CFKLDLNA

Akeneo 的 Cron 作业:

sudo -u www-data /usr/bin/php /var/www/html/bin/console akeneo:batch:job-queue-consumer-daemon --env=prod -vvv >>/var/www/html/var/logs/daemon_logs.log 2>&1

【问题讨论】:

    标签: akeneo


    【解决方案1】:

    这是一个 apache 错误配置。如果您不使用 docker-setup,除非配置,否则您将没有 8080。该指南适用于 docker,如果您不使用它,则需要自己调整配置。

    {pim-install}/public 文件夹是您的 apache 配置仅指向 {pim-install} 的主要入口点。调整主机配置就可以了。看到这部分:https://docs.akeneo.com/latest/install_pim/manual/system_requirements/system_install_ubuntu_2004.html#id1

    Document-Root 指向.../public 的位置 该路由将处理其他调用(例如bundles/...)。

    【讨论】:

    • 感谢您的回答!我按照这些步骤指示我在端口 80 中创建一个新的虚拟主机,然后启用它,因此按照这些步骤我将启用两个站点,我的意思是 000-default.conf(默认一个)和新创建的。这样可以吗?还是我必须用akeneo-pim.local.conf 的内容替换000-default.conf 并禁用最后一个? (我更新了第一篇显示我的 akeneo-pim.local.conf 的帖子,以确保您能纠正我)谢谢。
    • 如果您在同一个端口上配置了多个主机,请确保您正确访问它,这意味着您的情况是http://akeneo-pim.local。虚拟主机响应配置的名称。 Apache 默认尝试捕获其他所有内容。如果您不确定,我建议仅使用一种活动配置。 akeneo-pim.local 你必须指向你的虚拟盒子,否则将 ip 添加到服务器名称:httpd.apache.org/docs/2.4/en/vhosts/name-based.html
    • 非常感谢 Plel,是的,我认为这与我的 apache 配置冲突,我尝试按照官方指南一步一步地操作,认为它会起作用,但它需要一些工作和额外的知识。跨度>
    【解决方案2】:

    我可以解决问题。

    official 手动安装指南告诉您在端口 *:80 上创建一个名为 /etc/apache2/sites-available/akeneo-pim.local.conf 的新虚拟主机

    然后使用 a2ensite 启用它。如果这样做,您还将启用 000-default.conf,因为它默认启用 apache。

    因此,您必须将 000-default.conf 内容替换为 whats is in the guide here

    然后重新启动 apache 并且它可以工作,但是在端口 80 中(不是在指南中所说的 8080 端口,认为这只是用于 docker)

    您还需要创建一个新用户/密码,因为 admin/admin 仅用于 docker install,您可以使用在您的 document-root akeneo 文件夹中运行的此命令创建用户。您必须使用运行 apache 和 document-root akeneo 目录权限的同一用户运行它(如果不是,它将给出无法写入/访问错误)

    在我的情况下,apache 和 php7.4-fpm 以 www-data 作为 /var/www/html/ 中的权限运行(我的 documentroot 安装了 akeneo CE)

    所以要添加用户: cd /var/www/html sudo -u www-data php bin/console pim:user:create

    希望它有所帮助,如果对其他人有帮助,将尝试添加清洁指南,或者只是询问,如果可以的话会有所帮助。

    【讨论】:

    • 谢谢。你能添加一个干净的指南吗?我也被困在安装部分。当我做作曲家创建项目时,我收到错误“mkdir():权限被拒绝”。我认为那是因为它将在 /srv/pim 创建项目。在您最初的帖子中,您说您在家中创建项目?如果你能做一个干净的分步安装指南,那就太好了。非常感谢您。
    • 嗨@hardy123480,我改了帖子,希望对你安装有帮助!
    猜你喜欢
    • 1970-01-01
    • 2015-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多