Изучение 26 методов анализа больших данных: часть 1
Изучение 26 методов анализа больших данных: часть 1
В этом руководстве демонстрируется OpenBSD как решение для электронной коммерции с использованием PrestaShop и Apache.
Требуется Apache, поскольку PrestaShop предъявляет сложные требования к перезаписи URL, которые не поддерживаются встроенным веб-сервером OpenBSD httpd. В этом руководстве используются самозаверяющие сертификаты. Пожалуйста, используйте проверенный сертификат для производства.
Временно создать обычному пользователю разрешено использование doas
без пароля. Этот доступ будет удален после установки.
user add -c "Example User" -m -G wheel -L staff auser
passwd auser
echo 'permit nopass keepenv :wheel' > /etc/doas.conf
Добавьте репозиторий пакетов OpenBSD.
echo 'https://cdn.openbsd.org/pub/OpenBSD' > /etc/installurl
Направляйте ежедневные сообщения о статусе и безопасности на ваш адрес.
echo '[email protected]' > /root/.forward
Установите имя хоста сервера.
echo 'www.example.com' > /etc/myname
hostname www.example.com
Добавьте полное доменное имя и IP-адрес сервера /etc/hosts
.
Замените 192.0.2.1
на ваш IP-адрес Vultr.
127.0.0.1 localhost
::1 localhost
192.0.2.1 www.example.com
Добавьте необходимые пакеты для PrestaShop и Apache. Выберите последние версии при появлении запроса.
doas su
pkg_add apache-httpd php php-curl php-gd php-intl php-pdo_mysql php-zip mariadb-client mariadb-server wget unzip
Создан самозаверяющий сертификат SSL для тестирования. Задайте для общего имени полное доменное имя вашего сервера, например, www.example.com.
openssl req -x509 -new -nodes -newkey rsa:4096 -keyout /etc/ssl/private/example.com.key -out /etc/ssl/example.com.crt -days 3650 -sha256
chmod 0600 /etc/ssl/private/example.com.key
Найдите URL-адрес последней версии PrestaShop , загрузите /tmp
и распакуйте в /var/www/htdocs/prestashop
.
cd /tmp
wget <https://download.prestashop.com/download/releases/prestashop_1.7.6.4.zip>
unzip prestashop_1.7.6.4.zip -d /var/www/htdocs/prestashop
chown -R www:www /var/www/htdocs/prestashop
Настройте брандмауэр для блокировки всего входящего трафика, кроме ssh , www и https .
Сделайте резервную копию /etc/pf.conf
.
cp /etc/pf.conf /etc/pf.conf.bak
Отредактируйте, /etc/pf.conf
как показано.
set skip on lo
block in
pass out
pass in on egress inet proto tcp to port {ssh, www, https} \
flags S/SA keep state
Протестируйте и активируйте правила брандмауэра.
doas pfctl -nf /etc/pf.conf
doas pfctl -f /etc/pf.conf
Сделайте резервную копию вашего /etc/mail/smtpd.conf
файла.
cp /etc/mail/smtpd.conf /etc/mail/smtpd.conf.bak
Отредактируйте, /etc/mail/smtpd.conf
как показано ниже.
Примечания: * Определение таблицы для секретов содержит имя пользователя и пароль для ретрансляции почты. * Исходящее действие просматривает имя пользователя и пароль под ярлыком prestashop
в /etc/mail/secrets
и ретранслируют электронную почту через сервер электронной почты.
table aliases file:/etc/mail/aliases
table secrets file:/etc/mail/secrets
listen on lo0
action "local_mail" mbox alias <aliases>
action "outbound" relay host smtp+tls://[email protected]:587 \
tls no-verify auth <secrets>
match from local for local action "local_mail"
match from local for any action "outbound"
Создайте /etc/mail/secrets
Замените адрес электронной почты и пароль учетными данными, которые вы используете для своего почтового сервера.
echo "prestashop [email protected]:password" > /etc/mail/secrets
Установите разрешения для безопасности /etc/mail/secrets
chmod 0600 /etc/secrets
Thest файл конфигурации для ошибок и перезапустите демон smtpd.
smtpd -n
rcctl restart smtpd
Настройте процесс PHP-FPM для прослушивания сокета TCP вместо сокета домена UNIX.
Сделайте следующее изменение для /etc/php-fpm.conf
файла ниже.
...
; If using a TCP port, never expose this to a public network.
;listen = /var/www/run/php-fpm.sock
listen = 127.0.0.1:9000
Внесите некоторые дополнительные изменения в среду PHP в /etc/php-7.3.ini
. Это имя файла может немного измениться, если версия новее, чем 7.3. Эти изменения:
Настройте PHP для отправки электронной почты через sendmail.
; Default Value: not set
;chroot = /var/www
...
; Maximum allowed size for uploaded files.
; <http://php.net/upload-max-filesize>
upload_max_filesize = 6M
...
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; <http://php.net/sendmail-path>
;sendmail_path =
sendmail_path = /usr/sbin/sendmail -t -i
...
; Whether to allow the treatment of URLs (like <http://> or <ftp://)> as files.
; <http://php.net/allow-url-fopen>
allow_url_fopen = On
...
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; <http://php.net/post-max-size>
post_max_size = 12M
Включите плагины PHP.
cp /etc/php-7.3.sample/* /etc/php-7.3/.
Включите и запустите демон PHP-FPM. Имя демона может немного отличаться, если версия новее.
rcctl enable php73_fpm
rcctl start php73_fpm
MariaDB предоставляет базу данных для PrestaShop. Поскольку MariaDB нужно больше открытых файлов, чем позволяет класс по умолчанию, создайте специальный класс в /etc/login.conf
.
Внизу файла добавьте следующие строки:
mysqld:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
Установите MariaDB.
doas su
mysql_install_db
rcctl enable mysqld
rcctl start mysqld
Настройте безопасность MariaDB.
mysql_secure_installation
Создайте базу данных PrestaShop. Используйте надежный пароль.
mysql -u root
CREATE DATABASE prestashop;
GRANT ALL PRIVILEGES ON prestashop.* TO 'prestashop'@'localhost' IDENTIFIED BY 'password123';
FLUSH PRIVILEGES;
EXIT
Резервное копирование /etc/apache2/httpd2.conf
cp /etc/apache2/httpd2.conf /etc/apache2/httpd2.conf.bak
Внесите следующие изменения /etc/apache2/httpd2.conf
, используя #
для включения и выключения модулей.
Listen 443
...
LoadModule mpm_event_module /usr/local/lib/apache2/mod_mpm_event.so
#LoadModule mpm_prefork_module /usr/local/lib/apache2/mod_mpm_prefork.so
LoadModule proxy_module /usr/local/lib/apache2/mod_proxy.so
LoadModule proxy_fcgi_module /usr/local/lib/apache2/mod_proxy_fcgi.so
LoadModule ssl_module /usr/local/lib/apache2/mod_ssl.so
LoadModule rewrite_module /usr/local/lib/apache2/mod_rewrite.so
...
ServerAdmin [email protected]
ServerName 192.0.2.1:80
Еще несколько изменений /etc/apache2/httpd2.conf
происходят в нижней части файла. Удалить #
из включенных заявлений.
Добавьте строки виртуального хостинга последними.
# Server-pool management (MPM specific)
Include /etc/apache2/extra/httpd-mpm.conf
...
# Virtual Hosts
IncludeOptional /etc/apache2/sites/*.conf
Создайте /etc/apache2/sites
каталог.
mkdir /etc/apache2/sites
Создайте /etc/apache2/sites/example.conf
со следующей информацией:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
ServerAdmin [email protected]
DocumentRoot "/var/www/htdocs/prestashop"
<Directory "/var/www/htdocs/prestashop">
Options -Indexes +Multiviews +FollowSymLinks
AllowOverride All
<Limit GET POST OPTIONS>
</Limit>
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
ServerAlias www.example.com
ServerAdmin [email protected]
DocumentRoot "/var/www/htdocs/prestashop"
<Directory "/var/www/htdocs/prestashop">
Options -Indexes +Multiviews +FollowSymLinks
AllowOverride All
<Limit GET POST OPTIONS>
</Limit>
Require all granted
</Directory>
SSLEngine On
SSLCertificateFile "/etc/ssl/example.com.crt"
SSLCertificateKeyFile "/etc/ssl/private/example.com.key"
SSLCipherSuite HIGH:!aNULL
</VirtualHost>
Настройте прокси-модуль Apache, добавив следующее в /etc/apache2/sites/example.conf
<IfModule proxy_module>
<IfModule dir_module>
DirectoryIndex index.php
</IfModule>
<FilesMatch "\.php$">
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
</IfModule>
Проверьте конфигурацию, затем включите и запустите Apache.
apachectl configtest
rcctl enable apache2
rcctl start apache2
Убедитесь, что Apache прослушивает порты 80 и 443.
netstat -ln -finet
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp 0 0 *.443 *.* LISTEN
tcp 0 0 127.0.0.1.25 *.* LISTEN
tcp 0 0 *.22 *.* LISTEN
tcp 0 0 *.80 *.* LISTEN
tcp 0 0 127.0.0.1.3306 *.* LISTEN
tcp 0 0 127.0.0.1.9000 *.* LISTEN
Перейдите на ваш сайт по адресу http://www.example.com
. Запустится мастер установки PrestaShop.
После завершения установки обратите внимание на внешние и административные ссылки магазина и удалите каталог /var/www/htdocs/prestashop/install
.
Включить SSL.
Измените свой административный пароль.
Сделайте резервную копию вашего магазина и его базы данных:
cd /var/www/htdocs
doas tar cvfz /home/auser/prestashop.tar.gz prestashop/
doas mysqldump -u prestashop -p prestashop | gzip -4 > /home/auser/prestashop.sql.tar.gz
doas chown auser:auser /home/auser/prestashop*
Удалите doas-доступ для своей учетной записи, заново создав doas.conf
файл.
echo 'permit keepenv :wheel' > /etc/doas.conf
Изучение 26 методов анализа больших данных: часть 1
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше