在 FreeBSD 上安装 Magento2

下载 magento,解压缩。

安装前先将magento下的文件夹全改为777权限,和chown -R www:www ./*
# find . -type d -exec chmod 777 {} \;
安装后再将所有文件夹权限改为755,保留几个文件夹的777权限
# find . -type d -exec chmod 755 {} \;
# chmod 777 ./app/etc
# chmod 777 ./var
# chmod 777 ./var/.htaccess
# chmod 777 ./app/etc
# chmod 777 ./pub/media
# chmod 777 ./generated
# find ./var -type d -exec chmod 777 {} \;

参考:https://devdocs.magento.com/guides/v2.3/install-gde/install/legacy-file-system-perms.html

打开 magento/setup/ 开始安装,带有样本数据的安装多半会失败,可能php内存不够。先安装不带数据,再导入吧。

magento 安装期间显示例外。
清除<magento_root>/generated/code之下,其他目录var和generated如下:
# cd magento
# rm -rf ./generated/code/* ./generated/metadata/* ./var/cache/*

并且清除cookie,再重新安装。

导入样本数据库,参考教程, https://devdocs.magento.com/guides/v2.3/install-gde/install/cli/install-cli-sample-data-clone.html

# cd magento

# php bin/magento setup:upgrade

可能会提示php内存不够,重新设置下内存就好

# ee /usr/local/etc/php.ini
memory_limit = 2048M

# /usr/local/etc/rc.d/php-fpm restart

重启php,即可

装完 magento 2.3.2 第二天就删除了,因为不支持PostGreSQL数据库,而且运行速度极其慢。

.htaccess 和 .user.ini

FreeBSD 12 下

apache 2.4
ee /usr/local/etc/apache24/httpd.conf
<Directory />

AllowOverride None 改为 AllowOverride All

</Directory>
重启 apachectl restart

如果 .htaccess
php_flag display_errors on
报500错误了,查看apache的error_log找到了如下的错误信息:
.htaccess: Invalid command ‘php_flag’, perhaps misspelled or defined by a module not included in the server configuration
是suPHP的问题,写另外一个文件”.user.ini”
error_reporting = E_ALL
display_errors = On
更改过”.user.ini”要重启php-fpm生效
#/usr/local/etc/rc.d/php-fpm restart

https://www.php.net/manual/zh/configuration.file.per-user.php