raspberry pi with lighttpd, php7 and magento webshop



我用lighttpd,php7和magento设置了我的Raspberry Pi。不幸的是,在将 magento 解压缩为/var/www/html 后,我在打开 Web 界面设置时出现内部服务器错误。

这是我到目前为止所做的步骤:

  1. Raspbian Jessie Lite放在我的Rasberry Pi 3上
  2. 安装光特普

    apt install lighttpd -y
    
  3. 因为 PHP 7 在 jessie repo 中不可用,所以我从新的拉伸存储库中获取它:

    echo "deb http://httpredir.debian.org/debian stretch main contrib non-free" | tee /etc/apt/sources.list.d/debian-stretch.list
    apt install php7.0 php7.0-fpm -t stretch
    rm /etc/apt/sources.list.d/debian-stretch.list
    apt-get update -y
    
  4. 接下来我们需要启用fastcgi并告诉Lighttpd在哪里可以找到PHP。

    tee /etc/lighttpd/conf-enabled/php.conf > /dev/null <<EOF
    fastcgi.server += (".php" => ((
    "socket" => "/var/run/php/php7.0-fpm.sock"
    )))
    EOF
    lighttpd-enable-mod fastcgi
    lighttpd-enable-mod fastcgi-php
    /etc/init.d/lighttpd force-reload
    
  5. 安装MySQL并使用一个用户创建magento db

    apt-get install mysql-server
    apt-get install mysql-client
    mysql -u root -p
    CREATE DATABASE magento;
    CREATE USER magento_user@localhost IDENTIFIED BY 'password';
    GRANT ALL PRIVILEGES ON magento.* TO magento_user@localhost IDENTIFIED BY 'password';
    FLUSH PRIVILEGES;
    exit
    
  6. 打开洋红色包装。在winscp中,我将tar.gz文件手动复制到/home/magento中

    mkdir /home/magento
    tar xzvf /home/magento/Magento-CE-2.1.6-2017-03-29-01-08-05.tar.gz -C /home/magento
    apt-get install rsync
    sudo rsync -avP /home/magento/. /var/www/html/
    
  7. 打开网站 http://192.168.2.103 引发 500 内部服务器错误。

  8. 请参阅错误日志。我什至不知道这些是否是正确的错误...

    cat /var/log/lighttpd/error.log
    2017-04-14 12:58:45: (mod_fastcgi.c.2702) FastCGI-stderr: PHP message: PHP Fatal error:  Uncaught MagentoFrameworkExceptionFileSystemException: The file "/var/www/html/var/.regenerate" cannot be deleted Warning!unlink(/var/www/html/var/.regenerate): Permission denied in /var/www/html/vendor/magento/framework/Filesystem/Driver/File.php:382
    2017-04-14 12:58:45: (mod_fastcgi.c.2702) FastCGI-stderr: Stack trace:
    2017-04-14 12:58:45: (mod_fastcgi.c.2702) FastCGI-stderr: #0 /var/www/html/vendor/magento/framework/Filesystem/Directory/Write.php(172): MagentoFrameworkFilesystemDriverFile->deleteFile('/var/www/html/v...')
    2017-04-14 12:58:45: (mod_fastcgi.c.2702) FastCGI-stderr: #1 /var/www/html/vendor/magento/framework/Code/GeneratedFiles.php(98): MagentoFrameworkFilesystemDirectoryWrite->delete('/var/.regenerat...')
    2017-04-14 12:58:45: (mod_fastcgi.c.2702) FastCGI-stderr: #2 /var/www/html/vendor/magento/framework/App/ObjectManagerFactory.php(114): MagentoFrameworkCodeGeneratedFiles->cleanGeneratedFiles()
    2017-04-14 12:58:45: (mod_fastcgi.c.2702) FastCGI-stderr: #3 /var/www/html/vendor/magento/framework/App/Bootstrap.php(385): MagentoFrameworkAppObjectManagerFactory->create(Array)
    2017-04-14 12:58:45: (mod_fastcgi.c.2702) FastCGI-stderr: #4 /var/www/html/vendor/magento/framework/App/Bootstrap.php(362): MagentoFrameworkAppBootstrap->initObjectManager()
    2017-04-14 12:58:45: (mod_fastcgi.c.2702) FastCGI-stderr: #5 /var/www/html/vendor/magento/framewor...
    

到目前为止,我遵循了以下教程:

https://blog.dantup.com/2016/03/installing-lighttpd-php7-and-letsencrypt-on-raspberry-pi-raspbian-jessie-lite/

https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-magento-on-ubuntu-14-04

在这里坐了一整天后,我找到了一种方法来让它工作。

我实现了在我的树莓派 3 上安装以下内容:

  • LightTPD (版本 1.4.35)
  • 菲律宾比索7.0 (7.0.16-3)
  • MySQL (Ver 14.14 Distrib 5.7.17, for Linux (armv7l))
  • Magento 2 网上商店 (Magento-CE-2.1.5-2017-02-20-05-04-55.zip)

