raspberry pi 使用 lighttpd、php7 和 magento 网上商店
raspberry pi with lighttpd, php7 and magento webshop
我用 lighttpd、php7 和 magento 设置了我的 raspberry pi。不幸的是,在将 magento 解压到 /var/www/html 后,我在打开 Web 界面设置时遇到内部服务器错误。
这是我到目前为止执行的步骤:
- 将 Raspbian Jessie Lite 放在我的 Rasberry Pi 3
上
安装lighttpd
apt install lighttpd -y
因为 PHP 7 在 jessie 仓库中不可用 我从新的 stretch 仓库中得到它:
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
接下来我们需要启用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
安装 MySQL 并使用一个用户创建 magento 数据库
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
解压 magento。在 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/
打开网站 http://192.168.2.103 引发 500 内部服务器错误。
查看错误日志。我什至不知道这些是不是正确的错误...
cat /var/log/lighttpd/error.log
2017-04-14 12:58:45: (mod_fastcgi.c.2702) FastCGI-stderr: PHP message: PHP Fatal error: Uncaught Magento\Framework\Exception\FileSystemException: 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): Magento\Framework\Filesystem\Driver\File->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): Magento\Framework\Filesystem\Directory\Write->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): Magento\Framework\Code\GeneratedFiles->cleanGeneratedFiles()
2017-04-14 12:58:45: (mod_fastcgi.c.2702) FastCGI-stderr: #3 /var/www/html/vendor/magento/framework/App/Bootstrap.php(385): Magento\Framework\App\ObjectManagerFactory->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): Magento\Framework\App\Bootstrap->initObjectManager()
2017-04-14 12:58:45: (mod_fastcgi.c.2702) FastCGI-stderr: #5 /var/www/html/vendor/magento/framewor...
到目前为止,我遵循了以下教程:
在这里坐了一整天后,我找到了让它工作的方法。
我在 raspberry pi 3 上安装了以下内容:
- lighttpd(版本 1.4.35)
- php7.0 (7.0.16-3)
- MySQL(版本 14.14 Distrib 5.7.17,适用于 Linux (armv7l))
- Magento 2 网上商店 (Magento-CE-2.1.5-2017-02-20-05-04-55.zip)
这是要执行的操作:
- 将 Raspbian Jessie Lite 放在我的 Rasberry Pi 3
上
安装 lighttpd
apt install lighttpd -y
因为 PHP 7 在 jessie 仓库中不可用 我从新的 stretch 仓库中得到它:
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
接下来我们需要启用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
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/
用一个用户创建 magento 数据库(以后的 magento 网络安装程序需要)
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
解压 magento。在 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/
- 设置权限(注意!请勿将此操作用于生产用途!请参阅官方网站以正确设置权限:)
http://devdocs.magento.com/guides/v2.0/install-gde/prereq/file-system-perms.html
chmod -R 777 /var/www/html
- 打开网店url(在浏览器中输入raspberry pi的IP)并完成magento web安装程序。
对我来说,打开第二个 putty 会话并观察 lighttpd error.log 以使用以下命令检测错误非常有帮助:
tail -f /var/log/lighttpd/error.log
请随时提出建议,以做得更好或更快。
也许有人可以告诉我如何使用权限修复我的错误并设置正确的权限 ;)
来源:
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=162960,
我用 lighttpd、php7 和 magento 设置了我的 raspberry pi。不幸的是,在将 magento 解压到 /var/www/html 后,我在打开 Web 界面设置时遇到内部服务器错误。
这是我到目前为止执行的步骤:
- 将 Raspbian Jessie Lite 放在我的 Rasberry Pi 3 上
安装lighttpd
apt install lighttpd -y
因为 PHP 7 在 jessie 仓库中不可用 我从新的 stretch 仓库中得到它:
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
接下来我们需要启用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
安装 MySQL 并使用一个用户创建 magento 数据库
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
解压 magento。在 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/
打开网站 http://192.168.2.103 引发 500 内部服务器错误。
查看错误日志。我什至不知道这些是不是正确的错误...
cat /var/log/lighttpd/error.log 2017-04-14 12:58:45: (mod_fastcgi.c.2702) FastCGI-stderr: PHP message: PHP Fatal error: Uncaught Magento\Framework\Exception\FileSystemException: 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): Magento\Framework\Filesystem\Driver\File->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): Magento\Framework\Filesystem\Directory\Write->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): Magento\Framework\Code\GeneratedFiles->cleanGeneratedFiles() 2017-04-14 12:58:45: (mod_fastcgi.c.2702) FastCGI-stderr: #3 /var/www/html/vendor/magento/framework/App/Bootstrap.php(385): Magento\Framework\App\ObjectManagerFactory->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): Magento\Framework\App\Bootstrap->initObjectManager() 2017-04-14 12:58:45: (mod_fastcgi.c.2702) FastCGI-stderr: #5 /var/www/html/vendor/magento/framewor...
到目前为止,我遵循了以下教程:
在这里坐了一整天后,我找到了让它工作的方法。
我在 raspberry pi 3 上安装了以下内容:
- lighttpd(版本 1.4.35)
- php7.0 (7.0.16-3)
- MySQL(版本 14.14 Distrib 5.7.17,适用于 Linux (armv7l))
- Magento 2 网上商店 (Magento-CE-2.1.5-2017-02-20-05-04-55.zip)
这是要执行的操作:
- 将 Raspbian Jessie Lite 放在我的 Rasberry Pi 3 上
安装 lighttpd
apt install lighttpd -y
因为 PHP 7 在 jessie 仓库中不可用 我从新的 stretch 仓库中得到它:
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
接下来我们需要启用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
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/
用一个用户创建 magento 数据库(以后的 magento 网络安装程序需要)
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
解压 magento。在 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/
- 设置权限(注意!请勿将此操作用于生产用途!请参阅官方网站以正确设置权限:)
http://devdocs.magento.com/guides/v2.0/install-gde/prereq/file-system-perms.html
chmod -R 777 /var/www/html
- 打开网店url(在浏览器中输入raspberry pi的IP)并完成magento web安装程序。
对我来说,打开第二个 putty 会话并观察 lighttpd error.log 以使用以下命令检测错误非常有帮助:
tail -f /var/log/lighttpd/error.log
请随时提出建议,以做得更好或更快。
也许有人可以告诉我如何使用权限修复我的错误并设置正确的权限 ;)
来源:
https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=162960,