以下是要执行的操作:

  1. Raspbian Jessie Lite放在我的Rasberry Pi 3上
  2. 安装光特普

    apt install lighttpd -y
    
  3. 因为 PHP 7 在 jessie repo 中不可用,所以我从新的拉伸存储库中获取它:

    echo "deb http://httpredir.debian.org/debian stretch main contrib non-free" | tee /etc/apt/sources.list.d/debian-stretch.list
    apt install php7.0 php7.0-fpm apt php7.0-xml php7.0-curl php7.0-mcrypt php7.0-intl php7.0-mbstring php7.0-zip php7.0-gd php7.0-mysql -t stretch
    rm /etc/apt/sources.list.d/debian-stretch.list
    apt-get update -y
    
  4. 接下来我们需要启用fastcgi并告诉Lighttpd在哪里可以找到PHP。

    tee /etc/lighttpd/conf-enabled/php.conf > /dev/null <<EOF
    fastcgi.server += (".php" => ((
    "socket" => "/var/run/php/php7.0-fpm.sock"
    )))
    EOF
    lighttpd-enable-mod fastcgi
    lighttpd-enable-mod fastcgi-php
    /etc/init.d/lighttpd force-reload
    
  5. Magento需要MySQL-5.6或更高版本,但目前它不在Raspbian存储库中。使用以下代码,我们将安装版本 5.7:

    wget http://ftp.debian.org/debian/pool/main/m/mysql-5.7/libmysqlclient-dev_5.7.17-1_armhf.deb
    wget http://ftp.debian.org/debian/pool/main/m/mysql-5.7/libmysqlclient20_5.7.17-1_armhf.deb
    wget http://ftp.debian.org/debian/pool/main/m/mysql-5.7/libmysqld-dev_5.7.17-1_armhf.deb
    wget http://ftp.debian.org/debian/pool/main/m/mysql-5.7/mysql-client-5.7_5.7.17-1_armhf.deb
    wget http://ftp.debian.org/debian/pool/main/m/mysql-5.7/mysql-client-core-5.7_5.7.17-1_armhf.deb
    wget http://ftp.debian.org/debian/pool/main/m/mysql-5.7/mysql-server-5.7_5.7.17-1_armhf.deb
    wget http://ftp.debian.org/debian/pool/main/m/mysql-5.7/mysql-server-core-5.7_5.7.17-1_armhf.deb
    wget http://ftp.debian.org/debian/pool/main/m/mecab/libmecab2_0.996-3_armhf.deb
    wget http://ftp.debian.org/debian/pool/main/m/mysql-defaults/mysql-common_5.8+1.0.2_all.deb
    wget http://ftp.debian.org/debian/pool/main/l/lz4/liblz4-1_0.0~r131-2+b1_armhf.deb
    sudo apt install libaio1 libaio-dev libhtml-template-perl libevent-core-2.0-5
    sudo dpkg -i libmecab2_0.996-3_armhf.deb
    sudo dpkg -i liblz4-1_0.0~r131-2+b1_armhf.deb
    sudo dpkg -i mysql-common_5.8+1.0.2_all.deb
    sudo dpkg -i mysql-client-core-5.7_5.7.17-1_armhf.deb
    sudo dpkg -i mysql-client-5.7_5.7.17-1_armhf.deb
    sudo dpkg -i mysql-server-core-5.7_5.7.17-1_armhf.deb
    sudo dpkg -i mysql-server-5.7_5.7.17-1_armhf.deb
    apt-get update -y/
    
  6. 使用一个用户创建Magento DB(以后的Magento Web安装程序需要)

    mysql -u root -p
    CREATE DATABASE magento;
    CREATE USER magento_user@localhost IDENTIFIED BY 'password123';
    GRANT ALL PRIVILEGES ON magento.* TO magento_user@localhost IDENTIFIED BY 'password';
    FLUSH PRIVILEGES;
    exit
    
  7. 打开洋红色包装。在winscp中,我将tar.gz文件手动复制到/home/magento中

    mkdir /home/magento
    tar xzvf /home/magento/Magento-CE-2.1.6-2017-03-29-01-08-05.tar.gz -C /home/magento
    apt-get install rsync
    sudo rsync -avP /home/magento/. /var/www/html/
    
  8. 设置权限(注意!不要为了生产用途而这样做!请参阅官方网站以正确设置权限:)

http://devdocs.magento.com/guides/v2.0/install-gde/prereq/file-system-perms.html

chmod -R 777 /var/www/html
  1. 打开网上商店网址(在网络浏览器中输入树莓派的IP)并完成Magento网络安装程序。

对我来说,打开第二个腻子会话并观察 lighttpd 错误非常有帮助.log使用以下命令检测错误:

tail -f /var/log/lighttpd/error.log

请随时提供建议,以做得更好或更快。
也许有人可以告诉我如何使用权限修复我的错误并设置正确的权限;)

来源:

https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=162960,

https://magento.com/tech-resources/download

最新更新